summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SplitKit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-02 23:05:19 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-02 23:05:19 +0000
commit503b143a621761dafe38070e6093757565f95928 (patch)
tree8d54bb5ec2fa57b5aebd2e90ccc42e0bca17e35d /llvm/lib/CodeGen/SplitKit.h
parent3648263a3e03be0f661ea0a360fa550ca36d0258 (diff)
downloadbcm5719-llvm-503b143a621761dafe38070e6093757565f95928.tar.gz
bcm5719-llvm-503b143a621761dafe38070e6093757565f95928.zip
Transfer simply defined values directly without recomputing liveness and SSA.
Values that map to a single new value in a new interval after splitting don't need new PHIDefs, and if the parent value was never rematerialized the live range will be the same. llvm-svn: 126894
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.h')
-rw-r--r--llvm/lib/CodeGen/SplitKit.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SplitKit.h b/llvm/lib/CodeGen/SplitKit.h
index 3a4d710de9d..05de1505236 100644
--- a/llvm/lib/CodeGen/SplitKit.h
+++ b/llvm/lib/CodeGen/SplitKit.h
@@ -246,12 +246,16 @@ class SplitEditor {
SlotIndex Idx,
const MachineBasicBlock *IdxMBB);
+ /// transferSimpleValues - Transfer simply defined values to the new ranges.
+ /// Return true if any complex ranges were skipped.
+ bool transferSimpleValues();
+
/// extendPHIKillRanges - Extend the ranges of all values killed by original
/// parent PHIDefs.
void extendPHIKillRanges();
/// rewriteAssigned - Rewrite all uses of Edit.getReg() to assigned registers.
- void rewriteAssigned();
+ void rewriteAssigned(bool ExtendRanges);
/// rewriteComponents - Rewrite all uses of Intv[0] according to the eq
/// classes in ConEQ.
OpenPOWER on IntegriCloud