================
@@ -3252,6 +3267,17 @@ GCNPostScheduleDAGMILive::GCNPostScheduleDAGMILive(
void GCNPostScheduleDAGMILive::schedule() {
HasIGLPInstrs = hasIGLPInstrs(this);
if (HasIGLPInstrs) {
+ // MFMAValuSpacingOpt is a pre-RA strategy whose interleaving is correct
+ // after the initial machine scheduler. The post-RA scheduler would undo
+ // the reordering, so preserve the pre-RA schedule by skipping here.
+ // When SCHED_[GROUP_]BARRIER coexists with IGLP_OPT, IGroupLP ignores the
+ // IGLP_OPT (they are mutually exclusive), so let post-RA scheduling
proceed
+ // normally.
+ // Immediate 4 == MFMAValuSpacingOpt in AMDGPUIGroupLP.cpp
(IGLPStrategyID).
+ if (hasIGLPOpt(this, 4) && !hasSchedBarrier(this)) {
----------------
hidekisaito wrote:
@kerbowa says bailing out is okay.
https://github.com/llvm/llvm-project/pull/190916
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits