mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01: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. llvm-svn: 113021
This commit is contained in:
parent
01dc6f1195
commit
96e1af24f6
@ -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