Don't sort the names before outputing the intrinsic name table. It causes a
authorEvan Cheng <evan.cheng@apple.com>
Tue, 28 Mar 2006 22:25:56 +0000 (22:25 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 28 Mar 2006 22:25:56 +0000 (22:25 +0000)
mismatch against the enum table.
This is a part of Sabre's master plan to drive me nuts with subtle bugs that
happens to only affect x86 be. :-)

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

utils/TableGen/IntrinsicEmitter.cpp

index 29e6e45a0787da2e355474c6825776f7607f74b2..3aa887693a2aceac38104b7a9a6490db0476c291 100644 (file)
@@ -100,16 +100,11 @@ EmitFnNameRecognizer(const std::vector<CodeGenIntrinsic> &Ints,
 void IntrinsicEmitter::
 EmitIntrinsicToNameTable(const std::vector<CodeGenIntrinsic> &Ints, 
                          std::ostream &OS) {
-  std::vector<std::string> Names;
-  for (unsigned i = 0, e = Ints.size(); i != e; ++i)
-    Names.push_back(Ints[i].Name);
-  std::sort(Names.begin(), Names.end());
-  
   OS << "// Intrinsic ID to name table\n";
   OS << "#ifdef GET_INTRINSIC_NAME_TABLE\n";
   OS << "  // Note that entry #0 is the invalid intrinsic!\n";
-  for (unsigned i = 0, e = Names.size(); i != e; ++i)
-    OS << "  \"" << Names[i] << "\",\n";
+  for (unsigned i = 0, e = Ints.size(); i != e; ++i)
+    OS << "  \"" << Ints[i].Name << "\",\n";
   OS << "#endif\n\n";
 }