search for: getwiderecurrence

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

2016 Apr 20
2
[IndVarSimplify] Narrow IV's are not eliminated resulting in inefficient code
...ux-elf indvar_test.cpp -o bad.ir I found that 'WidenIV::widenIVUse' (IndVarSimplify.cpp) may fail to widen narrow IV uses. When the function gets a NarrowUse such as '{(-2 + %inc.lcssa),+,1}<nsw><%for.body3>', it first tries to get a wide recurrence for it via the 'getWideRecurrence' call. 'getWideRecurrence' returns recurrence like this: '{(sext i32 (-2 + %inc.lcssa) to i64),+,1}<nsw><%for.body3>', which is fine by itself. Then a wide use operation is generated by 'cloneIVUser'. The generated wide use is evaluated to '{(-2 + (sext...