diff options
author | Andrew Trick <atrick@apple.com> | 2012-10-16 00:22:51 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-10-16 00:22:51 +0000 |
commit | 27c28cef11da5373d9a146060f9c10a3c6ab58e3 (patch) | |
tree | 161cadfaad5b7070fea7b421c0db22404a659ca0 /include | |
parent | feab72c20acc97f8942148189c06e443b29df841 (diff) | |
download | external_llvm-27c28cef11da5373d9a146060f9c10a3c6ab58e3.zip external_llvm-27c28cef11da5373d9a146060f9c10a3c6ab58e3.tar.gz external_llvm-27c28cef11da5373d9a146060f9c10a3c6ab58e3.tar.bz2 |
misched: Added handleMove support for updating all kill flags, not just for allocatable regs.
This is a medium term workaround until we have a more robust solution
in the form of a register liveness utility for postRA passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166001 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index a04c902..73def2c 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -260,15 +260,20 @@ 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); + /// + /// \param updateFlags Update live intervals for nonallocatable physregs. + void handleMove(MachineInstr* MI, bool UpdateFlags = false); /// moveIntoBundle - Update intervals for operands of MI so that they /// begin/end on the SlotIndex for BundleStart. /// + /// \param updateFlags Update live intervals for nonallocatable physregs. + /// /// 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); + void handleMoveIntoBundle(MachineInstr* MI, MachineInstr* BundleStart, + bool UpdateFlags = false); // Register mask functions. // |