[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp AlphaTargetMachine.cpp AlphaTargetMachine.h

2006-09-07 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.47 - 1.48
AlphaTargetMachine.cpp updated: 1.29 - 1.30
AlphaTargetMachine.h updated: 1.15 - 1.16
---
Log message:

Make target asm info a property of the target machine.


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

 AlphaAsmPrinter.cpp|   12 ++--
 AlphaTargetMachine.cpp |3 ++-
 AlphaTargetMachine.h   |9 +
 3 files changed, 13 insertions(+), 11 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.47 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.48
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.47  Wed Sep  6 13:34:40 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Sep  7 17:06:40 2006
@@ -29,20 +29,13 @@
 namespace {
   Statistic EmittedInsts(asm-printer, Number of machine instrs printed);
   
-  struct VISIBILITY_HIDDEN AlphaTargetAsmInfo : public TargetAsmInfo {
-AlphaTargetAsmInfo() {
-  AlignmentIsInBytes = false;
-  PrivateGlobalPrefix = $;
-}
-  };
-
   struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
 
 /// Unique incrementer for label values for referencing Global values.
 ///
 unsigned LabelNumber;
 
-AlphaAsmPrinter(std::ostream o, TargetMachine tm, TargetAsmInfo *T)
+AlphaAsmPrinter(std::ostream o, TargetMachine tm, const TargetAsmInfo *T)
: AsmPrinter(o, tm, T), LabelNumber(0) {
 }
 
@@ -82,8 +75,7 @@
 ///
 FunctionPass *llvm::createAlphaCodePrinterPass (std::ostream o,
   TargetMachine tm) {
-  AlphaTargetAsmInfo *TAI = new AlphaTargetAsmInfo();
-  return new AlphaAsmPrinter(o, tm, TAI);
+  return new AlphaAsmPrinter(o, tm, tm.getTargetAsmInfo());
 }
 
 #include AlphaGenAsmWriter.inc


Index: llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
diff -u llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.29 
llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.30
--- llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.29   Sun Sep  3 23:14:57 2006
+++ llvm/lib/Target/Alpha/AlphaTargetMachine.cppThu Sep  7 17:06:40 2006
@@ -53,7 +53,8 @@
   : DataLayout(e),
 FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
 JITInfo(*this),
-Subtarget(M, FS) {
+Subtarget(M, FS),
+AsmInfo(NULL) {
 }
 
 


Index: llvm/lib/Target/Alpha/AlphaTargetMachine.h
diff -u llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.15 
llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.16
--- llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.15 Sun Sep  3 23:14:57 2006
+++ llvm/lib/Target/Alpha/AlphaTargetMachine.h  Thu Sep  7 17:06:40 2006
@@ -20,6 +20,7 @@
 #include AlphaInstrInfo.h
 #include AlphaJITInfo.h
 #include AlphaSubtarget.h
+#include AlphaTargetAsmInfo.h
 
 namespace llvm {
 
@@ -31,9 +32,13 @@
   TargetFrameInfo FrameInfo;
   AlphaJITInfo JITInfo;
   AlphaSubtarget Subtarget;
+  AlphaTargetAsmInfo *AsmInfo;
   
 public:
   AlphaTargetMachine(const Module M, const std::string FS);
+  ~AlphaTargetMachine() {
+if (AsmInfo) delete AsmInfo;
+  }
 
   virtual const AlphaInstrInfo *getInstrInfo() const { return InstrInfo; }
   virtual const TargetFrameInfo  *getFrameInfo() const { return FrameInfo; }
@@ -46,6 +51,10 @@
 return JITInfo;
   }
 
+  virtual const TargetAsmInfo *createTargetAsmInfo() const {
+return static_castconst TargetAsmInfo *(new AlphaTargetAsmInfo(*this));
+  }
+
   static unsigned getJITMatchQuality();
   static unsigned getModuleMatchQuality(const Module M);
   



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp AlphaTargetMachine.cpp AlphaTargetMachine.h

2006-05-02 Thread Owen Anderson


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.35 - 1.36
AlphaTargetMachine.cpp updated: 1.23 - 1.24
AlphaTargetMachine.h updated: 1.12 - 1.13
---
Log message:

Refactor TargetMachine, pushing handling of TargetData into the target-specific 
subclasses.  This has one caller-visible change: getTargetData() now returns a 
pointer instead of a reference.

This fixes PR 759: http://llvm.cs.uiuc.edu/PR759 .



---
Diffs of the changes:  (+9 -6)

 AlphaAsmPrinter.cpp|8 
 AlphaTargetMachine.cpp |3 ++-
 AlphaTargetMachine.h   |4 +++-
 3 files changed, 9 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.35 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.36
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.35  Tue May  2 00:37:32 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Tue May  2 20:29:57 2006
@@ -221,7 +221,7 @@
 }
 
 bool AlphaAsmPrinter::doFinalization(Module M) {
-  const TargetData TD = TM.getTargetData();
+  const TargetData *TD = TM.getTargetData();
 
   for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); 
I != E; ++I)
 if (I-hasInitializer()) {   // External global require no code
@@ -232,8 +232,8 @@
   O  \n\n;
   std::string name = Mang-getValueName(I);
   Constant *C = I-getInitializer();
-  unsigned Size = TD.getTypeSize(C-getType());
-  //  unsigned Align = TD.getTypeAlignmentShift(C-getType());
+  unsigned Size = TD-getTypeSize(C-getType());
+  //  unsigned Align = TD-getTypeAlignmentShift(C-getType());
   unsigned Align = getPreferredAlignmentLog(I);
 
   if (C-isNullValue() 
@@ -243,7 +243,7 @@
 if (I-hasInternalLinkage())
   O  \t.local   name  \n;
 
-O  \t.comm   name  ,  TD.getTypeSize(C-getType())
+O  \t.comm   name  ,  TD-getTypeSize(C-getType())
,  (1  Align)
 \n;
   } else {


Index: llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
diff -u llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.23 
llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.24
--- llvm/lib/Target/Alpha/AlphaTargetMachine.cpp:1.23   Sat Apr  8 14:46:55 2006
+++ llvm/lib/Target/Alpha/AlphaTargetMachine.cppTue May  2 20:29:57 2006
@@ -54,7 +54,8 @@
 }
 
 AlphaTargetMachine::AlphaTargetMachine(const Module M, const std::string FS)
-  : TargetMachine(alpha, true),
+  : TargetMachine(alpha),
+DataLayout(alpha, true),
 FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
 JITInfo(*this),
 Subtarget(M, FS)


Index: llvm/lib/Target/Alpha/AlphaTargetMachine.h
diff -u llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.12 
llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.13
--- llvm/lib/Target/Alpha/AlphaTargetMachine.h:1.12 Wed Mar 22 23:43:15 2006
+++ llvm/lib/Target/Alpha/AlphaTargetMachine.h  Tue May  2 20:29:57 2006
@@ -26,11 +26,12 @@
 class GlobalValue;
 
 class AlphaTargetMachine : public TargetMachine {
+  const TargetData DataLayout;   // Calculates type size  alignment
   AlphaInstrInfo InstrInfo;
   TargetFrameInfo FrameInfo;
   AlphaJITInfo JITInfo;
   AlphaSubtarget Subtarget;
-
+  
 public:
   AlphaTargetMachine(const Module M, const std::string FS);
 
@@ -40,6 +41,7 @@
   virtual const MRegisterInfo *getRegisterInfo() const {
 return InstrInfo.getRegisterInfo();
   }
+  virtual const TargetData   *getTargetData() const { return DataLayout; }
   virtual TargetJITInfo* getJITInfo() {
 return JITInfo;
   }



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits