aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-10-25 21:31:46 +0000
committerDevang Patel <dpatel@apple.com>2010-10-25 21:31:46 +0000
commitdf8370bd70c228036f887a3f500ad3e79bc657b9 (patch)
tree74738f2552ce336d5abcfa1672b35d7ee8636f07 /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
parent5258b619667c54d3f07c12031fa0d75595a25527 (diff)
downloadexternal_llvm-df8370bd70c228036f887a3f500ad3e79bc657b9.zip
external_llvm-df8370bd70c228036f887a3f500ad3e79bc657b9.tar.gz
external_llvm-df8370bd70c228036f887a3f500ad3e79bc657b9.tar.bz2
Simplify.
Do not count use of sdisel for single call instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index a47f645..7b7ea2b 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -376,7 +376,7 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
return true;
}
-bool
+void
SelectionDAGISel::SelectBasicBlock(BasicBlock::const_iterator Begin,
BasicBlock::const_iterator End,
bool &HadTailCall) {
@@ -393,7 +393,7 @@ SelectionDAGISel::SelectBasicBlock(BasicBlock::const_iterator Begin,
// Final step, emit the lowered DAG as machine code.
CodeGenAndEmitDAG();
- return Begin != End;
+ return;
}
void SelectionDAGISel::ComputeLiveOutVRegInfo() {
@@ -783,7 +783,6 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
// Iterate over all basic blocks in the function.
for (Function::const_iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {
- bool BBSelectedUsingDAG = false;
const BasicBlock *LLVMBB = &*I;
#ifndef NDEBUG
CheckLineNumbers(LLVMBB);
@@ -872,7 +871,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
}
bool HadTailCall = false;
- BBSelectedUsingDAG |= SelectBasicBlock(Inst, BI, HadTailCall);
+ SelectBasicBlock(Inst, BI, HadTailCall);
// If the call was emitted as a tail call, we're done with the block.
if (HadTailCall) {
@@ -902,18 +901,19 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
FastIS->recomputeInsertPt();
}
+ if (Begin != BI)
+ ++NumDAGBlocks;
+ else
+ ++NumFastIselBlocks;
+
// Run SelectionDAG instruction selection on the remainder of the block
// not handled by FastISel. If FastISel is not run, this is the entire
// block.
bool HadTailCall;
- BBSelectedUsingDAG |= SelectBasicBlock(Begin, BI, HadTailCall);
+ SelectBasicBlock(Begin, BI, HadTailCall);
FinishBasicBlock();
FuncInfo->PHINodesToUpdate.clear();
- if (BBSelectedUsingDAG)
- ++NumDAGBlocks;
- else
- ++NumFastIselBlocks;
}
delete FastIS;