llvm.org GIT mirror llvm / 37d38bf
SelectBasicBlock is rather slow even when it doesn't do anything; skip the unnecessary work where possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129763 91177308-0d34-0410-b5e6-96231b3b80d8 Eli Friedman 9 years ago
1 changed file(s) with 7 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
10161016 else
10171017 ++NumFastIselBlocks;
10181018
1019 // Run SelectionDAG instruction selection on the remainder of the block
1020 // not handled by FastISel. If FastISel is not run, this is the entire
1021 // block.
1022 bool HadTailCall;
1023 SelectBasicBlock(Begin, BI, HadTailCall);
1019 if (Begin != BI) {
1020 // Run SelectionDAG instruction selection on the remainder of the block
1021 // not handled by FastISel. If FastISel is not run, this is the entire
1022 // block.
1023 bool HadTailCall;
1024 SelectBasicBlock(Begin, BI, HadTailCall);
1025 }
10241026
10251027 FinishBasicBlock();
10261028 FuncInfo->PHINodesToUpdate.clear();