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 @@
+
+
+
+
+
+
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):
+
+ - $basedir: the directory where the simulation is being executed
+ - $iter: the number of the current iteration
+ - $workload_num: the sequence of the current input used in the iteration (it resets every iteration).
+
+
+
+$ 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 @@
+
+
+
+
+
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.
+
+
+ -
+ IPs used in the lab.
+
+ -
+ Conferences in which we
+ would like to publish our papers.
+
+ -
+ Benchmarks, and scripts to use them.
+
+ -
+ How to use SPEC CPU2017.
+ If you want to use it with LLVM, see this tutorial.
+
+ -
+ Logos:
+
+
+ -
+ Icons:
+
+
+ -
+ Announcements
+ (Model 0),
+ (Model 1),
+ (Model 2),
+ (Model 3) and
+ (Model 4).
+
+ -
+ Templates for presentations:
+
+ -
+ ICEx (PPT):
+ presentation with the building on the front page.
+
+ -
+ ICEx (PDF):
+ same as before, but in PDF.
+
+ -
+ Saori:
+ Luigi's Beamer for Tex.
+
+ -
+ GooglePPT:
+ Presentation in Google Doc.
+
+
+
+ -
+ We have one template for posters:
+
+
+ -
+ How to write a paper:
+
+
+
+
+
+
+
+
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_