46 #ifndef COMPILER_WRAPPER_HPP 47 #define COMPILER_WRAPPER_HPP 209 void CompileFile(std::string& input_filename,
const std::string& output_file,
const std::string& parameters_line,
210 int cm,
const std::string& costTable);
212 std::string GetAnalyzeCompiler()
const;
219 void InitializeCompilerParameters();
224 void ReadParameters();
229 void SetCompilerDefault();
234 void SetBambuDefault();
240 std::string WriteOptimizationsString();
247 const std::string AddSourceCodeIncludes(
const std::list<std::string>& source_files)
const;
249 std::string readExternalSymbols(
const std::string&
filename)
const;
289 void FillTreeManager(
const tree_managerRef TM, std::vector<std::string>& source_files,
const std::string& costTable);
295 void GetSystemIncludes(std::vector<std::string>& includes)
const;
300 void GetCompilerConfig()
const;
305 void QueryCompilerConfig(
const std::string& compiler_option)
const;
307 std::string GetCompilerParameters(
const std::string& extra_compiler_options,
308 bool no_frontend_compiler_parameters =
false)
const;
316 void CreateExecutable(
const std::list<std::string>& file_names,
const std::string& executable_name,
317 const std::string& extra_compiler_options,
bool no_frontend_compiler_parameters =
false)
const;
326 const std::string& extra_compiler_options,
bool no_frontend_compiler_parameters =
false)
const;
332 void ReadXml(
const std::string& file_name);
338 void WriteXml(
const std::string& file_name)
const;
357 static int getCompatibleCompilers();
358 static int getDefaultCompiler();
364 static std::string getCompilerVersion(
int ct);
int debug_level
debug level
std::map< std::string, int > parameter_values
The values of optimizations parameters.
std::string expandMemOps_plugin_obj
The plugin expanding MemOps calls.
File containing functions and utilities to support the printing of debug messagges.
static std::string bambu_ir_info
The version of the frontend compiler.
Class storing information of a compiler.
std::string CSROA_plugin_obj
The plugin performing Custom Scalar Replacement of Aggregates.
std::string gcc
The compiler frontend executable.
This class manages the tree structures extracted from the raw file.
std::string expandMemOps_plugin_name
CONSTREF_FORWARD_DECL(Parameter)
std::map< std::string, int > optimization_values
The value of parametric activate optimizations.
std::string ssa_plugin_obj
The plugin to dump ssa gimple.
redefinition of map to manage ordered/unordered structures
CompilerWrapper_OptimizationSet
Possible optimization sets.
const CompilerWrapper_OptimizationSet OS
The set of optimizations to be applied.
std::map< std::string, bool > optimization_flags
The set of activated optimizations.
const CompilerWrapper_CompilerTarget compiler_target
The target compiler to be used.
std::string llvm_opt
The clang llvm-opt executable.
const ParameterConstRef Param
The set of input parameters.
std::string GepiCanon_plugin_obj
The plugin canocalizing GEPIs.
std::string topfname_plugin_obj
The plugin making visible only the top function.
REF_FORWARD_DECL(application_manager)
redefinition of set to manage ordered/unordered structures
CompilerWrapper_CompilerTarget
target of the compiler
std::string topfname_plugin_name
std::string ssa_plugin_name
std::string ASTAnalyzer_plugin_obj
AST analysis.
Template definition of refcount.
CustomSet< std::string > already_processed_files
The set of files for which tree manager has already been computed.
std::string empty_plugin_obj
The plugin to dump empty gimple.
std::string ASTAnalyzer_plugin_name
std::string GepiCanon_plugin_name
std::string extra_options
The extra_options.
std::string CSROA_plugin_name
Bambu optimizations for soft float: O3 + -finline-limit=10000.
std::string compiler_linking_parameters
The compiler parameters for executable creation.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
int output_level
debug level
std::string llvm_link
The clang llvm-link executable.
Bambu optimizationss + OPT_compiler_opt_level.
Main class for wrapping the frontend compiler.
std::string cpp
The cpp executable.
std::string empty_plugin_name
std::string frontend_compiler_parameters
The frontend compiler parameters line for compiling a file.
bool is_clang
true when compiler is based on clang/llvm