diff --git a/misc/Conferences.pdf b/misc/Conferences.pdf new file mode 100644 index 0000000..b74221b Binary files /dev/null and b/misc/Conferences.pdf differ diff --git a/misc/DragonWarning.png b/misc/DragonWarning.png new file mode 100644 index 0000000..5c35594 Binary files /dev/null and b/misc/DragonWarning.png differ diff --git a/misc/HowTo/Eval.pdf b/misc/HowTo/Eval.pdf new file mode 100644 index 0000000..7a32264 Binary files /dev/null and b/misc/HowTo/Eval.pdf differ diff --git a/misc/HowTo/HowToReadAPaper.pdf b/misc/HowTo/HowToReadAPaper.pdf new file mode 100644 index 0000000..32003e4 Binary files /dev/null and b/misc/HowTo/HowToReadAPaper.pdf differ diff --git a/misc/HowTo/Introduction.pdf b/misc/HowTo/Introduction.pdf new file mode 100644 index 0000000..a0b0d77 Binary files /dev/null and b/misc/HowTo/Introduction.pdf differ diff --git a/misc/HowTo/IsScientific.pdf b/misc/HowTo/IsScientific.pdf new file mode 100644 index 0000000..ae88410 Binary files /dev/null and b/misc/HowTo/IsScientific.pdf differ diff --git a/misc/HowTo/Motivation.pdf b/misc/HowTo/Motivation.pdf new file mode 100644 index 0000000..93ee69c Binary files /dev/null and b/misc/HowTo/Motivation.pdf differ diff --git a/misc/HowTo/Organize.pdf b/misc/HowTo/Organize.pdf new file mode 100644 index 0000000..944612f Binary files /dev/null and b/misc/HowTo/Organize.pdf differ diff --git a/misc/HowTo/PaperReview.pdf b/misc/HowTo/PaperReview.pdf new file mode 100644 index 0000000..d00efcb Binary files /dev/null and b/misc/HowTo/PaperReview.pdf differ diff --git a/misc/HowTo/RW.pdf b/misc/HowTo/RW.pdf new file mode 100644 index 0000000..c6b474a Binary files /dev/null and b/misc/HowTo/RW.pdf differ diff --git a/misc/HowTo/Skills.pdf b/misc/HowTo/Skills.pdf new file mode 100644 index 0000000..16b1c5a Binary files /dev/null and b/misc/HowTo/Skills.pdf differ diff --git a/misc/HowTo/WhereToPublish.pdf b/misc/HowTo/WhereToPublish.pdf new file mode 100644 index 0000000..0ea0391 Binary files /dev/null and b/misc/HowTo/WhereToPublish.pdf differ diff --git a/misc/IPs.html b/misc/IPs.html new file mode 100644 index 0000000..8735fdc --- /dev/null +++ b/misc/IPs.html @@ -0,0 +1,379 @@ + + + + Compilers Lab - UFMG + + + + + + + + + + +
+ +

The Tools of the Trade

+ +

+ These are the names plus IP addresses available to our lab. To access each machine, add the + suffix .llp.dcc.ufmg.br to its name. + For instance: albani.llp.dcc.ufmg.br +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Gateway + + llp-gw + + 150.164.10.129 +
+ LaC Net + + albani + + 150.164.10.130 +
+ - + + boudin + + 150.164.10.131 +
+ AMD Ryzen 9 5900X, 3.7 GHz. + + britto + + 150.164.10.132 +
+ - + + bugue + + 150.164.10.133 +
+ Jetson TK1 + + cezanne + + 150.164.10.134 +
+ - + + gauguin + + 150.164.10.135 +
+ - + + gerome + + 150.164.10.136 +
+ Intel i7, 3.4GHz + + hokusai + 150.164.10.137 +
+ - + + hassam + 150.164.10.138 + + +
+ Windows machine + + keane + + 150.164.10.139 +
+ - + + klimt + + 150.164.10.140 +
+ - + + kooning + + 150.164.10.141 +
+ - + + lin + + 150.164.10.142 +
+ - + + michel + + 150.164.10.143 +
+ - + + modi + + 150.164.10.144 +
+ - + + monet + + 150.164.10.145 +
+ - + + picasso + + 150.164.10.146 +
+ - + + pollock + + 150.164.10.147 +
+ - + + raja + + 150.164.10.148 +
+ Odroid XU4 + + raphael + + 150.164.10.149 +
+ Odroid XU4 + + tagore + + 150.164.10.150 +
+ - + + renoir + + 150.164.10.151 +
+ - + + rubens + + 150.164.10.152 +
+ - + + sanraku + + 150.164.10.153 +
+ AMD Ryzen 7, 3.6GHz + + gogh + + 150.164.10.154 +
+ Optiplex + + vermeer + + 150.164.10.155 +
+ Optiplex + + vinci + + 150.164.10.156 +
+ Optiplex + + warhol + + 150.164.10.157 +
+ Optiplex + + zak + + 150.164.10.158 +
+ +

