[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp
Jeff Cohen
jeffc at jolt-lang.org
Tue Jan 3 19:15:31 PST 2006
Changes in directory llvm/utils/TableGen:
DAGISelEmitter.cpp updated: 1.122 -> 1.123
---
Log message:
Tblgen was generating syntactically illegal C++ code like:
SDOperand Tmp0,Tmp1,Tmp2,Tmp3,;
GCC has a bug (24907) in which is fails to catch this, but VC++ correctly
notes its illegality, so tblgen must be taught to only generate legal C++.
---
Diffs of the changes: (+4 -3)
DAGISelEmitter.cpp | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.122 llvm/utils/TableGen/DAGISelEmitter.cpp:1.123
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.122 Tue Jan 3 18:32:01 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp Tue Jan 3 21:15:19 2006
@@ -2030,12 +2030,13 @@
std::string Fn = CP->getSelectFunc();
NumRes = CP->getNumOperands();
OS << " SDOperand ";
- for (unsigned i = 0; i != NumRes; ++i)
+ unsigned i;
+ for (i = 0; i < NumRes - 1; ++i)
OS << "Tmp" << (i+ResNo) << ",";
- OS << ";\n";
+ OS << "Tmp" << (i+ResNo) << ";\n";
OS << " if (!" << Fn << "(" << Val;
- for (unsigned i = 0; i < NumRes; i++)
+ for (i = 0; i < NumRes; i++)
OS << ", Tmp" << i + ResNo;
OS << ")) goto P" << PatternNo << "Fail;\n";
TmpNo = ResNo + NumRes;
More information about the llvm-commits
mailing list