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/06/04 15:11]
freescale [Introduction]
sesiuni:compiler [2014/07/15 08:07]
freescale [Required software]
Line 2: Line 2:
  
 == When and where == == When and where ==
-* **Time** 14 July 2014 - 18 July 2014, 18:00 +===== Time 14 July 2014 - 18 July 2014, 18:00-21:00 ===== 
-* **Place** **__TODO__**+===== Room EG306 =====
  
 == Introduction == == Introduction ==
Line 35: Line 35:
 == Prerequisites == == Prerequisites ==
 * Good knowledge of C/C++ * Good knowledge of C/C++
 +
 +== Agenda ==
 +* [[sesiuni:​compiler:​intro| Introduction]]
 +* [[sesiuni:​compiler:​layout| The LLVM Directory Layout]]
 +* [[sesiuni:​compiler:​libtooling | Clang LibTooling]]
 +* [[sesiuni:​compiler:​ast | The Clang AST]]
 +* [[sesiuni:​compiler:​highlighting | C Syntax Highlighting]]
 +* [[sesiuni:​compiler:​ir | The LLVM IR]]
 +* [[sesiuni:​compiler:​opt | The LLVM Optimization Engine]]
 +* C Tips & Tricks
 +
 +== Feedback ==
 +You can use these forms to tell us what you thought about the content presented each day, what you did or didn't understand, what you'd like us to discuss again the following day etc. Any suggestions or comments are more than welcome.  ​
 +* [[https://​docs.google.com/​forms/​d/​1kpgT56cChl-44F7uPGRwV8rc76ADmLjnPwmnKkeLCjM/​viewform?​usp=send_form | Feedback Day 1]]
 +* [[https://​docs.google.com/​forms/​d/​1LKtL6GH-sVQwwYkXPHwSqSObeevL7LDoMzjEd3iu17A/​viewform?​usp=send_form | Feedback Day 2]]
 +* [[https://​docs.google.com/​forms/​d/​1fZRGdToeOVUnvK3r6nyrjxUUnBlFcXG279qdOvuRHp4/​viewform?​usp=send_form | Feedback Day 3]]
 +* [[https://​docs.google.com/​forms/​d/​1qzxeN7UfuMxgOuUPIgHkrQkOpfQKrDxXNtWETINAGSo/​viewform?​usp=send_form | Feedback Day 4]]
 +* [[https://​docs.google.com/​forms/​d/​1eIsIcot03bUlHzdv31MWEVOGwrG462q98ojoc-bVPGU/​viewform?​usp=send_form | Feedback Day 5]]
 +
 +
 +== Participants ==
 +| Mihnea Dobrescu-Balaur |
 +| Adrian Nitu |
 +| Gabriel Florentin Balaban |
 +| Radu Stoenescu |
 +| Ionel Popescu |
 +| Dan-Stefan Dragan |
 +| Andrei Preda |
 +| Nurberdiyev Pudak |
 +| Cristina-Ioana Brinza |
 +| Albert Zaharovits |
 +| Stefan Stamate |
 +| Roxana Istrate |
 +| Roberta Dobrescu |
 +| Calin-Cristian Cruceru |
 +| Cozmin Velciu |
  
 == Required software == == Required software ==
 The required software will be installed on the stations in the lab, but in case you want to bring your laptop you should try to install the following: The required software will be installed on the stations in the lab, but in case you want to bring your laptop you should try to install the following:
 * LLVM (you can use the instructions [[http://​clang.llvm.org/​get_started.html|here]] - note that you can generate files for several IDEs using [[http://​llvm.org/​docs/​CMake.html|CMake]]) * LLVM (you can use the instructions [[http://​clang.llvm.org/​get_started.html|here]] - note that you can generate files for several IDEs using [[http://​llvm.org/​docs/​CMake.html|CMake]])
 +* Something for viewing .dot files (you can use XDot on Linux or GVEdit on Windows)
 * An IDE is recommended * An IDE is recommended
-<note warning>Note that this list is subject ​to additions as more content is added to this page</note>+* 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 ====
Line 50: Line 117:
 **E-mail**: <​rene.palalau@freescale.com>​ **E-mail**: <​rene.palalau@freescale.com>​
  
-== Registration == 
-Registration is open until Sunday, 28 June 2014. 
-Please fill in [[https://​docs.google.com/​forms/​d/​1KED9bX12uAjitUaFPvgpGO9_OQqQvH3gywOdyqyTTEI/​viewform?​usp=send_form|this form]]. 
sesiuni/compiler.txt · Last modified: 2014/07/15 08:07 by freescale