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:
Matt Arsenault 2017-08-14 19:54:45 +00:00
parent 8b352c4d9d
commit f9273c81d6
1 changed files with 3 additions and 3 deletions

View File

@ -779,9 +779,6 @@ void TargetPassConfig::addMachinePasses() {
// Print the instruction selected machine code...
printAndVerify("After Instruction Selection");
if (TM->Options.EnableIPRA)
addPass(createRegUsageInfoPropPass());
// Expand pseudo-instructions emitted by ISel.
addPass(&ExpandISelPseudosID);
@ -794,6 +791,9 @@ void TargetPassConfig::addMachinePasses() {
addPass(&LocalStackSlotAllocationID, false);
}
if (TM->Options.EnableIPRA)
addPass(createRegUsageInfoPropPass());
// Run pre-ra passes.
addPreRegAlloc();