[llvm-commits] [llvm] r71603 - /llvm/trunk/utils/TableGen/DAGISelEmitter.cpp
Dale Johannesen
dalej at apple.com
Tue May 12 15:32:30 PDT 2009
Author: johannes
Date: Tue May 12 17:32:29 2009
New Revision: 71603
URL: http://llvm.org/viewvc/llvm-project?rev=71603&view=rev
Log:
Slightly improve generated code in a degenerate case.
Should remove a warning from MSVC.
Modified:
llvm/trunk/utils/TableGen/DAGISelEmitter.cpp
Modified: llvm/trunk/utils/TableGen/DAGISelEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/DAGISelEmitter.cpp?rev=71603&r1=71602&r2=71603&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/DAGISelEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/DAGISelEmitter.cpp Tue May 12 17:32:29 2009
@@ -2025,6 +2025,14 @@
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;
More information about the llvm-commits
mailing list