From 5d7a5a4f53304869ae5b76771ab67213447b65a5 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Sun, 10 Apr 2011 23:18:04 +0000 Subject: [PATCH] Revert r129235 pending a vetting of the EH rewrite. --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129259 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/BasicBlock.h | 6 ------ include/llvm/Bitcode/LLVMBitCodes.h | 5 ++--- lib/AsmParser/LLLexer.cpp | 2 -- lib/AsmParser/LLParser.cpp | 5 ----- lib/AsmParser/LLToken.h | 3 --- lib/Bitcode/Reader/BitcodeReader.cpp | 9 ++------ lib/Bitcode/Writer/BitcodeWriter.cpp | 32 +++++++--------------------- lib/VMCore/AsmWriter.cpp | 7 +----- lib/VMCore/BasicBlock.cpp | 5 +++-- test/Feature/bb_attrs.ll | 29 ------------------------- 10 files changed, 16 insertions(+), 87 deletions(-) delete mode 100644 test/Feature/bb_attrs.ll diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index 3336b3610d3..7e7c9e76943 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -74,7 +74,6 @@ public: private: InstListType InstList; Function *Parent; - bool IsLandingPad; void setParent(Function *parent); friend class SymbolTableListTraits; @@ -139,11 +138,6 @@ public: return const_cast(this)->getFirstNonPHIOrDbg(); } - /// isLandingPad - True if this basic block is a landing pad for exception - /// handling. - bool isLandingPad() const { return IsLandingPad; } - void setIsLandingPad(bool Val = true) { IsLandingPad = Val; } - /// removeFromParent - This method unlinks 'this' from the containing /// function, but does not delete it. /// diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/LLVMBitCodes.h index dcfbe5a6b4c..7692bd28720 100644 --- a/include/llvm/Bitcode/LLVMBitCodes.h +++ b/include/llvm/Bitcode/LLVMBitCodes.h @@ -106,9 +106,8 @@ namespace bitc { // The value symbol table only has one code (VST_ENTRY_CODE). enum ValueSymtabCodes { - VST_CODE_ENTRY = 1, // VST_ENTRY: [valid, namechar x N] - VST_CODE_BBENTRY = 2, // VST_BBENTRY: [bbid, namechar x N] - VST_CODE_LPADENTRY = 3 // VST_LPADENTRY: [lpadid, namechar x N] + VST_CODE_ENTRY = 1, // VST_ENTRY: [valid, namechar x N] + VST_CODE_BBENTRY = 2 // VST_BBENTRY: [bbid, namechar x N] }; enum MetadataCodes { diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index da26cb82106..857fa1ef626 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -587,8 +587,6 @@ lltok::Kind LLLexer::LexIdentifier() { KEYWORD(x); KEYWORD(blockaddress); - - KEYWORD(landingpad); #undef KEYWORD // Keywords for types. diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index afd10a0826f..0c3237a6799 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -2918,11 +2918,6 @@ bool LLParser::ParseBasicBlock(PerFunctionState &PFS) { BasicBlock *BB = PFS.DefineBB(Name, NameLoc); if (BB == 0) return true; - if (Lex.getKind() == lltok::kw_landingpad) { - BB->setIsLandingPad(); - Lex.Lex(); - } - std::string NameStr; // Parse the instructions in this block until we get a terminator. diff --git a/lib/AsmParser/LLToken.h b/lib/AsmParser/LLToken.h index 53cf8d87f35..576da191aec 100644 --- a/lib/AsmParser/LLToken.h +++ b/lib/AsmParser/LLToken.h @@ -125,9 +125,6 @@ namespace lltok { kw_extractelement, kw_insertelement, kw_shufflevector, kw_getresult, kw_extractvalue, kw_insertvalue, kw_blockaddress, - // Basic block attribute. - kw_landingpad, - // Unsigned Valued tokens (UIntVal). GlobalID, // @42 LocalVarID, // %42 diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 235519850f0..8223f76bbbc 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -714,8 +714,7 @@ bool BitcodeReader::ParseValueSymbolTable() { // Read a record. Record.clear(); - unsigned VSTCode = Stream.ReadRecord(Code, Record); - switch (VSTCode) { + switch (Stream.ReadRecord(Code, Record)) { default: // Default behavior: unknown type. break; case bitc::VST_CODE_ENTRY: { // VST_ENTRY: [valueid, namechar x N] @@ -730,17 +729,13 @@ bool BitcodeReader::ParseValueSymbolTable() { ValueName.clear(); break; } - case bitc::VST_CODE_BBENTRY: - case bitc::VST_CODE_LPADENTRY: { + case bitc::VST_CODE_BBENTRY: { if (ConvertToString(Record, 1, ValueName)) return Error("Invalid VST_BBENTRY record"); BasicBlock *BB = getBasicBlock(Record[0]); if (BB == 0) return Error("Invalid BB ID in VST_BBENTRY record"); - if (VSTCode == bitc::VST_CODE_LPADENTRY) - BB->setIsLandingPad(true); - BB->setName(StringRef(ValueName.data(), ValueName.size())); ValueName.clear(); break; diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp index 51c13bd5016..e34137f6155 100644 --- a/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -40,7 +40,6 @@ enum { VST_ENTRY_7_ABBREV, VST_ENTRY_6_ABBREV, VST_BBENTRY_6_ABBREV, - VST_LPADENTRY_6_ABBREV, // CONSTANTS_BLOCK abbrev id's. CONSTANTS_SETTYPE_ABBREV = bitc::FIRST_APPLICATION_ABBREV, @@ -1180,20 +1179,13 @@ static void WriteValueSymbolTable(const ValueSymbolTable &VST, unsigned AbbrevToUse = VST_ENTRY_8_ABBREV; - // VST_ENTRY: [valueid, namechar x N] - // VST_BBENTRY: [bbid, namechar x N] - // VST_LPADENTRY: [lpadid, namechar x N] + // VST_ENTRY: [valueid, namechar x N] + // VST_BBENTRY: [bbid, namechar x N] unsigned Code; - if (const BasicBlock *BB = dyn_cast(SI->getValue())) { - if (BB->isLandingPad()) { - Code = bitc::VST_CODE_LPADENTRY; - if (isChar6) - AbbrevToUse = VST_LPADENTRY_6_ABBREV; - } else { - Code = bitc::VST_CODE_BBENTRY; - if (isChar6) - AbbrevToUse = VST_BBENTRY_6_ABBREV; - } + if (isa(SI->getValue())) { + Code = bitc::VST_CODE_BBENTRY; + if (isChar6) + AbbrevToUse = VST_BBENTRY_6_ABBREV; } else { Code = bitc::VST_CODE_ENTRY; if (isChar6) @@ -1374,16 +1366,8 @@ static void WriteBlockInfo(const ValueEnumerator &VE, BitstreamWriter &Stream) { Abbv) != VST_BBENTRY_6_ABBREV) llvm_unreachable("Unexpected abbrev ordering!"); } - { // 6-bit char6 VST_LPADENTRY strings. - BitCodeAbbrev *Abbv = new BitCodeAbbrev(); - Abbv->Add(BitCodeAbbrevOp(bitc::VST_CODE_LPADENTRY)); - Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); - Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Array)); - Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Char6)); - if (Stream.EmitBlockInfoAbbrev(bitc::VALUE_SYMTAB_BLOCK_ID, - Abbv) != VST_LPADENTRY_6_ABBREV) - llvm_unreachable("Unexpected abbrev ordering!"); - } + + { // SETTYPE abbrev for CONSTANTS_BLOCK. BitCodeAbbrev *Abbv = new BitCodeAbbrev(); diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index a92c9bc668d..ffd367a7ada 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -1687,13 +1687,8 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) { Out << "\n"; PrintLLVMName(Out, BB->getName(), LabelPrefix); Out << ':'; - if (BB->isLandingPad()) - Out << " landingpad"; } else if (!BB->use_empty()) { // Don't print block # of no uses... - Out << '\n'; - if (BB->isLandingPad()) - Out << "landingpad "; - Out << ";