diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-07-18 07:29:35 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-07-18 07:29:35 +0000 |
| commit | aba6c4790058b61de13ee86c2aa21d963e3d4666 (patch) | |
| tree | 5c9d8527fd4c5cbc8167e515b92717f0cb6bf7bc | |
| parent | 9ce34cb3233123f9c9338bf00f7d33b20b9c531a (diff) | |
| download | bcm5719-llvm-aba6c4790058b61de13ee86c2aa21d963e3d4666.tar.gz bcm5719-llvm-aba6c4790058b61de13ee86c2aa21d963e3d4666.zip | |
CPR Fixes
llvm-svn: 14961
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCISelSimple.cpp | 6 |
4 files changed, 8 insertions, 12 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp index e8b3ca2161a..184922157df 100644 --- a/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp +++ b/llvm/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<ConstantUInt>(CV)) O << CI->getValue(); - else if (const ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(CV)) + else if (const GlobalValue *GV = dyn_cast<GlobalValue>(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<ConstantExpr>(CV)) { const TargetData &TD = TM.getTargetData(); switch(CE->getOpcode()) { diff --git a/llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp b/llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp index 3b53905237d..340cbe95ef0 100644 --- a/llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp +++ b/llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp @@ -520,8 +520,8 @@ void ISel::copyConstantToRegister(MachineBasicBlock *MBB, } else if (isa<ConstantPointerNull>(C)) { // Copy zero (null pointer) to the register. BuildMI(*MBB, IP, PPC32::LI, 1, R).addImm(0); - } else if (ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(C)) { - unsigned AddrReg = getReg(CPR->getValue(), MBB, IP); + } else if (GlobalValue *GV = dyn_cast<GlobalValue>(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<ConstantPointerRef>(Src)) - Src = CPR->getValue(); std::vector<Value*> GEPOps; GEPOps.resize(IdxEnd-IdxBegin+1); diff --git a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index e8b3ca2161a..184922157df 100644 --- a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/llvm/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<ConstantUInt>(CV)) O << CI->getValue(); - else if (const ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(CV)) + else if (const GlobalValue *GV = dyn_cast<GlobalValue>(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<ConstantExpr>(CV)) { const TargetData &TD = TM.getTargetData(); switch(CE->getOpcode()) { diff --git a/llvm/lib/Target/PowerPC/PowerPCISelSimple.cpp b/llvm/lib/Target/PowerPC/PowerPCISelSimple.cpp index 3b53905237d..340cbe95ef0 100644 --- a/llvm/lib/Target/PowerPC/PowerPCISelSimple.cpp +++ b/llvm/lib/Target/PowerPC/PowerPCISelSimple.cpp @@ -520,8 +520,8 @@ void ISel::copyConstantToRegister(MachineBasicBlock *MBB, } else if (isa<ConstantPointerNull>(C)) { // Copy zero (null pointer) to the register. BuildMI(*MBB, IP, PPC32::LI, 1, R).addImm(0); - } else if (ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(C)) { - unsigned AddrReg = getReg(CPR->getValue(), MBB, IP); + } else if (GlobalValue *GV = dyn_cast<GlobalValue>(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<ConstantPointerRef>(Src)) - Src = CPR->getValue(); std::vector<Value*> GEPOps; GEPOps.resize(IdxEnd-IdxBegin+1); |

