This shows you the differences between two versions of the page.
cpl:labs:09 [2016/12/06 22:28] bogdan.nitulescu [Ex. 4 - LLVM pass (6p)] |
cpl:labs:09 [2016/12/06 23:02] (current) bogdan.nitulescu [Ex.3 - Loops (3p)] |
||
---|---|---|---|
Line 358: | Line 358: | ||
==== Ex.3 - Loops (3p) ==== | ==== Ex.3 - Loops (3p) ==== | ||
Intrati in folder-ul ex.2 din arhiva de laborator. Compilati in cele 2 forme LLVM IR fisierul loops.c. | Intrati in folder-ul ex.2 din arhiva de laborator. Compilati in cele 2 forme LLVM IR fisierul loops.c. | ||
- | Faceti urmatoarele optimizari: mem2reg, simplifycfg, loops, loop-simplify, loop-rotate, loop-unroll. | + | Faceti urmatoarele optimizari: mem2reg, simplifycfg, loops, loop-rotate, loop-unroll. |
Observati modificarile. | Observati modificarile. | ||
==== Ex. 4 - LLVM pass (6p) ==== | ==== Ex. 4 - LLVM pass (6p) ==== | ||
Line 379: | Line 379: | ||
</code> | </code> | ||
- | Redenumiti $PathToLLVMSrc/lib/Transforms/$MyPass/Hello.exports in $PathToLLVMSrc/lib/Transforms/$MyPass/$MyPass.exports | + | Redenumiti \$PathToLLVMSrc/lib/Transforms/\$MyPass/Hello.exports in \$PathToLLVMSrc/lib/Transforms/\$MyPass/\$MyPass.exports |
Line 394: | Line 394: | ||
Trebuie sa rerulati cmake si make pentru fiecare modificare pe care o faceti in sursa pass-ului vostru. | Trebuie sa rerulati cmake si make pentru fiecare modificare pe care o faceti in sursa pass-ului vostru. | ||
+ | Pass-ul compilat sub forma de biblioteca dinamica se va gasi in ~/cpl/build/lib. | ||
+ | |||
Hints: | Hints: |