MCPcopy Create free account
hub / github.com/apache/arrow / OptimizeModuleWithLegacyPassManager

Function OptimizeModuleWithLegacyPassManager

cpp/src/gandiva/engine.cc:516–538  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

514}
515#else
516static void OptimizeModuleWithLegacyPassManager(llvm::Module& module,
517 llvm::TargetIRAnalysis target_analysis) {
518 std::unique_ptr<llvm::legacy::PassManager> pass_manager(
519 new llvm::legacy::PassManager());
520
521 pass_manager->add(
522 llvm::createTargetTransformInfoWrapperPass(std::move(target_analysis)));
523 pass_manager->add(llvm::createFunctionInliningPass());
524 pass_manager->add(llvm::createInstructionCombiningPass());
525 pass_manager->add(llvm::createPromoteMemoryToRegisterPass());
526 pass_manager->add(llvm::createGVNPass());
527 pass_manager->add(llvm::createNewGVNPass());
528 pass_manager->add(llvm::createCFGSimplificationPass());
529 pass_manager->add(llvm::createLoopVectorizePass());
530 pass_manager->add(llvm::createSLPVectorizerPass());
531 pass_manager->add(llvm::createGlobalOptimizerPass());
532
533 // run the optimiser
534 llvm::PassManagerBuilder pass_builder;
535 pass_builder.OptLevel = 3;
536 pass_builder.populateModulePassManager(*pass_manager);
537 pass_manager->run(module);
538}
539#endif
540
541// Optimise and compile the module.

Callers 1

FinalizeModuleMethod · 0.85

Calls 1

runMethod · 0.45

Tested by

no test coverage detected