forked from OSchip/llvm-project
R600/structurizer: improve PHI value finding
Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175346
This commit is contained in:
parent
d08e3d753e
commit
0bccf9d60b
|
@ -533,12 +533,18 @@ void AMDGPUStructurizeCFG::setPhiValues() {
|
|||
Updater.AddAvailableValue(&Func->getEntryBlock(), Undef);
|
||||
Updater.AddAvailableValue(To, Undef);
|
||||
|
||||
NearestCommonDominator Dominator(DT);
|
||||
Dominator.addBlock(To, false);
|
||||
for (BBValueVector::iterator VI = PI->second.begin(),
|
||||
VE = PI->second.end(); VI != VE; ++VI) {
|
||||
|
||||
Updater.AddAvailableValue(VI->first, VI->second);
|
||||
Dominator.addBlock(VI->first);
|
||||
}
|
||||
|
||||
if (!Dominator.wasResultExplicitMentioned())
|
||||
Updater.AddAvailableValue(Dominator.getResult(), Undef);
|
||||
|
||||
for (BBVector::iterator FI = From.begin(), FE = From.end();
|
||||
FI != FE; ++FI) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue