Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sesiuni:compiler [2014/07/13 21:06]
freescale [Agenda] Added LLVM directory layout link
sesiuni:compiler [2014/07/15 08:07]
freescale [Required software]
Line 37: Line 37:
  
 == Agenda == == Agenda ==
-C/C++ Build ToolsPreprocessor,​ Compiler, Assembler, Linker +[[sesiuni:compiler:intro| Introduction]] 
-* General Compiler StructureFront-end, Back-end, Optimizations +* [[sesiuni:​compiler:​layout| The LLVM Directory Layout]] 
-* Front-end: Lexical Analysis, Syntax Analysis, Semantic Analysis +[[sesiuni:​compiler:​libtooling | Clang LibTooling]] 
-* [[llvmlayout ​| The LLVM Directory Layout]] +[[sesiuni:​compiler:​ast | The Clang AST]] 
-* Clang LibTooling +[[sesiuni:​compiler:​highlighting | C Syntax Highlighting]] 
-* The Clang AST +[[sesiuni:​compiler:​ir | The LLVM IR]] 
-* C Syntax Highlighting +[[sesiuni:​compiler:​opt | The LLVM Optimization Engine]]
-* The LLVM IR +
-* The LLVM Optimization Engine+
 * C Tips & Tricks * C Tips & Tricks
  
Line 80: Line 78:
 * An IDE is recommended * An IDE is recommended
 * Nice to have: LLVM IR syntax highlighting - alternatives include [[http://​amishne.github.io/​llvm-ir-editor/​|this Eclipse plugin]], the vim plugin in the llvm/​utils/​vim directory and respectively the Emacs plugin in llvm/​utils/​emacs * Nice to have: LLVM IR syntax highlighting - alternatives include [[http://​amishne.github.io/​llvm-ir-editor/​|this Eclipse plugin]], the vim plugin in the llvm/​utils/​vim directory and respectively the Emacs plugin in llvm/​utils/​emacs
 +<note warning>​You should use a Debug build of LLVM. If you're not sure, try to run
 +<code bash>
 +clang -S -emit-llvm file.c -o file.ll
 +opt -loop-unroll -debug-pass=Structure file.ll -S -o file.ll
 +</​code>​
  
 +You should get an output similar to this:
 +<​code>​
 +Pass Arguments: ​ -targetlibinfo -datalayout -notti -basictti -x86tti -domtree -loops -loop-simplify -lcssa -scalar-evolution -loop-simplify -lcssa -loop-unroll -preverify -verify -print-module
 +Target Library Information
 +Data Layout
 +No target information
 +Target independent code generator'​s TTI
 +X86 Target Transform Info
 +  ModulePass Manager
 +    FunctionPass Manager
 +      Dominator Tree Construction
 +      Natural Loop Information
 +      Loop Pass Manager
 +        Canonicalize natural loops
 +        Loop-Closed SSA Form Pass
 +      Scalar Evolution Analysis
 +      Loop Pass Manager
 +        Canonicalize natural loops
 +        Loop-Closed SSA Form Pass
 +        Unroll loops
 +      Preliminary module verification
 +      Module Verifier
 +    Print module to stderr
 +</​code>​
 +</​note>​
 == Organizers == == Organizers ==
 ==== Diana Vasile ==== ==== Diana Vasile ====
sesiuni/compiler.txt · Last modified: 2014/07/15 08:07 by freescale