mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 05:31:51 +00:00
LiveIntervalUpdate validators weren't recorded after the calls to std::for_each. Turns out std::for_each doesn't update the variable passed in for the functor but instead copy constructs a new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155041 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
838b7a33f4
commit
722b6f1853
@ -1068,9 +1068,9 @@ public:
|
|||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
LIValidator validator;
|
LIValidator validator;
|
||||||
std::for_each(Entering.begin(), Entering.end(), validator);
|
validator = std::for_each(Entering.begin(), Entering.end(), validator);
|
||||||
std::for_each(Internal.begin(), Internal.end(), validator);
|
validator = std::for_each(Internal.begin(), Internal.end(), validator);
|
||||||
std::for_each(Exiting.begin(), Exiting.end(), validator);
|
validator = std::for_each(Exiting.begin(), Exiting.end(), validator);
|
||||||
assert(validator.rangesOk() && "moveAllOperandsFrom broke liveness.");
|
assert(validator.rangesOk() && "moveAllOperandsFrom broke liveness.");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1115,9 +1115,9 @@ public:
|
|||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
LIValidator validator;
|
LIValidator validator;
|
||||||
std::for_each(Entering.begin(), Entering.end(), validator);
|
validator = std::for_each(Entering.begin(), Entering.end(), validator);
|
||||||
std::for_each(Internal.begin(), Internal.end(), validator);
|
validator = std::for_each(Internal.begin(), Internal.end(), validator);
|
||||||
std::for_each(Exiting.begin(), Exiting.end(), validator);
|
validator = std::for_each(Exiting.begin(), Exiting.end(), validator);
|
||||||
assert(validator.rangesOk() && "moveAllOperandsInto broke liveness.");
|
assert(validator.rangesOk() && "moveAllOperandsInto broke liveness.");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user