Changes in directory llvm/utils/TableGen:
AsmWriterEmitter.cpp updated: 1.38 -> 1.39 --- Log message: Fix case where identical cases were not detected across case #0, because instructions not handled would have a case value of #0, throwing things off. This marginally shrinks the X86 asmprinter, but shrinks the sparc asmwriter by 25 lines. --- Diffs of the changes: (+3 -2) AsmWriterEmitter.cpp | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index: llvm/utils/TableGen/AsmWriterEmitter.cpp diff -u llvm/utils/TableGen/AsmWriterEmitter.cpp:1.38 llvm/utils/TableGen/AsmWriterEmitter.cpp:1.39 --- llvm/utils/TableGen/AsmWriterEmitter.cpp:1.38 Tue Jul 18 14:06:01 2006 +++ llvm/utils/TableGen/AsmWriterEmitter.cpp Tue Jul 18 14:27:30 2006 @@ -332,7 +332,7 @@ FindUniqueOperandCommands(std::vector<std::string> &UniqueOperandCommands, std::vector<unsigned> &InstIdxs, std::vector<unsigned> &InstOpsUsed) const { - InstIdxs.assign(NumberedInstructions.size(), 0); + InstIdxs.assign(NumberedInstructions.size(), ~0U); // This vector parallels UniqueOperandCommands, keeping track of which // instructions each case are used for. It is a comma separated string of @@ -551,7 +551,8 @@ // Otherwise, we can include this in the initial lookup table. Add it in. BitsLeft -= NumBits; for (unsigned i = 0, e = InstIdxs.size(); i != e; ++i) - OpcodeInfo[i] |= InstIdxs[i] << (BitsLeft+AsmStrBits); + if (InstIdxs[i] != ~0U) + OpcodeInfo[i] |= InstIdxs[i] << (BitsLeft+AsmStrBits); // Remove the info about this operand. for (unsigned i = 0, e = NumberedInstructions.size(); i != e; ++i) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits