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
This commit is contained in:
Chris Lattner 2003-07-26 23:29:51 +00:00
parent 9e2dd8f8d7
commit 8d3f8e226d
4 changed files with 12 additions and 10 deletions

View File

@ -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<PHINode>(IIt); ++IIt) {
for (BasicBlock::const_iterator IIt = BB->getBasicBlock()->begin();
const PHINode *PN = dyn_cast<PHINode>(IIt); ++IIt) {
// FIXME: This is probably wrong...
Value *PhiCpRes = new PHINode(PN->getType(), "PhiCp:");
@ -209,7 +209,7 @@ InstructionSelection::InsertCodeForPhis(Function &F)
for (vector<MachineInstr*>::iterator MI=mvec.begin();
MI != mvec.end(); ++MI) {
vector<MachineInstr*> CpVec2 =
FixConstantOperandsForInstr(PN, *MI, Target);
FixConstantOperandsForInstr(const_cast<PHINode*>(PN), *MI, Target);
CpVec2.push_back(*MI);
CpVec.insert(CpVec.end(), CpVec2.begin(), CpVec2.end());
}
@ -218,7 +218,8 @@ InstructionSelection::InsertCodeForPhis(Function &F)
}
vector<MachineInstr*> mvec;
Target.getRegInfo().cpValue2Value(PhiCpRes, PN, mvec);
Target.getRegInfo().cpValue2Value(PhiCpRes, const_cast<PHINode*>(PN),
mvec);
BB->insert(BB->begin(), mvec.begin(), mvec.end());
} // for each Phi Instr in BB
} // for all BBs in function

View File

@ -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<BasicBlock*>(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.)

View File

@ -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<PHINode>(IIt); ++IIt) {
for (BasicBlock::const_iterator IIt = BB->getBasicBlock()->begin();
const PHINode *PN = dyn_cast<PHINode>(IIt); ++IIt) {
// FIXME: This is probably wrong...
Value *PhiCpRes = new PHINode(PN->getType(), "PhiCp:");
@ -209,7 +209,7 @@ InstructionSelection::InsertCodeForPhis(Function &F)
for (vector<MachineInstr*>::iterator MI=mvec.begin();
MI != mvec.end(); ++MI) {
vector<MachineInstr*> CpVec2 =
FixConstantOperandsForInstr(PN, *MI, Target);
FixConstantOperandsForInstr(const_cast<PHINode*>(PN), *MI, Target);
CpVec2.push_back(*MI);
CpVec.insert(CpVec.end(), CpVec2.begin(), CpVec2.end());
}
@ -218,7 +218,8 @@ InstructionSelection::InsertCodeForPhis(Function &F)
}
vector<MachineInstr*> mvec;
Target.getRegInfo().cpValue2Value(PhiCpRes, PN, mvec);
Target.getRegInfo().cpValue2Value(PhiCpRes, const_cast<PHINode*>(PN),
mvec);
BB->insert(BB->begin(), mvec.begin(), mvec.end());
} // for each Phi Instr in BB
} // for all BBs in function

View File

@ -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<BasicBlock*>(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.)