diff options
author | Quentin Colombet <qcolombet@apple.com> | 2017-02-02 20:44:36 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2017-02-02 20:44:36 +0000 |
commit | 5725f56bb0ec5e6b54edd59ab5bafa0e17702071 (patch) | |
tree | 7a0b8348c6381e3e6f2fc7282a3ec82004d179c6 /lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp | |
parent | d0d42f0ec8544dadee4f6ee301852ba05de863d9 (diff) | |
download | bcm5719-llvm-5725f56bb0ec5e6b54edd59ab5bafa0e17702071.tar.gz bcm5719-llvm-5725f56bb0ec5e6b54edd59ab5bafa0e17702071.zip |
[LiveRangeEdit] Don't mess up with LiveInterval when a new vreg is created.
In r283838, we added the capability of splitting unspillable register.
When doing so we had to make sure the split live-ranges were also
unspillable and we did that by marking the related live-ranges in the
delegate method that is called when a new vreg is created.
However, by accessing the live-range there, we also triggered their lazy
computation (LiveIntervalAnalysis::getInterval) which is not what we
want in general. Indeed, later code in LiveRangeEdit is going to build
the live-ranges this lazy computation may mess up that computation
resulting in assertion failures. Namely, the createEmptyIntervalFrom
method expect that the live-range is going to be empty, not computed.
Thanks to Mikael Holmén <mikael.holmen@ericsson.com> for noticing and
reporting the problem.
llvm-svn: 293934
Diffstat (limited to 'lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp')
0 files changed, 0 insertions, 0 deletions