mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Transforms: Use getFirstNonPHI to set the insertion point for PHIs
We were previously using getFirstInsertionPt to insert PHI instructions when vectorizing, but getFirstInsertionPt also skips past landingpads, causing this to generate invalid IR. We can avoid this issue by using getFirstNonPHI instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191526 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1201,7 +1201,7 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {
|
||||
switch (Opcode) {
|
||||
case Instruction::PHI: {
|
||||
PHINode *PH = dyn_cast<PHINode>(VL0);
|
||||
Builder.SetInsertPoint(PH->getParent()->getFirstInsertionPt());
|
||||
Builder.SetInsertPoint(PH->getParent()->getFirstNonPHI());
|
||||
Builder.SetCurrentDebugLocation(PH->getDebugLoc());
|
||||
PHINode *NewPhi = Builder.CreatePHI(VecTy, PH->getNumIncomingValues());
|
||||
E->VectorizedValue = NewPhi;
|
||||
|
Reference in New Issue
Block a user