Enable more optimizations.

This commit is contained in:
Rafael Ávila de Espíndola 2011-04-12 15:33:39 -04:00
parent 73eecbd0ca
commit dd6fc607a4
2 changed files with 10 additions and 9 deletions

View file

@ -749,7 +749,7 @@ native mod llvm = llvm_lib {
fn LLVMAddFunctionInliningPass(PassManagerRef PM);
fn LLVMAddFunctionAttrsPass(PassManagerRef PM);
fn LLVMAddScalarReplAggregatesPass(PassManagerRef PM);
// fn LLVMAddScalarReplAggregatesPassSSA(PassManagerRef PM);
fn LLVMAddScalarReplAggregatesPassSSA(PassManagerRef PM);
fn LLVMAddJumpThreadingPass(PassManagerRef PM);
fn LLVMAddConstantPropagationPass(PassManagerRef PM);
fn LLVMAddReassociatePass(PassManagerRef PM);
@ -770,10 +770,11 @@ native mod llvm = llvm_lib {
fn LLVMAddIndVarSimplifyPass(PassManagerRef PM);
fn LLVMAddAggressiveDCEPass(PassManagerRef PM);
fn LLVMAddGlobalDCEPass(PassManagerRef PM);
// fn LLVMAddCorrelatedValuePropagationPass(PassManagerRef PM);
fn LLVMAddCorrelatedValuePropagationPass(PassManagerRef PM);
fn LLVMAddPruneEHPass(PassManagerRef PM);
fn LLVMAddSimplifyLibCallsPass(PassManagerRef PM);
// fn LLVMAddLoopIdiomPass(PassManagerRef PM);
fn LLVMAddLoopIdiomPass(PassManagerRef PM);
fn LLVMAddEarlyCSEPass(PassManagerRef PM);
/** Destroys a memory buffer. */
fn LLVMDisposeMemoryBuffer(MemoryBufferRef MemBuf);

View file

@ -6621,7 +6621,7 @@ fn run_passes(ModuleRef llmod, bool opt) {
// createStandardFunctionPasses
llvm.LLVMAddCFGSimplificationPass(fpm.llpm);
llvm.LLVMAddScalarReplAggregatesPass(fpm.llpm);
//llvm.LLVMAddEarlyCSEPass(fpm.llpm);
llvm.LLVMAddEarlyCSEPass(fpm.llpm);
llvm.LLVMRunPassManager(fpm.llpm, llmod);
@ -6637,11 +6637,11 @@ fn run_passes(ModuleRef llmod, bool opt) {
// FIXME: crashes!
// llvm.LLVMAddFunctionAttrsPass(pm.llpm);
// llvm.LLVMAddScalarReplAggregatesPassSSA(pm.llpm);
// llvm.LLVMAddEarlyCSEPass(pm.llpm);
llvm.LLVMAddScalarReplAggregatesPassSSA(pm.llpm);
llvm.LLVMAddEarlyCSEPass(pm.llpm);
llvm.LLVMAddSimplifyLibCallsPass(pm.llpm);
llvm.LLVMAddJumpThreadingPass(pm.llpm);
// llvm.LLVMAddCorrelatedValuePropagationPass(pm.llpm);
llvm.LLVMAddCorrelatedValuePropagationPass(pm.llpm);
llvm.LLVMAddCFGSimplificationPass(pm.llpm);
llvm.LLVMAddInstructionCombiningPass(pm.llpm);
llvm.LLVMAddTailCallEliminationPass(pm.llpm);
@ -6652,7 +6652,7 @@ fn run_passes(ModuleRef llmod, bool opt) {
llvm.LLVMAddLoopUnswitchPass(pm.llpm);
llvm.LLVMAddInstructionCombiningPass(pm.llpm);
llvm.LLVMAddIndVarSimplifyPass(pm.llpm);
// llvm.LLVMAddLoopIdiomPass(pm.llpm);
llvm.LLVMAddLoopIdiomPass(pm.llpm);
llvm.LLVMAddLoopDeletionPass(pm.llpm);
llvm.LLVMAddLoopUnrollPass(pm.llpm);
llvm.LLVMAddInstructionCombiningPass(pm.llpm);
@ -6661,7 +6661,7 @@ fn run_passes(ModuleRef llmod, bool opt) {
llvm.LLVMAddSCCPPass(pm.llpm);
llvm.LLVMAddInstructionCombiningPass(pm.llpm);
llvm.LLVMAddJumpThreadingPass(pm.llpm);
// llvm.LLVMAddCorrelatedValuePropagationPass(pm.llpm);
llvm.LLVMAddCorrelatedValuePropagationPass(pm.llpm);
llvm.LLVMAddDeadStoreEliminationPass(pm.llpm);
llvm.LLVMAddAggressiveDCEPass(pm.llpm);
llvm.LLVMAddCFGSimplificationPass(pm.llpm);