Skip to content

Commit a86006a

Browse files
pratikasharsys_zuul
authored andcommitted
Move pass to erase redundant movs after other optimizations are done.
Change-Id: I330156f56347f82c67ebe8a3182112ddeec77f9b
1 parent a1515b1 commit a86006a

File tree

1 file changed

+3
-17
lines changed

1 file changed

+3
-17
lines changed

visa/Optimizer.cpp

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,18 +1060,6 @@ int Optimizer::optimization()
10601060

10611061
runPass(PI_countBankConflicts);
10621062

1063-
// some passes still rely on G4_Declares and their def-use even after RA,
1064-
// and removeRedundantMove will break them since it deletes moves solely based on GRF assignment
1065-
// without maintaining def-use of G4_Declares.
1066-
// so when these passes are active we have to defer removeRedundMov until after the passes
1067-
// ToDo: study the perf impact of moving this post scheduling
1068-
bool preserveVirtualDefUse = kernel.getOption(vISA_ReRAPostSchedule) || builder.doAccSub();
1069-
1070-
if (!preserveVirtualDefUse)
1071-
{
1072-
runPass(PI_removeRedundMov);
1073-
}
1074-
10751063
//
10761064
// if a fall-through BB does not immediately follow its predecessor
10771065
// in the code layout, then insert a jump-to-fall-through in the predecessor
@@ -1099,11 +1087,9 @@ int Optimizer::optimization()
10991087

11001088
runPass(PI_reRAPostSchedule);
11011089

1102-
if (preserveVirtualDefUse
1103-
)
1104-
{
1105-
runPass(PI_removeRedundMov);
1106-
}
1090+
// No pass after this should expect def-use to be preserved as this pass
1091+
// removes raw movs with identical src/dst physical GRFs.
1092+
runPass(PI_removeRedundMov);
11071093

11081094
// remove any placeholders blocks inserted to aid regalloc
11091095
// run this pass after reRA pass otherwise CFG can become

0 commit comments

Comments
 (0)