mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168103 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -607,7 +607,7 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
ResultTy = getTypeByID(Record[2]);
|
||||
if (ResultTy == 0 || ArgTys.size() < Record.size()-3)
|
||||
return Error("invalid type in function type");
|
||||
@ -626,7 +626,7 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
ResultTy = getTypeByID(Record[1]);
|
||||
if (ResultTy == 0 || ArgTys.size() < Record.size()-2)
|
||||
return Error("invalid type in function type");
|
||||
@ -657,10 +657,10 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
case bitc::TYPE_CODE_STRUCT_NAMED: { // STRUCT: [ispacked, eltty x N]
|
||||
if (Record.size() < 1)
|
||||
return Error("Invalid STRUCT type record");
|
||||
|
||||
|
||||
if (NumRecords >= TypeList.size())
|
||||
return Error("invalid TYPE table");
|
||||
|
||||
|
||||
// Check to see if this was forward referenced, if so fill in the temp.
|
||||
StructType *Res = cast_or_null<StructType>(TypeList[NumRecords]);
|
||||
if (Res) {
|
||||
@ -669,7 +669,7 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
} else // Otherwise, create a new struct.
|
||||
Res = StructType::create(Context, TypeName);
|
||||
TypeName.clear();
|
||||
|
||||
|
||||
SmallVector<Type*, 8> EltTys;
|
||||
for (unsigned i = 1, e = Record.size(); i != e; ++i) {
|
||||
if (Type *T = getTypeByID(Record[i]))
|
||||
@ -689,7 +689,7 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
|
||||
if (NumRecords >= TypeList.size())
|
||||
return Error("invalid TYPE table");
|
||||
|
||||
|
||||
// Check to see if this was forward referenced, if so fill in the temp.
|
||||
StructType *Res = cast_or_null<StructType>(TypeList[NumRecords]);
|
||||
if (Res) {
|
||||
@ -700,7 +700,7 @@ bool BitcodeReader::ParseTypeTableBody() {
|
||||
TypeName.clear();
|
||||
ResultTy = Res;
|
||||
break;
|
||||
}
|
||||
}
|
||||
case bitc::TYPE_CODE_ARRAY: // ARRAY: [numelts, eltty]
|
||||
if (Record.size() < 2)
|
||||
return Error("Invalid ARRAY type record");
|
||||
@ -1006,7 +1006,7 @@ bool BitcodeReader::ParseConstants() {
|
||||
APInt VInt = ReadWideAPInt(Record,
|
||||
cast<IntegerType>(CurTy)->getBitWidth());
|
||||
V = ConstantInt::get(Context, VInt);
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
case bitc::CST_CODE_FLOAT: { // FLOAT: [fpval]
|
||||
@ -1073,10 +1073,10 @@ bool BitcodeReader::ParseConstants() {
|
||||
case bitc::CST_CODE_DATA: {// DATA: [n x value]
|
||||
if (Record.empty())
|
||||
return Error("Invalid CST_DATA record");
|
||||
|
||||
|
||||
Type *EltTy = cast<SequentialType>(CurTy)->getElementType();
|
||||
unsigned Size = Record.size();
|
||||
|
||||
|
||||
if (EltTy->isIntegerTy(8)) {
|
||||
SmallVector<uint8_t, 16> Elts(Record.begin(), Record.end());
|
||||
if (isa<VectorType>(CurTy))
|
||||
@ -1324,7 +1324,7 @@ bool BitcodeReader::ParseConstants() {
|
||||
V = FwdRef;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ValueList.AssignValue(V, NextCstNo);
|
||||
@ -1348,7 +1348,7 @@ bool BitcodeReader::ParseUseLists() {
|
||||
return Error("Malformed block record");
|
||||
|
||||
SmallVector<uint64_t, 64> Record;
|
||||
|
||||
|
||||
// Read all the records.
|
||||
while (1) {
|
||||
unsigned Code = Stream.ReadCode();
|
||||
@ -1357,7 +1357,7 @@ bool BitcodeReader::ParseUseLists() {
|
||||
return Error("Error at end of use-list table block");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (Code == bitc::ENTER_SUBBLOCK) {
|
||||
// No known subblocks, always skip them.
|
||||
Stream.ReadSubBlockID();
|
||||
@ -1365,12 +1365,12 @@ bool BitcodeReader::ParseUseLists() {
|
||||
return Error("Malformed block record");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (Code == bitc::DEFINE_ABBREV) {
|
||||
Stream.ReadAbbrevRecord();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// Read a use list record.
|
||||
Record.clear();
|
||||
switch (Stream.ReadRecord(Code, Record)) {
|
||||
@ -1919,7 +1919,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
unsigned CurBBNo = 0;
|
||||
|
||||
DebugLoc LastLoc;
|
||||
|
||||
|
||||
// Read all the records.
|
||||
SmallVector<uint64_t, 64> Record;
|
||||
while (1) {
|
||||
@ -1974,24 +1974,24 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
FunctionBBs[i] = BasicBlock::Create(Context, "", F);
|
||||
CurBB = FunctionBBs[0];
|
||||
continue;
|
||||
|
||||
|
||||
case bitc::FUNC_CODE_DEBUG_LOC_AGAIN: // DEBUG_LOC_AGAIN
|
||||
// This record indicates that the last instruction is at the same
|
||||
// location as the previous instruction with a location.
|
||||
I = 0;
|
||||
|
||||
|
||||
// Get the last instruction emitted.
|
||||
if (CurBB && !CurBB->empty())
|
||||
I = &CurBB->back();
|
||||
else if (CurBBNo && FunctionBBs[CurBBNo-1] &&
|
||||
!FunctionBBs[CurBBNo-1]->empty())
|
||||
I = &FunctionBBs[CurBBNo-1]->back();
|
||||
|
||||
|
||||
if (I == 0) return Error("Invalid DEBUG_LOC_AGAIN record");
|
||||
I->setDebugLoc(LastLoc);
|
||||
I = 0;
|
||||
continue;
|
||||
|
||||
|
||||
case bitc::FUNC_CODE_DEBUG_LOC: { // DEBUG_LOC: [line, col, scope, ia]
|
||||
I = 0; // Get the last instruction emitted.
|
||||
if (CurBB && !CurBB->empty())
|
||||
@ -2001,10 +2001,10 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
I = &FunctionBBs[CurBBNo-1]->back();
|
||||
if (I == 0 || Record.size() < 4)
|
||||
return Error("Invalid FUNC_CODE_DEBUG_LOC record");
|
||||
|
||||
|
||||
unsigned Line = Record[0], Col = Record[1];
|
||||
unsigned ScopeID = Record[2], IAID = Record[3];
|
||||
|
||||
|
||||
MDNode *Scope = 0, *IA = 0;
|
||||
if (ScopeID) Scope = cast<MDNode>(MDValueList.getValueFwdRef(ScopeID-1));
|
||||
if (IAID) IA = cast<MDNode>(MDValueList.getValueFwdRef(IAID-1));
|
||||
@ -2272,10 +2272,10 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
break;
|
||||
}
|
||||
case bitc::FUNC_CODE_INST_SWITCH: { // SWITCH: [opty, op0, op1, ...]
|
||||
// Check magic
|
||||
// Check magic
|
||||
if ((Record[0] >> 16) == SWITCH_INST_MAGIC) {
|
||||
// New SwitchInst format with case ranges.
|
||||
|
||||
|
||||
Type *OpTy = getTypeByID(Record[1]);
|
||||
unsigned ValueBitWidth = cast<IntegerType>(OpTy)->getBitWidth();
|
||||
|
||||
@ -2285,17 +2285,17 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
return Error("Invalid SWITCH record");
|
||||
|
||||
unsigned NumCases = Record[4];
|
||||
|
||||
|
||||
SwitchInst *SI = SwitchInst::Create(Cond, Default, NumCases);
|
||||
InstructionList.push_back(SI);
|
||||
|
||||
|
||||
unsigned CurIdx = 5;
|
||||
for (unsigned i = 0; i != NumCases; ++i) {
|
||||
IntegersSubsetToBB CaseBuilder;
|
||||
unsigned NumItems = Record[CurIdx++];
|
||||
for (unsigned ci = 0; ci != NumItems; ++ci) {
|
||||
bool isSingleNumber = Record[CurIdx++];
|
||||
|
||||
|
||||
APInt Low;
|
||||
unsigned ActiveWords = 1;
|
||||
if (ValueBitWidth > 64)
|
||||
@ -2311,7 +2311,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
APInt High =
|
||||
ReadWideAPInt(makeArrayRef(&Record[CurIdx], ActiveWords),
|
||||
ValueBitWidth);
|
||||
|
||||
|
||||
CaseBuilder.add(IntItem::fromType(OpTy, Low),
|
||||
IntItem::fromType(OpTy, High));
|
||||
CurIdx += ActiveWords;
|
||||
@ -2319,7 +2319,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
CaseBuilder.add(IntItem::fromType(OpTy, Low));
|
||||
}
|
||||
BasicBlock *DestBB = getBasicBlock(Record[CurIdx++]);
|
||||
IntegersSubset Case = CaseBuilder.getCase();
|
||||
IntegersSubset Case = CaseBuilder.getCase();
|
||||
SI->addCase(Case, DestBB);
|
||||
}
|
||||
uint16_t Hash = SI->hash();
|
||||
@ -2328,9 +2328,9 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
I = SI;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// Old SwitchInst format without case ranges.
|
||||
|
||||
|
||||
if (Record.size() < 3 || (Record.size() & 1) == 0)
|
||||
return Error("Invalid SWITCH record");
|
||||
Type *OpTy = getTypeByID(Record[0]);
|
||||
@ -2375,7 +2375,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
I = IBI;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case bitc::FUNC_CODE_INST_INVOKE: {
|
||||
// INVOKE: [attrs, cc, normBB, unwindBB, fnty, op0,op1,op2, ...]
|
||||
if (Record.size() < 4) return Error("Invalid INVOKE record");
|
||||
@ -2534,7 +2534,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
if (getValueTypePair(Record, OpNum, NextValueNo, Op) ||
|
||||
OpNum+4 != Record.size())
|
||||
return Error("Invalid LOADATOMIC record");
|
||||
|
||||
|
||||
|
||||
AtomicOrdering Ordering = GetDecodedOrdering(Record[OpNum+2]);
|
||||
if (Ordering == NotAtomic || Ordering == Release ||
|
||||
@ -2750,15 +2750,15 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
unsigned BlockIdx = RefList[i].first;
|
||||
if (BlockIdx >= FunctionBBs.size())
|
||||
return Error("Invalid blockaddress block #");
|
||||
|
||||
|
||||
GlobalVariable *FwdRef = RefList[i].second;
|
||||
FwdRef->replaceAllUsesWith(BlockAddress::get(F, FunctionBBs[BlockIdx]));
|
||||
FwdRef->eraseFromParent();
|
||||
}
|
||||
|
||||
|
||||
BlockAddrFwdRefs.erase(BAFRI);
|
||||
}
|
||||
|
||||
|
||||
// Trim the value list down to the size it was before we parsed this function.
|
||||
ValueList.shrinkTo(ModuleValueListSize);
|
||||
MDValueList.shrinkTo(ModuleMDValueListSize);
|
||||
|
@ -61,7 +61,7 @@ enum {
|
||||
FUNCTION_INST_RET_VOID_ABBREV,
|
||||
FUNCTION_INST_RET_VAL_ABBREV,
|
||||
FUNCTION_INST_UNREACHABLE_ABBREV,
|
||||
|
||||
|
||||
// SwitchInst Magic
|
||||
SWITCH_INST_MAGIC = 0x4B5 // May 2012 => 1205 => Hex
|
||||
};
|
||||
@ -234,7 +234,7 @@ static void WriteTypeTable(const ValueEnumerator &VE, BitstreamWriter &Stream) {
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, NumBits));
|
||||
|
||||
unsigned StructNamedAbbrev = Stream.EmitAbbrev(Abbv);
|
||||
|
||||
|
||||
// Abbrev for TYPE_CODE_ARRAY.
|
||||
Abbv = new BitCodeAbbrev();
|
||||
Abbv->Add(BitCodeAbbrevOp(bitc::TYPE_CODE_ARRAY));
|
||||
@ -300,7 +300,7 @@ static void WriteTypeTable(const ValueEnumerator &VE, BitstreamWriter &Stream) {
|
||||
for (StructType::element_iterator I = ST->element_begin(),
|
||||
E = ST->element_end(); I != E; ++I)
|
||||
TypeVals.push_back(VE.getTypeID(*I));
|
||||
|
||||
|
||||
if (ST->isLiteral()) {
|
||||
Code = bitc::TYPE_CODE_STRUCT_ANON;
|
||||
AbbrevToUse = StructAnonAbbrev;
|
||||
@ -658,7 +658,7 @@ static void WriteFunctionLocalMetadata(const Function &F,
|
||||
}
|
||||
WriteMDNode(N, VE, Stream, Record);
|
||||
}
|
||||
|
||||
|
||||
if (StartedMetadataBlock)
|
||||
Stream.ExitBlock();
|
||||
}
|
||||
@ -673,18 +673,18 @@ static void WriteMetadataAttachment(const Function &F,
|
||||
// Write metadata attachments
|
||||
// METADATA_ATTACHMENT - [m x [value, [n x [id, mdnode]]]
|
||||
SmallVector<std::pair<unsigned, MDNode*>, 4> MDs;
|
||||
|
||||
|
||||
for (Function::const_iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
|
||||
for (BasicBlock::const_iterator I = BB->begin(), E = BB->end();
|
||||
I != E; ++I) {
|
||||
MDs.clear();
|
||||
I->getAllMetadataOtherThanDebugLoc(MDs);
|
||||
|
||||
|
||||
// If no metadata, ignore instruction.
|
||||
if (MDs.empty()) continue;
|
||||
|
||||
Record.push_back(VE.getInstructionID(I));
|
||||
|
||||
|
||||
for (unsigned i = 0, e = MDs.size(); i != e; ++i) {
|
||||
Record.push_back(MDs[i].first);
|
||||
Record.push_back(VE.getValueID(MDs[i].second));
|
||||
@ -703,16 +703,16 @@ static void WriteModuleMetadataStore(const Module *M, BitstreamWriter &Stream) {
|
||||
// METADATA_KIND - [n x [id, name]]
|
||||
SmallVector<StringRef, 4> Names;
|
||||
M->getMDKindNames(Names);
|
||||
|
||||
|
||||
if (Names.empty()) return;
|
||||
|
||||
Stream.EnterSubblock(bitc::METADATA_BLOCK_ID, 3);
|
||||
|
||||
|
||||
for (unsigned MDKindID = 0, e = Names.size(); MDKindID != e; ++MDKindID) {
|
||||
Record.push_back(MDKindID);
|
||||
StringRef KName = Names[MDKindID];
|
||||
Record.append(KName.begin(), KName.end());
|
||||
|
||||
|
||||
Stream.EmitRecord(bitc::METADATA_KIND, Record, 0);
|
||||
Record.clear();
|
||||
}
|
||||
@ -743,10 +743,10 @@ static void EmitAPInt(SmallVectorImpl<uint64_t> &Vals,
|
||||
// format it is likely that the high bits are going to be zero.
|
||||
// So, we only write the number of active words.
|
||||
unsigned NWords = Val.getActiveWords();
|
||||
|
||||
|
||||
if (EmitSizeForWideNumbers)
|
||||
Vals.push_back(NWords);
|
||||
|
||||
|
||||
const uint64_t *RawWords = Val.getRawData();
|
||||
for (unsigned i = 0; i != NWords; ++i) {
|
||||
emitSignedInt64(Vals, RawWords[i]);
|
||||
@ -881,12 +881,12 @@ static void WriteConstants(unsigned FirstVal, unsigned LastVal,
|
||||
if (isCStrChar6)
|
||||
isCStrChar6 = BitCodeAbbrevOp::isChar6(V);
|
||||
}
|
||||
|
||||
|
||||
if (isCStrChar6)
|
||||
AbbrevToUse = CString6Abbrev;
|
||||
else if (isCStr7)
|
||||
AbbrevToUse = CString7Abbrev;
|
||||
} else if (const ConstantDataSequential *CDS =
|
||||
} else if (const ConstantDataSequential *CDS =
|
||||
dyn_cast<ConstantDataSequential>(C)) {
|
||||
Code = bitc::CST_CODE_DATA;
|
||||
Type *EltTy = CDS->getType()->getElementType();
|
||||
@ -1179,13 +1179,13 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
// Redefine Vals, since here we need to use 64 bit values
|
||||
// explicitly to store large APInt numbers.
|
||||
SmallVector<uint64_t, 128> Vals64;
|
||||
|
||||
|
||||
Code = bitc::FUNC_CODE_INST_SWITCH;
|
||||
SwitchInst &SI = cast<SwitchInst>(I);
|
||||
|
||||
uint32_t SwitchRecordHeader = SI.hash() | (SWITCH_INST_MAGIC << 16);
|
||||
Vals64.push_back(SwitchRecordHeader);
|
||||
|
||||
|
||||
uint32_t SwitchRecordHeader = SI.hash() | (SWITCH_INST_MAGIC << 16);
|
||||
Vals64.push_back(SwitchRecordHeader);
|
||||
|
||||
Vals64.push_back(VE.getTypeID(SI.getCondition()->getType()));
|
||||
pushValue64(SI.getCondition(), InstID, Vals64, VE);
|
||||
Vals64.push_back(VE.getValueID(SI.getDefaultDest()));
|
||||
@ -1194,21 +1194,21 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
i != e; ++i) {
|
||||
IntegersSubset& CaseRanges = i.getCaseValueEx();
|
||||
unsigned Code, Abbrev; // will unused.
|
||||
|
||||
|
||||
if (CaseRanges.isSingleNumber()) {
|
||||
Vals64.push_back(1/*NumItems = 1*/);
|
||||
Vals64.push_back(true/*IsSingleNumber = true*/);
|
||||
EmitAPInt(Vals64, Code, Abbrev, CaseRanges.getSingleNumber(0), true);
|
||||
} else {
|
||||
|
||||
|
||||
Vals64.push_back(CaseRanges.getNumItems());
|
||||
|
||||
|
||||
if (CaseRanges.isSingleNumbersOnly()) {
|
||||
for (unsigned ri = 0, rn = CaseRanges.getNumItems();
|
||||
ri != rn; ++ri) {
|
||||
|
||||
|
||||
Vals64.push_back(true/*IsSingleNumber = true*/);
|
||||
|
||||
|
||||
EmitAPInt(Vals64, Code, Abbrev,
|
||||
CaseRanges.getSingleNumber(ri), true);
|
||||
}
|
||||
@ -1217,9 +1217,9 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
ri != rn; ++ri) {
|
||||
IntegersSubset::Range r = CaseRanges.getItem(ri);
|
||||
bool IsSingleNumber = CaseRanges.isSingleNumber(ri);
|
||||
|
||||
|
||||
Vals64.push_back(IsSingleNumber);
|
||||
|
||||
|
||||
EmitAPInt(Vals64, Code, Abbrev, r.getLow(), true);
|
||||
if (!IsSingleNumber)
|
||||
EmitAPInt(Vals64, Code, Abbrev, r.getHigh(), true);
|
||||
@ -1227,9 +1227,9 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
}
|
||||
Vals64.push_back(VE.getValueID(i.getCaseSuccessor()));
|
||||
}
|
||||
|
||||
|
||||
Stream.EmitRecord(Code, Vals64, AbbrevToUse);
|
||||
|
||||
|
||||
// Also do expected action - clear external Vals collection:
|
||||
Vals.clear();
|
||||
return;
|
||||
@ -1243,7 +1243,7 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
for (unsigned i = 1, e = I.getNumOperands(); i != e; ++i)
|
||||
Vals.push_back(VE.getValueID(I.getOperand(i)));
|
||||
break;
|
||||
|
||||
|
||||
case Instruction::Invoke: {
|
||||
const InvokeInst *II = cast<InvokeInst>(&I);
|
||||
const Value *Callee(II->getCalledValue());
|
||||
@ -1502,21 +1502,21 @@ static void WriteFunction(const Function &F, ValueEnumerator &VE,
|
||||
unsigned InstID = CstEnd;
|
||||
|
||||
bool NeedsMetadataAttachment = false;
|
||||
|
||||
|
||||
DebugLoc LastDL;
|
||||
|
||||
|
||||
// Finally, emit all the instructions, in order.
|
||||
for (Function::const_iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
|
||||
for (BasicBlock::const_iterator I = BB->begin(), E = BB->end();
|
||||
I != E; ++I) {
|
||||
WriteInstruction(*I, InstID, VE, Stream, Vals);
|
||||
|
||||
|
||||
if (!I->getType()->isVoidTy())
|
||||
++InstID;
|
||||
|
||||
|
||||
// If the instruction has metadata, write a metadata attachment later.
|
||||
NeedsMetadataAttachment |= I->hasMetadataOtherThanDebugLoc();
|
||||
|
||||
|
||||
// If the instruction has a debug location, emit it.
|
||||
DebugLoc DL = I->getDebugLoc();
|
||||
if (DL.isUnknown()) {
|
||||
@ -1527,14 +1527,14 @@ static void WriteFunction(const Function &F, ValueEnumerator &VE,
|
||||
} else {
|
||||
MDNode *Scope, *IA;
|
||||
DL.getScopeAndInlinedAt(Scope, IA, I->getContext());
|
||||
|
||||
|
||||
Vals.push_back(DL.getLine());
|
||||
Vals.push_back(DL.getCol());
|
||||
Vals.push_back(Scope ? VE.getValueID(Scope)+1 : 0);
|
||||
Vals.push_back(IA ? VE.getValueID(IA)+1 : 0);
|
||||
Stream.EmitRecord(bitc::FUNC_CODE_DEBUG_LOC, Vals);
|
||||
Vals.clear();
|
||||
|
||||
|
||||
LastDL = DL;
|
||||
}
|
||||
}
|
||||
@ -1709,7 +1709,7 @@ static void WriteBlockInfo(const ValueEnumerator &VE, BitstreamWriter &Stream) {
|
||||
Stream.ExitBlock();
|
||||
}
|
||||
|
||||
// Sort the Users based on the order in which the reader parses the bitcode
|
||||
// Sort the Users based on the order in which the reader parses the bitcode
|
||||
// file.
|
||||
static bool bitcodereader_order(const User *lhs, const User *rhs) {
|
||||
// TODO: Implement.
|
||||
@ -1778,9 +1778,9 @@ static void WriteModuleUseLists(const Module *M, ValueEnumerator &VE,
|
||||
for (Module::const_global_iterator I = M->global_begin(), E = M->global_end();
|
||||
I != E; ++I)
|
||||
I->removeDeadConstantUsers();
|
||||
|
||||
|
||||
// Write the global variables.
|
||||
for (Module::const_global_iterator GI = M->global_begin(),
|
||||
for (Module::const_global_iterator GI = M->global_begin(),
|
||||
GE = M->global_end(); GI != GE; ++GI) {
|
||||
WriteUseList(GI, VE, Stream);
|
||||
|
||||
|
Reference in New Issue
Block a user