+
+

+ +
+ + + diff --git a/misc/Resolutions/CriacaoGrupoCompiladores.pdf b/misc/Resolutions/CriacaoGrupoCompiladores.pdf new file mode 100644 index 0000000..259cfa2 Binary files /dev/null and b/misc/Resolutions/CriacaoGrupoCompiladores.pdf differ diff --git a/misc/Resolutions/CriacaoLaC.pdf b/misc/Resolutions/CriacaoLaC.pdf new file mode 100644 index 0000000..4475032 Binary files /dev/null and b/misc/Resolutions/CriacaoLaC.pdf differ diff --git a/misc/SPEC2017.html b/misc/SPEC2017.html new file mode 100644 index 0000000..35d0e6a --- /dev/null +++ b/misc/SPEC2017.html @@ -0,0 +1,102 @@ + + + + Compilers Lab - UFMG + + + + + + + + + + +
+ +

SPEC 2017

(by Andrei Rimsa) + +

+

+

+ +

+SPEC2017 is available in opencl@dcc. +To use it, each user should install it in their own home directory (ideally) +or somewhere else of his/her choice. +Since every user has his own needs, it is better for each one to have a +private copy of SPEC. +Andrei has created a script to help with this process. +The script is available at: + +

+$ /opt/benchmarks/SPEC2017/install.sh
+
+ +The script asks the user to choose a directory: + +
+SPEC CPU2017 Installation
+
+Top of the CPU2017 tree is '/opt/benchmarks/SPEC2017/iso'
+
+Enter the directory you wish to install to (e.g. /usr/cpu2017)
+  1) choose somewhere in your home (e.g.: /home/andrei/SPEC2017")
+  2) type "yes" to continue
+
+ +To use SPEC, go to you installed SPEC directory and load its configuration: + +
+$ cd /home/andrei/SPEC2017
+
+$ . shrc
+
+ +If you wish to run the SPEC benchmarks under a simulated environment, such as valgrind, pin or any other, download and apply spec2017-prepend.patch patch. +This patch adds the "--prepend" command line argument to runcpu in order to execute another program with the benchmark and its inputs as arguments. + +
+$ patch -p1 < spec2017-prepend.patch
+patching file MANIFEST
+patching file bin/harness/benchmark.pm
+patching file bin/harness/configpp
+patching file bin/harness/parse.pl
+patching file bin/harness/runcpu
+
+ +The patch was designed in such a way that you can use some of the variables exposed by the running script (bin/harness/benchmark.pm). Some interesting variables are (don't forget to escape the $ while running in the terminal): + + +
+$ runcpu --prepend="valgrind -q --tool=loopgrind --cfg-outfile=\$basedir/run.cfg" --config=valgrind 557.xz
+...
+
+ +Please refer the SPEC documentation for further information. +

+ +
+ + + diff --git a/misc/Seminars_2016_1.pdf b/misc/Seminars_2016_1.pdf new file mode 100644 index 0000000..5442d57 Binary files /dev/null and b/misc/Seminars_2016_1.pdf differ diff --git a/misc/classes/Compiladores.pdf b/misc/classes/Compiladores.pdf new file mode 100644 index 0000000..3ec3589 Binary files /dev/null and b/misc/classes/Compiladores.pdf differ diff --git a/misc/classes/index.html b/misc/classes/index.html new file mode 100644 index 0000000..1005c76 --- /dev/null +++ b/misc/classes/index.html @@ -0,0 +1,47 @@ + + + + Classes + + + + + + + + + + + +
+

Classes

+ + + +
+ + + diff --git a/misc/index.html b/misc/index.html new file mode 100644 index 0000000..086b750 --- /dev/null +++ b/misc/index.html @@ -0,0 +1,179 @@ + + + + Compilers Lab - UFMG + + + + + + + + + + + +
+

Compilers Lab's Tool Box

+ +

The Compilers Lab is part of the Department of Computer Science of the + Federal University of Minas Gerais, Brazil. We are + located in the city of Belo Horizonte, the capital of the state of + Minas Gerais. + The Compilers Lab was created in August 24th, 2018. + The Compilers Research Group was created in Dezember 2nd, 2014.

+ + + +
+ + + diff --git a/misc/logos/Announcements/LaCAnnouncement0.png b/misc/logos/Announcements/LaCAnnouncement0.png new file mode 100644 index 0000000..994000b Binary files /dev/null and b/misc/logos/Announcements/LaCAnnouncement0.png differ diff --git a/misc/logos/Announcements/LaCAnnouncement1.png b/misc/logos/Announcements/LaCAnnouncement1.png new file mode 100644 index 0000000..ef28800 Binary files /dev/null and b/misc/logos/Announcements/LaCAnnouncement1.png differ diff --git a/misc/logos/Announcements/LaCAnnouncement2.png b/misc/logos/Announcements/LaCAnnouncement2.png new file mode 100644 index 0000000..8374347 Binary files /dev/null and b/misc/logos/Announcements/LaCAnnouncement2.png differ diff --git a/misc/logos/Announcements/LaCAnnouncement3.png b/misc/logos/Announcements/LaCAnnouncement3.png new file mode 100644 index 0000000..4047b59 Binary files /dev/null and b/misc/logos/Announcements/LaCAnnouncement3.png differ diff --git a/misc/logos/Announcements/LaCAnnouncement4.png b/misc/logos/Announcements/LaCAnnouncement4.png new file mode 100644 index 0000000..fd85386 Binary files /dev/null and b/misc/logos/Announcements/LaCAnnouncement4.png differ diff --git a/misc/logos/LaCTransparentBlack.png b/misc/logos/LaCTransparentBlack.png new file mode 100644 index 0000000..0cbc9fd Binary files /dev/null and b/misc/logos/LaCTransparentBlack.png differ diff --git a/misc/logos/LaCTransparentWhite.png b/misc/logos/LaCTransparentWhite.png new file mode 100644 index 0000000..b2d8688 Binary files /dev/null and b/misc/logos/LaCTransparentWhite.png differ diff --git a/misc/logos/black-trans.png b/misc/logos/black-trans.png new file mode 100644 index 0000000..650a516 Binary files /dev/null and b/misc/logos/black-trans.png differ diff --git a/misc/logos/black.png b/misc/logos/black.png new file mode 100644 index 0000000..c7da567 Binary files /dev/null and b/misc/logos/black.png differ diff --git a/misc/logos/black_lac.png b/misc/logos/black_lac.png new file mode 100644 index 0000000..37e1e2f Binary files /dev/null and b/misc/logos/black_lac.png differ diff --git a/misc/logos/flag.gif b/misc/logos/flag.gif new file mode 100644 index 0000000..33c8d71 Binary files /dev/null and b/misc/logos/flag.gif differ diff --git a/misc/logos/while_lac.png b/misc/logos/while_lac.png new file mode 100644 index 0000000..faa6549 Binary files /dev/null and b/misc/logos/while_lac.png differ diff --git a/misc/logos/white-trans.png b/misc/logos/white-trans.png new file mode 100644 index 0000000..d69d693 Binary files /dev/null and b/misc/logos/white-trans.png differ diff --git a/misc/logos/white.png b/misc/logos/white.png new file mode 100644 index 0000000..5d6a6ae Binary files /dev/null and b/misc/logos/white.png differ diff --git a/misc/pictures/The_Year_2016.jpg b/misc/pictures/The_Year_2016.jpg new file mode 100644 index 0000000..41256b6 Binary files /dev/null and b/misc/pictures/The_Year_2016.jpg differ diff --git a/misc/pictures/The_Year_2016.pdf b/misc/pictures/The_Year_2016.pdf new file mode 100644 index 0000000..ed02554 Binary files /dev/null and b/misc/pictures/The_Year_2016.pdf differ diff --git a/misc/posters/poster.pdf b/misc/posters/poster.pdf new file mode 100644 index 0000000..b9fa7bf Binary files /dev/null and b/misc/posters/poster.pdf differ diff --git a/misc/posters/poster.ppt b/misc/posters/poster.ppt new file mode 100644 index 0000000..31bfdb3 Binary files /dev/null and b/misc/posters/poster.ppt differ diff --git a/misc/presentations/CGO19_Marcus.pdf b/misc/presentations/CGO19_Marcus.pdf new file mode 100644 index 0000000..4ba81f7 Binary files /dev/null and b/misc/presentations/CGO19_Marcus.pdf differ diff --git a/misc/presentations/CGO19_Marcus.pptx b/misc/presentations/CGO19_Marcus.pptx new file mode 100644 index 0000000..6607bff Binary files /dev/null and b/misc/presentations/CGO19_Marcus.pptx differ diff --git a/misc/presentations/ICExFormat.pdf b/misc/presentations/ICExFormat.pdf new file mode 100644 index 0000000..98231d8 Binary files /dev/null and b/misc/presentations/ICExFormat.pdf differ diff --git a/misc/presentations/ICExFormat.pptx b/misc/presentations/ICExFormat.pptx new file mode 100644 index 0000000..89ea787 Binary files /dev/null and b/misc/presentations/ICExFormat.pptx differ diff --git a/misc/presentations/OOPSLA19_Collange.pdf b/misc/presentations/OOPSLA19_Collange.pdf new file mode 100644 index 0000000..8dd3f04 Binary files /dev/null and b/misc/presentations/OOPSLA19_Collange.pdf differ diff --git a/misc/presentations/SPECCPU2017_Andrei.pdf b/misc/presentations/SPECCPU2017_Andrei.pdf new file mode 100644 index 0000000..e7c3c8a Binary files /dev/null and b/misc/presentations/SPECCPU2017_Andrei.pdf differ diff --git a/misc/spec2017-prepend.patch b/misc/spec2017-prepend.patch new file mode 100644 index 0000000..9ba4261 --- /dev/null +++ b/misc/spec2017-prepend.patch @@ -0,0 +1,152 @@ +diff -urN a/MANIFEST b/MANIFEST +--- a/MANIFEST 2018-05-22 16:07:58.000000000 -0300 ++++ b/MANIFEST 2019-04-05 20:00:26.000000000 -0300 +@@ -18879,19 +18879,19 @@ + 78336432d27b83176033c57df9104db0aff0029b8fa4b5a58996887e6514b013f4e52e3626de43aefdc8890dec12b541de82909f1d544ed687729b6172010279 * 000000000000059f bin/formatter/var_order + 8a5a1509a74a1c91330a2a66e0f7bd22881a9d71eff9369ecda3071a915a4b56c54fc5879477d3b21376e935784bd1ab9849b6b87a04f2b9cdce814920de8ed5 * 0000000000000bd0 bin/formatter/vars.pl + a8619bd6bd0ab38abf4555aa3eec9f1ae8d3cfb84f3d933ddfe1a5d0cff1e2b7acc263d65dfb932fb2a41ae8b39bde88f47548c5df599215e2ad0f6fa2dc6cf1 * 0000000000009063 bin/harness/ConfigDumper.pm +-a55c640980e4aaf0518928fb4ed5696f781401a8dc32e90dceccf8c170bce800737fda103e22b539984bf32ab6416314b2c54f530b23e62b6598876cd9c8fb01 * 000000000002f580 bin/harness/benchmark.pm ++d39d3292878ad06883688a2200b81a99521d28a5651318e5cf842a12d791b86d57259b01d37fafad649b2b3a69316c4bc88c9725c0365c248dfdb8b121264e6a * 000000000002f699 bin/harness/benchmark.pm + 5ec26297febdf3c3efca7dcb6c83fd8af9c8525ec24082bc84b89c222d4e05bf404ba31ecd66794114c7d6433854a8af69f1222b007cda5f003f6e0f995c222e * 00000000000093aa bin/harness/benchset.pm + 258979abd1f6eb1339d11a14558113540fbe25a9f0d0b0eb2c632e86facad5cb40cf9001e2e2d34317836d9c4d534acb0c1ba21c6bd5dcbbb2dd23bcf0fd86b7 * 00000000000077d1 bin/harness/compare.pl + 1df0fd83ddaa837950050c505a38e22dc99650da376763f60b69df78f26f8245411744c1d08e75ded7e107636058dd0094a300b386d6787c7ca4ccfde5126a78 * 0000000000016050 bin/harness/config.pl +-dd0c5b97ae6273eeb177727fad3cc601d658f15ad75a9271198bcb582f4248a25224ed843ac8c4f8f492ec46d8dfefd784508a6666de74408a56ab371cc9a7a0 * 000000000002b4d7 bin/harness/configpp ++0e351b102b51907ee8ce788de3aa5dd1e13010848b51bde1f7c372934cb6a6b597e8f1d6ad5cf0c99878cb83f2d471ded1befe0c409c0abece6b56b454ed01ca * 000000000002b541 bin/harness/configpp + 021dac18da056ff785614e4600a4b73eca04703624b213e646d2ffb25db1fc9f49592b9cdf51e62b050610d1e196a075ecf25627b1d6fa070156421b92a82da6 * 0000000000000259 bin/harness/flagutils.pl + 15e40f679771db3e128c57b382e9f47ac65cf65572e6a6868ebf239ec8c7f70a077e9c18886518ef5f34d2ac861dcc3377555e5597e6a629b3874de7cbd27cfa * 0000000000002e5a bin/harness/locate.pl + cc7c8263b3f67b1a1b943068cb634e5917d529780792a2391fcb3d8a02bb31d2495b499ae5ac7323b3f57459764ad673a5ce041ba008baa6721004353158647b * 0000000000002b8e bin/harness/log.pl + e9285a6a65f4562e7d4087a0f8263cb944bf0dd8116180d736fed13b968da5e32aaf1bdaf336bc6a5da7fb55bd73bb4450264819484948d2c27d8b84af66686a * 0000000000000221 bin/harness/mailutil.pl + 3bd6916a8ff5f4d0bd7791ea6169462d1ddd164e9151d7598cf18a6f3eca1a51702b1d31ed428d0dd4beeafda07124b4d566870e9992ed9d687970d4fb870235 * 00000000000008b7 bin/harness/monitor.pl + bc66ace22114aabef850685fcc6a2d913195e11e36e5c1cc6d35dc236d27e3a8afc91425cc32c8bd0476349edecf1b95e6781bd7d257c204a5bc3f407b42e6a1 * 0000000000000212 bin/harness/os.pl +-0916fc695f43ab9e5953f3347e1646089fc0b75bc118d7845551c0c7846e3edaa276cffacf51b3ce783722fc71e39d16ea4165c7ac941288035cc2d31c371420 * 000000000000f2bb bin/harness/parse.pl +-dd0c5b97ae6273eeb177727fad3cc601d658f15ad75a9271198bcb582f4248a25224ed843ac8c4f8f492ec46d8dfefd784508a6666de74408a56ab371cc9a7a0 * 000000000002b4d7 bin/harness/runcpu ++59f940ed56f9b47fd6a34877cc822a023a2d97703d964c1f963ac79321638fcdf9b98e422f6fc01453548e3aaeed77613332115859c4520cc7a3a42ac43a26b6 * 000000000000f329 bin/harness/parse.pl ++9ab184a05c4d3d840eeb6881fbc56ac8317f11b6357911e303928db97fb1389387f9e4e131af7f43ee058ebf65e5d5995efcea049c1146c5a3d9d8614ace0b8a * 000000000002b558 bin/harness/runcpu + 6421c997b9c8c4ac953d0b003af42095fc69a25cc81cad3f40bc9d2c5625bfbc13090afac34ca4cdc3e01b702db234950ab474c540401aee2a5cf4fcf9162bdb * 000000000000264e bin/harness/specdiff + 4c39253445adf826690338c0628342f92a374eba980e766651f693729c9dbd330d4fb3e5d2a85e8769d4a7ebb53e774d43aae6b32a872f6bda0844b098a674d4 * 0000000000015f89 bin/harness/specpp + fa34276e92680bea72c1496482052e7d6578bb8d4367ef05341402cade19d8eedc1de75918ce10edbc091c9589ec1c891d5f485bd11493b517e65ad25c003bd9 * 0000000000016fd7 bin/harness/util.pl +diff -urN a/bin/harness/benchmark.pm b/bin/harness/benchmark.pm +--- a/bin/harness/benchmark.pm 2017-05-12 12:27:56.000000000 -0300 ++++ b/bin/harness/benchmark.pm 2019-04-05 19:52:44.000000000 -0300 +@@ -544,7 +544,7 @@ + my ($runfile, $cmdoutputs, undef, $specrun, $outfiles) = $me->prep_specrun($tmpres, $dirs, + $me->inputgenfile, + $me->inputgenoutfile, +- \%oldENV, 1, 0, 0, ++ \%oldENV, 1, "", 0, 0, + [ + [ '-e', $me->inputgenerrfile ], + [ '-o', $me->inputgenstdoutfile ], +@@ -1937,7 +1937,7 @@ + } + + Log(3, "Training ", $me->benchmark, ' with the ', $me->train_with. " workload\n"); +- $rc = $me->run_benchmark(0, 1, undef, 1); ++ $rc = $me->run_benchmark(0, 1, undef, 1, ''); + $me->shift_ref(); + $compile_options .= "RUN$pass: $val\n"; + if ($rc->{'valid'} ne 'S' && !istrue($me->fake)) { +@@ -3113,7 +3113,7 @@ + } + + sub run_benchmark { +- my ($me, $setup, $is_build, $iter, $is_training) = @_; ++ my ($me, $setup, $is_build, $iter, $is_training, $prepend) = @_; + my ($start, $stop, $elapsed); + my @skip_timing = (); + my %err_seen = (); +@@ -3190,7 +3190,7 @@ + # run directory. + my ($absrunfile, $resfile, $skip_timing_list, $specrun, undef) = $me->prep_specrun($result, \@dirs, + $me->commandfile, $me->commandoutfile, +- \%oldENV, $setup, $is_training, $iter, ++ \%oldENV, $setup, $prepend, $is_training, $iter, + [ + '-q', + [ '-e', $me->commanderrfile ], +@@ -3696,7 +3696,7 @@ + # as well. + my ($comparename, $compareout, undef, $specrun, undef) = $me->prep_specrun($result, \@dirs, + $me->comparefile, $me->compareoutfile, +- \%oldENV, 1, $is_training, 0, ++ \%oldENV, 1, "", $is_training, 0, + [ + '-E', + [ '-e', $me->compareerrfile ], +@@ -4375,7 +4375,7 @@ + } + + sub prep_specrun { +- my ($me, $result, $dirs, $commands, $commands_output, $backup_env, $log_cmds, $is_training, $iter, $opts, $objgen_name, @objs) = @_; ++ my ($me, $result, $dirs, $commands, $commands_output, $backup_env, $log_cmds, $prepend, $is_training, $iter, $opts, $objgen_name, @objs) = @_; + + my $path = $dirs->[0]->path; + my $tune = $me->tune; +@@ -4451,9 +4451,11 @@ + unshift @{$obj->{'args'}}, '--platform', $me->platform if $me->platform ne ''; + } + ++ my $basedir = jp('..', basename($path)); ++ + my $command = $obj->{'command'}; + if ($command ne 'specperl') { +- $command = ::path_protect(jp('..', basename($path), $command)); ++ $command = ::path_protect(jp($basedir, $command)); + } else { + my $specperl = ($^O =~ /MSWin/) ? 'specperl.exe' : 'specperl'; + $command = ::path_protect(jp($me->top, 'bin', $specperl)); +@@ -4483,6 +4485,12 @@ + push @output_files, $obj->{'input'} if $obj->{'input'} ne ''; + push @output_files, $obj->{'output'} if $obj->{'output'} ne ''; + push @output_files, $obj->{'error'} if $obj->{'error'} ne ''; ++ ++ if (defined($prepend) && ($prepend ne '')) { ++ (my $newprepend = $prepend) =~ s/"/\\"/g; ++ $command = eval("::path_protect(\"$newprepend\")") . " " . $command; ++ } ++ + $command = ::path_protect($command); + $me->command($command); + +diff -urN a/bin/harness/configpp b/bin/harness/configpp +--- a/bin/harness/configpp 2017-06-28 13:13:35.000000000 -0300 ++++ b/bin/harness/configpp 2019-04-05 19:52:51.000000000 -0300 +@@ -2313,6 +2313,7 @@ + if ($::lcsuite eq 'accel') { + print " --platform name Select the platform to run on\n"; + } ++ print " --prepend=COMMAND Prepend a new command to be executed for the benchmark\n"; + print " --[no]power Control power measurement during run\n"; + print " --[no]preenv Control pre-run setting of environment variables\n"; + print " via 'preENV_' in the config file.\n"; +diff -urN a/bin/harness/parse.pl b/bin/harness/parse.pl +--- a/bin/harness/parse.pl 2018-05-22 10:22:35.000000000 -0300 ++++ b/bin/harness/parse.pl 2019-04-05 19:52:35.000000000 -0300 +@@ -134,6 +134,7 @@ + 'parallel_test_workloads|parallel-test-workloads=s' => sub { record($cl_opts, 's', @_) }, + 'parallel_test|parallel-test=i' => sub { record($cl_opts, 'i', @_) }, + 'platform=s' => sub { record($cl_opts, 's', @_) }, ++ 'prepend=s' => sub { record($cl_opts, 's', @_) }, + 'ranks=i' => sub { record($cl_opts, 'i', @_) }, + 'runmode=s' => sub { record($cl_opts, 's', @_) }, + 'size|input|i=s' => sub { record($cl_opts, 's', @_) }, +diff -urN a/bin/harness/runcpu b/bin/harness/runcpu +--- a/bin/harness/runcpu 2017-06-28 13:13:35.000000000 -0300 ++++ b/bin/harness/runcpu 2019-04-05 19:52:26.000000000 -0300 +@@ -1412,7 +1412,7 @@ + } + $rc = $bench->run_benchmark( + ($runconfig->action eq 'setup'), +- 0, $iter, 0); ++ 0, $iter, 0, $cl_opts->{'prepend'}); + if ($runconfig->action ne 'setup') { + my $outcome = 'Success'; + my $error_code = ''; +@@ -2313,6 +2313,7 @@ + if ($::lcsuite eq 'accel') { + print " --platform name Select the platform to run on\n"; + } ++ print " --prepend=COMMAND Prepend a new command to be executed for the benchmark\n"; + print " --[no]power Control power measurement during run\n"; + print " --[no]preenv Control pre-run setting of environment variables\n"; + print " via 'preENV_' in the config file.\n";