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 | ccdfbfb5e5501b0564a309da007b6cdc5b7781ca (patch) | |
| tree | 88640919ae7d370c788de1683d2beb17b1b8dfc5 /llvm/lib/CodeGen | |
| parent | 6e8129e1279096fd30ae995aeeac4132a2f72e05 (diff) | |
| download | bcm5719-llvm-ccdfbfb5e5501b0564a309da007b6cdc5b7781ca.tar.gz bcm5719-llvm-ccdfbfb5e5501b0564a309da007b6cdc5b7781ca.zip | |
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).
llvm-svn: 141187
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index 3d95827226a..b1e202a273d 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/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>. |

