Lines Matching refs:llvm

19 #include <llvm/Analysis/Passes.h>
20 #include <llvm/Analysis/TargetTransformInfo.h>
21 #include <llvm/CodeGen/RegAllocRegistry.h>
22 #include <llvm/IR/LegacyPassManager.h>
23 #include <llvm/IR/Module.h>
24 #include <llvm/Support/TargetRegistry.h>
25 #include <llvm/Support/raw_ostream.h>
26 #include <llvm/IR/DataLayout.h>
27 #include <llvm/Target/TargetSubtargetInfo.h>
28 #include <llvm/Target/TargetMachine.h>
29 #include <llvm/Transforms/IPO.h>
30 #include <llvm/Transforms/IPO/PassManagerBuilder.h>
31 #include <llvm/Transforms/Scalar.h>
32 #include <llvm/Transforms/Vectorize.h>
57 return "Failed to create llvm::TargetMachine.";
59 return "Failed to switch llvm::TargetMachine.";
111 llvm::TargetMachine *new_target =
132 if ((pConfig.getOptimizationLevel() == llvm::CodeGenOpt::None)) {
133 llvm::RegisterRegAlloc::setDefault(llvm::createFastRegisterAllocator);
135 llvm::RegisterRegAlloc::setDefault(llvm::createGreedyRegisterAllocator);
147 llvm::raw_pwrite_stream &pResult) {
149 llvm::legacy::PassManager passes;
152 llvm::MCContext *mc_context = nullptr;
161 if (mTarget->getOptLevel() == llvm::CodeGenOpt::None) {
162 passes.add(llvm::createGlobalOptimizerPass());
163 passes.add(llvm::createConstantMergePass());
167 llvm::PassManagerBuilder Builder;
168 Builder.Inliner = llvm::createFunctionInliningPass();
175 passes.add(llvm::createLoopUnrollPass(-1, 16, 0, 1));
177 passes.add(llvm::createScalarizerPass());
178 passes.add(llvm::createCFGSimplificationPass());
179 passes.add(llvm::createScopedNoAliasAAPass());
180 passes.add(llvm::createScalarEvolutionAliasAnalysisPass());
182 passes.add(llvm::createSLPVectorizerPass());
183 passes.add(llvm::createDeadCodeEliminationPass());
184 passes.add(llvm::createInstructionCombiningPass());
214 llvm::raw_pwrite_stream &pResult,
215 llvm::raw_ostream *IRStream) {
216 llvm::Module &module = pScript.getSource().getModule();
224 const llvm::DataLayout *dl = getTargetMachine().getDataLayout();
264 llvm::raw_ostream *IRStream) {
270 // Open the output file decorated in llvm::raw_ostream.
271 llvm::raw_pwrite_stream *out = pResult.dup();
285 bool Compiler::addInternalizeSymbolsPass(Script &pScript, llvm::legacy::PassManager &pPM) {
289 llvm::Module &module = script.getSource().getModule();
350 pPM.add(llvm::createInternalizePass(export_symbols));
355 bool Compiler::addInvokeHelperPass(llvm::legacy::PassManager &pPM) {
356 llvm::Triple arch(getTargetMachine().getTargetTriple());
363 bool Compiler::addExpandForEachPass(Script &pScript, llvm::legacy::PassManager &pPM) {
371 bool Compiler::addGlobalInfoPass(Script &pScript, llvm::legacy::PassManager &pPM) {
381 bool Compiler::addInvariantPass(llvm::legacy::PassManager &pPM) {
389 bool Compiler::addCustomPasses(Script &pScript, llvm::legacy::PassManager &pPM) {
408 bool Compiler::addPostLTOCustomPasses(llvm::legacy::PassManager &pPM) {
410 llvm::Triple arch(getTargetMachine().getTargetTriple());
411 if (arch.getArch() == llvm::Triple::x86_64)
421 llvm::Module &module = pScript.getSource().getModule();
436 llvm::legacy::PassManager pPM;