mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-14 09:38:40 +00:00
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
This commit is contained in:
parent
e8f279cbd4
commit
46ffb231c6
@ -108,7 +108,11 @@ const SCEV *llvm::TransformForPostIncUse(TransformKind Kind,
|
|||||||
Result = SE.getMinusSCEV(Result, TransformedStep);
|
Result = SE.getMinusSCEV(Result, TransformedStep);
|
||||||
Loops.insert(L);
|
Loops.insert(L);
|
||||||
}
|
}
|
||||||
#ifdef XDEBUG
|
#if 0
|
||||||
|
// This assert is conceptually correct, but ScalarEvolution currently
|
||||||
|
// sometimes fails to canonicalize two equal SCEVs to exactly the same
|
||||||
|
// form. It's possibly a pessimization when this happens, but it isn't a
|
||||||
|
// correctness problem, so disable this assert for now.
|
||||||
assert(S == TransformForPostIncUse(Denormalize, Result,
|
assert(S == TransformForPostIncUse(Denormalize, Result,
|
||||||
User, OperandValToReplace,
|
User, OperandValToReplace,
|
||||||
Loops, SE, DT) &&
|
Loops, SE, DT) &&
|
||||||
@ -122,7 +126,8 @@ const SCEV *llvm::TransformForPostIncUse(TransformKind Kind,
|
|||||||
User, OperandValToReplace, Loops, SE, DT);
|
User, OperandValToReplace, Loops, SE, DT);
|
||||||
Result = SE.getMinusSCEV(Result, TransformedStep);
|
Result = SE.getMinusSCEV(Result, TransformedStep);
|
||||||
}
|
}
|
||||||
#ifdef XDEBUG
|
#if 0
|
||||||
|
// See the comment on the assert above.
|
||||||
assert(S == TransformForPostIncUse(Denormalize, Result,
|
assert(S == TransformForPostIncUse(Denormalize, Result,
|
||||||
User, OperandValToReplace,
|
User, OperandValToReplace,
|
||||||
Loops, SE, DT) &&
|
Loops, SE, DT) &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user