summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveRangeCalc.h
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-06-26 14:37:16 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-06-26 14:37:16 +0000
commit70f027022cd1f8de8df92d576ed330741a1ec698 (patch)
tree319e33af87dcbcf5e666d22e518baa31294bd78b /llvm/lib/CodeGen/LiveRangeCalc.h
parent96da1ca58493d730e6d48b37085b06ccdf1204fd (diff)
downloadbcm5719-llvm-70f027022cd1f8de8df92d576ed330741a1ec698.tar.gz
bcm5719-llvm-70f027022cd1f8de8df92d576ed330741a1ec698.zip
Account for undef values from predecessors in extendSegmentsToUses
It is legal for a PHI node not to have a live value in a predecessor as long as the end of the predecessor is jointly dominated by an undef value. llvm-svn: 335607
Diffstat (limited to 'llvm/lib/CodeGen/LiveRangeCalc.h')
-rw-r--r--llvm/lib/CodeGen/LiveRangeCalc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveRangeCalc.h b/llvm/lib/CodeGen/LiveRangeCalc.h
index c4914f23f56..b8502ac880e 100644
--- a/llvm/lib/CodeGen/LiveRangeCalc.h
+++ b/llvm/lib/CodeGen/LiveRangeCalc.h
@@ -282,6 +282,15 @@ public:
/// Every predecessor of a live-in block must have been given a value with
/// setLiveOutValue, the value may be null for live-trough blocks.
void calculateValues();
+
+ /// A diagnostic function to check if the end of the block @p MBB is
+ /// jointly dominated by the blocks corresponding to the slot indices
+ /// in @p Defs. This function is mainly for use in self-verification
+ /// checks.
+ LLVM_ATTRIBUTE_UNUSED
+ static bool isJointlyDominated(const MachineBasicBlock *MBB,
+ ArrayRef<SlotIndex> Defs,
+ const SlotIndexes &Indexes);
};
} // end namespace llvm
OpenPOWER on IntegriCloud