Skip to content

Commit af8ee2c

Browse files
committed
Unconstify Inits
Remove const qualifiers from Init references, per Chris' request. llvm-svn: 136531
1 parent 5b44237 commit af8ee2c

30 files changed

+944
-955
lines changed

llvm/utils/TableGen/ARMDecoderEmitter.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ enum {
115115

116116
/// byteFromBitsInit - Return the byte value from a BitsInit.
117117
/// Called from getByteField().
118-
static uint8_t byteFromBitsInit(const BitsInit &init) {
118+
static uint8_t byteFromBitsInit(BitsInit &init) {
119119
int width = init.getNumBits();
120120

121121
assert(width <= 8 && "Field is too large for uint8_t!");
@@ -126,7 +126,7 @@ static uint8_t byteFromBitsInit(const BitsInit &init) {
126126
uint8_t ret = 0;
127127

128128
for (index = 0; index < width; index++) {
129-
if (static_cast<const BitInit*>(init.getBit(index))->getValue())
129+
if (static_cast<BitInit*>(init.getBit(index))->getValue())
130130
ret |= mask;
131131

132132
mask <<= 1;
@@ -136,12 +136,12 @@ static uint8_t byteFromBitsInit(const BitsInit &init) {
136136
}
137137

138138
static uint8_t getByteField(const Record &def, const char *str) {
139-
const BitsInit *bits = def.getValueAsBitsInit(str);
139+
BitsInit *bits = def.getValueAsBitsInit(str);
140140
return byteFromBitsInit(*bits);
141141
}
142142

143-
static const BitsInit &getBitsField(const Record &def, const char *str) {
144-
const BitsInit *bits = def.getValueAsBitsInit(str);
143+
static BitsInit &getBitsField(const Record &def, const char *str) {
144+
BitsInit *bits = def.getValueAsBitsInit(str);
145145
return *bits;
146146
}
147147

@@ -184,15 +184,15 @@ static bool ValueNotSet(bit_value_t V) {
184184
static int Value(bit_value_t V) {
185185
return ValueNotSet(V) ? -1 : (V == BIT_FALSE ? 0 : 1);
186186
}
187-
static bit_value_t bitFromBits(const BitsInit &bits, unsigned index) {
188-
if (const BitInit *bit = dynamic_cast<const BitInit*>(bits.getBit(index)))
187+
static bit_value_t bitFromBits(BitsInit &bits, unsigned index) {
188+
if (BitInit *bit = dynamic_cast<BitInit*>(bits.getBit(index)))
189189
return bit->getValue() ? BIT_TRUE : BIT_FALSE;
190190

191191
// The bit is uninitialized.
192192
return BIT_UNSET;
193193
}
194194
// Prints the bit value for each position.
195-
static void dumpBits(raw_ostream &o, const BitsInit &bits) {
195+
static void dumpBits(raw_ostream &o, BitsInit &bits) {
196196
unsigned index;
197197

198198
for (index = bits.getNumBits(); index > 0; index--) {
@@ -425,7 +425,7 @@ class ARMFilterChooser {
425425
if (AllInstructions[Opcode]->isPseudo)
426426
return;
427427

428-
const BitsInit &Bits = getBitsField(*AllInstructions[Opcode]->TheDef, "Inst");
428+
BitsInit &Bits = getBitsField(*AllInstructions[Opcode]->TheDef, "Inst");
429429

430430
for (unsigned i = 0; i < BIT_WIDTH; ++i)
431431
Insn[i] = bitFromBits(Bits, i);
@@ -1559,7 +1559,7 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
15591559
const StringRef Name = Def.getName();
15601560
uint8_t Form = getByteField(Def, "Form");
15611561

1562-
const BitsInit &Bits = getBitsField(Def, "Inst");
1562+
BitsInit &Bits = getBitsField(Def, "Inst");
15631563

15641564
// If all the bit positions are not specified; do not decode this instruction.
15651565
// We are bound to fail! For proper disassembly, the well-known encoding bits

llvm/utils/TableGen/AsmMatcherEmitter.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,7 @@ AsmMatcherInfo::getOperandClass(const CGIOperandList::OperandInfo &OI,
869869
int SubOpIdx) {
870870
Record *Rec = OI.Rec;
871871
if (SubOpIdx != -1)
872-
Rec = dynamic_cast<const DefInit*>(OI.MIOperandInfo->getArg(SubOpIdx))->getDef();
872+
Rec = dynamic_cast<DefInit*>(OI.MIOperandInfo->getArg(SubOpIdx))->getDef();
873873

874874
if (Rec->isSubClassOf("RegisterOperand")) {
875875
// RegisterOperand may have an associated ParserMatchClass. If it does,
@@ -879,7 +879,7 @@ AsmMatcherInfo::getOperandClass(const CGIOperandList::OperandInfo &OI,
879879
throw "Record `" + Rec->getName() +
880880
"' does not have a ParserMatchClass!\n";
881881

882-
if (const DefInit *DI= dynamic_cast<const DefInit*>(R->getValue())) {
882+
if (DefInit *DI= dynamic_cast<DefInit*>(R->getValue())) {
883883
Record *MatchClass = DI->getDef();
884884
if (ClassInfo *CI = AsmOperandClasses[MatchClass])
885885
return CI;
@@ -1046,9 +1046,9 @@ void AsmMatcherInfo::BuildOperandClasses() {
10461046
ClassInfo *CI = AsmOperandClasses[*it];
10471047
CI->Kind = ClassInfo::UserClass0 + Index;
10481048

1049-
const ListInit *Supers = (*it)->getValueAsListInit("SuperClasses");
1049+
ListInit *Supers = (*it)->getValueAsListInit("SuperClasses");
10501050
for (unsigned i = 0, e = Supers->getSize(); i != e; ++i) {
1051-
const DefInit *DI = dynamic_cast<const DefInit*>(Supers->getElement(i));
1051+
DefInit *DI = dynamic_cast<DefInit*>(Supers->getElement(i));
10521052
if (!DI) {
10531053
PrintError((*it)->getLoc(), "Invalid super class reference!");
10541054
continue;
@@ -1065,28 +1065,28 @@ void AsmMatcherInfo::BuildOperandClasses() {
10651065
CI->ValueName = (*it)->getName();
10661066

10671067
// Get or construct the predicate method name.
1068-
const Init *PMName = (*it)->getValueInit("PredicateMethod");
1069-
if (const StringInit *SI = dynamic_cast<const StringInit*>(PMName)) {
1068+
Init *PMName = (*it)->getValueInit("PredicateMethod");
1069+
if (StringInit *SI = dynamic_cast<StringInit*>(PMName)) {
10701070
CI->PredicateMethod = SI->getValue();
10711071
} else {
1072-
assert(dynamic_cast<const UnsetInit*>(PMName) &&
1072+
assert(dynamic_cast<UnsetInit*>(PMName) &&
10731073
"Unexpected PredicateMethod field!");
10741074
CI->PredicateMethod = "is" + CI->ClassName;
10751075
}
10761076

10771077
// Get or construct the render method name.
1078-
const Init *RMName = (*it)->getValueInit("RenderMethod");
1079-
if (const StringInit *SI = dynamic_cast<const StringInit*>(RMName)) {
1078+
Init *RMName = (*it)->getValueInit("RenderMethod");
1079+
if (StringInit *SI = dynamic_cast<StringInit*>(RMName)) {
10801080
CI->RenderMethod = SI->getValue();
10811081
} else {
1082-
assert(dynamic_cast<const UnsetInit*>(RMName) &&
1082+
assert(dynamic_cast<UnsetInit*>(RMName) &&
10831083
"Unexpected RenderMethod field!");
10841084
CI->RenderMethod = "add" + CI->ClassName + "Operands";
10851085
}
10861086

10871087
// Get the parse method name or leave it as empty.
1088-
const Init *PRMName = (*it)->getValueInit("ParserMethod");
1089-
if (const StringInit *SI = dynamic_cast<const StringInit*>(PRMName))
1088+
Init *PRMName = (*it)->getValueInit("ParserMethod");
1089+
if (StringInit *SI = dynamic_cast<StringInit*>(PRMName))
10901090
CI->ParserMethod = SI->getValue();
10911091

10921092
AsmOperandClasses[*it] = CI;

llvm/utils/TableGen/CallingConvEmitter.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void CallingConvEmitter::run(raw_ostream &O) {
4040

4141

4242
void CallingConvEmitter::EmitCallingConv(Record *CC, raw_ostream &O) {
43-
const ListInit *CCActions = CC->getValueAsListInit("Actions");
43+
ListInit *CCActions = CC->getValueAsListInit("Actions");
4444
Counter = 0;
4545

4646
O << "\n\nstatic bool " << CC->getName()
@@ -67,7 +67,7 @@ void CallingConvEmitter::EmitAction(Record *Action,
6767
O << IndentStr << "if (";
6868

6969
if (Action->isSubClassOf("CCIfType")) {
70-
const ListInit *VTs = Action->getValueAsListInit("VTs");
70+
ListInit *VTs = Action->getValueAsListInit("VTs");
7171
for (unsigned i = 0, e = VTs->getSize(); i != e; ++i) {
7272
Record *VT = VTs->getElementAsRecord(i);
7373
if (i != 0) O << " ||\n " << IndentStr;
@@ -91,7 +91,7 @@ void CallingConvEmitter::EmitAction(Record *Action,
9191
<< "(ValNo, ValVT, LocVT, LocInfo, ArgFlags, State))\n"
9292
<< IndentStr << " return false;\n";
9393
} else if (Action->isSubClassOf("CCAssignToReg")) {
94-
const ListInit *RegList = Action->getValueAsListInit("RegList");
94+
ListInit *RegList = Action->getValueAsListInit("RegList");
9595
if (RegList->getSize() == 1) {
9696
O << IndentStr << "if (unsigned Reg = State.AllocateReg(";
9797
O << getQualifiedName(RegList->getElementAsRecord(0)) << ")) {\n";
@@ -112,8 +112,8 @@ void CallingConvEmitter::EmitAction(Record *Action,
112112
O << IndentStr << " return false;\n";
113113
O << IndentStr << "}\n";
114114
} else if (Action->isSubClassOf("CCAssignToRegWithShadow")) {
115-
const ListInit *RegList = Action->getValueAsListInit("RegList");
116-
const ListInit *ShadowRegList = Action->getValueAsListInit("ShadowRegList");
115+
ListInit *RegList = Action->getValueAsListInit("RegList");
116+
ListInit *ShadowRegList = Action->getValueAsListInit("ShadowRegList");
117117
if (ShadowRegList->getSize() >0 &&
118118
ShadowRegList->getSize() != RegList->getSize())
119119
throw "Invalid length of list of shadowed registers";

llvm/utils/TableGen/ClangAttrEmitter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ using namespace llvm;
2121

2222
static const std::vector<StringRef>
2323
getValueAsListOfStrings(Record &R, StringRef FieldName) {
24-
const ListInit *List = R.getValueAsListInit(FieldName);
24+
ListInit *List = R.getValueAsListInit(FieldName);
2525
assert (List && "Got a null ListInit");
2626

2727
std::vector<StringRef> Strings;
@@ -31,9 +31,9 @@ getValueAsListOfStrings(Record &R, StringRef FieldName) {
3131
i != e;
3232
++i) {
3333
assert(*i && "Got a null element in a ListInit");
34-
if (const StringInit *S = dynamic_cast<const StringInit *>(*i))
34+
if (StringInit *S = dynamic_cast<StringInit *>(*i))
3535
Strings.push_back(S->getValue());
36-
else if (const CodeInit *C = dynamic_cast<const CodeInit *>(*i))
36+
else if (CodeInit *C = dynamic_cast<CodeInit *>(*i))
3737
Strings.push_back(C->getValue());
3838
else
3939
assert(false && "Got a non-string, non-code element in a ListInit");

llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ getCategoryFromDiagGroup(const Record *Group,
7474
static std::string getDiagnosticCategory(const Record *R,
7575
DiagGroupParentMap &DiagGroupParents) {
7676
// If the diagnostic is in a group, and that group has a category, use it.
77-
if (const DefInit *Group = dynamic_cast<const DefInit*>(R->getValueInit("Group"))) {
77+
if (DefInit *Group = dynamic_cast<DefInit*>(R->getValueInit("Group"))) {
7878
// Check the diagnostic's diag group for a category.
7979
std::string CatName = getCategoryFromDiagGroup(Group->getDef(),
8080
DiagGroupParents);
@@ -159,7 +159,7 @@ void ClangDiagsDefsEmitter::run(raw_ostream &OS) {
159159
OS.write_escaped(R.getValueAsString("Text")) << '"';
160160

161161
// Warning associated with the diagnostic.
162-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R.getValueInit("Group"))) {
162+
if (DefInit *DI = dynamic_cast<DefInit*>(R.getValueInit("Group"))) {
163163
OS << ", \"";
164164
OS.write_escaped(DI->getDef()->getValueAsString("GroupName")) << '"';
165165
} else {
@@ -225,7 +225,7 @@ void ClangDiagGroupsEmitter::run(raw_ostream &OS) {
225225
Records.getAllDerivedDefinitions("Diagnostic");
226226
for (unsigned i = 0, e = Diags.size(); i != e; ++i) {
227227
const Record *R = Diags[i];
228-
const DefInit *DI = dynamic_cast<const DefInit*>(R->getValueInit("Group"));
228+
DefInit *DI = dynamic_cast<DefInit*>(R->getValueInit("Group"));
229229
if (DI == 0) continue;
230230
std::string GroupName = DI->getDef()->getValueAsString("GroupName");
231231
DiagsInGroup[GroupName].DiagsInGroup.push_back(R);

llvm/utils/TableGen/ClangSACheckersEmitter.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ static bool isHidden(const Record &R) {
2828
if (R.getValueAsBit("Hidden"))
2929
return true;
3030
// Not declared as hidden, check the parent package if it is hidden.
31-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R.getValueInit("ParentPackage")))
31+
if (DefInit *DI = dynamic_cast<DefInit*>(R.getValueInit("ParentPackage")))
3232
return isHidden(*DI->getDef());
3333

3434
return false;
@@ -42,7 +42,7 @@ static std::string getPackageFullName(const Record *R);
4242

4343
static std::string getParentPackageFullName(const Record *R) {
4444
std::string name;
45-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R->getValueInit("ParentPackage")))
45+
if (DefInit *DI = dynamic_cast<DefInit*>(R->getValueInit("ParentPackage")))
4646
name = getPackageFullName(DI->getDef());
4747
return name;
4848
}
@@ -63,8 +63,8 @@ static std::string getCheckerFullName(const Record *R) {
6363
}
6464

6565
static std::string getStringValue(const Record &R, StringRef field) {
66-
if (const StringInit *
67-
SI = dynamic_cast<const StringInit*>(R.getValueInit(field)))
66+
if (StringInit *
67+
SI = dynamic_cast<StringInit*>(R.getValueInit(field)))
6868
return SI->getValue();
6969
return std::string();
7070
}
@@ -129,8 +129,8 @@ void ClangSACheckersEmitter::run(raw_ostream &OS) {
129129
for (unsigned i = 0, e = checkers.size(); i != e; ++i) {
130130
Record *R = checkers[i];
131131
Record *package = 0;
132-
if (const DefInit *
133-
DI = dynamic_cast<const DefInit*>(R->getValueInit("ParentPackage")))
132+
if (DefInit *
133+
DI = dynamic_cast<DefInit*>(R->getValueInit("ParentPackage")))
134134
package = DI->getDef();
135135
if (!isCheckerNamed(R) && !package)
136136
throw "Checker '" + R->getName() + "' is neither named, nor in a package!";
@@ -149,21 +149,21 @@ void ClangSACheckersEmitter::run(raw_ostream &OS) {
149149
Record *currR = isCheckerNamed(R) ? R : package;
150150
// Insert the checker and its parent packages into the subgroups set of
151151
// the corresponding parent package.
152-
while (const DefInit *DI
153-
= dynamic_cast<const DefInit*>(currR->getValueInit("ParentPackage"))) {
152+
while (DefInit *DI
153+
= dynamic_cast<DefInit*>(currR->getValueInit("ParentPackage"))) {
154154
Record *parentPackage = DI->getDef();
155155
recordGroupMap[parentPackage]->SubGroups.insert(currR);
156156
currR = parentPackage;
157157
}
158158
// Insert the checker into the set of its group.
159-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R->getValueInit("Group")))
159+
if (DefInit *DI = dynamic_cast<DefInit*>(R->getValueInit("Group")))
160160
recordGroupMap[DI->getDef()]->Checkers.insert(R);
161161
}
162162

163163
// If a package is in group, add all its checkers and its sub-packages
164164
// checkers into the group.
165165
for (unsigned i = 0, e = packages.size(); i != e; ++i)
166-
if (const DefInit *DI = dynamic_cast<const DefInit*>(packages[i]->getValueInit("Group")))
166+
if (DefInit *DI = dynamic_cast<DefInit*>(packages[i]->getValueInit("Group")))
167167
addPackageToCheckerGroup(packages[i], DI->getDef(), recordGroupMap);
168168

169169
typedef std::map<std::string, const Record *> SortedRecords;
@@ -204,7 +204,7 @@ void ClangSACheckersEmitter::run(raw_ostream &OS) {
204204
OS << "PACKAGE(" << "\"";
205205
OS.write_escaped(getPackageFullName(&R)) << "\", ";
206206
// Group index
207-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R.getValueInit("Group")))
207+
if (DefInit *DI = dynamic_cast<DefInit*>(R.getValueInit("Group")))
208208
OS << groupToSortIndex[DI->getDef()] << ", ";
209209
else
210210
OS << "-1, ";
@@ -232,7 +232,7 @@ void ClangSACheckersEmitter::run(raw_ostream &OS) {
232232
OS << "\"";
233233
OS.write_escaped(getStringValue(R, "HelpText")) << "\", ";
234234
// Group index
235-
if (const DefInit *DI = dynamic_cast<const DefInit*>(R.getValueInit("Group")))
235+
if (DefInit *DI = dynamic_cast<DefInit*>(R.getValueInit("Group")))
236236
OS << groupToSortIndex[DI->getDef()] << ", ";
237237
else
238238
OS << "-1, ";

llvm/utils/TableGen/CodeEmitterGen.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@ void CodeEmitterGen::reverseBits(std::vector<Record*> &Insts) {
3838
R->getValueAsBit("isPseudo"))
3939
continue;
4040

41-
const BitsInit *BI = R->getValueAsBitsInit("Inst");
41+
BitsInit *BI = R->getValueAsBitsInit("Inst");
4242

4343
unsigned numBits = BI->getNumBits();
4444

45-
SmallVector<const Init *, 16> NewBits(numBits);
45+
SmallVector<Init *, 16> NewBits(numBits);
4646

4747
for (unsigned bit = 0, end = numBits / 2; bit != end; ++bit) {
4848
unsigned bitSwapIdx = numBits - bit - 1;
49-
const Init *OrigBit = BI->getBit(bit);
50-
const Init *BitSwap = BI->getBit(bitSwapIdx);
49+
Init *OrigBit = BI->getBit(bit);
50+
Init *BitSwap = BI->getBit(bitSwapIdx);
5151
NewBits[bit] = BitSwap;
5252
NewBits[bitSwapIdx] = OrigBit;
5353
}
@@ -56,7 +56,7 @@ void CodeEmitterGen::reverseBits(std::vector<Record*> &Insts) {
5656
NewBits[middle] = BI->getBit(middle);
5757
}
5858

59-
const BitsInit *NewBI = BitsInit::get(NewBits);
59+
BitsInit *NewBI = BitsInit::get(NewBits);
6060

6161
// Update the bits in reversed order so that emitInstrOpBits will get the
6262
// correct endianness.
@@ -67,12 +67,12 @@ void CodeEmitterGen::reverseBits(std::vector<Record*> &Insts) {
6767
// If the VarBitInit at position 'bit' matches the specified variable then
6868
// return the variable bit position. Otherwise return -1.
6969
int CodeEmitterGen::getVariableBit(const std::string &VarName,
70-
const BitsInit *BI, int bit) {
71-
if (const VarBitInit *VBI = dynamic_cast<const VarBitInit*>(BI->getBit(bit))) {
72-
if (const VarInit *VI = dynamic_cast<const VarInit*>(VBI->getVariable()))
70+
BitsInit *BI, int bit) {
71+
if (VarBitInit *VBI = dynamic_cast<VarBitInit*>(BI->getBit(bit))) {
72+
if (VarInit *VI = dynamic_cast<VarInit*>(VBI->getVariable()))
7373
if (VI->getName() == VarName)
7474
return VBI->getBitNum();
75-
} else if (const VarInit *VI = dynamic_cast<const VarInit*>(BI->getBit(bit))) {
75+
} else if (VarInit *VI = dynamic_cast<VarInit*>(BI->getBit(bit))) {
7676
if (VI->getName() == VarName)
7777
return 0;
7878
}
@@ -81,7 +81,7 @@ int CodeEmitterGen::getVariableBit(const std::string &VarName,
8181
}
8282

8383
void CodeEmitterGen::
84-
AddCodeToMergeInOperand(Record *R, const BitsInit *BI, const std::string &VarName,
84+
AddCodeToMergeInOperand(Record *R, BitsInit *BI, const std::string &VarName,
8585
unsigned &NumberedOp,
8686
std::string &Case, CodeGenTarget &Target) {
8787
CodeGenInstruction &CGI = Target.getInstruction(R);
@@ -185,7 +185,7 @@ std::string CodeEmitterGen::getInstructionCase(Record *R,
185185
CodeGenTarget &Target) {
186186
std::string Case;
187187

188-
const BitsInit *BI = R->getValueAsBitsInit("Inst");
188+
BitsInit *BI = R->getValueAsBitsInit("Inst");
189189
const std::vector<RecordVal> &Vals = R->getValues();
190190
unsigned NumberedOp = 0;
191191

@@ -242,12 +242,12 @@ void CodeEmitterGen::run(raw_ostream &o) {
242242
continue;
243243
}
244244

245-
const BitsInit *BI = R->getValueAsBitsInit("Inst");
245+
BitsInit *BI = R->getValueAsBitsInit("Inst");
246246

247247
// Start by filling in fixed values.
248248
unsigned Value = 0;
249249
for (unsigned i = 0, e = BI->getNumBits(); i != e; ++i) {
250-
if (const BitInit *B = dynamic_cast<const BitInit*>(BI->getBit(e-i-1)))
250+
if (BitInit *B = dynamic_cast<BitInit*>(BI->getBit(e-i-1)))
251251
Value |= B->getValue() << (e-i-1);
252252
}
253253
o << " " << Value << "U," << '\t' << "// " << R->getName() << "\n";

0 commit comments

Comments
 (0)