Displaying 3 results from an estimated 3 matches for "scmulexpr".
Did you mean:
scevmulexpr
2013 Jul 30
0
[LLVMdev] creating SCEV taking too long
...ange in compare() when the LHS and RHS's types are the same:
===================================================================
--- lib/Analysis/ScalarEvolution.cpp (revision 187379)
+++ lib/Analysis/ScalarEvolution.cpp (working copy)
@@ -585,6 +585,9 @@
case scAddExpr:
case scMulExpr:
case scSMaxExpr:
case scUMaxExpr: {
const SCEVNAryExpr *LC = cast<SCEVNAryExpr>(LHS);
const SCEVNAryExpr *RC = cast<SCEVNAryExpr>(RHS);
// Lexicographically compare n-ary expressions.
unsigned LNumOps = LC->getNumOperands(), RNumOps = R...
2019 Mar 25
2
[IndVars] Rewriting exit value of SCEV add expressions
...(%.lcssa) was not rewritten by indvars pass.
Simple fix would be just returning back original check for SCEVType in lib/Transforms/Scalar/IndVarSimplify.cpp:
- if (!isa<SCEVConstant>(ExitValue) && hasHardUserWithinLoop(L, Inst))
+ if ((ExitValue->getSCEVType() >= scMulExpr) && hasHardUserWithinLoop(L, Inst))
Note, there is another bug opened for the mentioned patch: https://bugs.llvm.org/show_bug.cgi?id=39673, but it only fixes the problem when the SCEV expression type is constant.
I'm not opening a new bug yet, but rather want to hear your comments.
B...
2013 Jul 30
4
[LLVMdev] creating SCEV taking too long
On Jul 29, 2013, at 4:08 PM, Guo, Xiaoyi <Xiaoyi.Guo at amd.com> wrote:
> Hi,
>
> We have a benchmark where there are 128 MAD computations in a loop. (See the attached IR.) Creating SCEVs for these expressions takes a long time, making the compile time too long. E.g., running opt with the “indvars” pass only takes 45 seconds.
>
> It seems that the majority of the time is