search for: isfirstorderrecurr

Displaying 1 result from an estimated 1 matches for "isfirstorderrecurr".

2020 May 05
2
Missing vectorization of loop due to load late in the loop
...%conv7 %j.1 = add nuw nsw i16 %j.03, 1 %h.1 = load i32, i32* %hp.1, align 1, !tbaa !4 %cmp3 = icmp ult i16 %j.03, 99 br i1 %cmp3, label %inner.body, label %inner.end, !llvm.loop !8 And the vectorizer bails out since the load is placed "late" in the loop, so RecurrenceDescriptor::isFirstOrderRecurrence returns false. If we just move the load before the definition of %0 in the vectorizer input, then we instead get LV: We can vectorize this loop! Originally the loop had two loads, and then one of them was actually placed early in the loop block. That was done by instcombine, by InstCombine...