aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGISel.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-07-07 23:02:41 +0000
committerDan Gohman <gohman@apple.com>2008-07-07 23:02:41 +0000
commit0e5f1306b059b62d7725f324e087efbc8e7a782d (patch)
tree9c2fec0441e942eb2e458c3306fd72704404bfaf /include/llvm/CodeGen/SelectionDAGISel.h
parente14d81deeb6bb3404ffee5e59ecb88304f112f4a (diff)
Pool-allocation for SDNodes. The pool is allocated once for each function,
and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53211 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGISel.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGISel.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h
index c5aa77a9a5..ad573b4d17 100644
--- a/include/llvm/CodeGen/SelectionDAGISel.h
+++ b/include/llvm/CodeGen/SelectionDAGISel.h
@@ -178,8 +178,11 @@ protected:
int64_t DesiredMaskS) const;
private:
+ void SelectAllBasicBlocks(Function &Fn, MachineFunction &MF,
+ FunctionLoweringInfo &FuncInfo);
void SelectBasicBlock(BasicBlock *BB, MachineFunction &MF,
- FunctionLoweringInfo &FuncInfo);
+ FunctionLoweringInfo &FuncInfo,
+ alist<SDNode, LargestSDNode> &AllNodes);
void BuildSelectionDAG(SelectionDAG &DAG, BasicBlock *LLVMBB,
std::vector<std::pair<MachineInstr*, unsigned> > &PHINodesToUpdate,