[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