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

View file

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