From: Chris Lattner Date: Sun, 18 Jul 2004 07:29:35 +0000 (+0000) Subject: CPR Fixes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=67910e1eb024bb78cab2f4ffb48c3a79b5647f64;p=oota-llvm.git CPR Fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14961 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/lib/Target/PowerPC/PPC32AsmPrinter.cpp index e8b3ca2161a..184922157df 100644 --- a/lib/Target/PowerPC/PPC32AsmPrinter.cpp +++ b/lib/Target/PowerPC/PPC32AsmPrinter.cpp @@ -161,10 +161,10 @@ void Printer::emitConstantValueOnly(const Constant *CV) { O << CI->getValue(); else if (const ConstantUInt *CI = dyn_cast(CV)) O << CI->getValue(); - else if (const ConstantPointerRef *CPR = dyn_cast(CV)) + else if (const GlobalValue *GV = dyn_cast(CV)) // This is a constant address for a global variable or function. Use the // name of the variable or function as the address value. - O << Mang->getValueName(CPR->getValue()); + O << Mang->getValueName(GV); else if (const ConstantExpr *CE = dyn_cast(CV)) { const TargetData &TD = TM.getTargetData(); switch(CE->getOpcode()) { diff --git a/lib/Target/PowerPC/PPC32ISelSimple.cpp b/lib/Target/PowerPC/PPC32ISelSimple.cpp index 3b53905237d..340cbe95ef0 100644 --- a/lib/Target/PowerPC/PPC32ISelSimple.cpp +++ b/lib/Target/PowerPC/PPC32ISelSimple.cpp @@ -520,8 +520,8 @@ void ISel::copyConstantToRegister(MachineBasicBlock *MBB, } else if (isa(C)) { // Copy zero (null pointer) to the register. BuildMI(*MBB, IP, PPC32::LI, 1, R).addImm(0); - } else if (ConstantPointerRef *CPR = dyn_cast(C)) { - unsigned AddrReg = getReg(CPR->getValue(), MBB, IP); + } else if (GlobalValue *GV = dyn_cast(C)) { + unsigned AddrReg = getReg(GV, MBB, IP); BuildMI(*MBB, IP, PPC32::OR, 2, R).addReg(AddrReg).addReg(AddrReg); } else { std::cerr << "Offending constant: " << *C << "\n"; @@ -2771,8 +2771,6 @@ void ISel::emitGEPOperation(MachineBasicBlock *MBB, Value *Src, User::op_iterator IdxBegin, User::op_iterator IdxEnd, unsigned TargetReg) { const TargetData &TD = TM.getTargetData(); - if (ConstantPointerRef *CPR = dyn_cast(Src)) - Src = CPR->getValue(); std::vector GEPOps; GEPOps.resize(IdxEnd-IdxBegin+1); diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index e8b3ca2161a..184922157df 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -161,10 +161,10 @@ void Printer::emitConstantValueOnly(const Constant *CV) { O << CI->getValue(); else if (const ConstantUInt *CI = dyn_cast(CV)) O << CI->getValue(); - else if (const ConstantPointerRef *CPR = dyn_cast(CV)) + else if (const GlobalValue *GV = dyn_cast(CV)) // This is a constant address for a global variable or function. Use the // name of the variable or function as the address value. - O << Mang->getValueName(CPR->getValue()); + O << Mang->getValueName(GV); else if (const ConstantExpr *CE = dyn_cast(CV)) { const TargetData &TD = TM.getTargetData(); switch(CE->getOpcode()) { diff --git a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index e8b3ca2161a..184922157df 100644 --- a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -161,10 +161,10 @@ void Printer::emitConstantValueOnly(const Constant *CV) { O << CI->getValue(); else if (const ConstantUInt *CI = dyn_cast(CV)) O << CI->getValue(); - else if (const ConstantPointerRef *CPR = dyn_cast(CV)) + else if (const GlobalValue *GV = dyn_cast(CV)) // This is a constant address for a global variable or function. Use the // name of the variable or function as the address value. - O << Mang->getValueName(CPR->getValue()); + O << Mang->getValueName(GV); else if (const ConstantExpr *CE = dyn_cast(CV)) { const TargetData &TD = TM.getTargetData(); switch(CE->getOpcode()) { diff --git a/lib/Target/PowerPC/PowerPCISelSimple.cpp b/lib/Target/PowerPC/PowerPCISelSimple.cpp index 3b53905237d..340cbe95ef0 100644 --- a/lib/Target/PowerPC/PowerPCISelSimple.cpp +++ b/lib/Target/PowerPC/PowerPCISelSimple.cpp @@ -520,8 +520,8 @@ void ISel::copyConstantToRegister(MachineBasicBlock *MBB, } else if (isa(C)) { // Copy zero (null pointer) to the register. BuildMI(*MBB, IP, PPC32::LI, 1, R).addImm(0); - } else if (ConstantPointerRef *CPR = dyn_cast(C)) { - unsigned AddrReg = getReg(CPR->getValue(), MBB, IP); + } else if (GlobalValue *GV = dyn_cast(C)) { + unsigned AddrReg = getReg(GV, MBB, IP); BuildMI(*MBB, IP, PPC32::OR, 2, R).addReg(AddrReg).addReg(AddrReg); } else { std::cerr << "Offending constant: " << *C << "\n"; @@ -2771,8 +2771,6 @@ void ISel::emitGEPOperation(MachineBasicBlock *MBB, Value *Src, User::op_iterator IdxBegin, User::op_iterator IdxEnd, unsigned TargetReg) { const TargetData &TD = TM.getTargetData(); - if (ConstantPointerRef *CPR = dyn_cast(Src)) - Src = CPR->getValue(); std::vector GEPOps; GEPOps.resize(IdxEnd-IdxBegin+1);