/// getAnchorString - Return a string used to label this descriptor's anchor.
///
- static const char *AnchorString;
+ static const char *const AnchorString;
virtual const char *getAnchorString() const;
#ifndef NDEBUG
/// getAnchorString - Return a string used to label this descriptor's anchor.
///
- static const char *AnchorString;
+ static const char *const AnchorString;
virtual const char *getAnchorString() const;
#ifndef NDEBUG
/// getAnchorString - Return a string used to label this descriptor's anchor.
///
- static const char *AnchorString;
+ static const char *const AnchorString;
virtual const char *getAnchorString() const;
#ifndef NDEBUG
//===--- CBE Asm Translation Table -----------------------------------===//
- const char** AsmTransCBE; // Defaults to empty
+ const char *const *AsmTransCBE; // Defaults to empty
public:
TargetAsmInfo();
const char *getDwarfExceptionSection() const {
return DwarfExceptionSection;
}
- const char** getAsmCBE() const {
+ const char *const *getAsmCBE() const {
return AsmTransCBE;
}
};
// used by a target.
//
struct InstrItineraryData {
- InstrStage *Stages; // Array of stages selected
- InstrItinerary *Itineratries; // Array of itineraries selected
+ const InstrStage *Stages; // Array of stages selected
+ const InstrItinerary *Itineratries; // Array of itineraries selected
//
// Ctors.
//
InstrItineraryData() : Stages(0), Itineratries(0) {}
- InstrItineraryData(InstrStage *S, InstrItinerary *I) : Stages(S), Itineratries(I) {}
+ InstrItineraryData(const InstrStage *S, const InstrItinerary *I)
+ : Stages(S), Itineratries(I) {}
//
// isEmpty - Returns true if there are no itineraries.
//
// begin - Return the first stage of the itinerary.
//
- inline InstrStage *begin(unsigned ItinClassIndx) const {
+ inline const InstrStage *begin(unsigned ItinClassIndx) const {
unsigned StageIdx = Itineratries[ItinClassIndx].First;
return Stages + StageIdx;
}
//
// end - Return the last+1 stage of the itinerary.
//
- inline InstrStage *end(unsigned ItinClassIndx) const {
+ inline const InstrStage *end(unsigned ItinClassIndx) const {
unsigned StageIdx = Itineratries[ItinClassIndx].Last;
return Stages + StageIdx;
}
/// getAnchorString - Return a string used to label this descriptor's anchor.
///
-const char *CompileUnitDesc::AnchorString = "llvm.dbg.compile_units";
+const char *const CompileUnitDesc::AnchorString = "llvm.dbg.compile_units";
const char *CompileUnitDesc::getAnchorString() const {
return AnchorString;
}
/// getAnchorString - Return a string used to label this descriptor's anchor.
///
-const char *GlobalVariableDesc::AnchorString = "llvm.dbg.global_variables";
+const char *const GlobalVariableDesc::AnchorString = "llvm.dbg.global_variables";
const char *GlobalVariableDesc::getAnchorString() const {
return AnchorString;
}
/// getAnchorString - Return a string used to label this descriptor's anchor.
///
-const char *SubprogramDesc::AnchorString = "llvm.dbg.subprograms";
+const char *const SubprogramDesc::AnchorString = "llvm.dbg.subprograms";
const char *SubprogramDesc::getAnchorString() const {
return AnchorString;
}
const PseudoSourceValue *PseudoSourceValue::getJumpTable()
{ return &(*PSVs)[4]; }
- static const char *PSVNames[] = {
+ static const char *const PSVNames[] = {
"FixedStack",
"Stack",
"GOT",
if (SU->Node->isTargetOpcode()) {
unsigned SchedClass =
TII->get(SU->Node->getTargetOpcode()).getSchedClass();
- InstrStage *S = InstrItins.begin(SchedClass);
- InstrStage *E = InstrItins.end(SchedClass);
+ const InstrStage *S = InstrItins.begin(SchedClass);
+ const InstrStage *E = InstrItins.end(SchedClass);
for (; S != E; ++S)
SU->Latency += S->Cycles;
}
SDNode *FNode = SU->FlaggedNodes[i];
if (FNode->isTargetOpcode()) {
unsigned SchedClass =TII->get(FNode->getTargetOpcode()).getSchedClass();
- InstrStage *S = InstrItins.begin(SchedClass);
- InstrStage *E = InstrItins.end(SchedClass);
+ const InstrStage *S = InstrItins.begin(SchedClass);
+ const InstrStage *E = InstrItins.end(SchedClass);
for (; S != E; ++S)
SU->Latency += S->Cycles;
}
std::string APInt::toString(uint8_t radix, bool wantSigned) const {
assert((radix == 10 || radix == 8 || radix == 16 || radix == 2) &&
"Radix should be 2, 8, 10, or 16!");
- static const char *digits[] = {
+ static const char *const digits[] = {
"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"
};
std::string result;
static void ParseCStringVector(std::vector<char *> &output,
const char *input) {
// Characters which will be treated as token separators:
- static const char *delims = " \v\f\t\r\n";
+ static const char *const delims = " \v\f\t\r\n";
std::string work (input);
// Skip past any delims at head of input string.
#include <cctype>
using namespace llvm;
-static const char* arm_asm_table[] = {"{r0}", "r0",
+static const char *const arm_asm_table[] = {
+ "{r0}", "r0",
"{r1}", "r1",
"{r2}", "r2",
"{r3}", "r3",
assert(c.Codes.size() == 1 && "Too many asm constraint codes to handle");
- const char** table = 0;
+ const char *const *table = 0;
//Grab the translation table from TargetAsmInfo if it exists
if (!TAsm) {
bool DarwinAsmPrinter::doInitialization(Module &M) {
- static const char *CPUDirectives[] = {
+ static const char *const CPUDirectives[] = {
"",
"ppc",
"ppc601",
using namespace llvm;
using namespace llvm::dwarf;
-static const char* x86_asm_table[] = {"{si}", "S",
+static const char *const x86_asm_table[] = {
+ "{si}", "S",
"{di}", "D",
"{ax}", "a",
"{cx}", "c",
// Begin feature table
OS << "// Sorted (by key) array of values for CPU features.\n"
- << "static llvm::SubtargetFeatureKV FeatureKV[] = {\n";
+ << "static const llvm::SubtargetFeatureKV FeatureKV[] = {\n";
// For each feature
for (unsigned i = 0, N = FeatureList.size(); i < N; ++i) {
if (ProcItinList.size() < 2) return;
// Begin stages table
- OS << "static llvm::InstrStage Stages[] = {\n"
+ OS << "static const llvm::InstrStage Stages[] = {\n"
" { 0, 0 }, // No itinerary\n";
unsigned ItinEnum = 1;
// Begin processor itinerary table
OS << "\n";
- OS << "static llvm::InstrItinerary " << Name << "[] = {\n";
+ OS << "static const llvm::InstrItinerary " << Name << "[] = {\n";
// For each itinerary class
std::vector<InstrItinerary> &ItinList = *ProcListIter++;