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:32]
freescale [Agenda] added several new pages
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 +
-* Front-end: Lexical Analysis, Syntax Analysis, Semantic Analysis+
 * [[sesiuni:​compiler:​layout| The LLVM Directory Layout]] * [[sesiuni:​compiler:​layout| The LLVM Directory Layout]]
 * [[sesiuni:​compiler:​libtooling | Clang LibTooling]] * [[sesiuni:​compiler:​libtooling | Clang LibTooling]]
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