summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-17 20:37:07 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-17 20:37:07 +0000
commit8630840c30a99e54414c0ee9b39928813301dcfc (patch)
tree72387a2f78bd3a5a2c92d3ba40eca404749dd3d5 /llvm/include
parent35944dda103ed588b68970c24bcd79b26d1b2dfd (diff)
downloadbcm5719-llvm-8630840c30a99e54414c0ee9b39928813301dcfc.tar.gz
bcm5719-llvm-8630840c30a99e54414c0ee9b39928813301dcfc.zip
Dead code elimination may separate the live interval into multiple connected components.
I have convinced myself that it can only happen when a phi value dies. When it happens, allocate new virtual registers for the components. llvm-svn: 127827
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h b/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
index b541a3a649f..8ca58b82c8b 100644
--- a/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
+++ b/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
@@ -160,7 +160,9 @@ namespace llvm {
/// defs for new uses, and it doesn't remove dead defs.
/// Dead PHIDef values are marked as unused.
/// New dead machine instructions are added to the dead vector.
- void shrinkToUses(LiveInterval *li,
+ /// Return true if the interval may have been separated into multiple
+ /// connected components.
+ bool shrinkToUses(LiveInterval *li,
SmallVectorImpl<MachineInstr*> *dead = 0);
// Interval removal
OpenPOWER on IntegriCloud