llvm.org GIT mirror llvm / 46ffb23
Disable the asserts that check that normalization is perfectly invertible. ScalarEvolution's folding routines don't always succeed in canonicalizing equal expressions to a single canonical form, and this can cause these asserts to fail, even though there's no actual correctness problem. This fixes PR8066. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113021 91177308-0d34-0410-b5e6-96231b3b80d8 Dan Gohman 10 years ago
1 changed file(s) with 7 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
107107 Result = SE.getMinusSCEV(Result, TransformedStep);
108108 Loops.insert(L);
109109 }
110 #ifdef XDEBUG
110 #if 0
111 // This assert is conceptually correct, but ScalarEvolution currently
112 // sometimes fails to canonicalize two equal SCEVs to exactly the same
113 // form. It's possibly a pessimization when this happens, but it isn't a
114 // correctness problem, so disable this assert for now.
111115 assert(S == TransformForPostIncUse(Denormalize, Result,
112116 User, OperandValToReplace,
113117 Loops, SE, DT) &&
121125 User, OperandValToReplace, Loops, SE, DT);
122126 Result = SE.getMinusSCEV(Result, TransformedStep);
123127 }
124 #ifdef XDEBUG
128 #if 0
129 // See the comment on the assert above.
125130 assert(S == TransformForPostIncUse(Denormalize, Result,
126131 User, OperandValToReplace,
127132 Loops, SE, DT) &&