diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-10-04 22:00:35 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-10-04 22:00:35 +0000 |
commit | a8512edb6d1c52209bad2d6b989599bc4872c913 (patch) | |
tree | 3759e5b30c7acd298f3264ffe32904612524a81c | |
parent | 7016cf66ee21ddf3f7823d4e332b2cb84953bebd (diff) |
Create a mapping between the landing pad basic block and the call site index for later use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141125 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index daefaf0fa0..6eb862a052 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -5250,6 +5250,8 @@ void SelectionDAGBuilder::LowerCallTo(ImmutableCallSite CS, SDValue Callee, unsigned CallSiteIndex = MMI.getCurrentCallSite(); if (CallSiteIndex) { MMI.setCallSiteBeginLabel(BeginLabel, CallSiteIndex); + LPadToCallSiteMap[LandingPad] = CallSiteIndex; + // Now that the call site is handled, stop tracking it. MMI.setCurrentCallSite(0); } diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index 9039f4defa..521e4d3938 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h @@ -320,6 +320,9 @@ public: /// GFI - Garbage collection metadata for the function. GCFunctionInfo *GFI; + /// LPadToBeginLabelMap - Map a landing pad to the begin label. + DenseMap<MachineBasicBlock*, unsigned> LPadToCallSiteMap; + /// HasTailCall - This is set to true if a call in the current /// block has been translated as a tail call. In this case, /// no subsequent DAG nodes should be created. |