From 8d3f8e226d6cac7882e9ffe7482602a7521400c3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 26 Jul 2003 23:29:51 +0000 Subject: [PATCH] Making this code const-correct would be a pain, so I'll hack it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7350 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/InstrSelection/InstrSelection.cpp | 9 +++++---- lib/CodeGen/RegAlloc/PhyRegAlloc.cpp | 2 +- lib/Target/SparcV9/InstrSelection/InstrSelection.cpp | 9 +++++---- lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/CodeGen/InstrSelection/InstrSelection.cpp b/lib/CodeGen/InstrSelection/InstrSelection.cpp index e4dd2e9dace..a666c5fe2e1 100644 --- a/lib/CodeGen/InstrSelection/InstrSelection.cpp +++ b/lib/CodeGen/InstrSelection/InstrSelection.cpp @@ -189,8 +189,8 @@ InstructionSelection::InsertCodeForPhis(Function &F) // MachineFunction &MF = MachineFunction::get(&F); for (MachineFunction::iterator BB = MF.begin(); BB != MF.end(); ++BB) { - for (BasicBlock::iterator IIt = BB->getBasicBlock()->begin(); - PHINode *PN = dyn_cast(IIt); ++IIt) { + for (BasicBlock::const_iterator IIt = BB->getBasicBlock()->begin(); + const PHINode *PN = dyn_cast(IIt); ++IIt) { // FIXME: This is probably wrong... Value *PhiCpRes = new PHINode(PN->getType(), "PhiCp:"); @@ -209,7 +209,7 @@ InstructionSelection::InsertCodeForPhis(Function &F) for (vector::iterator MI=mvec.begin(); MI != mvec.end(); ++MI) { vector CpVec2 = - FixConstantOperandsForInstr(PN, *MI, Target); + FixConstantOperandsForInstr(const_cast(PN), *MI, Target); CpVec2.push_back(*MI); CpVec.insert(CpVec.end(), CpVec2.begin(), CpVec2.end()); } @@ -218,7 +218,8 @@ InstructionSelection::InsertCodeForPhis(Function &F) } vector mvec; - Target.getRegInfo().cpValue2Value(PhiCpRes, PN, mvec); + Target.getRegInfo().cpValue2Value(PhiCpRes, const_cast(PN), + mvec); BB->insert(BB->begin(), mvec.begin(), mvec.end()); } // for each Phi Instr in BB } // for all BBs in function diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp index f08e21fb933..4d68b15dea8 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp @@ -569,7 +569,7 @@ void PhyRegAlloc::updateMachineCode() // for (MachineBasicBlock::iterator MII = MBB.begin(); MII != MBB.end(); ++MII) if (!TM.getInstrInfo().isDummyPhiInstr((*MII)->getOpCode()))// ignore Phis - updateInstruction(*MII, MBB.getBasicBlock()); + updateInstruction(*MII, const_cast(MBB.getBasicBlock())); // Now, move code out of delay slots of branches and returns if needed. // (Also, move "after" code from calls to the last delay slot instruction.) diff --git a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp index e4dd2e9dace..a666c5fe2e1 100644 --- a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp +++ b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp @@ -189,8 +189,8 @@ InstructionSelection::InsertCodeForPhis(Function &F) // MachineFunction &MF = MachineFunction::get(&F); for (MachineFunction::iterator BB = MF.begin(); BB != MF.end(); ++BB) { - for (BasicBlock::iterator IIt = BB->getBasicBlock()->begin(); - PHINode *PN = dyn_cast(IIt); ++IIt) { + for (BasicBlock::const_iterator IIt = BB->getBasicBlock()->begin(); + const PHINode *PN = dyn_cast(IIt); ++IIt) { // FIXME: This is probably wrong... Value *PhiCpRes = new PHINode(PN->getType(), "PhiCp:"); @@ -209,7 +209,7 @@ InstructionSelection::InsertCodeForPhis(Function &F) for (vector::iterator MI=mvec.begin(); MI != mvec.end(); ++MI) { vector CpVec2 = - FixConstantOperandsForInstr(PN, *MI, Target); + FixConstantOperandsForInstr(const_cast(PN), *MI, Target); CpVec2.push_back(*MI); CpVec.insert(CpVec.end(), CpVec2.begin(), CpVec2.end()); } @@ -218,7 +218,8 @@ InstructionSelection::InsertCodeForPhis(Function &F) } vector mvec; - Target.getRegInfo().cpValue2Value(PhiCpRes, PN, mvec); + Target.getRegInfo().cpValue2Value(PhiCpRes, const_cast(PN), + mvec); BB->insert(BB->begin(), mvec.begin(), mvec.end()); } // for each Phi Instr in BB } // for all BBs in function diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp index f08e21fb933..4d68b15dea8 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp @@ -569,7 +569,7 @@ void PhyRegAlloc::updateMachineCode() // for (MachineBasicBlock::iterator MII = MBB.begin(); MII != MBB.end(); ++MII) if (!TM.getInstrInfo().isDummyPhiInstr((*MII)->getOpCode()))// ignore Phis - updateInstruction(*MII, MBB.getBasicBlock()); + updateInstruction(*MII, const_cast(MBB.getBasicBlock())); // Now, move code out of delay slots of branches and returns if needed. // (Also, move "after" code from calls to the last delay slot instruction.)