Changes in directory llvm/lib/Bitcode/Reader:
BitcodeReader.cpp updated: 1.42 -> 1.43 --- Log message: add a denser encoding for null terminated strings, add a 6-bit abbrev as well. This shrinks kc++ from 2724088 to 2717360 bytes. --- Diffs of the changes: (+14 -0) BitcodeReader.cpp | 14 ++++++++++++++ 1 files changed, 14 insertions(+) Index: llvm/lib/Bitcode/Reader/BitcodeReader.cpp diff -u llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.42 llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.43 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.42 Sat May 5 19:35:24 2007 +++ llvm/lib/Bitcode/Reader/BitcodeReader.cpp Sat May 5 19:53:07 2007 @@ -651,9 +651,23 @@ unsigned Size = Record.size(); std::vector<Constant*> Elts; + for (unsigned i = 0; i != Size; ++i) + Elts.push_back(ConstantInt::get(EltTy, Record[i])); + V = ConstantArray::get(ATy, Elts); + break; + } + case bitc::CST_CODE_CSTRING: { // CSTRING: [values] + if (Record.empty()) + return Error("Invalid CST_AGGREGATE record"); + + const ArrayType *ATy = cast<ArrayType>(CurTy); + const Type *EltTy = ATy->getElementType(); + unsigned Size = Record.size(); + std::vector<Constant*> Elts; for (unsigned i = 0; i != Size; ++i) Elts.push_back(ConstantInt::get(EltTy, Record[i])); + Elts.push_back(Constant::getNullValue(EltTy)); V = ConstantArray::get(ATy, Elts); break; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits