[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp PowerPCAsmPrinter.cpp
Nate Begeman
natebegeman at mac.com
Tue Mar 29 17:45:54 PST 2005
Changes in directory llvm/lib/Target/PowerPC:
PPC32ISelPattern.cpp updated: 1.17 -> 1.18
PowerPCAsmPrinter.cpp updated: 1.72 -> 1.73
---
Log message:
Fix external symbol printing in the AsmPrinter. Tell the ISel that we
don't support things like memcpy directly. This allows a handful of the
Shootout programs to work, yay!
---
Diffs of the changes: (+13 -1)
PPC32ISelPattern.cpp | 6 ++++++
PowerPCAsmPrinter.cpp | 8 +++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
Index: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.17 llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.18
--- llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.17 Tue Mar 29 16:48:55 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp Tue Mar 29 19:45:43 2005
@@ -47,6 +47,10 @@
addRegisterClass(MVT::f32, PPC32::FPRCRegisterClass);
addRegisterClass(MVT::f64, PPC32::FPRCRegisterClass);
+ setOperationAction(ISD::MEMMOVE, MVT::Other, Expand);
+ setOperationAction(ISD::MEMSET, MVT::Other, Expand);
+ setOperationAction(ISD::MEMCPY, MVT::Other, Expand);
+
computeRegisterProperties();
}
@@ -372,6 +376,7 @@
std::pair<SDOperand, SDOperand> PPC32TargetLowering::
LowerFrameReturnAddress(bool isFrameAddress, SDOperand Chain, unsigned Depth,
SelectionDAG &DAG) {
+ assert(0 && "LowerFrameReturnAddress unimplemented");
abort();
}
@@ -1072,6 +1077,7 @@
case ISD::FP_TO_UINT:
case ISD::FP_TO_SINT:
+ assert(0 && "FP_TO_S/UINT unimplemented");
abort();
case ISD::SETCC:
Index: llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.72 llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.73
--- llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp:1.72 Mon Mar 14 22:54:19 2005
+++ llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp Tue Mar 29 19:45:43 2005
@@ -349,7 +349,13 @@
return;
case MachineOperand::MO_ExternalSymbol:
- O << MO.getSymbolName();
+ if (IsCallOp) {
+ std::string Name(GlobalPrefix); Name += MO.getSymbolName();
+ FnStubs.insert(Name);
+ O << "L" << Name << "$stub";
+ return;
+ }
+ O << GlobalPrefix << MO.getSymbolName();
return;
case MachineOperand::MO_GlobalAddress: {
More information about the llvm-commits
mailing list