diff options
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/lib/llvm.rs | 7 | ||||
| -rw-r--r-- | src/comp/middle/trans.rs | 12 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs index 04705924..430e8cdb 100644 --- a/src/comp/lib/llvm.rs +++ b/src/comp/lib/llvm.rs @@ -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); diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 7d9e13b0..43a115b5 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -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); |