diff options
author | Matthias Braun <matze@braunis.de> | 2016-05-10 04:51:14 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-05-10 04:51:14 +0000 |
commit | 8d6e57b2166f93d10d11dcae10e8a8c349a998d5 (patch) | |
tree | 72137b69c8cb5f5f9ae78952c953328c9b8a7226 /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | 9c7e4dea1fb3235e83d3f411c2f2d99d50122cd0 (diff) | |
download | llvm-8d6e57b2166f93d10d11dcae10e8a8c349a998d5.zip llvm-8d6e57b2166f93d10d11dcae10e8a8c349a998d5.tar.gz llvm-8d6e57b2166f93d10d11dcae10e8a8c349a998d5.tar.bz2 |
LiveIntervalAnalysis: Rework constructMainRangeFromSubranges()
We now use LiveRangeCalc::extendToUses() instead of a specially designed
algorithm in constructMainRangeFromSubranges():
- The original motivation for constructMainRangeFromSubranges() were
differences between the main liverange and subranges because of hidden
dead definitions. This case however cannot happen anymore with the
DetectDeadLaneMasks pass in place.
- It simplifies the code.
- This fixes a longstanding bug where we did not properly create new SSA
values on merging control flow (the MachineVerifier missed most of
these cases).
- Move constructMainRangeFromSubranges() to LiveIntervalAnalysis and
LiveRangeCalc to better match the implementation/available helper
functions.
llvm-svn: 269016
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions