Enable alias analysis and the function attributes pass.

The C API extension is already upstream, we can drop the local copy once
the bots are updated.
This commit is contained in:
Rafael Ávila de Espíndola 2011-04-13 13:53:19 -04:00
parent 6909e7ca78
commit e7b8db2e63
5 changed files with 28 additions and 4 deletions

View file

@ -6647,6 +6647,8 @@ fn run_passes(ModuleRef llmod, bool opt) {
auto fpm = mk_pass_manager();
// createStandardFunctionPasses
llvm.LLVMAddTypeBasedAliasAnalysisPass(fpm.llpm);
llvm.LLVMAddBasicAliasAnalysisPass(fpm.llpm);
llvm.LLVMAddCFGSimplificationPass(fpm.llpm);
llvm.LLVMAddScalarReplAggregatesPass(fpm.llpm);
llvm.LLVMAddEarlyCSEPass(fpm.llpm);
@ -6654,6 +6656,8 @@ fn run_passes(ModuleRef llmod, bool opt) {
llvm.LLVMRunPassManager(fpm.llpm, llmod);
// createStandardModulePasses
llvm.LLVMAddTypeBasedAliasAnalysisPass(pm.llpm);
llvm.LLVMAddBasicAliasAnalysisPass(pm.llpm);
llvm.LLVMAddGlobalOptimizerPass(pm.llpm);
llvm.LLVMAddIPSCCPPass(pm.llpm);
llvm.LLVMAddDeadArgEliminationPass(pm.llpm);
@ -6661,10 +6665,7 @@ fn run_passes(ModuleRef llmod, bool opt) {
llvm.LLVMAddCFGSimplificationPass(pm.llpm);
llvm.LLVMAddPruneEHPass(pm.llpm);
llvm.LLVMAddFunctionInliningPass(pm.llpm);
// FIXME: crashes!
// llvm.LLVMAddFunctionAttrsPass(pm.llpm);
llvm.LLVMAddFunctionAttrsPass(pm.llpm);
llvm.LLVMAddScalarReplAggregatesPassSSA(pm.llpm);
llvm.LLVMAddEarlyCSEPass(pm.llpm);
llvm.LLVMAddSimplifyLibCallsPass(pm.llpm);