[PATCH] D64035: [MachinePipeliner] Fix Phi refers to Phi in same stage in 1st epilogue

Jinsong Ji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 8 19:29:25 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL365428: [MachinePipeliner] Fix Phi refers to Phi in same stage in 1st epilogue (authored by jsji, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D64035?vs=207408&id=208575#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64035/new/

https://reviews.llvm.org/D64035

Files:
  llvm/trunk/lib/CodeGen/MachinePipeliner.cpp
  llvm/trunk/test/CodeGen/PowerPC/sms-phi.ll


Index: llvm/trunk/lib/CodeGen/MachinePipeliner.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/MachinePipeliner.cpp
+++ llvm/trunk/lib/CodeGen/MachinePipeliner.cpp
@@ -2430,7 +2430,7 @@
         // Use the value defined by the Phi, unless we're generating the first
         // epilog and the Phi refers to a Phi in a different stage.
         else if (VRMap[PrevStage - np].count(Def) &&
-                 (!LoopDefIsPhi || PrevStage != LastStageNum))
+                 (!LoopDefIsPhi || (PrevStage != LastStageNum) || (LoopValStage == StageScheduled)))
           PhiOp2 = VRMap[PrevStage - np][Def];
       }
 
Index: llvm/trunk/test/CodeGen/PowerPC/sms-phi.ll
===================================================================
--- llvm/trunk/test/CodeGen/PowerPC/sms-phi.ll
+++ llvm/trunk/test/CodeGen/PowerPC/sms-phi.ll
@@ -8,7 +8,7 @@
 ;CHECK: epilog:
 ;CHECK:        %23:g8rc_and_g8rc_nox0 = PHI %5:g8rc_and_g8rc_nox0, %bb.3, %18:g8rc_and_g8rc_nox0, %bb.4
 ;CHECK-NEXT:   %24:g8rc = PHI %6:g8rc, %bb.3, %16:g8rc, %bb.4
-;CHECK-NEXT:   %25:g8rc = PHI %6:g8rc, %bb.3, %16:g8rc, %bb.4
+;CHECK-NEXT:   %25:g8rc = PHI %6:g8rc, %bb.3, %19:g8rc, %bb.4
   br label %1
 
 1:                                                ; preds = %1, %0


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64035.208575.patch
Type: text/x-patch
Size: 1289 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190709/004a50e7/attachment-0001.bin>


More information about the llvm-commits mailing list