PandA-2024.02
Data Structures | Typedefs | Enumerations | Functions
compiler_wrapper.hpp File Reference

Implementation of the wrapper to Gcc for C sources. More...

#include "custom_map.hpp"
#include "custom_set.hpp"
#include "dbgPrintHelper.hpp"
#include "refcount.hpp"
#include <filesystem>
#include <iosfwd>
#include <vector>
Include dependency graph for compiler_wrapper.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  CompilerWrapper
 Main class for wrapping the frontend compiler. More...
 
class  CompilerWrapper::Compiler
 Class storing information of a compiler. More...
 

Typedefs

using CompilerWrapperRef = refcount< CompilerWrapper >
 Refcount definition for the CompilerWrapper class. More...
 
using CompilerWrapperConstRef = refcount< const CompilerWrapper >
 

Enumerations

enum  CompilerWrapper_OptimizationSet {
  CompilerWrapper_OptimizationSet::O0, CompilerWrapper_OptimizationSet::O1, CompilerWrapper_OptimizationSet::O2, CompilerWrapper_OptimizationSet::O3,
  CompilerWrapper_OptimizationSet::O4, CompilerWrapper_OptimizationSet::O5, CompilerWrapper_OptimizationSet::Og, CompilerWrapper_OptimizationSet::Os,
  CompilerWrapper_OptimizationSet::Oz, CompilerWrapper_OptimizationSet::Ofast, CompilerWrapper_OptimizationSet::OBAMBU, CompilerWrapper_OptimizationSet::OSF
}
 Possible optimization sets. More...
 
enum  CompilerWrapper_CompilerTarget {
  CompilerWrapper_CompilerTarget::CT_NO_COMPILER = 0, CompilerWrapper_CompilerTarget::CT_I386_GCC49 = 16, CompilerWrapper_CompilerTarget::CT_I386_GCC5 = 32, CompilerWrapper_CompilerTarget::CT_I386_GCC6 = 64,
  CompilerWrapper_CompilerTarget::CT_I386_GCC7 = 128, CompilerWrapper_CompilerTarget::CT_I386_GCC8 = 256, CompilerWrapper_CompilerTarget::CT_I386_CLANG4 = 512, CompilerWrapper_CompilerTarget::CT_I386_CLANG5 = 1024,
  CompilerWrapper_CompilerTarget::CT_I386_CLANG6 = 2048, CompilerWrapper_CompilerTarget::CT_I386_CLANG7 = 4096, CompilerWrapper_CompilerTarget::CT_I386_CLANG8 = 8192, CompilerWrapper_CompilerTarget::CT_I386_CLANG9 = 16384,
  CompilerWrapper_CompilerTarget::CT_I386_CLANG10 = 32768, CompilerWrapper_CompilerTarget::CT_I386_CLANG11 = 65536, CompilerWrapper_CompilerTarget::CT_I386_CLANG12 = 131072, CompilerWrapper_CompilerTarget::CT_I386_CLANG13 = 262144,
  CompilerWrapper_CompilerTarget::CT_I386_CLANG16 = 524288, CompilerWrapper_CompilerTarget::CT_I386_CLANGVVD = 1048576
}
 target of the compiler More...
 

Functions

 REF_FORWARD_DECL (application_manager)
 
 CONSTREF_FORWARD_DECL (Parameter)
 
 REF_FORWARD_DECL (Parameter)
 
 REF_FORWARD_DECL (tree_manager)
 

Detailed Description

Implementation of the wrapper to Gcc for C sources.

Wrapper to the frontend compiler for C/C++ sources.

Implementation of the methods for the object for invoke the GCC compiler from sources and create the dump.

Author
Christian Pilato pilat.nosp@m.o@el.nosp@m.et.po.nosp@m.limi.nosp@m..it
Fabrizio Ferrandi fabri.nosp@m.zio..nosp@m.ferra.nosp@m.ndi@.nosp@m.polim.nosp@m.i.it
Marco Lattuada lattu.nosp@m.ada@.nosp@m.elet..nosp@m.poli.nosp@m.mi.it
Michele Fiorito miche.nosp@m.le.f.nosp@m.iorit.nosp@m.o@po.nosp@m.limi..nosp@m.it $Date$ Last modified by $Author$

A object used to invoke the frontend compiler from sources and create the dump.

Author
Christian Pilato pilat.nosp@m.o@el.nosp@m.et.po.nosp@m.limi.nosp@m..it
Marco Lattuada lattu.nosp@m.ada@.nosp@m.elet..nosp@m.poli.nosp@m.mi.it
Fabrizio Ferrandi lattu.nosp@m.ada@.nosp@m.elet..nosp@m.poli.nosp@m.mi.it $Date$ Last modified by $Author$

Definition in file compiler_wrapper.hpp.

Typedef Documentation

◆ CompilerWrapperConstRef

Definition at line 369 of file compiler_wrapper.hpp.

◆ CompilerWrapperRef

Refcount definition for the CompilerWrapper class.

Definition at line 368 of file compiler_wrapper.hpp.

Enumeration Type Documentation

◆ CompilerWrapper_CompilerTarget

target of the compiler

Enumerator
CT_NO_COMPILER 
CT_I386_GCC49 
CT_I386_GCC5 
CT_I386_GCC6 
CT_I386_GCC7 
CT_I386_GCC8 
CT_I386_CLANG4 
CT_I386_CLANG5 
CT_I386_CLANG6 
CT_I386_CLANG7 
CT_I386_CLANG8 
CT_I386_CLANG9 
CT_I386_CLANG10 
CT_I386_CLANG11 
CT_I386_CLANG12 
CT_I386_CLANG13 
CT_I386_CLANG16 
CT_I386_CLANGVVD 

Definition at line 83 of file compiler_wrapper.hpp.

◆ CompilerWrapper_OptimizationSet

Possible optimization sets.

Enumerator
O0 

-O0

O1 

-O1

O2 

-O2

O3 

-O3

O4 

-O4

O5 

-O5

Og 

-Og

Os 

-Os

Oz 

-Oz

Ofast 

-Ofast

OBAMBU 

Bambu optimizationss + OPT_compiler_opt_level.

OSF 

Bambu optimizations for soft float: O3 + -finline-limit=10000.

Definition at line 64 of file compiler_wrapper.hpp.

Function Documentation

◆ CONSTREF_FORWARD_DECL()

CONSTREF_FORWARD_DECL ( Parameter  )

◆ REF_FORWARD_DECL() [1/3]

REF_FORWARD_DECL ( application_manager  )

◆ REF_FORWARD_DECL() [2/3]

REF_FORWARD_DECL ( Parameter  )

◆ REF_FORWARD_DECL() [3/3]

REF_FORWARD_DECL ( tree_manager  )

Generated on Mon Feb 12 2024 13:03:36 for PandA-2024.02 by doxygen 1.8.13