IPRA: Run RegUsageInfoPropagate much later
This was running immediately after isel, before isel pseudos were even expanded which is really unreasonable. Move this to before pre-reglloc passes in case some other pre-regalloc pass wants to use the updated regmask info. Fixes one of the reasons IPRA doesn't do anything on AMDGPU currently. Tests will be included with future patch after a few more are fixed. llvm-svn: 310875
This commit is contained in:
parent
8b352c4d9d
commit
f9273c81d6
|
@ -779,9 +779,6 @@ void TargetPassConfig::addMachinePasses() {
|
||||||
// Print the instruction selected machine code...
|
// Print the instruction selected machine code...
|
||||||
printAndVerify("After Instruction Selection");
|
printAndVerify("After Instruction Selection");
|
||||||
|
|
||||||
if (TM->Options.EnableIPRA)
|
|
||||||
addPass(createRegUsageInfoPropPass());
|
|
||||||
|
|
||||||
// Expand pseudo-instructions emitted by ISel.
|
// Expand pseudo-instructions emitted by ISel.
|
||||||
addPass(&ExpandISelPseudosID);
|
addPass(&ExpandISelPseudosID);
|
||||||
|
|
||||||
|
@ -794,6 +791,9 @@ void TargetPassConfig::addMachinePasses() {
|
||||||
addPass(&LocalStackSlotAllocationID, false);
|
addPass(&LocalStackSlotAllocationID, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (TM->Options.EnableIPRA)
|
||||||
|
addPass(createRegUsageInfoPropPass());
|
||||||
|
|
||||||
// Run pre-ra passes.
|
// Run pre-ra passes.
|
||||||
addPreRegAlloc();
|
addPreRegAlloc();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue