summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGISel.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-04-20 00:29:35 +0000
committerDan Gohman <gohman@apple.com>2010-04-20 00:29:35 +0000
commita9a3321938aac13477bdc53af0018bce88b45d78 (patch)
treefb371d6007b61847415fccd136716c58551c56ba /include/llvm/CodeGen/SelectionDAGISel.h
parent02170c00341a345cbc4bc6697e2b8d849b25724b (diff)
downloadllvm-a9a3321938aac13477bdc53af0018bce88b45d78.tar.gz
llvm-a9a3321938aac13477bdc53af0018bce88b45d78.tar.bz2
llvm-a9a3321938aac13477bdc53af0018bce88b45d78.tar.xz
Reapply the removal of SelectionDAGISel's BB, with a fix for the case
where multiple blocks are emitted; functions which do this need to return the new BB so that their callers can stay current. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101843 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGISel.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGISel.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h
index 03d9bf5a9a..a6d383c3ab 100644
--- a/include/llvm/CodeGen/SelectionDAGISel.h
+++ b/include/llvm/CodeGen/SelectionDAGISel.h
@@ -46,7 +46,6 @@ public:
MachineRegisterInfo *RegInfo;
SelectionDAG *CurDAG;
SelectionDAGBuilder *SDB;
- MachineBasicBlock *BB;
AliasAnalysis *AA;
GCFunctionInfo *GFI;
CodeGenOpt::Level OptLevel;
@@ -283,13 +282,14 @@ private:
void PrepareEHLandingPad(MachineBasicBlock *BB);
void SelectAllBasicBlocks(const Function &Fn);
- void FinishBasicBlock();
+ void FinishBasicBlock(MachineBasicBlock *BB);
- void SelectBasicBlock(const BasicBlock *LLVMBB,
- BasicBlock::const_iterator Begin,
- BasicBlock::const_iterator End,
- bool &HadTailCall);
- void CodeGenAndEmitDAG();
+ MachineBasicBlock *SelectBasicBlock(MachineBasicBlock *BB,
+ const BasicBlock *LLVMBB,
+ BasicBlock::const_iterator Begin,
+ BasicBlock::const_iterator End,
+ bool &HadTailCall);
+ MachineBasicBlock *CodeGenAndEmitDAG(MachineBasicBlock *BB);
void LowerArguments(const BasicBlock *BB);
void ShrinkDemandedOps();