[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