search for: scmulexpr

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