Skip to content

Commit db2fbc6

Browse files
committed
Add checks for loop invariance
1 parent 38860a8 commit db2fbc6

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,6 +1158,12 @@ bool LoopIdiomVectorize::recognizeFindFirstByte() {
11581158
m_BasicBlock(ExitFail), m_Specific(Header))))
11591159
return false;
11601160

1161+
if (!CurLoop->isLoopInvariant(SearchStart) ||
1162+
!CurLoop->isLoopInvariant(SearchEnd) ||
1163+
!CurLoop->isLoopInvariant(NeedleStart) ||
1164+
!CurLoop->isLoopInvariant(NeedleEnd))
1165+
return false;
1166+
11611167
LLVM_DEBUG(dbgs() << "Found idiom in loop: \n" << *CurLoop << "\n\n");
11621168

11631169
transformFindFirstByte(IndPhi, VF, CharTy, ExitSucc, ExitFail, SearchStart,

0 commit comments

Comments
 (0)