Mercurial > projects > ldc
comparison gen/optimizer.cpp @ 1492:ef76f6e1693c
Add some passes that `opt` runs to the default pass list.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Thu, 11 Jun 2009 16:57:45 +0200 |
parents | 9ed0695cb93c |
children | 76936858d1c6 |
comparison
equal
deleted
inserted
replaced
1491:360a8e8eea51 | 1492:ef76f6e1693c |
---|---|
175 // -O3 | 175 // -O3 |
176 if (optimizeLevel >= 3) | 176 if (optimizeLevel >= 3) |
177 { | 177 { |
178 addPass(pm, createArgumentPromotionPass()); | 178 addPass(pm, createArgumentPromotionPass()); |
179 addPass(pm, createTailDuplicationPass()); | 179 addPass(pm, createTailDuplicationPass()); |
180 addPass(pm, createInstructionCombiningPass()); | 180 addPass(pm, createSimplifyLibCallsPass()); |
181 addPass(pm, createInstructionCombiningPass()); | |
182 addPass(pm, createJumpThreadingPass()); | |
181 addPass(pm, createCFGSimplificationPass()); | 183 addPass(pm, createCFGSimplificationPass()); |
182 addPass(pm, createScalarReplAggregatesPass()); | 184 addPass(pm, createScalarReplAggregatesPass()); |
183 addPass(pm, createInstructionCombiningPass()); | 185 addPass(pm, createInstructionCombiningPass()); |
184 addPass(pm, createCondPropagationPass()); | 186 addPass(pm, createCondPropagationPass()); |
185 | 187 |
186 addPass(pm, createReassociatePass()); | 188 addPass(pm, createReassociatePass()); |
187 addPass(pm, createLoopRotatePass()); | 189 addPass(pm, createLoopRotatePass()); |
188 addPass(pm, createLICMPass()); | 190 addPass(pm, createLICMPass()); |
189 addPass(pm, createLoopUnswitchPass()); | 191 addPass(pm, createLoopUnswitchPass()); |
192 addPass(pm, createLoopIndexSplitPass()); | |
190 addPass(pm, createInstructionCombiningPass()); | 193 addPass(pm, createInstructionCombiningPass()); |
191 addPass(pm, createIndVarSimplifyPass()); | 194 addPass(pm, createIndVarSimplifyPass()); |
195 addPass(pm, createLoopDeletionPass()); | |
192 addPass(pm, createLoopUnrollPass()); | 196 addPass(pm, createLoopUnrollPass()); |
193 addPass(pm, createInstructionCombiningPass()); | 197 addPass(pm, createInstructionCombiningPass()); |
194 addPass(pm, createGVNPass()); | 198 addPass(pm, createGVNPass()); |
195 addPass(pm, createMemCpyOptPass()); | 199 addPass(pm, createMemCpyOptPass()); |
196 addPass(pm, createSCCPPass()); | 200 addPass(pm, createSCCPPass()); |
199 addPass(pm, createCondPropagationPass()); | 203 addPass(pm, createCondPropagationPass()); |
200 | 204 |
201 addPass(pm, createDeadStoreEliminationPass()); | 205 addPass(pm, createDeadStoreEliminationPass()); |
202 addPass(pm, createAggressiveDCEPass()); | 206 addPass(pm, createAggressiveDCEPass()); |
203 addPass(pm, createCFGSimplificationPass()); | 207 addPass(pm, createCFGSimplificationPass()); |
204 addPass(pm, createSimplifyLibCallsPass()); | |
205 addPass(pm, createDeadTypeEliminationPass()); | 208 addPass(pm, createDeadTypeEliminationPass()); |
206 addPass(pm, createConstantMergePass()); | 209 addPass(pm, createConstantMergePass()); |
207 } | 210 } |
208 | 211 |
209 if (optimizeLevel >= 1) { | 212 if (optimizeLevel >= 1) { |