Difference between revisions of "NaplesPU LLVM Documentation"

From NaplesPU Documentation
Jump to: navigation, search
Line 1: Line 1:
 
To fully understand some aspects of some solutions adopted in the nu+ backend, it is highly recommended to read about the general aspects of compiler structure and the LLVM architecture. In particular, a newbie must be aware of  [https://en.wikipedia.org/wiki/Basic_block '''Basic Blocks'''], [https://en.wikipedia.org/wiki/Static_single_assignment_form '''SSA''' (Static Single Assignment) form], [https://en.wikipedia.org/wiki/Abstract_syntax_tree '''AST''' (Abstract Syntax tree)] and [https://en.wikipedia.org/wiki/Directed_acyclic_graph '''DAG''' Direct Acyclic Graph]. Further informations can be retrieved from the [https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools dragonbook].
 
To fully understand some aspects of some solutions adopted in the nu+ backend, it is highly recommended to read about the general aspects of compiler structure and the LLVM architecture. In particular, a newbie must be aware of  [https://en.wikipedia.org/wiki/Basic_block '''Basic Blocks'''], [https://en.wikipedia.org/wiki/Static_single_assignment_form '''SSA''' (Static Single Assignment) form], [https://en.wikipedia.org/wiki/Abstract_syntax_tree '''AST''' (Abstract Syntax tree)] and [https://en.wikipedia.org/wiki/Directed_acyclic_graph '''DAG''' Direct Acyclic Graph]. Further informations can be retrieved from the [https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools dragonbook].
 +
 
Other than the general aspects about compilers, it is recommended to read about the [http://www.aosabook.org/en/llvm.html '''LLVM architecture'''], the [http://llvm.org/docs/LangRef.html '''LLVM Intermediate Representation'''] and [http://llvm.org/docs/TableGen/index.html '''Tablegen''']. See the following textbook for other informations [Getting Started with LLVM  
 
Other than the general aspects about compilers, it is recommended to read about the [http://www.aosabook.org/en/llvm.html '''LLVM architecture'''], the [http://llvm.org/docs/LangRef.html '''LLVM Intermediate Representation'''] and [http://llvm.org/docs/TableGen/index.html '''Tablegen''']. See the following textbook for other informations [Getting Started with LLVM  
 
Core Libraries http://books.tarsoit.com/Getting%20Started%20with%20LLVM%20Core%20Libraries.pdf] and [LLVM Cookbook https://github.com/iBreaker/book/blob/master/LLVM%20Cookbook.pdf].
 
Core Libraries http://books.tarsoit.com/Getting%20Started%20with%20LLVM%20Core%20Libraries.pdf] and [LLVM Cookbook https://github.com/iBreaker/book/blob/master/LLVM%20Cookbook.pdf].

Revision as of 11:58, 27 September 2017

To fully understand some aspects of some solutions adopted in the nu+ backend, it is highly recommended to read about the general aspects of compiler structure and the LLVM architecture. In particular, a newbie must be aware of Basic Blocks, SSA (Static Single Assignment) form, AST (Abstract Syntax tree) and DAG Direct Acyclic Graph. Further informations can be retrieved from the dragonbook.

Other than the general aspects about compilers, it is recommended to read about the LLVM architecture, the LLVM Intermediate Representation and Tablegen. See the following textbook for other informations [Getting Started with LLVM Core Libraries http://books.tarsoit.com/Getting%20Started%20with%20LLVM%20Core%20Libraries.pdf] and [LLVM Cookbook https://github.com/iBreaker/book/blob/master/LLVM%20Cookbook.pdf].