Displaying 3 results from an estimated 3 matches for "wideniv".
Did you mean:
wideiv
2016 Apr 20
2
[IndVarSimplify] Narrow IV's are not eliminated resulting in inefficient code
...IR is shown in
the attached file 'bad.ir'.
This happens because IndVarSimplify fails to eliminate '%idxprom7' and
'%idxprom10'.
The clang command line we use:
clang++ -mllvm -debug -S -emit-llvm -O3 --target=aarch64-linux-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' re...
2018 Feb 07
0
retpoline mitigation and 6.0
...st*) /home/dwmw2/git/llvm/lib/Analysis/ScalarEvolution.cpp:9110:0
#10 0x0000000002f5f6d1 llvm::ScalarEvolution::isKnownPredicate(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*) /home/dwmw2/git/llvm/lib/Analysis/ScalarEvolution.cpp:8672:0
#11 0x0000000003a40edf (anonymous namespace)::WidenIV::pushNarrowIVUsers(llvm::Instruction*, llvm::Instruction*) /home/dwmw2/git/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1510:0
#12 0x0000000003a415f4 (anonymous namespace)::WidenIV::createWideIV(llvm::SCEVExpander&) /home/dwmw2/git/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1621:0
#13 0x000...
2018 Feb 07
6
retpoline mitigation and 6.0
I've landed the patch in r324449.
Before we merge this into two different Clang release branches and almost
immediately release one of them, I would really like someone to confirm
that this patch works well with the Linux kernel. David, if you're up for
that, it would be great. Alternatively, Guenter or someone else here can
help.
On Tue, Feb 6, 2018 at 5:59 PM Chandler Carruth