Move the code that starts printing the Select_* functions
authorDan Gohman <gohman@apple.com>
Thu, 29 Jan 2009 01:37:18 +0000 (01:37 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 29 Jan 2009 01:37:18 +0000 (01:37 +0000)
after the code that sorts the patterns. This doesn't
affect the output, but it makes the code a little easier
to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63265 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/DAGISelEmitter.cpp

index 9f028ed4956c2c8a96b44fed8d7505c4727d35d0..d6bcce2703f87ef46128b6329ed1daa89218e423 100644 (file)
@@ -1825,9 +1825,6 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) {
       } else
         OpVTI->second.push_back(OpVTStr);
 
-      OS << "SDNode *Select_" << getLegalCName(OpName)
-         << OpVTStr << "(const SDValue &N) {\n";    
-
       // We want to emit all of the matching code now.  However, we want to emit
       // the matches in order of minimal cost.  Sort the patterns so the least
       // cost one is at the start.
@@ -1869,6 +1866,9 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) {
       // Next, reverse the list of patterns itself for the same reason.
       std::reverse(CodeForPatterns.begin(), CodeForPatterns.end());
     
+      OS << "SDNode *Select_" << getLegalCName(OpName)
+         << OpVTStr << "(const SDValue &N) {\n";    
+
       // Emit all of the patterns now, grouped together to share code.
       EmitPatterns(CodeForPatterns, 2, OS);