Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cpl:labs:10 [2016/12/11 21:48]
bogdan.nitulescu [Exerciții de laborator (10p)]
cpl:labs:10 [2017/12/05 08:34] (current)
bogdan.nitulescu [Exercițiul 1]
Line 342: Line 342:
  
 <code bash> <code bash>
-clang -O0 -emit-llvm test.c -c -o test.bc+clang -c -O0 -emit-llvm test.c -c -o test.bc
 opt -p -mem2reg -dce < test.bc > /dev/null opt -p -mem2reg -dce < test.bc > /dev/null
 opt -p -mem2reg -adce < test.bc > /dev/null opt -p -mem2reg -adce < test.bc > /dev/null
Line 353: Line 353:
      * La execuție folosiți parametrul ''​load''​ cu calea către noul pass, ex:      * La execuție folosiți parametrul ''​load''​ cu calea către noul pass, ex:
 <code bash> <code bash>
-opt -p -mem2reg -load ../llvm-3.6.2/src/Release+Asserts/lib/DCE.so -mydce < test.bc > /dev/null+opt -p -mem2reg -load ~packages/llvm-3.8.0/build/lib/libLLVMScalarOpts.-mydce < test.bc > /dev/null
 </​code>​ </​code>​
   * Ce observați?   * Ce observați?
Line 395: Line 395:
 ===== Exercițiul 2 ===== ===== Exercițiul 2 =====
  
-Implementaţi [[http://​en.wikipedia.org/​wiki/​Live_variable_analysis |analiza live variables]]. Algoritmul este explicat clar şi concis în Dragon book dar şi în slide-urile de [[http://​infolab.stanford.edu/​~ullman/​dragon/​slides4.pdf|aici]]. Puteţi pleca de la fişierul ''​Hello3.cpp''​ din arhiva laboratorului. Pentru implementare,​ urmăriţi şi instrucţiunile din cod.+Implementaţi [[http://​en.wikipedia.org/​wiki/​Live_variable_analysis |analiza live variables]]. Algoritmul este explicat clar şi concis în Dragon book dar şi în slide-urile de [[http://​infolab.stanford.edu/​~ullman/​dragon/​slides4.pdf|aici]]. Puteţi pleca de la fişierul ''​LiveVars.cpp''​ din arhiva laboratorului. Pentru implementare,​ urmăriţi şi instrucţiunile din cod.
   * ce reprezintă gen(B)/​def(B)?​ Dar kill/use?   * ce reprezintă gen(B)/​def(B)?​ Dar kill/use?
   * explicaţi ecuaţia de flux pentru in(B)   * explicaţi ecuaţia de flux pentru in(B)
cpl/labs/10.1481485706.txt.gz · Last modified: 2016/12/11 21:48 by bogdan.nitulescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0