Mercurial > projects > ldc
comparison gen/optimizer.cpp @ 1472:a28953f1eb43
Move `-tailcallelim` to a place in the optimization sequence where it seems to
be more useful.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Thu, 04 Jun 2009 15:59:51 +0200 |
parents | 42bd767ec5a4 |
children | e0f03e11cdf8 |
comparison
equal
deleted
inserted
replaced
1471:230765fc82f4 | 1472:a28953f1eb43 |
---|---|
123 | 123 |
124 #ifdef USE_METADATA | 124 #ifdef USE_METADATA |
125 if (!disableLangSpecificPasses && !disableGCToStack) | 125 if (!disableLangSpecificPasses && !disableGCToStack) |
126 addPass(pm, createGarbageCollect2Stack()); | 126 addPass(pm, createGarbageCollect2Stack()); |
127 #endif | 127 #endif |
128 | |
129 addPass(pm, createTailCallEliminationPass()); | |
130 addPass(pm, createCFGSimplificationPass()); | |
128 } | 131 } |
129 | 132 |
130 // -inline | 133 // -inline |
131 if (doInline()) { | 134 if (doInline()) { |
132 addPass(pm, createFunctionInliningPass()); | 135 addPass(pm, createFunctionInliningPass()); |
180 addPass(pm, createCFGSimplificationPass()); | 183 addPass(pm, createCFGSimplificationPass()); |
181 addPass(pm, createScalarReplAggregatesPass()); | 184 addPass(pm, createScalarReplAggregatesPass()); |
182 addPass(pm, createInstructionCombiningPass()); | 185 addPass(pm, createInstructionCombiningPass()); |
183 addPass(pm, createCondPropagationPass()); | 186 addPass(pm, createCondPropagationPass()); |
184 | 187 |
185 addPass(pm, createTailCallEliminationPass()); | |
186 addPass(pm, createCFGSimplificationPass()); | |
187 addPass(pm, createReassociatePass()); | 188 addPass(pm, createReassociatePass()); |
188 addPass(pm, createLoopRotatePass()); | 189 addPass(pm, createLoopRotatePass()); |
189 addPass(pm, createLICMPass()); | 190 addPass(pm, createLICMPass()); |
190 addPass(pm, createLoopUnswitchPass()); | 191 addPass(pm, createLoopUnswitchPass()); |
191 addPass(pm, createInstructionCombiningPass()); | 192 addPass(pm, createInstructionCombiningPass()); |