1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

Simplify.

Do not count use of sdisel for single call instruction.

llvm-svn: 117316
This commit is contained in:
Devang Patel 2010-10-25 21:31:46 +00:00
parent e5e0dcd665
commit fa145a94d1
2 changed files with 10 additions and 10 deletions

View File

@ -287,7 +287,7 @@ private:
bool TryToFoldFastISelLoad(const LoadInst *LI, FastISel *FastIS);
void FinishBasicBlock();
bool SelectBasicBlock(BasicBlock::const_iterator Begin,
void SelectBasicBlock(BasicBlock::const_iterator Begin,
BasicBlock::const_iterator End,
bool &HadTailCall);
void CodeGenAndEmitDAG();

View File

@ -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;