mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-11 11:34:02 +00:00
Fix unnecessary removal of const through cast machinery
I have some uncommitted changes to the cast code that catch this sort of thing at compile-time but I still need to do some other cleanup before I can enable it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174853 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
612779eb83
commit
f12b379448
@ -176,7 +176,7 @@ public:
|
||||
OS << StringRef(Zeros, N % 16);
|
||||
}
|
||||
|
||||
void WriteBytes(SmallVectorImpl<char> &ByteVec, unsigned ZeroFillSize = 0) {
|
||||
void WriteBytes(const SmallVectorImpl<char> &ByteVec, unsigned ZeroFillSize = 0) {
|
||||
WriteBytes(StringRef(ByteVec.data(), ByteVec.size()), ZeroFillSize);
|
||||
}
|
||||
|
||||
|
@ -1249,7 +1249,7 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
case Instruction::Br:
|
||||
{
|
||||
Code = bitc::FUNC_CODE_INST_BR;
|
||||
BranchInst &II = cast<BranchInst>(I);
|
||||
const BranchInst &II = cast<BranchInst>(I);
|
||||
Vals.push_back(VE.getValueID(II.getSuccessor(0)));
|
||||
if (II.isConditional()) {
|
||||
Vals.push_back(VE.getValueID(II.getSuccessor(1)));
|
||||
@ -1264,7 +1264,7 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
SmallVector<uint64_t, 128> Vals64;
|
||||
|
||||
Code = bitc::FUNC_CODE_INST_SWITCH;
|
||||
SwitchInst &SI = cast<SwitchInst>(I);
|
||||
const SwitchInst &SI = cast<SwitchInst>(I);
|
||||
|
||||
uint32_t SwitchRecordHeader = SI.hash() | (SWITCH_INST_MAGIC << 16);
|
||||
Vals64.push_back(SwitchRecordHeader);
|
||||
@ -1273,9 +1273,9 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
pushValue64(SI.getCondition(), InstID, Vals64, VE);
|
||||
Vals64.push_back(VE.getValueID(SI.getDefaultDest()));
|
||||
Vals64.push_back(SI.getNumCases());
|
||||
for (SwitchInst::CaseIt i = SI.case_begin(), e = SI.case_end();
|
||||
for (SwitchInst::ConstCaseIt i = SI.case_begin(), e = SI.case_end();
|
||||
i != e; ++i) {
|
||||
IntegersSubset& CaseRanges = i.getCaseValueEx();
|
||||
const IntegersSubset& CaseRanges = i.getCaseValueEx();
|
||||
unsigned Code, Abbrev; // will unused.
|
||||
|
||||
if (CaseRanges.isSingleNumber()) {
|
||||
|
@ -1758,7 +1758,7 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
|
||||
|
||||
// Special case conditional branches to swizzle the condition out to the front
|
||||
if (isa<BranchInst>(I) && cast<BranchInst>(I).isConditional()) {
|
||||
BranchInst &BI(cast<BranchInst>(I));
|
||||
const BranchInst &BI(cast<BranchInst>(I));
|
||||
Out << ' ';
|
||||
writeOperand(BI.getCondition(), true);
|
||||
Out << ", ";
|
||||
@ -1767,14 +1767,14 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
|
||||
writeOperand(BI.getSuccessor(1), true);
|
||||
|
||||
} else if (isa<SwitchInst>(I)) {
|
||||
SwitchInst& SI(cast<SwitchInst>(I));
|
||||
const SwitchInst& SI(cast<SwitchInst>(I));
|
||||
// Special case switch instruction to get formatting nice and correct.
|
||||
Out << ' ';
|
||||
writeOperand(SI.getCondition(), true);
|
||||
Out << ", ";
|
||||
writeOperand(SI.getDefaultDest(), true);
|
||||
Out << " [";
|
||||
for (SwitchInst::CaseIt i = SI.case_begin(), e = SI.case_end();
|
||||
for (SwitchInst::ConstCaseIt i = SI.case_begin(), e = SI.case_end();
|
||||
i != e; ++i) {
|
||||
Out << "\n ";
|
||||
writeOperand(i.getCaseValue(), true);
|
||||
|
@ -421,7 +421,7 @@ uint64_t MCAssembler::computeFragmentSize(const MCAsmLayout &Layout,
|
||||
}
|
||||
|
||||
case MCFragment::FT_Org: {
|
||||
MCOrgFragment &OF = cast<MCOrgFragment>(F);
|
||||
const MCOrgFragment &OF = cast<MCOrgFragment>(F);
|
||||
int64_t TargetLocation;
|
||||
if (!OF.getOffset().EvaluateAsAbsolute(TargetLocation, Layout))
|
||||
report_fatal_error("expected assembly-time absolute expression");
|
||||
@ -498,7 +498,7 @@ void MCAsmLayout::layoutFragment(MCFragment *F) {
|
||||
/// \brief Write the contents of a fragment to the given object writer. Expects
|
||||
/// a MCEncodedFragment.
|
||||
static void writeFragmentContents(const MCFragment &F, MCObjectWriter *OW) {
|
||||
MCEncodedFragment &EF = cast<MCEncodedFragment>(F);
|
||||
const MCEncodedFragment &EF = cast<MCEncodedFragment>(F);
|
||||
OW->WriteBytes(EF.getContents());
|
||||
}
|
||||
|
||||
@ -549,7 +549,7 @@ static void writeFragment(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
switch (F.getKind()) {
|
||||
case MCFragment::FT_Align: {
|
||||
++stats::EmittedAlignFragments;
|
||||
MCAlignFragment &AF = cast<MCAlignFragment>(F);
|
||||
const MCAlignFragment &AF = cast<MCAlignFragment>(F);
|
||||
uint64_t Count = FragmentSize / AF.getValueSize();
|
||||
|
||||
assert(AF.getValueSize() && "Invalid virtual align in concrete fragment!");
|
||||
@ -604,7 +604,7 @@ static void writeFragment(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
|
||||
case MCFragment::FT_Fill: {
|
||||
++stats::EmittedFillFragments;
|
||||
MCFillFragment &FF = cast<MCFillFragment>(F);
|
||||
const MCFillFragment &FF = cast<MCFillFragment>(F);
|
||||
|
||||
assert(FF.getValueSize() && "Invalid virtual align in concrete fragment!");
|
||||
|
||||
@ -621,14 +621,14 @@ static void writeFragment(const MCAssembler &Asm, const MCAsmLayout &Layout,
|
||||
}
|
||||
|
||||
case MCFragment::FT_LEB: {
|
||||
MCLEBFragment &LF = cast<MCLEBFragment>(F);
|
||||
const MCLEBFragment &LF = cast<MCLEBFragment>(F);
|
||||
OW->WriteBytes(LF.getContents().str());
|
||||
break;
|
||||
}
|
||||
|
||||
case MCFragment::FT_Org: {
|
||||
++stats::EmittedOrgFragments;
|
||||
MCOrgFragment &OF = cast<MCOrgFragment>(F);
|
||||
const MCOrgFragment &OF = cast<MCOrgFragment>(F);
|
||||
|
||||
for (uint64_t i = 0, e = FragmentSize; i != e; ++i)
|
||||
OW->Write8(uint8_t(OF.getValue()));
|
||||
@ -667,7 +667,7 @@ void MCAssembler::writeSectionData(const MCSectionData *SD,
|
||||
// Check that we aren't trying to write a non-zero contents (or fixups)
|
||||
// into a virtual section. This is to support clients which use standard
|
||||
// directives to fill the contents of virtual sections.
|
||||
MCDataFragment &DF = cast<MCDataFragment>(*it);
|
||||
const MCDataFragment &DF = cast<MCDataFragment>(*it);
|
||||
assert(DF.fixup_begin() == DF.fixup_end() &&
|
||||
"Cannot have fixups in virtual section!");
|
||||
for (unsigned i = 0, e = DF.getContents().size(); i != e; ++i)
|
||||
|
Loading…
x
Reference in New Issue
Block a user