[llvm-commits] CVS: llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp PowerPCTargetMachine.h

Misha Brukman brukman at cs.uiuc.edu
Wed Aug 11 16:47:19 PDT 2004



Changes in directory llvm/lib/Target/PowerPC:

PowerPCTargetMachine.cpp updated: 1.26 -> 1.27
PowerPCTargetMachine.h updated: 1.5 -> 1.6
---
Log message:

* Move AIX into the llvm namespace to be accessed from RegisterInfo
* Mark InstrInfo with 32 vs. 64 bit flag
* Enable the 64-bit isel and asm printer


---
Diffs of the changes:  (+15 -11)

Index: llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp
diff -u llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp:1.26 llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp:1.27
--- llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp:1.26	Wed Aug 11 08:35:44 2004
+++ llvm/lib/Target/PowerPC/PowerPCTargetMachine.cpp	Wed Aug 11 18:47:08 2004
@@ -28,11 +28,13 @@
 #include <iostream>
 using namespace llvm;
 
+namespace llvm {
+  cl::opt<bool> AIX("aix", 
+                    cl::desc("Generate AIX/xcoff instead of Darwin/MachO"), 
+                    cl::Hidden);
+}
+
 namespace {
-  cl::opt<bool> 
-    AIX("aix", 
-    cl::desc("Generate AIX/xcoff rather than Darwin/macho"), 
-    cl::Hidden);
   const std::string PPC32 = "PowerPC/32bit";
   const std::string PPC64 = "PowerPC/64bit";
   
@@ -47,8 +49,10 @@
                                            IntrinsicLowering *IL,
                                            const TargetData &TD,
                                            const TargetFrameInfo &TFI,
-                                           const PowerPCJITInfo &TJI) 
-  : TargetMachine(name, IL, TD), FrameInfo(TFI), JITInfo(TJI) {}
+                                           const PowerPCJITInfo &TJI,
+                                           bool is64b) 
+  : TargetMachine(name, IL, TD), InstrInfo(is64b), FrameInfo(TFI), JITInfo(TJI) 
+{}
 
 unsigned PowerPCTargetMachine::getJITMatchQuality() {
 #if defined(__POWERPC__) || defined (__ppc__) || defined(_POWER)
@@ -80,7 +84,7 @@
   PM.add(createUnreachableBlockEliminationPass());
 
   if (LP64)
-    PM.add(createPPC32ISelSimple(*this));
+    PM.add(createPPC64ISelSimple(*this));
   else
     PM.add(createPPC32ISelSimple(*this));
 
@@ -100,7 +104,7 @@
   PM.add(createPPCBranchSelectionPass());
   
   if (AIX)
-    PM.add(createPPC32AsmPrinter(Out, *this));
+    PM.add(createPPC64AsmPrinter(Out, *this));
   else
     PM.add(createPPC32AsmPrinter(Out, *this));
     
@@ -145,7 +149,7 @@
   : PowerPCTargetMachine(PPC32, IL, 
                          TargetData(PPC32,false,4,4,4,4,4,4,2,1,4),
                          TargetFrameInfo(TargetFrameInfo::StackGrowsDown,16,0),
-                         PPC32JITInfo(*this)) {}
+                         PPC32JITInfo(*this), false) {}
 
 /// PPC64TargetMachine ctor - Create a LP64 architecture model
 ///
@@ -153,7 +157,7 @@
   : PowerPCTargetMachine(PPC64, IL,
                          TargetData(PPC64,false,8,4,4,4,4,4,2,1,4),
                          TargetFrameInfo(TargetFrameInfo::StackGrowsDown,16,0),
-                         PPC64JITInfo(*this)) {}
+                         PPC64JITInfo(*this), true) {}
 
 unsigned PPC32TargetMachine::getModuleMatchQuality(const Module &M) {
   if (M.getEndianness()  == Module::BigEndian &&


Index: llvm/lib/Target/PowerPC/PowerPCTargetMachine.h
diff -u llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.5 llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.6
--- llvm/lib/Target/PowerPC/PowerPCTargetMachine.h:1.5	Wed Aug 11 02:40:04 2004
+++ llvm/lib/Target/PowerPC/PowerPCTargetMachine.h	Wed Aug 11 18:47:08 2004
@@ -34,7 +34,7 @@
 protected:
   PowerPCTargetMachine(const std::string &name, IntrinsicLowering *IL,
                        const TargetData &TD, const TargetFrameInfo &TFI,
-                       const PowerPCJITInfo &TJI);
+                       const PowerPCJITInfo &TJI, bool is64b);
 public:
   virtual const PowerPCInstrInfo *getInstrInfo() const { return &InstrInfo; }
   virtual const TargetFrameInfo  *getFrameInfo() const { return &FrameInfo; }






More information about the llvm-commits mailing list