Difference between revisions of "Compiler"

From NaplesPU Documentation
Jump to: navigation, search
(How to compile the Nu+ LLVM)
(How to compile the libraries for the NuPlus architecture)
Line 13: Line 13:
  
 
== How to compile the libraries for the NuPlus architecture ==
 
== How to compile the libraries for the NuPlus architecture ==
AGGIUNGERE
+
To compile the libraries you only have to execute '''./setup_new.sh -l''' from a terminal in the NuPlusLLVM root folder. The script will automatically build the libraries. Note that you must have compiled the NuPlus compiler first.
  
 
== Backend for a custom target architecture ==
 
== Backend for a custom target architecture ==

Revision as of 17:11, 26 September 2017

This is the main nu+ compiler documentation page

How to compile the Nu+ LLVM

To build the nu+ compiler, you must launch ./setup_new.sh -n from a terminal in the compiler root folder. The script will create a new directory called build and will start building the compiler. By default the script tries to build the compiler using 4 threads. If you want to modify that, especially if your machine have less than 8GB of RAM, you can use the -t flag to specify the number of threads to use. Other information can be obtained by using the -h flag.

How to compile a kernel for the NuPlus architecture

Some kernels are provided with the standard release of the NuPlus toolchain. We provide makefile to compile these kernels for NuPlus. In case you want to add a new kernel, it is suggested to copy a kernel folder and replace C/CPP files with your own source code. Then, remember to modify the makefile updating the SRCS variable with the current main C/CPP filename. When using these makefiles, different tools are called:

  • Clang to emit the LLVM IR and the object files
  • LLD/MCLINKER to handle the job of linking
  • elf2hex to generate the HEX file from the ELF file
  • llvm-objdump to generate the dump from the elf file

In order to change the optimization level of the compiler or any other flag, it is possible to modify the /misc/NuPlus.mk file.

How to compile the libraries for the NuPlus architecture

To compile the libraries you only have to execute ./setup_new.sh -l from a terminal in the NuPlusLLVM root folder. The script will automatically build the libraries. Note that you must have compiled the NuPlus compiler first.

Backend for a custom target architecture

Adding a new target architecture, i.e. nu+, to llvm requires four steps:

Testing

Compiler Extensions