diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-10-05 16:51:21 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-10-05 16:51:21 +0000 |
commit | b0e1bc7b99809e2b45726affd73f72c60c506ea0 (patch) | |
tree | f567546c6cf2424c5e060eb79041847362df9e4b /lib/CodeGen/LiveIntervalAnalysis.cpp | |
parent | 62c607b74157eadd78679434bb92d82f347d0bc1 (diff) | |
download | llvm-b0e1bc7b99809e2b45726affd73f72c60c506ea0.tar.gz llvm-b0e1bc7b99809e2b45726affd73f72c60c506ea0.tar.bz2 llvm-b0e1bc7b99809e2b45726affd73f72c60c506ea0.tar.xz |
Add a FIXME.
TwoAddressInstructionPass should annotate instructions with <undef>
flags when it lower REG_SEQUENCE instructions. LiveIntervals should not
be in the business of modifying code (except for kill flags, perhaps).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141187 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r-- | lib/CodeGen/LiveIntervalAnalysis.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp index 3d95827226..b1e202a273 100644 --- a/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -304,6 +304,10 @@ void LiveIntervals::handleVirtualRegisterDef(MachineBasicBlock *mbb, // Make sure the first definition is not a partial redefinition. Add an // <imp-def> of the full register. + // FIXME: LiveIntervals shouldn't modify the code like this. Whoever + // created the machine instruction should annotate it with <undef> flags + // as needed. Then we can simply assert here. The REG_SEQUENCE lowering + // is the main suspect. if (MO.getSubReg()) { mi->addRegisterDefined(interval.reg); // Mark all defs of interval.reg on this instruction as reading <undef>. |