Slightly improve generated code in a degenerate case.

Should remove a warning from MSVC.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dale Johannesen 2009-05-12 22:32:29 +00:00
parent c93f961874
commit 3b895cfac9

View File

@ -2025,6 +2025,14 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) {
OpcodeVTMap.find(OpName);
std::vector<std::string> &OpVTs = OpVTI->second;
OS << " case " << OpName << ": {\n";
// If we have only one variant and it's the default, elide the
// switch. Marginally faster, and makes MSVC happier.
if (OpVTs.size()==1 && OpVTs[0].empty()) {
OS << " return Select_" << getLegalCName(OpName) << "(N);\n";
OS << " break;\n";
OS << " }\n";
continue;
}
// Keep track of whether we see a pattern that has an iPtr result.
bool HasPtrPattern = false;
bool HasDefaultPattern = false;