mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2214dc0764
commit
21870411d9
@ -274,7 +274,7 @@ bool RecordRecTy::baseClassOf(const RecordRecTy *RHS) const {
|
||||
}
|
||||
|
||||
|
||||
/// resolveTypes - Find a common type that T1 and T2 convert to.
|
||||
/// resolveTypes - Find a common type that T1 and T2 convert to.
|
||||
/// Return 0 if no such type exists.
|
||||
///
|
||||
RecTy *llvm::resolveTypes(RecTy *T1, RecTy *T2) {
|
||||
@ -284,7 +284,8 @@ RecTy *llvm::resolveTypes(RecTy *T1, RecTy *T2) {
|
||||
RecordRecTy *RecTy1 = dynamic_cast<RecordRecTy*>(T1);
|
||||
if (RecTy1) {
|
||||
// See if T2 inherits from a type T1 also inherits from
|
||||
const std::vector<Record *> &T1SuperClasses = RecTy1->getRecord()->getSuperClasses();
|
||||
const std::vector<Record *> &T1SuperClasses =
|
||||
RecTy1->getRecord()->getSuperClasses();
|
||||
for(std::vector<Record *>::const_iterator i = T1SuperClasses.begin(),
|
||||
iend = T1SuperClasses.end();
|
||||
i != iend;
|
||||
@ -302,8 +303,9 @@ RecTy *llvm::resolveTypes(RecTy *T1, RecTy *T2) {
|
||||
RecordRecTy *RecTy2 = dynamic_cast<RecordRecTy*>(T2);
|
||||
if (RecTy2) {
|
||||
// See if T1 inherits from a type T2 also inherits from
|
||||
const std::vector<Record *> &T2SuperClasses = RecTy2->getRecord()->getSuperClasses();
|
||||
for(std::vector<Record *>::const_iterator i = T2SuperClasses.begin(),
|
||||
const std::vector<Record *> &T2SuperClasses =
|
||||
RecTy2->getRecord()->getSuperClasses();
|
||||
for (std::vector<Record *>::const_iterator i = T2SuperClasses.begin(),
|
||||
iend = T2SuperClasses.end();
|
||||
i != iend;
|
||||
++i) {
|
||||
@ -486,7 +488,7 @@ Init *ListInit::resolveReferences(Record &R, const RecordVal *RV) {
|
||||
}
|
||||
|
||||
Init *ListInit::resolveListElementReference(Record &R, const RecordVal *IRV,
|
||||
unsigned Elt) {
|
||||
unsigned Elt) {
|
||||
if (Elt >= getSize())
|
||||
return 0; // Out of range reference.
|
||||
Init *E = getElement(Elt);
|
||||
@ -508,30 +510,30 @@ std::string ListInit::getAsString() const {
|
||||
}
|
||||
|
||||
Init *OpInit::resolveBitReference(Record &R, const RecordVal *IRV,
|
||||
unsigned Bit) {
|
||||
unsigned Bit) {
|
||||
Init *Folded = Fold(&R, 0);
|
||||
|
||||
if (Folded != this) {
|
||||
TypedInit *Typed = dynamic_cast<TypedInit *>(Folded);
|
||||
if (Typed) {
|
||||
return Typed->resolveBitReference(R, IRV, Bit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Init *OpInit::resolveListElementReference(Record &R, const RecordVal *IRV,
|
||||
unsigned Elt) {
|
||||
unsigned Elt) {
|
||||
Init *Folded = Fold(&R, 0);
|
||||
|
||||
if (Folded != this) {
|
||||
TypedInit *Typed = dynamic_cast<TypedInit *>(Folded);
|
||||
if (Typed) {
|
||||
return Typed->resolveListElementReference(R, IRV, Elt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -549,8 +551,7 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (LHSd) {
|
||||
return new StringInit(LHSd->getDef()->getName());
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
StringInit *LHSs = dynamic_cast<StringInit*>(LHS);
|
||||
if (LHSs) {
|
||||
std::string Name = LHSs->getValue();
|
||||
@ -582,15 +583,15 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (CurMultiClass->Rec.isTemplateArg(MCName)) {
|
||||
const RecordVal *RV = CurMultiClass->Rec.getValue(MCName);
|
||||
assert(RV && "Template arg doesn't exist??");
|
||||
|
||||
|
||||
if (RV->getType() != getType()) {
|
||||
throw "type mismatch in nameconcat";
|
||||
}
|
||||
|
||||
|
||||
return new VarInit(MCName, RV->getType());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Record *D = Records.getDef(Name))
|
||||
return new DefInit(D);
|
||||
|
||||
@ -619,7 +620,8 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
assert(0 && "Empty list in cdr");
|
||||
return 0;
|
||||
}
|
||||
ListInit *Result = new ListInit(LHSl->begin()+1, LHSl->end(), LHSl->getType());
|
||||
ListInit *Result = new ListInit(LHSl->begin()+1, LHSl->end(),
|
||||
LHSl->getType());
|
||||
return Result;
|
||||
}
|
||||
break;
|
||||
@ -629,8 +631,7 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (LHSl) {
|
||||
if (LHSl->getSize() == 0) {
|
||||
return new IntInit(1);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return new IntInit(0);
|
||||
}
|
||||
}
|
||||
@ -638,12 +639,11 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (LHSs) {
|
||||
if (LHSs->getValue().empty()) {
|
||||
return new IntInit(1);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return new IntInit(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -652,7 +652,7 @@ Init *UnOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
|
||||
Init *UnOpInit::resolveReferences(Record &R, const RecordVal *RV) {
|
||||
Init *lhs = LHS->resolveReferences(R, RV);
|
||||
|
||||
|
||||
if (LHS != lhs)
|
||||
return (new UnOpInit(getOpcode(), lhs, getType()))->Fold(&R, 0);
|
||||
return Fold(&R, 0);
|
||||
@ -742,7 +742,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
}
|
||||
return new VarInit(Name, RV->getType());
|
||||
}
|
||||
|
||||
|
||||
std::string TemplateArgName = CurRec->getName()+":"+Name;
|
||||
if (CurRec->isTemplateArg(TemplateArgName)) {
|
||||
const RecordVal *RV = CurRec->getValue(TemplateArgName);
|
||||
@ -765,7 +765,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (RV->getType() != getType()) {
|
||||
throw "type mismatch in nameconcat";
|
||||
}
|
||||
|
||||
|
||||
return new VarInit(MCName, RV->getType());
|
||||
}
|
||||
}
|
||||
@ -804,7 +804,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
Init *BinOpInit::resolveReferences(Record &R, const RecordVal *RV) {
|
||||
Init *lhs = LHS->resolveReferences(R, RV);
|
||||
Init *rhs = RHS->resolveReferences(R, RV);
|
||||
|
||||
|
||||
if (LHS != lhs || RHS != rhs)
|
||||
return (new BinOpInit(getOpcode(), lhs, rhs, getType()))->Fold(&R, 0);
|
||||
return Fold(&R, 0);
|
||||
@ -818,7 +818,7 @@ std::string BinOpInit::getAsString() const {
|
||||
case SRA: Result = "!sra"; break;
|
||||
case SRL: Result = "!srl"; break;
|
||||
case STRCONCAT: Result = "!strconcat"; break;
|
||||
case NAMECONCAT:
|
||||
case NAMECONCAT:
|
||||
Result = "!nameconcat<" + getType()->getAsString() + ">"; break;
|
||||
}
|
||||
return Result + "(" + LHS->getAsString() + ", " + RHS->getAsString() + ")";
|
||||
@ -840,8 +840,7 @@ static Init *EvaluateOperation(OpInit *RHSo, Init *LHS, Init *Arg,
|
||||
CurRec, CurMultiClass);
|
||||
if (Result != 0) {
|
||||
return Result;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -854,15 +853,12 @@ static Init *EvaluateOperation(OpInit *RHSo, Init *LHS, Init *Arg,
|
||||
Type, CurRec, CurMultiClass);
|
||||
if (Result != 0) {
|
||||
NewOperands.push_back(Result);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
NewOperands.push_back(Arg);
|
||||
}
|
||||
}
|
||||
else if (LHS->getAsString() == RHSo->getOperand(i)->getAsString()) {
|
||||
} else if (LHS->getAsString() == RHSo->getOperand(i)->getAsString()) {
|
||||
NewOperands.push_back(Arg);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
NewOperands.push_back(RHSo->getOperand(i));
|
||||
}
|
||||
}
|
||||
@ -942,8 +938,7 @@ static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type,
|
||||
// First, replace the foreach variable with the list item
|
||||
if (LHS->getAsString() == RHSo->getOperand(i)->getAsString()) {
|
||||
NewOperands.push_back(Item);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
NewOperands.push_back(RHSo->getOperand(i));
|
||||
}
|
||||
}
|
||||
@ -1010,7 +1005,7 @@ Init *TernOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
case FOREACH: {
|
||||
Init *Result = ForeachHelper(LHS, MHS, RHS, getType(),
|
||||
@ -1026,8 +1021,7 @@ Init *TernOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) {
|
||||
if (LHSi) {
|
||||
if (LHSi->getValue()) {
|
||||
return MHS;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return RHS;
|
||||
}
|
||||
}
|
||||
@ -1047,15 +1041,16 @@ Init *TernOpInit::resolveReferences(Record &R, const RecordVal *RV) {
|
||||
// Short-circuit
|
||||
if (Value->getValue()) {
|
||||
Init *mhs = MHS->resolveReferences(R, RV);
|
||||
return (new TernOpInit(getOpcode(), lhs, mhs, RHS, getType()))->Fold(&R, 0);
|
||||
}
|
||||
else {
|
||||
return (new TernOpInit(getOpcode(), lhs, mhs,
|
||||
RHS, getType()))->Fold(&R, 0);
|
||||
} else {
|
||||
Init *rhs = RHS->resolveReferences(R, RV);
|
||||
return (new TernOpInit(getOpcode(), lhs, MHS, rhs, getType()))->Fold(&R, 0);
|
||||
return (new TernOpInit(getOpcode(), lhs, MHS,
|
||||
rhs, getType()))->Fold(&R, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Init *mhs = MHS->resolveReferences(R, RV);
|
||||
Init *rhs = RHS->resolveReferences(R, RV);
|
||||
|
||||
@ -1068,10 +1063,10 @@ std::string TernOpInit::getAsString() const {
|
||||
std::string Result;
|
||||
switch (Opc) {
|
||||
case SUBST: Result = "!subst"; break;
|
||||
case FOREACH: Result = "!foreach"; break;
|
||||
case IF: Result = "!if"; break;
|
||||
case FOREACH: Result = "!foreach"; break;
|
||||
case IF: Result = "!if"; break;
|
||||
}
|
||||
return Result + "(" + LHS->getAsString() + ", " + MHS->getAsString() + ", "
|
||||
return Result + "(" + LHS->getAsString() + ", " + MHS->getAsString() + ", "
|
||||
+ RHS->getAsString() + ")";
|
||||
}
|
||||
|
||||
@ -1140,7 +1135,7 @@ Init *VarInit::resolveListElementReference(Record &R, const RecordVal *IRV,
|
||||
assert(VI && "Invalid list element!");
|
||||
return new VarListElementInit(VI, Elt);
|
||||
}
|
||||
|
||||
|
||||
if (Elt >= LI->getSize())
|
||||
return 0; // Out of range reference.
|
||||
Init *E = LI->getElement(Elt);
|
||||
@ -1283,12 +1278,12 @@ Init *DagInit::resolveReferences(Record &R, const RecordVal *RV) {
|
||||
std::vector<Init*> NewArgs;
|
||||
for (unsigned i = 0, e = Args.size(); i != e; ++i)
|
||||
NewArgs.push_back(Args[i]->resolveReferences(R, RV));
|
||||
|
||||
|
||||
Init *Op = Val->resolveReferences(R, RV);
|
||||
|
||||
|
||||
if (Args != NewArgs || Op != Val)
|
||||
return new DagInit(Op, "", NewArgs, ArgNames);
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -1457,7 +1452,7 @@ ListInit *Record::getValueAsListInit(StringRef FieldName) const {
|
||||
/// its value as a vector of records, throwing an exception if the field does
|
||||
/// not exist or if the value is not the right type.
|
||||
///
|
||||
std::vector<Record*>
|
||||
std::vector<Record*>
|
||||
Record::getValueAsListOfDefs(StringRef FieldName) const {
|
||||
ListInit *List = getValueAsListInit(FieldName);
|
||||
std::vector<Record*> Defs;
|
||||
@ -1492,7 +1487,7 @@ int64_t Record::getValueAsInt(StringRef FieldName) const {
|
||||
/// its value as a vector of integers, throwing an exception if the field does
|
||||
/// not exist or if the value is not the right type.
|
||||
///
|
||||
std::vector<int64_t>
|
||||
std::vector<int64_t>
|
||||
Record::getValueAsListOfInts(StringRef FieldName) const {
|
||||
ListInit *List = getValueAsListInit(FieldName);
|
||||
std::vector<int64_t> Ints;
|
||||
@ -1560,7 +1555,7 @@ std::string Record::getValueAsCode(StringRef FieldName) const {
|
||||
if (R == 0 || R->getValue() == 0)
|
||||
throw "Record `" + getName() + "' does not have a field named `" +
|
||||
FieldName.str() + "'!\n";
|
||||
|
||||
|
||||
if (const CodeInit *CI = dynamic_cast<const CodeInit*>(R->getValue()))
|
||||
return CI->getValue();
|
||||
throw "Record `" + getName() + "', field `" + FieldName.str() +
|
||||
@ -1571,7 +1566,7 @@ std::string Record::getValueAsCode(StringRef FieldName) const {
|
||||
void MultiClass::dump() const {
|
||||
errs() << "Record:\n";
|
||||
Rec.dump();
|
||||
|
||||
|
||||
errs() << "Defs:\n";
|
||||
for (RecordVector::const_iterator r = DefPrototypes.begin(),
|
||||
rend = DefPrototypes.end();
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
namespace llvm {
|
||||
class raw_ostream;
|
||||
|
||||
|
||||
// RecTy subclasses.
|
||||
class BitRecTy;
|
||||
class BitsRecTy;
|
||||
@ -443,7 +443,7 @@ public:
|
||||
virtual bool baseClassOf(const RecordRecTy *RHS) const;
|
||||
};
|
||||
|
||||
/// resolveTypes - Find a common type that T1 and T2 convert to.
|
||||
/// resolveTypes - Find a common type that T1 and T2 convert to.
|
||||
/// Return 0 if no such type exists.
|
||||
///
|
||||
RecTy *resolveTypes(RecTy *T1, RecTy *T2);
|
||||
@ -731,7 +731,7 @@ public:
|
||||
}
|
||||
|
||||
Record *getElementAsRecord(unsigned i) const;
|
||||
|
||||
|
||||
Init *convertInitListSlice(const std::vector<unsigned> &Elements);
|
||||
|
||||
virtual Init *convertInitializerTo(RecTy *Ty) {
|
||||
@ -792,7 +792,7 @@ public:
|
||||
virtual Init *convertInitializerTo(RecTy *Ty) {
|
||||
return Ty->convertValue(this);
|
||||
}
|
||||
|
||||
|
||||
virtual Init *resolveBitReference(Record &R, const RecordVal *RV,
|
||||
unsigned Bit);
|
||||
virtual Init *resolveListElementReference(Record &R, const RecordVal *RV,
|
||||
@ -825,7 +825,7 @@ public:
|
||||
assert(i == 0 && "Invalid operand id for unary operator");
|
||||
return getOperand();
|
||||
}
|
||||
|
||||
|
||||
UnaryOp getOpcode() const { return Opc; }
|
||||
Init *getOperand() const { return LHS; }
|
||||
|
||||
@ -834,7 +834,7 @@ public:
|
||||
Init *Fold(Record *CurRec, MultiClass *CurMultiClass);
|
||||
|
||||
virtual Init *resolveReferences(Record &R, const RecordVal *RV);
|
||||
|
||||
|
||||
/// getFieldType - This method is used to implement the FieldInit class.
|
||||
/// Implementors of this method should return the type of the named field if
|
||||
/// they are of record type.
|
||||
@ -856,7 +856,7 @@ public:
|
||||
BinOpInit(BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type) :
|
||||
OpInit(Type), Opc(opc), LHS(lhs), RHS(rhs) {
|
||||
}
|
||||
|
||||
|
||||
// Clone - Clone this operator, replacing arguments with the new list
|
||||
virtual OpInit *clone(std::vector<Init *> &Operands) {
|
||||
assert(Operands.size() == 2 &&
|
||||
@ -869,8 +869,7 @@ public:
|
||||
assert((i == 0 || i == 1) && "Invalid operand id for binary operator");
|
||||
if (i == 0) {
|
||||
return getLHS();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return getRHS();
|
||||
}
|
||||
}
|
||||
@ -884,7 +883,7 @@ public:
|
||||
Init *Fold(Record *CurRec, MultiClass *CurMultiClass);
|
||||
|
||||
virtual Init *resolveReferences(Record &R, const RecordVal *RV);
|
||||
|
||||
|
||||
virtual std::string getAsString() const;
|
||||
};
|
||||
|
||||
@ -900,7 +899,7 @@ public:
|
||||
TernOpInit(TernaryOp opc, Init *lhs, Init *mhs, Init *rhs, RecTy *Type) :
|
||||
OpInit(Type), Opc(opc), LHS(lhs), MHS(mhs), RHS(rhs) {
|
||||
}
|
||||
|
||||
|
||||
// Clone - Clone this operator, replacing arguments with the new list
|
||||
virtual OpInit *clone(std::vector<Init *> &Operands) {
|
||||
assert(Operands.size() == 3 &&
|
||||
@ -915,11 +914,9 @@ public:
|
||||
"Invalid operand id for ternary operator");
|
||||
if (i == 0) {
|
||||
return getLHS();
|
||||
}
|
||||
else if (i == 1) {
|
||||
} else if (i == 1) {
|
||||
return getMHS();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return getRHS();
|
||||
}
|
||||
}
|
||||
@ -932,9 +929,9 @@ public:
|
||||
// Fold - If possible, fold this to a simpler init. Return this if not
|
||||
// possible to fold.
|
||||
Init *Fold(Record *CurRec, MultiClass *CurMultiClass);
|
||||
|
||||
|
||||
virtual Init *resolveReferences(Record &R, const RecordVal *RV);
|
||||
|
||||
|
||||
virtual std::string getAsString() const;
|
||||
};
|
||||
|
||||
@ -1106,7 +1103,7 @@ class DagInit : public TypedInit {
|
||||
std::vector<Init*> Args;
|
||||
std::vector<std::string> ArgNames;
|
||||
public:
|
||||
DagInit(Init *V, std::string VN,
|
||||
DagInit(Init *V, std::string VN,
|
||||
const std::vector<std::pair<Init*, std::string> > &args)
|
||||
: TypedInit(new DagRecTy), Val(V), ValName(VN) {
|
||||
Args.reserve(args.size());
|
||||
@ -1116,11 +1113,11 @@ public:
|
||||
ArgNames.push_back(args[i].second);
|
||||
}
|
||||
}
|
||||
DagInit(Init *V, std::string VN, const std::vector<Init*> &args,
|
||||
DagInit(Init *V, std::string VN, const std::vector<Init*> &args,
|
||||
const std::vector<std::string> &argNames)
|
||||
: TypedInit(new DagRecTy), Val(V), ValName(VN), Args(args), ArgNames(argNames) {
|
||||
}
|
||||
|
||||
: TypedInit(new DagRecTy), Val(V), ValName(VN), Args(args),
|
||||
ArgNames(argNames) { }
|
||||
|
||||
virtual Init *convertInitializerTo(RecTy *Ty) {
|
||||
return Ty->convertValue(this);
|
||||
}
|
||||
@ -1143,7 +1140,7 @@ public:
|
||||
assert(Num < Args.size() && "Arg number out of range!");
|
||||
Args[Num] = I;
|
||||
}
|
||||
|
||||
|
||||
virtual Init *resolveReferences(Record &R, const RecordVal *RV);
|
||||
|
||||
virtual std::string getAsString() const;
|
||||
@ -1174,13 +1171,12 @@ public:
|
||||
assert(0 && "Illegal bit reference off dag");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
virtual Init *resolveListElementReference(Record &R, const RecordVal *RV,
|
||||
unsigned Elt) {
|
||||
assert(0 && "Illegal element reference off dag");
|
||||
return 0;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -1231,17 +1227,17 @@ class Record {
|
||||
std::vector<Record*> SuperClasses;
|
||||
public:
|
||||
|
||||
explicit Record(const std::string &N, SMLoc loc) :
|
||||
explicit Record(const std::string &N, SMLoc loc) :
|
||||
ID(LastID++), Name(N), Loc(loc) {}
|
||||
~Record() {}
|
||||
|
||||
|
||||
unsigned getID() const { return ID; }
|
||||
|
||||
const std::string &getName() const { return Name; }
|
||||
void setName(const std::string &Name); // Also updates RecordKeeper.
|
||||
|
||||
|
||||
SMLoc getLoc() const { return Loc; }
|
||||
|
||||
|
||||
const std::vector<std::string> &getTemplateArgs() const {
|
||||
return TemplateArgs;
|
||||
}
|
||||
@ -1353,7 +1349,7 @@ public:
|
||||
/// not exist or if the value is not the right type.
|
||||
///
|
||||
std::vector<int64_t> getValueAsListOfInts(StringRef FieldName) const;
|
||||
|
||||
|
||||
/// getValueAsDef - This method looks up the specified field and returns its
|
||||
/// value as a Record, throwing an exception if the field does not exist or if
|
||||
/// the value is not the right type.
|
||||
@ -1377,7 +1373,7 @@ public:
|
||||
/// the value is not the right type.
|
||||
///
|
||||
DagInit *getValueAsDag(StringRef FieldName) const;
|
||||
|
||||
|
||||
/// getValueAsCode - This method looks up the specified field and returns
|
||||
/// its value as the string data in a CodeInit, throwing an exception if the
|
||||
/// field does not exist or if the value is not a code object.
|
||||
@ -1441,7 +1437,7 @@ public:
|
||||
assert(Defs.count(Name) && "Def does not exist!");
|
||||
Defs.erase(Name);
|
||||
}
|
||||
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// High-level helper methods, useful for tablegen backends...
|
||||
|
||||
@ -1463,7 +1459,7 @@ struct LessRecord {
|
||||
}
|
||||
};
|
||||
|
||||
/// LessRecordFieldName - Sorting predicate to sort record pointers by their
|
||||
/// LessRecordFieldName - Sorting predicate to sort record pointers by their
|
||||
/// name field.
|
||||
///
|
||||
struct LessRecordFieldName {
|
||||
@ -1478,19 +1474,18 @@ class TGError {
|
||||
std::string Message;
|
||||
public:
|
||||
TGError(SMLoc loc, const std::string &message) : Loc(loc), Message(message) {}
|
||||
|
||||
|
||||
SMLoc getLoc() const { return Loc; }
|
||||
const std::string &getMessage() const { return Message; }
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
raw_ostream &operator<<(raw_ostream &OS, const RecordKeeper &RK);
|
||||
|
||||
extern RecordKeeper Records;
|
||||
|
||||
void PrintError(SMLoc ErrorLoc, const std::string &Msg);
|
||||
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user