summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
diff options
context:
space:
mode:
authorIgor Laevsky <igmyrj@gmail.com>2015-02-20 15:28:35 +0000
committerIgor Laevsky <igmyrj@gmail.com>2015-02-20 15:28:35 +0000
commit7fc58a4ad8b36a0ffb9ed4a1e7bf7efd6383d478 (patch)
tree0f50c0bb1c20ac5f043c5cf1936375443a1be8ea /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
parent7af984b710721bbcb4a44b8568b1b1d02d1c1f63 (diff)
downloadbcm5719-llvm-7fc58a4ad8b36a0ffb9ed4a1e7bf7efd6383d478.tar.gz
bcm5719-llvm-7fc58a4ad8b36a0ffb9ed4a1e7bf7efd6383d478.zip
Generalize statepoint lowering to use ImmutableStatepoint. Move statepoint lowering into a separate function 'LowerStatepoint' which uses ImmutableStatepoint instead of a CallInst. Also related utility functions are changed to receive ImmutableCallSite.
Differential Revision: http://reviews.llvm.org/D7756 llvm-svn: 230017
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
index 30cc125b38f..ad7411f7775 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
@@ -20,6 +20,7 @@
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/IR/CallSite.h"
+#include "llvm/IR/Statepoint.h"
#include "llvm/IR/Constants.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Target/TargetLowering.h"
@@ -660,6 +661,8 @@ public:
/// references that need to refer to the last resulting block.
void UpdateSplitBlock(MachineBasicBlock *First, MachineBasicBlock *Last);
+ // This function is responsible for the whole statepoint lowering process.
+ void LowerStatepoint(ImmutableStatepoint Statepoint);
private:
std::pair<SDValue, SDValue> lowerInvokable(
TargetLowering::CallLoweringInfo &CLI,
OpenPOWER on IntegriCloud