This shows you the differences between two versions of the page.
|
cpl:unpub [2015/12/23 23:00] octavian.moraru [Concurs] |
cpl:unpub [2015/12/23 23:17] (current) octavian.moraru [Hints/FAQ:] |
||
|---|---|---|---|
| Line 25: | Line 25: | ||
| Premisa acestul concurs este că avem la dispoziție o arhitectură fictivă care execută instrucțiuni LLVM IR. Pentru a executa o instrucțiune LLVM IR pe procesorul fictiv este necesar un anumit număr de cicluri de ceas. Astfel, putem estima cât de costisitoare este execuția unei instrucțiuni. | Premisa acestul concurs este că avem la dispoziție o arhitectură fictivă care execută instrucțiuni LLVM IR. Pentru a executa o instrucțiune LLVM IR pe procesorul fictiv este necesar un anumit număr de cicluri de ceas. Astfel, putem estima cât de costisitoare este execuția unei instrucțiuni. | ||
| - | Pentru aceasta fiecare pass va folosi un fișier de intrare care conține pe fiecare linie numele unei instrucțiuni LLVM IR și un cost/scor asociat. | + | Pentru aceasta fiecare pas va folosi un fișier de intrare care conține pe fiecare linie numele unei instrucțiuni LLVM IR și un cost/scor asociat. |
| Exemplu: | Exemplu: | ||
| <code> | <code> | ||
| Line 66: | Line 66: | ||
| <note tip> | <note tip> | ||
| - | * **Q:** Cum pot prelua o opțiune din linia de comandă în cadrul pass-ului LLVM? | + | * **Q:** Cum pot prelua o opțiune din linia de comandă în cadrul pasului LLVM? |
| * **A:** Folosind API-ul [[http://llvm.org/releases/3.6.2/docs/CommandLine.html|CommandLine]] | * **A:** Folosind API-ul [[http://llvm.org/releases/3.6.2/docs/CommandLine.html|CommandLine]] | ||
| Line 154: | Line 154: | ||
| * {{:cpl:concurs-arhiva.zip|Arhiva de start}} | * {{:cpl:concurs-arhiva.zip|Arhiva de start}} | ||
| * [[http://llvm.org/releases/3.6.2/docs/index.html|Documentația]] LLVM | * [[http://llvm.org/releases/3.6.2/docs/index.html|Documentația]] LLVM | ||
| + | * Loop Unrolling: | ||
| + | * Dragon Book: Capitolele 10.4.5, 9.6 | ||
| + | * Muchnik: Capitolul 18 (Secțiunea 18.4), Capitolul 14 | ||
| * Testare: **TODO** | * Testare: **TODO** | ||