search for: fixnoninductionphis

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

2020 May 17
2
Question about the order of predecessors in LoopVectorizer with VPlanNatviePath
...br i1 %10, label %for.cond.cleanup373, label %for.body10.preheader67 As you can see, %vec.phi has wrong incoming basic blocks. It could be as below. %vec.phi = phi <4 x i64> [ %8, %for.cond.cleanup972 ], [ zeroinitializer, %vector.body ] The problem comes from "InnerLoopVectorizer::fixNonInductionPHIs()". This function has assumption about the order of predecessors as below. // The predecessor order is preserved and we can rely on mapping between // scalar and vector block predecessors. for (unsigned i = 0; i < NumIncomingValues; ++i) { It seems it assumes loop latch as fir...