diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-07-26 23:29:51 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-07-26 23:29:51 +0000 |
| commit | 0c8de4bfca84f15599783b400cbc9b580cd915ae (patch) | |
| tree | 53cee28d31bf8b6f05513bcc37f38fab8b9c75dd /llvm/lib/CodeGen | |
| parent | 414832fea6de1c13f27ac9b6a38f693495791c26 (diff) | |
| download | bcm5719-llvm-0c8de4bfca84f15599783b400cbc9b580cd915ae.tar.gz bcm5719-llvm-0c8de4bfca84f15599783b400cbc9b580cd915ae.zip | |
Making this code const-correct would be a pain, so I'll hack it.
llvm-svn: 7350
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/InstrSelection/InstrSelection.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/InstrSelection/InstrSelection.cpp b/llvm/lib/CodeGen/InstrSelection/InstrSelection.cpp index e4dd2e9dace..a666c5fe2e1 100644 --- a/llvm/lib/CodeGen/InstrSelection/InstrSelection.cpp +++ b/llvm/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<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 diff --git a/llvm/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp b/llvm/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp index f08e21fb933..4d68b15dea8 100644 --- a/llvm/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp +++ b/llvm/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<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.) |

