Displaying 1 result from an estimated 1 matches for "getwiderecurr".
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 + (s...