diff options
author | Lang Hames <lhames@gmail.com> | 2012-02-21 22:29:38 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2012-02-21 22:29:38 +0000 |
commit | 4586d257abf13b57d115d6bac9fb38ddc811acaf (patch) | |
tree | bc85b2c5b9b45356a42c068abd4640dd4d2ca6ee /include/llvm/CodeGen/LiveIntervalAnalysis.h | |
parent | ce7090360bf5b6d3f11c5c245cf5d4647f8c8a3b (diff) | |
download | llvm-4586d257abf13b57d115d6bac9fb38ddc811acaf.tar.gz llvm-4586d257abf13b57d115d6bac9fb38ddc811acaf.tar.bz2 llvm-4586d257abf13b57d115d6bac9fb38ddc811acaf.tar.xz |
Add API "handleMoveIntoBundl" for updating liveness when moving instructions into
bundles. This method takes a bundle start and an MI being bundled, and makes
the intervals for the MI's operands appear to start/end on the bundle start.
Also fixes some minor cosmetic issues (whitespace, naming convention) in the
HMEditor code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151099 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/LiveIntervalAnalysis.h')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index ada12a8856..76201c96f9 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -284,7 +284,15 @@ namespace llvm { /// instruction 'mi' has been moved within a basic block. This will update /// the live intervals for all operands of mi. Moves between basic blocks /// are not supported. - void handleMove(MachineInstr* mi); + void handleMove(MachineInstr* MI); + + /// moveIntoBundle - Update intervals for operands of MI so that they + /// begin/end on the SlotIndex for BundleStart. + /// + /// Requires MI and BundleStart to have SlotIndexes, and assumes + /// existing liveness is accurate. BundleStart should be the first + /// instruction in the Bundle. + void handleMoveIntoBundle(MachineInstr* MI, MachineInstr* BundleStart); // Register mask functions. // |