mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Fast isel no longer needs DeadMachineInstrElim to clean up after it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107381 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -329,19 +329,15 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM,
|
|||||||
if (OptLevel != CodeGenOpt::None)
|
if (OptLevel != CodeGenOpt::None)
|
||||||
PM.add(createOptimizePHIsPass());
|
PM.add(createOptimizePHIsPass());
|
||||||
|
|
||||||
// Delete dead machine instructions regardless of optimization level.
|
|
||||||
//
|
|
||||||
// At -O0, fast-isel frequently creates dead instructions.
|
|
||||||
//
|
|
||||||
// With optimization, dead code should already be eliminated. However
|
|
||||||
// there is one known exception: lowered code for arguments that are only
|
|
||||||
// used by tail calls, where the tail calls reuse the incoming stack
|
|
||||||
// arguments directly (see t11 in test/CodeGen/X86/sibcall.ll).
|
|
||||||
PM.add(createDeadMachineInstructionElimPass());
|
|
||||||
printAndVerify(PM, "After codegen DCE pass",
|
|
||||||
/* allowDoubleDefs= */ true);
|
|
||||||
|
|
||||||
if (OptLevel != CodeGenOpt::None) {
|
if (OptLevel != CodeGenOpt::None) {
|
||||||
|
// With optimization, dead code should already be eliminated. However
|
||||||
|
// there is one known exception: lowered code for arguments that are only
|
||||||
|
// used by tail calls, where the tail calls reuse the incoming stack
|
||||||
|
// arguments directly (see t11 in test/CodeGen/X86/sibcall.ll).
|
||||||
|
PM.add(createDeadMachineInstructionElimPass());
|
||||||
|
printAndVerify(PM, "After codegen DCE pass",
|
||||||
|
/* allowDoubleDefs= */ true);
|
||||||
|
|
||||||
PM.add(createOptimizeExtsPass());
|
PM.add(createOptimizeExtsPass());
|
||||||
if (!DisableMachineLICM)
|
if (!DisableMachineLICM)
|
||||||
PM.add(createMachineLICMPass());
|
PM.add(createMachineLICMPass());
|
||||||
|
Reference in New Issue
Block a user