[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp AlphaISelDAGToDAG.cpp AlphaISelLowering.cpp AlphaLLRP.cpp AlphaRegisterInfo.cpp

2007-04-16 Thread Anton Korobeynikov


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.63 -> 1.64
AlphaISelDAGToDAG.cpp updated: 1.68 -> 1.69
AlphaISelLowering.cpp updated: 1.85 -> 1.86
AlphaLLRP.cpp updated: 1.7 -> 1.8
AlphaRegisterInfo.cpp updated: 1.64 -> 1.65
---
Log message:

Removed tabs everywhere except autogenerated & external files. Add make 
target for tabs checking.


---
Diffs of the changes:  (+207 -205)

 AlphaAsmPrinter.cpp   |   16 ++--
 AlphaISelDAGToDAG.cpp |  108 ++--
 AlphaISelLowering.cpp |   79 ++--
 AlphaLLRP.cpp |  189 +-
 AlphaRegisterInfo.cpp |   20 ++---
 5 files changed, 207 insertions(+), 205 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.63 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.64
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.63  Tue Feb 13 17:41:16 2007
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Apr 16 13:10:22 2007
@@ -53,9 +53,9 @@
 bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
  unsigned AsmVariant, const char *ExtraCode);
 bool PrintAsmMemoryOperand(const MachineInstr *MI, 
-  unsigned OpNo,
-  unsigned AsmVariant, 
-  const char *ExtraCode);
+   unsigned OpNo,
+   unsigned AsmVariant, 
+   const char *ExtraCode);
   };
 } // end of anonymous namespace
 
@@ -278,16 +278,16 @@
 /// PrintAsmOperand - Print out an operand for an inline asm expression.
 ///
 bool AlphaAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
-unsigned AsmVariant, 
-const char *ExtraCode) {
+  unsigned AsmVariant, 
+  const char *ExtraCode) {
   printOperand(MI, OpNo);
   return false;
 }
 
 bool AlphaAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, 
-   unsigned OpNo,
-   unsigned AsmVariant, 
-   const char *ExtraCode) {
+unsigned OpNo,
+unsigned AsmVariant, 
+const char *ExtraCode) {
   if (ExtraCode && ExtraCode[0])
 return true; // Unknown modifier.
   O << "0(";


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.68 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.69
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.68Wed Jan 24 15:09:16 2007
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Mon Apr 16 13:10:22 2007
@@ -50,7 +50,7 @@
 static int64_t get_ldah16(int64_t x) {
   int64_t y = x / IMM_MULT;
   if (x % IMM_MULT > IMM_HIGH)
-   ++y;
+++y;
   return y;
 }
 
@@ -145,7 +145,7 @@
   public:
 AlphaDAGToDAGISel(TargetMachine &TM)
   : SelectionDAGISel(AlphaLowering), 
-   AlphaLowering(*(AlphaTargetLowering*)(TM.getTargetLowering())) 
+AlphaLowering(*(AlphaTargetLowering*)(TM.getTargetLowering())) 
 {}
 
 /// getI64Imm - Return a target constant with the specified value, of type
@@ -177,7 +177,7 @@
   default: return true;
   case 'm':   // memory
 Op0 = Op;
-   AddToISelQueue(Op0);
+AddToISelQueue(Op0);
 break;
   }
   
@@ -203,7 +203,7 @@
   MachineFunction* MF = BB->getParent();
   unsigned GP = 0;
   for(MachineFunction::livein_iterator ii = MF->livein_begin(), 
-   ee = MF->livein_end(); ii != ee; ++ii)
+ee = MF->livein_end(); ii != ee; ++ii)
 if (ii->first == Alpha::R29) {
   GP = ii->second;
   break;
@@ -219,7 +219,7 @@
   MachineFunction* MF = BB->getParent();
   unsigned RA = 0;
   for(MachineFunction::livein_iterator ii = MF->livein_begin(), 
-   ee = MF->livein_end(); ii != ee; ++ii)
+ee = MF->livein_end(); ii != ee; ++ii)
 if (ii->first == Alpha::R26) {
   RA = ii->second;
   break;
@@ -283,16 +283,16 @@
 AddToISelQueue(N1);
 AddToISelQueue(N2);
 Chain = CurDAG->getCopyToReg(Chain, Alpha::R24, N1, 
-SDOperand(0,0));
+ SDOperand(0,0));
 Chain = CurDAG->getCopyToReg(Chain, Alpha::R25, N2, 
-Chain.getValue(1));
+ Chain.getValue(1));
 Chain = CurDAG->getCopyToReg(Chain, Alpha::R27, N0, 
-Chain.getValue(1));
+ Chain.getValue(1));
 SDNode *CNode =
   CurDAG->getTargetNode(Alpha::JSRs, MVT::Other, MVT::Flag, 
 Chain, Chain.getValue(1));

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

2007-02-13 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.62 -> 1.63
---
Log message:

Well this isn't as ugly and it works better. At least gcc bootstraps again

---
Diffs of the changes:  (+70 -71)

 AlphaAsmPrinter.cpp |  141 +---
 1 files changed, 70 insertions(+), 71 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.62 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.63
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.62  Wed Jan 24 15:09:16 2007
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Tue Feb 13 17:41:16 2007
@@ -112,9 +112,13 @@
 O << MO.getSymbolName();
 return;
 
-  case MachineOperand::MO_GlobalAddress:
-O << Mang->getValueName(MO.getGlobal());
+  case MachineOperand::MO_GlobalAddress: {
+GlobalValue *GV = MO.getGlobal();
+O << Mang->getValueName(GV);
+if (GV->isDeclaration() && GV->hasExternalWeakLinkage())
+  ExtWeakSymbols.insert(GV);
 return;
+  }
 
   case MachineOperand::MO_JumpTableIndex:
 O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
@@ -189,88 +193,83 @@
 
 bool AlphaAsmPrinter::doInitialization(Module &M)
 {
-  AsmPrinter::doInitialization(M);
   if(TM.getSubtarget().hasCT())
 O << "\t.arch ev6\n"; //This might need to be ev67, so leave this test here
   else
 O << "\t.arch ev6\n";
   O << "\t.set noat\n";
+  AsmPrinter::doInitialization(M);
   return false;
 }
 
 bool AlphaAsmPrinter::doFinalization(Module &M) {
   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
-  // Check to see if this is a special global used by LLVM, if so, emit it.
-  if (EmitSpecialLLVMGlobal(I))
-continue;
-  
-  O << "\n\n";
-  std::string name = Mang->getValueName(I);
-  Constant *C = I->getInitializer();
-  unsigned Size = TD->getTypeSize(C->getType());
-  //  unsigned Align = 
TD->getPreferredTypeAlignmentShift(C->getType());
-  unsigned Align = TD->getPreferredAlignmentLog(I);
-
-  if (C->isNullValue() &&
-  (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||
-   I->hasWeakLinkage() /* FIXME: Verify correct */)) {
-SwitchToDataSection("\t.section .data", I);
-if (I->hasInternalLinkage())
-  O << "\t.local " << name << "\n";
-
-O << "\t.comm " << name << "," << TD->getTypeSize(C->getType())
-  << "," << (1 << Align)
-  <<  "\n";
-  } else {
-switch (I->getLinkage()) {
-case GlobalValue::LinkOnceLinkage:
-case GlobalValue::WeakLinkage:   // FIXME: Verify correct for weak.
-  // Nonnull linkonce -> weak
-  O << "\t.weak " << name << "\n";
-  O << "\t.section\t.llvm.linkonce.d." << name << 
",\"aw\",@progbits\n";
-  SwitchToDataSection("", I);
-  break;
-case GlobalValue::AppendingLinkage:
-  // FIXME: appending linkage variables should go into a section of
-  // their name or something.  For now, just emit them as external.
-case GlobalValue::ExternalLinkage:
-  // If external or appending, declare as a global symbol
-  O << "\t.globl " << name << "\n";
-  // FALL THROUGH
-case GlobalValue::InternalLinkage:
-  SwitchToDataSection(C->isNullValue() ? "\t.section .bss" : 
-  "\t.section .data", I);
-  break;
-case GlobalValue::GhostLinkage:
-  cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";
-  abort();
-case GlobalValue::DLLImportLinkage:
-  cerr << "DLLImport linkage is not supported by this target!\n";
-  abort();
-case GlobalValue::DLLExportLinkage:
-  cerr << "DLLExport linkage is not supported by this target!\n";
-  abort();
-default:
-  assert(0 && "Unknown linkage type!");
-}
-
-EmitAlignment(Align);
-O << "\t.type " << name << ",@object\n";
-O << "\t.size " << name << "," << Size << "\n";
-O << name << ":\n";
-EmitGlobalConstant(C);
-  }
-}
+  for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); 
I != E; ++I) {
 
-  for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I)
-if (I->hasExternalWeakLinkage()) {
-  O << "\n\n";
-  std::string name = Mang->getValueName(I);
-  O << "\t.weak " << name << "\n";
+if (!I->hasInitializer()) continue;  // External global require no code
+
+// Check to see if this is a special global used by LLVM, if so, emit it.
+if (EmitSpecialLLVMGlobal(I))
+  continue;
+
+std::string name = Mang->getValueName(I);
+Constant *C = I->getInitializer();
+unsigned Size = TD->getTypeSize(C->getType()

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

2007-01-23 Thread Evan Cheng


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.60 -> 1.61
---
Log message:

Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().

---
Diffs of the changes:  (+1 -1)

 AlphaAsmPrinter.cpp |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.60 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.61
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.60  Tue Dec 19 16:59:25 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Jan 24 01:03:39 2007
@@ -212,7 +212,7 @@
   std::string name = Mang->getValueName(I);
   Constant *C = I->getInitializer();
   unsigned Size = TD->getTypeSize(C->getType());
-  //  unsigned Align = TD->getTypeAlignmentShift(C->getType());
+  //  unsigned Align = 
TD->getPreferredTypeAlignmentShift(C->getType());
   unsigned Align = TD->getPreferredAlignmentLog(I);
 
   if (C->isNullValue() &&



___
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 AlphaCodeEmitter.cpp AlphaISelDAGToDAG.cpp AlphaLLRP.cpp

2006-12-19 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.59 -> 1.60
AlphaCodeEmitter.cpp updated: 1.20 -> 1.21
AlphaISelDAGToDAG.cpp updated: 1.63 -> 1.64
AlphaLLRP.cpp updated: 1.6 -> 1.7
---
Log message:

eliminate static ctors for Statistic objects.


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

 AlphaAsmPrinter.cpp   |5 +++--
 AlphaCodeEmitter.cpp  |7 +--
 AlphaISelDAGToDAG.cpp |1 -
 AlphaLLRP.cpp |   12 ++--
 4 files changed, 10 insertions(+), 15 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.59 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.60
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.59  Thu Dec  7 17:55:55 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Tue Dec 19 16:59:25 2006
@@ -12,6 +12,7 @@
 //
 
//===--===//
 
+#define DEBUG_TYPE "asm-printer"
 #include "Alpha.h"
 #include "AlphaInstrInfo.h"
 #include "AlphaTargetMachine.h"
@@ -26,9 +27,9 @@
 #include "llvm/ADT/Statistic.h"
 using namespace llvm;
 
+STATISTIC(EmittedInsts, "Number of machine instrs printed");
+
 namespace {
-  Statistic EmittedInsts("asm-printer", "Number of machine instrs printed");
-  
   struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
 
 /// Unique incrementer for label values for referencing Global values.


Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.20 
llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.21
--- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.20 Thu Dec  7 16:21:48 2006
+++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp  Tue Dec 19 16:59:25 2006
@@ -12,6 +12,7 @@
 //
 
//===--===//
 
+#define DEBUG_TYPE "alpha-emitter"
 #include "AlphaTargetMachine.h"
 #include "AlphaRelocations.h"
 #include "Alpha.h"
@@ -22,15 +23,9 @@
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/Function.h"
 #include "llvm/Support/Debug.h"
-#include "llvm/ADT/Statistic.h"
 using namespace llvm;
 
 namespace {
-  Statistic
-  NumEmitted("alpha-emitter", "Number of machine instructions emitted");
-}
-
-namespace {
   class AlphaCodeEmitter : public MachineFunctionPass {
 const AlphaInstrInfo  *II;
 TargetMachine &TM;


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.63 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.64
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.63Thu Dec  7 16:21:48 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Tue Dec 19 16:59:25 2006
@@ -22,7 +22,6 @@
 #include "llvm/CodeGen/SelectionDAG.h"
 #include "llvm/CodeGen/SelectionDAGISel.h"
 #include "llvm/Target/TargetOptions.h"
-#include "llvm/ADT/Statistic.h"
 #include "llvm/Constants.h"
 #include "llvm/GlobalValue.h"
 #include "llvm/Intrinsics.h"


Index: llvm/lib/Target/Alpha/AlphaLLRP.cpp
diff -u llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.6 
llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.7
--- llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.6 Thu Dec  7 17:55:55 2006
+++ llvm/lib/Target/Alpha/AlphaLLRP.cpp Tue Dec 19 16:59:25 2006
@@ -8,10 +8,11 @@
 
//===--===//
 //
 // Here we check for potential replay traps introduced by the spiller
-// We also align some branch targets if we can do so for free
+// We also align some branch targets if we can do so for free.
+//
 
//===--===//
 
-
+#define DEBUG_TYPE "alpha-nops"
 #include "Alpha.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
@@ -22,11 +23,10 @@
 #include "llvm/Support/CommandLine.h"
 using namespace llvm;
 
-namespace {
-  Statistic nopintro("alpha-nops", "Number of nops inserted");
-  Statistic nopalign("alpha-nops-align", 
-  "Number of nops inserted for alignment");
+STATISTIC(nopintro, "Number of nops inserted");
+STATISTIC(nopalign, "Number of nops inserted for alignment");
 
+namespace {
   cl::opt
   AlignAll("alpha-align-all", cl::Hidden,
cl::desc("Align all blocks"));



___
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 AlphaLLRP.cpp AlphaTargetAsmInfo.cpp

2006-12-07 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.58 -> 1.59
AlphaLLRP.cpp updated: 1.5 -> 1.6
AlphaTargetAsmInfo.cpp updated: 1.4 -> 1.5
---
Log message:

Simplify a bit

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

 AlphaAsmPrinter.cpp|   41 +++--
 AlphaLLRP.cpp  |3 +++
 AlphaTargetAsmInfo.cpp |1 +
 3 files changed, 15 insertions(+), 30 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.58 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.59
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.58  Thu Dec  7 16:21:48 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Dec  7 17:55:55 2006
@@ -33,20 +33,11 @@
 
 /// Unique incrementer for label values for referencing Global values.
 ///
-unsigned LabelNumber;
 
 AlphaAsmPrinter(std::ostream &o, TargetMachine &tm, const TargetAsmInfo *T)
-   : AsmPrinter(o, tm, T), LabelNumber(0) {
+  : AsmPrinter(o, tm, T) {
 }
 
-/// We name each basic block in a Function with a unique number, so
-/// that we can consistently refer to them later. This is cleared
-/// at the beginning of each call to runOnMachineFunction().
-///
-typedef std::map ValueMapTy;
-ValueMapTy NumberForBB;
-std::string CurSection;
-
 virtual const char *getPassName() const {
   return "Alpha Assembly Printer";
 }
@@ -54,7 +45,6 @@
 void printOp(const MachineOperand &MO, bool IsCallOp = false);
 void printOperand(const MachineInstr *MI, int opNum);
 void printBaseOffsetPair (const MachineInstr *MI, int i, bool 
brackets=true);
-void printMachineInstruction(const MachineInstr *MI);
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
 bool doFinalization(Module &M);
@@ -136,20 +126,6 @@
   }
 }
 
-/// printMachineInstruction -- Print out a single Alpha MI to
-/// the current output stream.
-///
-void AlphaAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
-  ++EmittedInsts;
-  if (printInstruction(MI))
-return; // Printer was automatically generated
-
-  assert(0 && "Unhandled instruction in asm writer!");
-  abort();
-  return;
-}
-
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -177,7 +153,7 @@
  break;
   case Function::WeakLinkage:
   case Function::LinkOnceLinkage:
-O << "\t.weak " << CurrentFnName << "\n";
+O << TAI->getWeakRefDirective() << CurrentFnName << "\n";
 break;
   }
 
@@ -188,16 +164,21 @@
   // Print out code for the function.
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
I != E; ++I) {
-printBasicBlockLabel(I, true);
-O << '\n';
+if (I != MF.begin()) {
+  printBasicBlockLabel(I, true);
+  O << '\n';
+}
 for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
  II != E; ++II) {
   // Print the assembly for the instruction.
+  ++EmittedInsts;
   O << "\t";
-  printMachineInstruction(II);
+  if (!printInstruction(II)) {
+assert(0 && "Unhandled instruction in asm writer!");
+abort();
+  }
 }
   }
-  ++LabelNumber;
 
   O << "\t.end " << CurrentFnName << "\n";
 


Index: llvm/lib/Target/Alpha/AlphaLLRP.cpp
diff -u llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.5 
llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.6
--- llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.5 Wed Dec  6 11:46:32 2006
+++ llvm/lib/Target/Alpha/AlphaLLRP.cpp Thu Dec  7 17:55:55 2006
@@ -117,6 +117,9 @@
 case Alpha::ALTENT:
 case Alpha::MEMLABEL:
 case Alpha::PCLABEL:
+case Alpha::IDEF_I:
+case Alpha::IDEF_F32:
+case Alpha::IDEF_F64:
   --count;
   break;
 case Alpha::BR:


Index: llvm/lib/Target/Alpha/AlphaTargetAsmInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaTargetAsmInfo.cpp:1.4 
llvm/lib/Target/Alpha/AlphaTargetAsmInfo.cpp:1.5
--- llvm/lib/Target/Alpha/AlphaTargetAsmInfo.cpp:1.4Fri Oct  6 17:52:33 2006
+++ llvm/lib/Target/Alpha/AlphaTargetAsmInfo.cppThu Dec  7 17:55:55 2006
@@ -20,4 +20,5 @@
   PrivateGlobalPrefix = "$";
   JumpTableDirective = ".gprel32";
   JumpTableDataSection = "\t.section .rodata\n";
+  WeakRefDirective = "\t.weak\t";
 }



___
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 AlphaCodeEmitter.cpp AlphaISelDAGToDAG.cpp AlphaISelLowering.cpp AlphaInstrInfo.cpp AlphaJITInfo.cpp AlphaRegisterInfo.cpp

2006-12-07 Thread Bill Wendling


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.57 -> 1.58
AlphaCodeEmitter.cpp updated: 1.19 -> 1.20
AlphaISelDAGToDAG.cpp updated: 1.62 -> 1.63
AlphaISelLowering.cpp updated: 1.74 -> 1.75
AlphaInstrInfo.cpp updated: 1.15 -> 1.16
AlphaJITInfo.cpp updated: 1.11 -> 1.12
AlphaRegisterInfo.cpp updated: 1.53 -> 1.54
---
Log message:

What should be the last unnecessary s in the library.


---
Diffs of the changes:  (+42 -50)

 AlphaAsmPrinter.cpp   |9 -
 AlphaCodeEmitter.cpp  |5 ++---
 AlphaISelDAGToDAG.cpp |3 +--
 AlphaISelLowering.cpp |4 +---
 AlphaInstrInfo.cpp|1 -
 AlphaJITInfo.cpp  |   37 ++---
 AlphaRegisterInfo.cpp |   33 -
 7 files changed, 42 insertions(+), 50 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.57 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.58
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.57  Thu Dec  7 11:39:14 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Dec  7 16:21:48 2006
@@ -24,7 +24,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Mangler.h"
 #include "llvm/ADT/Statistic.h"
-#include 
 using namespace llvm;
 
 namespace {
@@ -105,7 +104,7 @@
 return;
 
   case MachineOperand::MO_Immediate:
-std::cerr << "printOp() does not handle immediate values\n";
+cerr << "printOp() does not handle immediate values\n";
 abort();
 return;
 
@@ -265,13 +264,13 @@
   "\t.section .data", I);
   break;
 case GlobalValue::GhostLinkage:
-  std::cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";
+  cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";
   abort();
 case GlobalValue::DLLImportLinkage:
-  std::cerr << "DLLImport linkage is not supported by this target!\n";
+  cerr << "DLLImport linkage is not supported by this target!\n";
   abort();
 case GlobalValue::DLLExportLinkage:
-  std::cerr << "DLLExport linkage is not supported by this target!\n";
+  cerr << "DLLExport linkage is not supported by this target!\n";
   abort();
 default:
   assert(0 && "Unknown linkage type!");


Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.19 
llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.20
--- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.19 Wed Dec  6 11:46:32 2006
+++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp  Thu Dec  7 16:21:48 2006
@@ -23,7 +23,6 @@
 #include "llvm/Function.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/ADT/Statistic.h"
-#include 
 using namespace llvm;
 
 namespace {
@@ -158,7 +157,7 @@
 rv = MO.getImmedValue();
   } else if (MO.isGlobalAddress() || MO.isExternalSymbol()
  || MO.isConstantPoolIndex()) {
-DEBUG(std::cerr << MO << " is a relocated op for " << MI << "\n";);
+DOUT << MO << " is a relocated op for " << MI << "\n";
 unsigned Reloc = 0;
 int Offset = 0;
 bool useGOT = false;
@@ -214,7 +213,7 @@
Alpha::reloc_bsr,
MO.getMachineBasicBlock()));
   }else {
-std::cerr << "ERROR: Unknown type of MachineOperand: " << MO << "\n";
+cerr << "ERROR: Unknown type of MachineOperand: " << MO << "\n";
 abort();
   }
 


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.62 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.63
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.62Thu Nov  2 14:25:49 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Thu Dec  7 16:21:48 2006
@@ -29,7 +29,6 @@
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/MathExtras.h"
 #include 
-#include 
 #include 
 #include 
 using namespace llvm;
@@ -115,7 +114,7 @@
   unsigned at = CountLeadingZeros_64(x);
   uint64_t complow = 1 << (63 - at);
   uint64_t comphigh = 1 << (64 - at);
-  //std::cerr << x << ":" << complow << ":" << comphigh << "\n";
+  //cerr << x << ":" << complow << ":" << comphigh << "\n";
   if (abs(complow - x) <= abs(comphigh - x))
 return complow;
   else


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.74 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.75
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.74Thu Nov  2 19:18:29 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Thu Dec  7 16:21:48 2006
@@ -22,8 +22,6 @@
 #include "llvm/Function.h"
 #include "llvm/Module.h"
 #include "llvm/Support/CommandLine.h"
-#include 
-
 using namespace llvm;
 
 /// AddLiveIn - This helper function adds the specified physical register to 
the
@@ -224,7 +222,7 @@
 if (ArgNo  < 6) {
   switch (ObjectVT) {
   default:
-std::cer

[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp AlphaInstrInfo.td

2006-12-07 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.56 -> 1.57
AlphaInstrInfo.td updated: 1.135 -> 1.136
---
Log message:

Be sure to grab weak functions too, and make implicit defs comments

---
Diffs of the changes:  (+10 -3)

 AlphaAsmPrinter.cpp |7 +++
 AlphaInstrInfo.td   |6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.56 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.57
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.56  Wed Dec  6 12:19:53 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Dec  7 11:39:14 2006
@@ -285,6 +285,13 @@
   }
 }
 
+  for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I)
+if (I->hasExternalWeakLinkage()) {
+  O << "\n\n";
+  std::string name = Mang->getValueName(I);
+  O << "\t.weak " << name << "\n";
+}
+
   AsmPrinter::doFinalization(M);
   return false;
 }


Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td
diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.135 
llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.136
--- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.135   Thu Nov  2 19:18:29 2006
+++ llvm/lib/Target/Alpha/AlphaInstrInfo.td Thu Dec  7 11:39:14 2006
@@ -140,11 +140,11 @@
 
 //Pseudo ops for selection
 
-def IDEF_I : PseudoInstAlpha<(ops GPRC:$RA), "#idef $RA",
+def IDEF_I : PseudoInstAlpha<(ops GPRC:$RA), ";#idef $RA",
  [(set GPRC:$RA, (undef))], s_pseudo>;
-def IDEF_F32 : PseudoInstAlpha<(ops F4RC:$RA), "#idef $RA",
+def IDEF_F32 : PseudoInstAlpha<(ops F4RC:$RA), ";#idef $RA",
  [(set F4RC:$RA, (undef))], s_pseudo>;
-def IDEF_F64 : PseudoInstAlpha<(ops F8RC:$RA), "#idef $RA",
+def IDEF_F64 : PseudoInstAlpha<(ops F8RC:$RA), ";#idef $RA",
  [(set F8RC:$RA, (undef))], s_pseudo>;
 
 def WTF : PseudoInstAlpha<(ops variable_ops), "#wtf", [], s_pseudo>;



___
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

2006-12-06 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.55 -> 1.56
---
Log message:

add #include


---
Diffs of the changes:  (+1 -0)

 AlphaAsmPrinter.cpp |1 +
 1 files changed, 1 insertion(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.55 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.56
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.55  Wed Dec  6 11:46:32 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Dec  6 12:19:53 2006
@@ -21,6 +21,7 @@
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetMachine.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/Mangler.h"
 #include "llvm/ADT/Statistic.h"
 #include 



___
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 AlphaCodeEmitter.cpp AlphaLLRP.cpp

2006-12-06 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.54 -> 1.55
AlphaCodeEmitter.cpp updated: 1.18 -> 1.19
AlphaLLRP.cpp updated: 1.4 -> 1.5
---
Log message:

Detemplatize the Statistic class.  The only type it is instantiated with
is 'unsigned'.



---
Diffs of the changes:  (+4 -4)

 AlphaAsmPrinter.cpp  |2 +-
 AlphaCodeEmitter.cpp |2 +-
 AlphaLLRP.cpp|4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.54 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.55
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.54  Thu Nov  2 14:25:49 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Dec  6 11:46:32 2006
@@ -27,7 +27,7 @@
 using namespace llvm;
 
 namespace {
-  Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
+  Statistic EmittedInsts("asm-printer", "Number of machine instrs printed");
   
   struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
 


Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.18 
llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.19
--- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.18 Thu Nov  2 14:25:49 2006
+++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp  Wed Dec  6 11:46:32 2006
@@ -27,7 +27,7 @@
 using namespace llvm;
 
 namespace {
-  Statistic<>
+  Statistic
   NumEmitted("alpha-emitter", "Number of machine instructions emitted");
 }
 


Index: llvm/lib/Target/Alpha/AlphaLLRP.cpp
diff -u llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.4 
llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.5
--- llvm/lib/Target/Alpha/AlphaLLRP.cpp:1.4 Mon Nov 27 17:37:22 2006
+++ llvm/lib/Target/Alpha/AlphaLLRP.cpp Wed Dec  6 11:46:32 2006
@@ -23,8 +23,8 @@
 using namespace llvm;
 
 namespace {
-  Statistic<> nopintro("alpha-nops", "Number of nops inserted");
-  Statistic<> nopalign("alpha-nops-align", 
+  Statistic nopintro("alpha-nops", "Number of nops inserted");
+  Statistic nopalign("alpha-nops-align", 
   "Number of nops inserted for alignment");
 
   cl::opt



___
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 AlphaCodeEmitter.cpp AlphaISelDAGToDAG.cpp AlphaISelLowering.cpp

2006-11-02 Thread Reid Spencer


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.53 -> 1.54
AlphaCodeEmitter.cpp updated: 1.17 -> 1.18
AlphaISelDAGToDAG.cpp updated: 1.61 -> 1.62
AlphaISelLowering.cpp updated: 1.72 -> 1.73
---
Log message:

For PR786: http://llvm.org/PR786 :
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining 
issues when they see them. All changes pass DejaGnu tests and Olden.


---
Diffs of the changes:  (+0 -12)

 AlphaAsmPrinter.cpp   |1 -
 AlphaCodeEmitter.cpp  |5 -
 AlphaISelDAGToDAG.cpp |1 -
 AlphaISelLowering.cpp |5 -
 4 files changed, 12 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.53 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.54
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.53  Tue Oct 24 15:32:14 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Nov  2 14:25:49 2006
@@ -97,7 +97,6 @@
 
 void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
   const MRegisterInfo &RI = *TM.getRegisterInfo();
-  int new_symbol;
 
   switch (MO.getType()) {
   case MachineOperand::MO_Register:


Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.17 
llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.18
--- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.17 Thu Jul 27 13:20:17 2006
+++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp  Thu Nov  2 14:25:49 2006
@@ -92,7 +92,6 @@
   for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
I != E; ++I) {
 MachineInstr &MI = *I;
-unsigned Opcode = MI.getOpcode();
 switch(MI.getOpcode()) {
 default:
   MCE.emitWordLE(getBinaryCodeForInstr(*I));
@@ -160,10 +159,6 @@
   } else if (MO.isGlobalAddress() || MO.isExternalSymbol()
  || MO.isConstantPoolIndex()) {
 DEBUG(std::cerr << MO << " is a relocated op for " << MI << "\n";);
-bool isExternal = MO.isExternalSymbol() ||
-  (MO.isGlobalAddress() &&
-   ( MO.getGlobal()->hasWeakLinkage() ||
- MO.getGlobal()->isExternal()) );
 unsigned Reloc = 0;
 int Offset = 0;
 bool useGOT = false;


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.61 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.62
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.61Tue Oct 31 17:46:56 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Thu Nov  2 14:25:49 2006
@@ -324,7 +324,6 @@
   //   val32 >= IMM_LOW  + IMM_LOW  * IMM_MULT) //always true
   break; //(zext (LDAH (LDA)))
 //Else use the constant pool
-MachineConstantPool *CP = BB->getParent()->getConstantPool();
 ConstantInt *C = ConstantInt::get(Type::ULongTy, uval);
 SDOperand CPI = CurDAG->getTargetConstantPool(C, MVT::i64);
 SDNode *Tmp = CurDAG->getTargetNode(Alpha::LDAHr, MVT::i64, CPI,


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.72 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.73
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.72Wed Nov  1 21:05:26 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Thu Nov  2 14:25:49 2006
@@ -175,8 +175,6 @@
   SDOperand JTI = DAG.getTargetJumpTable(JT->getIndex(), PtrVT);
   SDOperand Zero = DAG.getConstant(0, PtrVT);
   
-  const TargetMachine &TM = DAG.getTarget();
-
   SDOperand Hi = DAG.getNode(AlphaISD::GPRelHi,  MVT::i64, JTI,
 DAG.getNode(ISD::GLOBAL_OFFSET_TABLE, MVT::i64));
   SDOperand Lo = DAG.getNode(AlphaISD::GPRelLo, MVT::i64, JTI, Hi);
@@ -207,7 +205,6 @@
   int &VarArgsOffset) {
   MachineFunction &MF = DAG.getMachineFunction();
   MachineFrameInfo *MFI = MF.getFrameInfo();
-  SSARegMap *RegMap = MF.getSSARegMap();
   std::vector ArgValues;
   SDOperand Root = Op.getOperand(0);
 
@@ -225,7 +222,6 @@
 SDOperand ArgVal;
 
 if (ArgNo  < 6) {
-  unsigned Vreg;
   switch (ObjectVT) {
   default:
 std::cerr << "Unknown Type " << ObjectVT << "\n";
@@ -480,7 +476,6 @@
 //Expand only on constant case
 if (Op.getOperand(1).getOpcode() == ISD::Constant) {
   MVT::ValueType VT = Op.Val->getValueType(0);
-  unsigned Opc = Op.Val->getOpcode() == ISD::UREM ? ISD::UDIV : ISD::SDIV;
   SDOperand Tmp1 = Op.Val->getOpcode() == ISD::UREM ?
BuildUDIV(Op.Val, DAG, NULL) :
BuildSDIV(Op.Val, DAG, NULL);



___
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

2006-10-24 Thread Devang Patel


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.52 -> 1.53
---
Log message:

Move getPreferredAlignmentLog from AsmPrinter to TargetData


---
Diffs of the changes:  (+1 -1)

 AlphaAsmPrinter.cpp |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.52 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.53
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.52  Wed Oct  4 22:01:21 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Tue Oct 24 15:32:14 2006
@@ -232,7 +232,7 @@
   Constant *C = I->getInitializer();
   unsigned Size = TD->getTypeSize(C->getType());
   //  unsigned Align = TD->getTypeAlignmentShift(C->getType());
-  unsigned Align = getPreferredAlignmentLog(I);
+  unsigned Align = TD->getPreferredAlignmentLog(I);
 
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||



___
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

2006-10-04 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.51 -> 1.52
---
Log message:

Pass the MachineFunction into EmitJumpTableInfo.


---
Diffs of the changes:  (+1 -1)

 AlphaAsmPrinter.cpp |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.51 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.52
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.51  Wed Oct  4 21:47:13 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Oct  4 22:01:21 2006
@@ -162,7 +162,7 @@
   EmitConstantPool(MF.getConstantPool());
 
   // Print out jump tables referenced by the function
-  EmitJumpTableInfo(MF.getJumpTableInfo());
+  EmitJumpTableInfo(MF.getJumpTableInfo(), MF);
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();



___
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

2006-10-04 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.50 -> 1.51
---
Log message:

use getSectionForFunction to decide which section to emit code into


---
Diffs of the changes:  (+5 -4)

 AlphaAsmPrinter.cpp |9 +
 1 files changed, 5 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.50 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.51
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.50  Mon Sep 18 13:01:03 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Oct  4 21:47:13 2006
@@ -58,7 +58,7 @@
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
 bool doFinalization(Module &M);
-
+
 bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
  unsigned AsmVariant, const char *ExtraCode);
 bool PrintAsmMemoryOperand(const MachineInstr *MI, 
@@ -73,8 +73,8 @@
 /// using the given target machine description.  This should work
 /// regardless of whether the function is in SSA form.
 ///
-FunctionPass *llvm::createAlphaCodePrinterPass (std::ostream &o,
-  TargetMachine &tm) {
+FunctionPass *llvm::createAlphaCodePrinterPass(std::ostream &o,
+   TargetMachine &tm) {
   return new AlphaAsmPrinter(o, tm, tm.getTargetAsmInfo());
 }
 
@@ -166,7 +166,8 @@
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();
-  SwitchToTextSection(".text", F);
+  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  
   EmitAlignment(4, F);
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");



___
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 AlphaISelLowering.cpp AlphaInstrInfo.td

2006-09-18 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.49 -> 1.50
AlphaISelLowering.cpp updated: 1.60 -> 1.61
AlphaInstrInfo.td updated: 1.123 -> 1.124
---
Log message:

Jump tables on Alpha

---
Diffs of the changes:  (+38 -2)

 AlphaAsmPrinter.cpp   |8 
 AlphaISelLowering.cpp |   20 +++-
 AlphaInstrInfo.td |   12 +++-
 3 files changed, 38 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.49 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.50
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.49  Thu Sep 14 13:23:26 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Sep 18 13:01:03 2006
@@ -126,6 +126,11 @@
 O << Mang->getValueName(MO.getGlobal());
 return;
 
+  case MachineOperand::MO_JumpTableIndex:
+O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
+  << '_' << MO.getJumpTableIndex();
+return;
+
   default:
 O << "";
 return;
@@ -156,6 +161,9 @@
   // Print out constants referenced by the function
   EmitConstantPool(MF.getConstantPool());
 
+  // Print out jump tables referenced by the function
+  EmitJumpTableInfo(MF.getJumpTableInfo());
+
   // Print out labels for the function.
   const Function *F = MF.getFunction();
   SwitchToTextSection(".text", F);


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.60 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.61
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.60Tue Sep 12 16:02:05 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Mon Sep 18 13:01:03 2006
@@ -48,7 +48,7 @@
   addRegisterClass(MVT::f64, Alpha::F8RCRegisterClass);
   addRegisterClass(MVT::f32, Alpha::F4RCRegisterClass);
   
-  setOperationAction(ISD::BRIND,MVT::i64,   Expand);
+  //  setOperationAction(ISD::BRIND,MVT::i64,   Expand);
   setOperationAction(ISD::BR_CC,MVT::Other, Expand);
   setOperationAction(ISD::SELECT_CC,MVT::Other, Expand);
   
@@ -128,6 +128,8 @@
 
   setOperationAction(ISD::RET, MVT::Other, Custom);
 
+  setOperationAction(ISD::JumpTable, MVT::i64, Custom);
+
   setStackPointerRegisterToSaveRestore(Alpha::R30);
 
   setOperationAction(ISD::ConstantFP, MVT::f64, Expand);
@@ -162,6 +164,20 @@
   }
 }
 
+static SDOperand LowerJumpTable(SDOperand Op, SelectionDAG &DAG) {
+  MVT::ValueType PtrVT = Op.getValueType();
+  JumpTableSDNode *JT = cast(Op);
+  SDOperand JTI = DAG.getTargetJumpTable(JT->getIndex(), PtrVT);
+  SDOperand Zero = DAG.getConstant(0, PtrVT);
+  
+  const TargetMachine &TM = DAG.getTarget();
+
+  SDOperand Hi = DAG.getNode(AlphaISD::GPRelHi,  MVT::i64, JTI,
+DAG.getNode(AlphaISD::GlobalBaseReg, MVT::i64));
+  SDOperand Lo = DAG.getNode(AlphaISD::GPRelLo, MVT::i64, JTI, Hi);
+  return Lo;
+}
+
 //http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/
 //AA-PY8AC-TET1_html/callCH3.html#BLOCK21
 
@@ -395,6 +411,8 @@
   VarArgsOffset,
   GP, RA);
   case ISD::RET: return LowerRET(Op,DAG, getVRegRA());
+  case ISD::JumpTable: return LowerJumpTable(Op, DAG);
+
   case ISD::SINT_TO_FP: {
 assert(MVT::i64 == Op.getOperand(0).getValueType() && 
"Unhandled SINT_TO_FP type in custom expander!");


Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td
diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.123 
llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.124
--- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.123   Fri Aug 11 04:01:43 2006
+++ llvm/lib/Target/Alpha/AlphaInstrInfo.td Mon Sep 18 13:01:03 2006
@@ -435,7 +435,11 @@
   def RETDAGp : MbrpForm< 0x1A, 0x02, (ops), "ret $$31,($$26),1", [(retflag)], 
s_jsr>; //Return from subroutine
 }
 
-def JMP : MbrForm< 0x1A, 0x00, (ops GPRC:$RD, GPRC:$RS, GPRC:$DISP), "jmp 
$RD,($RS),$DISP", s_jsr>; //Jump
+let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1,
+Ra = 31, disp = 0 in
+def JMP : MbrpForm< 0x1A, 0x00, (ops GPRC:$RS), "jmp $$31,($RS),0", 
+  [(brind GPRC:$RS)], s_jsr>; //Jump
+
 let isCall = 1, noResults = 1, Ra = 26,
 Defs = [R0, R1, R2, R3, R4, R5, R6, R7, R8, R16, R17, R18, R19,
 R20, R21, R22, R23, R24, R25, R26, R27, R28, R29,
@@ -545,6 +549,12 @@
 def : Pat<(f64 (load (Alpha_gprello tconstpool:$DISP, GPRC:$RB))),
   (LDTr tconstpool:$DISP, GPRC:$RB)>;
 
+//jumptable rels
+def : Pat<(i64 (Alpha_gprelhi tjumptable:$DISP, GPRC:$RB)),
+  (LDAHr tjumptable:$DISP, GPRC:$RB)>;
+def : Pat<(i64 (Alpha_gprello tjumptable:$DISP, GPRC:$RB)),
+  (LDAr tjumptable:$DISP, GPRC:$RB)>;
+
 
 //misc ext patterns
 def : Pat<(i64 (extload (add GPRC:$RB, immSExt16:$DISP), i8)),



___
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

2006-09-14 Thread Anton Korobeynikov


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.48 -> 1.49
---
Log message:

Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86 
assembler backends.
External weak linkage added for future use, we don't provide any 
codegeneration, etc. support for it.


---
Diffs of the changes:  (+8 -0)

 AlphaAsmPrinter.cpp |8 
 1 files changed, 8 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.48 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.49
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.48  Thu Sep  7 17:06:40 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Sep 14 13:23:26 2006
@@ -258,6 +258,14 @@
 case GlobalValue::GhostLinkage:
   std::cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";
   abort();
+case GlobalValue::DLLImportLinkage:
+  std::cerr << "DLLImport linkage is not supported by this target!\n";
+  abort();
+case GlobalValue::DLLExportLinkage:
+  std::cerr << "DLLExport linkage is not supported by this target!\n";
+  abort();
+default:
+  assert(0 && "Unknown linkage type!");
 }
 
 EmitAlignment(Align);



___
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-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_cast(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

2006-09-06 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.46 -> 1.47
---
Log message:

Separate target specific asm properties from the asm printers.


---
Diffs of the changes:  (+14 -7)

 AlphaAsmPrinter.cpp |   21 ++---
 1 files changed, 14 insertions(+), 7 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.46 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.47
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.46  Mon Jul  3 12:57:34 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Sep  6 13:34:40 2006
@@ -19,6 +19,7 @@
 #include "llvm/Type.h"
 #include "llvm/Assembly/Writer.h"
 #include "llvm/CodeGen/AsmPrinter.h"
+#include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Support/Mangler.h"
 #include "llvm/ADT/Statistic.h"
@@ -27,17 +28,22 @@
 
 namespace {
   Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
+  
+  struct VISIBILITY_HIDDEN AlphaTargetAsmInfo : public TargetAsmInfo {
+AlphaTargetAsmInfo() {
+  AlignmentIsInBytes = false;
+  PrivateGlobalPrefix = "$";
+}
+  };
 
-  struct AlphaAsmPrinter : public AsmPrinter {
+  struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
 
 /// Unique incrementer for label values for referencing Global values.
 ///
 unsigned LabelNumber;
 
- AlphaAsmPrinter(std::ostream &o, TargetMachine &tm)
-   : AsmPrinter(o, tm), LabelNumber(0) {
-  AlignmentIsInBytes = false;
-  PrivateGlobalPrefix = "$";
+AlphaAsmPrinter(std::ostream &o, TargetMachine &tm, TargetAsmInfo *T)
+   : AsmPrinter(o, tm, T), LabelNumber(0) {
 }
 
 /// We name each basic block in a Function with a unique number, so
@@ -76,7 +82,8 @@
 ///
 FunctionPass *llvm::createAlphaCodePrinterPass (std::ostream &o,
   TargetMachine &tm) {
-  return new AlphaAsmPrinter(o, tm);
+  AlphaTargetAsmInfo *TAI = new AlphaTargetAsmInfo();
+  return new AlphaAsmPrinter(o, tm, TAI);
 }
 
 #include "AlphaGenAsmWriter.inc"
@@ -115,7 +122,7 @@
 return;
 
   case MachineOperand::MO_ConstantPoolIndex:
-O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
+O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
   << MO.getConstantPoolIndex();
 return;
 



___
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

2006-07-03 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.45 -> 1.46
---
Log message:

0 offsets for memory operands

---
Diffs of the changes:  (+2 -0)

 AlphaAsmPrinter.cpp |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.45 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.46
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.45  Wed Jun 21 10:42:36 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Jul  3 12:57:34 2006
@@ -288,6 +288,8 @@
const char *ExtraCode) {
   if (ExtraCode && ExtraCode[0])
 return true; // Unknown modifier.
+  O << "0(";
   printOperand(MI, OpNo);
+  O << ")";
   return false;
 }



___
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 AlphaISelDAGToDAG.cpp AlphaISelLowering.cpp

2006-06-21 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.44 -> 1.45
AlphaISelDAGToDAG.cpp updated: 1.45 -> 1.46
AlphaISelLowering.cpp updated: 1.53 -> 1.54
---
Log message:

Add memory operand and int regs

---
Diffs of the changes:  (+46 -0)

 AlphaAsmPrinter.cpp   |   14 ++
 AlphaISelDAGToDAG.cpp |   18 ++
 AlphaISelLowering.cpp |   14 ++
 3 files changed, 46 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.44 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.45
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.44  Wed Jun 21 08:37:27 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Jun 21 10:42:36 2006
@@ -62,6 +62,10 @@
 
 bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
  unsigned AsmVariant, const char *ExtraCode);
+bool PrintAsmMemoryOperand(const MachineInstr *MI, 
+  unsigned OpNo,
+  unsigned AsmVariant, 
+  const char *ExtraCode);
   };
 } // end of anonymous namespace
 
@@ -277,3 +281,13 @@
   printOperand(MI, OpNo);
   return false;
 }
+
+bool AlphaAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, 
+   unsigned OpNo,
+   unsigned AsmVariant, 
+   const char *ExtraCode) {
+  if (ExtraCode && ExtraCode[0])
+return true; // Unknown modifier.
+  printOperand(MI, OpNo);
+  return false;
+}


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.45 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.46
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.45Tue Jun 13 15:34:47 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Wed Jun 21 10:42:36 2006
@@ -119,6 +119,24 @@
   return "Alpha DAG->DAG Pattern Instruction Selection";
 } 
 
+/// SelectInlineAsmMemoryOperand - Implement addressing mode selection for
+/// inline asm expressions.
+virtual bool SelectInlineAsmMemoryOperand(const SDOperand &Op,
+  char ConstraintCode,
+  std::vector &OutOps,
+  SelectionDAG &DAG) {
+  SDOperand Op0;
+  switch (ConstraintCode) {
+  default: return true;
+  case 'm':   // memory
+   Select(Op0, Op);
+break;
+  }
+  
+  OutOps.push_back(Op0);
+  return false;
+}
+
 // Include the pieces autogenerated from the target description.
 #include "AlphaGenDAGISel.inc"
 


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.53 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.54
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.53Wed Jun 21 08:37:27 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Wed Jun 21 10:42:36 2006
@@ -591,6 +591,7 @@
   switch (ConstraintLetter) {
   default: break;
   case 'f':
+  case 'r':
 return C_RegisterClass;
   }  
   return TargetLowering::getConstraintType(ConstraintLetter);
@@ -614,6 +615,19 @@
Alpha::F24, Alpha::F25, Alpha::F26, 
   Alpha::F27, Alpha::F28, Alpha::F29, 
   Alpha::F30, Alpha::F31, 0);
+case 'r': 
+  return make_vector(Alpha::R0 , Alpha::R1 , Alpha::R2 , 
+  Alpha::R3 , Alpha::R4 , Alpha::R5 , 
+  Alpha::R6 , Alpha::R7 , Alpha::R8 , 
+  Alpha::R9 , Alpha::R10, Alpha::R11, 
+   Alpha::R12, Alpha::R13, Alpha::R14, 
+  Alpha::R15, Alpha::R16, Alpha::R17, 
+  Alpha::R18, Alpha::R19, Alpha::R20, 
+  Alpha::R21, Alpha::R22, Alpha::R23, 
+   Alpha::R24, Alpha::R25, Alpha::R26, 
+  Alpha::R27, Alpha::R28, Alpha::R29, 
+  Alpha::R30, Alpha::R31, 0);
+ 
 }
   }
   



___
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 AlphaISelLowering.cpp AlphaISelLowering.h

2006-06-21 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.43 -> 1.44
AlphaISelLowering.cpp updated: 1.52 -> 1.53
AlphaISelLowering.h updated: 1.18 -> 1.19
---
Log message:

inline asm, at least for floats

---
Diffs of the changes:  (+58 -0)

 AlphaAsmPrinter.cpp   |   12 
 AlphaISelLowering.cpp |   39 +++
 AlphaISelLowering.h   |7 +++
 3 files changed, 58 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.43 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.44
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.43  Wed May 17 14:24:31 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Jun 21 08:37:27 2006
@@ -59,6 +59,9 @@
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
 bool doFinalization(Module &M);
+
+bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
+ unsigned AsmVariant, const char *ExtraCode);
   };
 } // end of anonymous namespace
 
@@ -265,3 +268,12 @@
   AsmPrinter::doFinalization(M);
   return false;
 }
+
+/// PrintAsmOperand - Print out an operand for an inline asm expression.
+///
+bool AlphaAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
+unsigned AsmVariant, 
+const char *ExtraCode) {
+  printOperand(MI, OpNo);
+  return false;
+}


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.52 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.53
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.52Tue Jun 20 20:00:43 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Wed Jun 21 08:37:27 2006
@@ -580,3 +580,42 @@
   // The code in LowerOperation already handles i32 vaarg
   return LowerOperation(Op, DAG);
 }
+
+
+//Inline Asm
+
+/// getConstraintType - Given a constraint letter, return the type of
+/// constraint it is for this target.
+AlphaTargetLowering::ConstraintType 
+AlphaTargetLowering::getConstraintType(char ConstraintLetter) const {
+  switch (ConstraintLetter) {
+  default: break;
+  case 'f':
+return C_RegisterClass;
+  }  
+  return TargetLowering::getConstraintType(ConstraintLetter);
+}
+
+std::vector AlphaTargetLowering::
+getRegClassForInlineAsmConstraint(const std::string &Constraint,
+  MVT::ValueType VT) const {
+  if (Constraint.size() == 1) {
+switch (Constraint[0]) {
+default: break;  // Unknown constriant letter
+case 'f': 
+  return make_vector(Alpha::F0 , Alpha::F1 , Alpha::F2 ,
+  Alpha::F3 , Alpha::F4 , Alpha::F5 , 
+  Alpha::F6 , Alpha::F7 , Alpha::F8 , 
+  Alpha::F9 , Alpha::F10, Alpha::F11, 
+   Alpha::F12, Alpha::F13, Alpha::F14, 
+  Alpha::F15, Alpha::F16, Alpha::F17, 
+  Alpha::F18, Alpha::F19, Alpha::F20, 
+  Alpha::F21, Alpha::F22, Alpha::F23, 
+   Alpha::F24, Alpha::F25, Alpha::F26, 
+  Alpha::F27, Alpha::F28, Alpha::F29, 
+  Alpha::F30, Alpha::F31, 0);
+}
+  }
+  
+  return std::vector();
+}


Index: llvm/lib/Target/Alpha/AlphaISelLowering.h
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.h:1.18 
llvm/lib/Target/Alpha/AlphaISelLowering.h:1.19
--- llvm/lib/Target/Alpha/AlphaISelLowering.h:1.18  Tue Jun 13 13:27:39 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.h   Wed Jun 21 08:37:27 2006
@@ -15,6 +15,7 @@
 #ifndef LLVM_TARGET_ALPHA_ALPHAISELLOWERING_H
 #define LLVM_TARGET_ALPHA_ALPHAISELLOWERING_H
 
+#include "llvm/ADT/VectorExtras.h"
 #include "llvm/Target/TargetLowering.h"
 #include "llvm/CodeGen/SelectionDAG.h"
 #include "Alpha.h"
@@ -77,6 +78,12 @@
 bool isTailCall, SDOperand Callee, ArgListTy &Args,
 SelectionDAG &DAG);
 
+ConstraintType getConstraintType(char ConstraintLetter) const;
+
+std::vector 
+  getRegClassForInlineAsmConstraint(const std::string &Constraint,
+MVT::ValueType VT) const;
+
 void restoreGP(MachineBasicBlock* BB);
 void restoreRA(MachineBasicBlock* BB);
 unsigned getVRegGP() { return GP; }



___
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

2006-05-17 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.42 -> 1.43
---
Log message:

Added sanity check for obviously bogus immediates

---
Diffs of the changes:  (+1 -0)

 AlphaAsmPrinter.cpp |1 +
 1 files changed, 1 insertion(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.42 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.43
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.42  Mon May  8 23:59:56 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed May 17 14:24:31 2006
@@ -82,6 +82,7 @@
 O << TM.getRegisterInfo()->get(MO.getReg()).Name;
   } else if (MO.isImmediate()) {
 O << MO.getImmedValue();
+assert(MO.getImmedValue() < (1 << 30));
   } else {
 printOp(MO);
   }



___
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

2006-05-08 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.41 -> 1.42
---
Log message:

Split SwitchSection into SwitchTo{Text|Data}Section methods.


---
Diffs of the changes:  (+5 -5)

 AlphaAsmPrinter.cpp |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.41 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.42
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.41  Thu May  4 13:05:43 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon May  8 23:59:56 2006
@@ -151,7 +151,7 @@
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();
-  SwitchSection(".text", F);
+  SwitchToTextSection(".text", F);
   EmitAlignment(4, F);
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");
@@ -221,7 +221,7 @@
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
-SwitchSection("\t.section .data", I);
+SwitchToDataSection("\t.section .data", I);
 if (I->hasInternalLinkage())
   O << "\t.local " << name << "\n";
 
@@ -235,7 +235,7 @@
   // Nonnull linkonce -> weak
   O << "\t.weak " << name << "\n";
   O << "\t.section\t.llvm.linkonce.d." << name << 
",\"aw\",@progbits\n";
-  SwitchSection("", I);
+  SwitchToDataSection("", I);
   break;
 case GlobalValue::AppendingLinkage:
   // FIXME: appending linkage variables should go into a section of
@@ -245,8 +245,8 @@
   O << "\t.globl " << name << "\n";
   // FALL THROUGH
 case GlobalValue::InternalLinkage:
-  SwitchSection(C->isNullValue() ? "\t.section .bss" : 
-"\t.section .data", I);
+  SwitchToDataSection(C->isNullValue() ? "\t.section .bss" : 
+  "\t.section .data", I);
   break;
 case GlobalValue::GhostLinkage:
   std::cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";



___
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

2006-05-04 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.40 -> 1.41
---
Log message:

Rename MO_VirtualRegister -> MO_Register.  Clean up immediate handling.


---
Diffs of the changes:  (+2 -2)

 AlphaAsmPrinter.cpp |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.40 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.41
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.40  Thu May  4 12:21:19 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu May  4 13:05:43 2006
@@ -77,7 +77,7 @@
 void AlphaAsmPrinter::printOperand(const MachineInstr *MI, int opNum)
 {
   const MachineOperand &MO = MI->getOperand(opNum);
-  if (MO.getType() == MachineOperand::MO_VirtualRegister) {
+  if (MO.getType() == MachineOperand::MO_Register) {
 assert(MRegisterInfo::isPhysicalRegister(MO.getReg())&&"Not physreg??");
 O << TM.getRegisterInfo()->get(MO.getReg()).Name;
   } else if (MO.isImmediate()) {
@@ -93,7 +93,7 @@
   int new_symbol;
 
   switch (MO.getType()) {
-  case MachineOperand::MO_VirtualRegister:
+  case MachineOperand::MO_Register:
 O << RI.get(MO.getReg()).Name;
 return;
 



___
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 AlphaRegisterInfo.cpp

2006-05-04 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.39 -> 1.40
AlphaRegisterInfo.cpp updated: 1.41 -> 1.42
---
Log message:

There shalt be only one "immediate" operand type!



---
Diffs of the changes:  (+3 -4)

 AlphaAsmPrinter.cpp   |3 +--
 AlphaRegisterInfo.cpp |4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.39 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.40
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.39  Wed May  3 20:15:02 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu May  4 12:21:19 2006
@@ -97,8 +97,7 @@
 O << RI.get(MO.getReg()).Name;
 return;
 
-  case MachineOperand::MO_SignExtendedImmed:
-  case MachineOperand::MO_UnextendedImmed:
+  case MachineOperand::MO_Immediate:
 std::cerr << "printOp() does not handle immediate values\n";
 abort();
 return;


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.41 
llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.42
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.41Wed May  3 20:15:02 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp Thu May  4 12:21:19 2006
@@ -234,14 +234,14 @@
 //inst off the SP/FP
 //fix up the old:
 MI.SetMachineOperandReg(i + 1, Alpha::R28);
-MI.SetMachineOperandConst(i, MachineOperand::MO_SignExtendedImmed,
+MI.SetMachineOperandConst(i, MachineOperand::MO_Immediate,
   getLower16(Offset));
 //insert the new
 MachineInstr* nMI=BuildMI(Alpha::LDAH, 2, Alpha::R28)
   .addImm(getUpper16(Offset)).addReg(FP ? Alpha::R15 : Alpha::R30);
 MBB.insert(II, nMI);
   } else {
-MI.SetMachineOperandConst(i, MachineOperand::MO_SignExtendedImmed, Offset);
+MI.SetMachineOperandConst(i, MachineOperand::MO_Immediate, Offset);
   }
 }
 



___
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 AlphaRegisterInfo.cpp

2006-05-03 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.38 -> 1.39
AlphaRegisterInfo.cpp updated: 1.40 -> 1.41
---
Log message:

Remove a bunch more SparcV9 specific stuff


---
Diffs of the changes:  (+3 -8)

 AlphaAsmPrinter.cpp   |8 +---
 AlphaRegisterInfo.cpp |3 ++-
 2 files changed, 3 insertions(+), 8 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.38 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.39
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.38  Wed May  3 19:49:59 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed May  3 20:15:02 2006
@@ -77,7 +77,7 @@
 void AlphaAsmPrinter::printOperand(const MachineInstr *MI, int opNum)
 {
   const MachineOperand &MO = MI->getOperand(opNum);
-  if (MO.getType() == MachineOperand::MO_MachineRegister) {
+  if (MO.getType() == MachineOperand::MO_VirtualRegister) {
 assert(MRegisterInfo::isPhysicalRegister(MO.getReg())&&"Not physreg??");
 O << TM.getRegisterInfo()->get(MO.getReg()).Name;
   } else if (MO.isImmediate()) {
@@ -94,12 +94,6 @@
 
   switch (MO.getType()) {
   case MachineOperand::MO_VirtualRegister:
-if (Value *V = MO.getVRegValueOrNull()) {
-  O << "<" << V->getName() << ">";
-  return;
-}
-// FALLTHROUGH
-  case MachineOperand::MO_MachineRegister:
 O << RI.get(MO.getReg()).Name;
 return;
 


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.40 
llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.41
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.40Fri Apr  7 11:34:45 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp Wed May  3 20:15:02 2006
@@ -263,7 +263,8 @@
 .addReg(Alpha::R29).addImm(curgpdist);
 
   //evil const_cast until MO stuff setup to handle const
-  BuildMI(MBB, MBBI, Alpha::ALTENT, 
1).addGlobalAddress(const_cast(MF.getFunction()), true);
+  BuildMI(MBB, MBBI, Alpha::ALTENT, 1)
+.addGlobalAddress(const_cast(MF.getFunction()));
 
   // Get the number of bytes to allocate from the FrameInfo
   long NumBytes = MFI->getStackSize();



___
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

2006-05-03 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.37 -> 1.38
---
Log message:

Remove some more V9-specific stuff.


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

 AlphaAsmPrinter.cpp |7 +--
 1 files changed, 1 insertion(+), 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.37 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.38
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.37  Wed May  3 19:44:25 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed May  3 19:49:59 2006
@@ -123,12 +123,7 @@
 return;
 
   case MachineOperand::MO_GlobalAddress:
-//Abuse PCrel to specify pcrel calls
-//calls are the only thing that use this flag
-// if (MO.isPCRelative())
-//   O << PrivateGlobalPrefix << Mang->getValueName(MO.getGlobal()) << 
"..ng";
-// else
-  O << Mang->getValueName(MO.getGlobal());
+O << Mang->getValueName(MO.getGlobal());
 return;
 
   default:



___
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

2006-05-03 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.36 -> 1.37
---
Log message:

Remove some more unused stuff from MachineInstr that was leftover from V9.


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

 AlphaAsmPrinter.cpp |6 --
 1 files changed, 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.36 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.37
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.36  Tue May  2 20:29:57 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed May  3 19:44:25 2006
@@ -100,7 +100,6 @@
 }
 // FALLTHROUGH
   case MachineOperand::MO_MachineRegister:
-  case MachineOperand::MO_CCRegister:
 O << RI.get(MO.getReg()).Name;
 return;
 
@@ -110,11 +109,6 @@
 abort();
 return;
 
-  case MachineOperand::MO_PCRelativeDisp:
-std::cerr << "Shouldn't use addPCDisp() when building Alpha MachineInstrs";
-abort();
-return;
-
   case MachineOperand::MO_MachineBasicBlock:
 printBasicBlockLabel(MO.getMachineBasicBlock());
 return;



___
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


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

2006-05-01 Thread Nate Begeman


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.34 -> 1.35
---
Log message:

Extend printBasicBlockLabel a bit so that it can be used to print all 
basic block labels, consolidating the code to do so in one place for each
target.


---
Diffs of the changes:  (+2 -3)

 AlphaAsmPrinter.cpp |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.34 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.35
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.34  Sat Apr 22 13:53:45 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Tue May  2 00:37:32 2006
@@ -191,9 +191,8 @@
   // Print out code for the function.
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
I != E; ++I) {
-// Print a label for the basic block.
-O << PrivateGlobalPrefix << "LBB" << CurrentFnName << "_" << I->getNumber()
-  << ":\t" << CommentString << " " << I->getBasicBlock()->getName() << 
"\n";
+printBasicBlockLabel(I, true);
+O << '\n';
 for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
  II != E; ++II) {
   // Print the assembly for the instruction.



___
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 AlphaISelLowering.cpp

2006-04-22 Thread Nate Begeman


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.33 -> 1.34
AlphaISelLowering.cpp updated: 1.46 -> 1.47
---
Log message:

JumpTable support!  What this represents is working asm and jit support for
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.


---
Diffs of the changes:  (+3 -7)

 AlphaAsmPrinter.cpp   |9 ++---
 AlphaISelLowering.cpp |1 +
 2 files changed, 3 insertions(+), 7 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.33 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.34
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.33  Thu Mar  9 00:14:35 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Sat Apr 22 13:53:45 2006
@@ -115,14 +115,9 @@
 abort();
 return;
 
-  case MachineOperand::MO_MachineBasicBlock: {
-MachineBasicBlock *MBBOp = MO.getMachineBasicBlock();
-O << PrivateGlobalPrefix << "LBB"
-  << Mang->getValueName(MBBOp->getParent()->getFunction())
-  << "_" << MBBOp->getNumber() << "\t" << CommentString << " "
-  << MBBOp->getBasicBlock()->getName();
+  case MachineOperand::MO_MachineBasicBlock:
+printBasicBlockLabel(MO.getMachineBasicBlock());
 return;
-  }
 
   case MachineOperand::MO_ConstantPoolIndex:
 O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"


Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.46 
llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.47
--- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.46Thu Apr  6 18:18:45 2006
+++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Sat Apr 22 13:53:45 2006
@@ -193,6 +193,7 @@
   addRegisterClass(MVT::f64, Alpha::F8RCRegisterClass);
   addRegisterClass(MVT::f32, Alpha::F4RCRegisterClass);
   
+  setOperationAction(ISD::BRIND,MVT::i64,   Expand);
   setOperationAction(ISD::BR_CC,MVT::Other, Expand);
   setOperationAction(ISD::SELECT_CC,MVT::Other, Expand);
   



___
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

2006-03-08 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.32 -> 1.33
---
Log message:

Add support for 'special' llvm globals like debug info and static ctors/dtors.


---
Diffs of the changes:  (+4 -0)

 AlphaAsmPrinter.cpp |4 
 1 files changed, 4 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.32 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.33
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.32  Mon Feb 27 04:29:04 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Thu Mar  9 00:14:35 2006
@@ -231,6 +231,10 @@
 
   for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); 
I != E; ++I)
 if (I->hasInitializer()) {   // External global require no code
+  // Check to see if this is a special global used by LLVM, if so, emit it.
+  if (EmitSpecialLLVMGlobal(I))
+continue;
+  
   O << "\n\n";
   std::string name = Mang->getValueName(I);
   Constant *C = I->getInitializer();



___
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

2006-02-27 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.31 -> 1.32
---
Log message:

Removed dependency on how operands are printed (want multi-line.)



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

 AlphaAsmPrinter.cpp |   12 +++-
 1 files changed, 3 insertions(+), 9 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.31 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.32
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.31  Mon Feb  6 11:15:17 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Feb 27 04:29:04 2006
@@ -246,10 +246,8 @@
   O << "\t.local " << name << "\n";
 
 O << "\t.comm " << name << "," << TD.getTypeSize(C->getType())
-  << "," << (1 << Align);
-O << "\t\t# ";
-WriteAsOperand(O, I, true, true, &M);
-O << "\n";
+  << "," << (1 << Align)
+  <<  "\n";
   } else {
 switch (I->getLinkage()) {
 case GlobalValue::LinkOnceLinkage:
@@ -278,11 +276,7 @@
 EmitAlignment(Align);
 O << "\t.type " << name << ",@object\n";
 O << "\t.size " << name << "," << Size << "\n";
-O << name << ":\t\t\t\t# ";
-WriteAsOperand(O, I, true, true, &M);
-O << " = ";
-WriteAsOperand(O, C, false, false, &M);
-O << "\n";
+O << name << ":\n";
 EmitGlobalConstant(C);
   }
 }



___
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

2006-02-06 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.30 -> 1.31
---
Log message:

see what this allignment thing will do

---
Diffs of the changes:  (+2 -1)

 AlphaAsmPrinter.cpp |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.30 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.31
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.30  Sat Feb  4 13:13:09 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Feb  6 11:15:17 2006
@@ -235,7 +235,8 @@
   std::string name = Mang->getValueName(I);
   Constant *C = I->getInitializer();
   unsigned Size = TD.getTypeSize(C->getType());
-  unsigned Align = TD.getTypeAlignmentShift(C->getType());
+  //  unsigned Align = TD.getTypeAlignmentShift(C->getType());
+  unsigned Align = getPreferredAlignmentLog(I);
 
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||



___
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

2006-02-04 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.29 -> 1.30
---
Log message:

linkage fix for weak functions

---
Diffs of the changes:  (+16 -3)

 AlphaAsmPrinter.cpp |   19 ---
 1 files changed, 16 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.29 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.30
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.29  Sun Jan 22 17:37:17 2006
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Sat Feb  4 13:13:09 2006
@@ -173,9 +173,22 @@
   EmitConstantPool(MF.getConstantPool());
 
   // Print out labels for the function.
-  SwitchSection("\t.section .text", MF.getFunction());
-  EmitAlignment(4);
-  O << "\t.globl " << CurrentFnName << "\n";
+  const Function *F = MF.getFunction();
+  SwitchSection(".text", F);
+  EmitAlignment(4, F);
+  switch (F->getLinkage()) {
+  default: assert(0 && "Unknown linkage type!");
+  case Function::InternalLinkage:  // Symbols default to internal.
+break;
+   case Function::ExternalLinkage:
+ O << "\t.globl " << CurrentFnName << "\n";
+ break;
+  case Function::WeakLinkage:
+  case Function::LinkOnceLinkage:
+O << "\t.weak " << CurrentFnName << "\n";
+break;
+  }
+
   O << "\t.ent " << CurrentFnName << "\n";
 
   O << CurrentFnName << ":\n";



___
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 AlphaCodeEmitter.cpp AlphaISelDAGToDAG.cpp AlphaISelPattern.cpp

2006-01-22 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.28 -> 1.29
AlphaCodeEmitter.cpp updated: 1.8 -> 1.9
AlphaISelDAGToDAG.cpp updated: 1.28 -> 1.29
AlphaISelPattern.cpp updated: 1.198 -> 1.199
---
Log message:

Add explicit #includes of 


---
Diffs of the changes:  (+5 -3)

 AlphaAsmPrinter.cpp   |2 +-
 AlphaCodeEmitter.cpp  |1 +
 AlphaISelDAGToDAG.cpp |1 +
 AlphaISelPattern.cpp  |4 ++--
 4 files changed, 5 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.28 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.29
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.28  Sun Dec 25 11:36:48 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Sun Jan 22 17:37:17 2006
@@ -22,7 +22,7 @@
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Support/Mangler.h"
 #include "llvm/ADT/Statistic.h"
-
+#include 
 using namespace llvm;
 
 namespace {


Index: llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
diff -u llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.8 
llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.9
--- llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp:1.8  Mon Nov 21 22:20:06 2005
+++ llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp  Sun Jan 22 17:37:17 2006
@@ -23,6 +23,7 @@
 #include "llvm/Function.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/ADT/Statistic.h"
+#include 
 using namespace llvm;
 
 namespace {


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.28 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.29
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.28Mon Jan 16 15:22:38 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Sun Jan 22 17:37:17 2006
@@ -28,6 +28,7 @@
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/MathExtras.h"
 #include 
+#include 
 using namespace llvm;
 
 namespace {


Index: llvm/lib/Target/Alpha/AlphaISelPattern.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.198 
llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.199
--- llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.198Sun Dec 25 11:36:48 2005
+++ llvm/lib/Target/Alpha/AlphaISelPattern.cpp  Sun Jan 22 17:37:17 2006
@@ -16,7 +16,6 @@
 #include "AlphaTargetMachine.h"
 #include "AlphaISelLowering.h"
 #include "llvm/Constants.h"   // FIXME: REMOVE
-#include "llvm/Function.h"
 #include "llvm/Module.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineConstantPool.h" // FIXME: REMOVE
@@ -31,8 +30,9 @@
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/CommandLine.h"
-#include 
 #include 
+#include 
+#include 
 using namespace llvm;
 
 namespace llvm {



___
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 AlphaISelDAGToDAG.cpp AlphaISelPattern.cpp AlphaInstrFormats.td AlphaInstrInfo.td

2005-12-25 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.27 -> 1.28
AlphaISelDAGToDAG.cpp updated: 1.22 -> 1.23
AlphaISelPattern.cpp updated: 1.197 -> 1.198
AlphaInstrFormats.td updated: 1.20 -> 1.21
AlphaInstrInfo.td updated: 1.89 -> 1.90
---
Log message:

add br pattern, unify JSR and BSR ISel instrs, and add BSR support for DAG

---
Diffs of the changes:  (+38 -32)

 AlphaAsmPrinter.cpp   |6 +++---
 AlphaISelDAGToDAG.cpp |   23 ++-
 AlphaISelPattern.cpp  |   15 ---
 AlphaInstrFormats.td  |9 ++---
 AlphaInstrInfo.td |   17 +++--
 5 files changed, 38 insertions(+), 32 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.27 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.28
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.27  Wed Nov 30 12:54:34 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Sun Dec 25 11:36:48 2005
@@ -136,9 +136,9 @@
   case MachineOperand::MO_GlobalAddress:
 //Abuse PCrel to specify pcrel calls
 //calls are the only thing that use this flag
-if (MO.isPCRelative())
-  O << PrivateGlobalPrefix << Mang->getValueName(MO.getGlobal()) << "..ng";
-else
+// if (MO.isPCRelative())
+//   O << PrivateGlobalPrefix << Mang->getValueName(MO.getGlobal()) << 
"..ng";
+// else
   O << Mang->getValueName(MO.getGlobal());
 return;
 


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.22 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.23
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.22Sat Dec 24 19:34:27 2005
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Sun Dec 25 11:36:48 2005
@@ -194,9 +194,6 @@
 CurDAG->getBasicBlock(Dest), Chain);
   }
 
-  case ISD::BR: 
-return CurDAG->SelectNodeTo(N, Alpha::BR_DAG, MVT::Other, N->getOperand(1),
-Select(N->getOperand(0)));
   case ISD::FrameIndex: {
 int FI = cast(N)->getIndex();
 return CurDAG->SelectNodeTo(N, Alpha::LDA, MVT::i64,
@@ -214,7 +211,7 @@
 Chain.getValue(1));
 Chain = CurDAG->getCopyToReg(Chain, Alpha::R27, Select(Op.getOperand(0)), 
 Chain.getValue(1));
-Chain = CurDAG->getTargetNode(Alpha::JSRsDAG, MVT::Other, MVT::Flag, 
+Chain = CurDAG->getTargetNode(Alpha::JSRs, MVT::Other, MVT::Flag, 
  Chain, Chain.getValue(1));
 Chain = CurDAG->getCopyFromReg(Chain, Alpha::R27, MVT::i64, 
  Chain.getValue(1));
@@ -359,7 +356,7 @@
 
   SDNode *N = Op.Val;
   SDOperand Chain = Select(N->getOperand(0));
-  SDOperand Addr = Select(N->getOperand(1));
+  SDOperand Addr = N->getOperand(1);
   SDOperand InFlag;  // Null incoming flag value.
 
std::vector CallOperands;
@@ -404,12 +401,20 @@
}
 
 
-   Chain = CurDAG->getCopyToReg(Chain, Alpha::R27, Addr, InFlag);
-   InFlag = Chain.getValue(1);
// Finally, once everything is in registers to pass to the call, emit the
// call itself.
-   Chain = CurDAG->getTargetNode(Alpha::JSRDAG, MVT::Other, MVT::Flag, 
- Chain, InFlag );
+   if (Addr.getOpcode() == AlphaISD::GPRelLo) {
+ SDOperand GOT = getGlobalBaseReg();
+ Chain = CurDAG->getCopyToReg(Chain, Alpha::R29, GOT, InFlag);
+ InFlag = Chain.getValue(1);
+ Chain = CurDAG->getTargetNode(Alpha::BSR, MVT::Other, MVT::Flag, 
+  Addr.getOperand(0), Chain, InFlag);
+   } else {
+ Chain = CurDAG->getCopyToReg(Chain, Alpha::R27, Select(Addr), InFlag);
+ InFlag = Chain.getValue(1);
+ Chain = CurDAG->getTargetNode(Alpha::JSR, MVT::Other, MVT::Flag, 
+  Chain, InFlag );
+   }
InFlag = Chain.getValue(1);
 
std::vector CallResults;


Index: llvm/lib/Target/Alpha/AlphaISelPattern.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.197 
llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.198
--- llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.197Sat Dec 24 19:34:27 2005
+++ llvm/lib/Target/Alpha/AlphaISelPattern.cpp  Sun Dec 25 11:36:48 2005
@@ -824,17 +824,18 @@
 }
   }
   //build the right kind of call
-  GlobalAddressSDNode *GASD = 
dyn_cast(N.getOperand(1));
-  if (GASD && !GASD->getGlobal()->isExternal()) {
+  if (N.getOperand(1).getOpcode() == AlphaISD::GPRelLo) {
 //use PC relative branch call
 AlphaLowering.restoreGP(BB);
-BuildMI(BB, Alpha::BSR, 1, Alpha::R26)
-  .addGlobalAddress(GASD->getGlobal(),true);
+BuildMI(BB, Alpha::BSR, 1)
+  .addGlobalAddress(cast(N.getOperand(1)
+ .getOperand(0))
+   ->getGlobal(),true);
   } else {
 //no need to restore GP as we are doing an indirect call
 Tmp1 = SelectExpr

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

2005-11-30 Thread Nate Begeman


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.26 -> 1.27
---
Log message:

No longer track value types for asm printer operands, and remove them as
an argument to every operand printing function.  Requires some slight
tweaks to x86, the only user.


---
Diffs of the changes:  (+2 -3)

 AlphaAsmPrinter.cpp |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.26 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.27
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.26  Mon Nov 21 02:29:17 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Wed Nov 30 12:54:34 2005
@@ -18,7 +18,6 @@
 #include "llvm/Module.h"
 #include "llvm/Type.h"
 #include "llvm/Assembly/Writer.h"
-#include "llvm/CodeGen/ValueTypes.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Support/Mangler.h"
@@ -54,7 +53,7 @@
 }
 bool printInstruction(const MachineInstr *MI);
 void printOp(const MachineOperand &MO, bool IsCallOp = false);
-void printOperand(const MachineInstr *MI, int opNum, MVT::ValueType VT);
+void printOperand(const MachineInstr *MI, int opNum);
 void printBaseOffsetPair (const MachineInstr *MI, int i, bool 
brackets=true);
 void printMachineInstruction(const MachineInstr *MI);
 bool runOnMachineFunction(MachineFunction &F);
@@ -75,7 +74,7 @@
 
 #include "AlphaGenAsmWriter.inc"
 
-void AlphaAsmPrinter::printOperand(const MachineInstr *MI, int opNum, 
MVT::ValueType VT)
+void AlphaAsmPrinter::printOperand(const MachineInstr *MI, int opNum)
 {
   const MachineOperand &MO = MI->getOperand(opNum);
   if (MO.getType() == MachineOperand::MO_MachineRegister) {



___
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

2005-11-21 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.25 -> 1.26
---
Log message:

Switch to using the generic constant pool emitter impl, use shorter
CPI names


---
Diffs of the changes:  (+2 -25)

 AlphaAsmPrinter.cpp |   27 ++-
 1 files changed, 2 insertions(+), 25 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.25 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.26
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.25  Mon Nov 21 01:51:23 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 02:29:17 2005
@@ -18,7 +18,6 @@
 #include "llvm/Module.h"
 #include "llvm/Type.h"
 #include "llvm/Assembly/Writer.h"
-#include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/ValueTypes.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/Target/TargetMachine.h"
@@ -55,7 +54,6 @@
 }
 bool printInstruction(const MachineInstr *MI);
 void printOp(const MachineOperand &MO, bool IsCallOp = false);
-void printConstantPool(MachineConstantPool *MCP);
 void printOperand(const MachineInstr *MI, int opNum, MVT::ValueType VT);
 void printBaseOffsetPair (const MachineInstr *MI, int i, bool 
brackets=true);
 void printMachineInstruction(const MachineInstr *MI);
@@ -128,7 +126,7 @@
   }
 
   case MachineOperand::MO_ConstantPoolIndex:
-O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_"
+O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
   << MO.getConstantPoolIndex();
 return;
 
@@ -173,7 +171,7 @@
   O << "\n\n";
 
   // Print out constants referenced by the function
-  printConstantPool(MF.getConstantPool());
+  EmitConstantPool(MF.getConstantPool());
 
   // Print out labels for the function.
   SwitchSection("\t.section .text", MF.getFunction());
@@ -204,27 +202,6 @@
   return false;
 }
 
-
-/// printConstantPool - Print to the current output stream assembly
-/// representations of the constants in the constant pool MCP. This is
-/// used to print out constants which have been "spilled to memory" by
-/// the code generator.
-///
-void AlphaAsmPrinter::printConstantPool(MachineConstantPool *MCP) {
-  const std::vector &CP = MCP->getConstants();
-  const TargetData &TD = TM.getTargetData();
-
-  if (CP.empty()) return;
-
-  SwitchSection("\t.section .rodata", 0);
-  for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-EmitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
-O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_" << i 
-  << ":\t\t\t\t\t" << CommentString << *CP[i] << "\n";
-EmitGlobalConstant(CP[i]);
-  }
-}
-
 bool AlphaAsmPrinter::doInitialization(Module &M)
 {
   AsmPrinter::doInitialization(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

2005-11-20 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.24 -> 1.25
---
Log message:

Adjust to capitalized AsmPrinter method names


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

 AlphaAsmPrinter.cpp |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.24 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.25
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.24  Mon Nov 21 01:38:08 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 01:51:23 2005
@@ -169,7 +169,7 @@
 /// method to print assembly for each instruction.
 ///
 bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
-  setupMachineFunction(MF);
+  SetupMachineFunction(MF);
   O << "\n\n";
 
   // Print out constants referenced by the function
@@ -177,7 +177,7 @@
 
   // Print out labels for the function.
   SwitchSection("\t.section .text", MF.getFunction());
-  emitAlignment(4);
+  EmitAlignment(4);
   O << "\t.globl " << CurrentFnName << "\n";
   O << "\t.ent " << CurrentFnName << "\n";
 
@@ -218,10 +218,10 @@
 
   SwitchSection("\t.section .rodata", 0);
   for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-emitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
+EmitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
 O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_" << i 
   << ":\t\t\t\t\t" << CommentString << *CP[i] << "\n";
-emitGlobalConstant(CP[i]);
+EmitGlobalConstant(CP[i]);
   }
 }
 
@@ -285,7 +285,7 @@
   abort();
 }
 
-emitAlignment(Align);
+EmitAlignment(Align);
 O << "\t.type " << name << ",@object\n";
 O << "\t.size " << name << "," << Size << "\n";
 O << name << ":\t\t\t\t# ";
@@ -293,7 +293,7 @@
 O << " = ";
 WriteAsOperand(O, C, false, false, &M);
 O << "\n";
-emitGlobalConstant(C);
+EmitGlobalConstant(C);
   }
 }
 



___
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

2005-11-20 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.23 -> 1.24
---
Log message:

Use PrivateGlobalPrefix for basic blocks


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

 AlphaAsmPrinter.cpp |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.23 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.24
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.23  Mon Nov 21 01:30:28 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 01:38:08 2005
@@ -37,8 +37,7 @@
 unsigned LabelNumber;
 
  AlphaAsmPrinter(std::ostream &o, TargetMachine &tm)
-   : AsmPrinter(o, tm), LabelNumber(0)
-{
+   : AsmPrinter(o, tm), LabelNumber(0) {
   AlignmentIsInBytes = false;
   PrivateGlobalPrefix = "$";
 }
@@ -121,7 +120,8 @@
 
   case MachineOperand::MO_MachineBasicBlock: {
 MachineBasicBlock *MBBOp = MO.getMachineBasicBlock();
-O << "$LBB" << Mang->getValueName(MBBOp->getParent()->getFunction())
+O << PrivateGlobalPrefix << "LBB"
+  << Mang->getValueName(MBBOp->getParent()->getFunction())
   << "_" << MBBOp->getNumber() << "\t" << CommentString << " "
   << MBBOp->getBasicBlock()->getName();
 return;
@@ -140,7 +140,7 @@
 //Abuse PCrel to specify pcrel calls
 //calls are the only thing that use this flag
 if (MO.isPCRelative())
-  O << "$" << Mang->getValueName(MO.getGlobal()) << "..ng";
+  O << PrivateGlobalPrefix << Mang->getValueName(MO.getGlobal()) << "..ng";
 else
   O << Mang->getValueName(MO.getGlobal());
 return;
@@ -187,8 +187,8 @@
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
I != E; ++I) {
 // Print a label for the basic block.
-O << "$LBB" << CurrentFnName << "_" << I->getNumber() << ":\t"
-  << CommentString << " " << I->getBasicBlock()->getName() << "\n";
+O << PrivateGlobalPrefix << "LBB" << CurrentFnName << "_" << I->getNumber()
+  << ":\t" << CommentString << " " << I->getBasicBlock()->getName() << 
"\n";
 for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
  II != E; ++II) {
   // Print the assembly for the instruction.



___
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

2005-11-20 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.22 -> 1.23
---
Log message:

Switch to the new shared SwitchSection


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

 AlphaAsmPrinter.cpp |   32 ++--
 1 files changed, 6 insertions(+), 26 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.22 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.23
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.22  Mon Nov 21 00:55:27 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 01:30:28 2005
@@ -21,12 +21,9 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/ValueTypes.h"
 #include "llvm/CodeGen/AsmPrinter.h"
-
 #include "llvm/Target/TargetMachine.h"
-
 #include "llvm/Support/Mangler.h"
 #include "llvm/ADT/Statistic.h"
-#include "llvm/Support/CommandLine.h"
 
 using namespace llvm;
 
@@ -66,7 +63,6 @@
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
 bool doFinalization(Module &M);
-void switchSection(std::ostream &OS, const char *NewSection);
   };
 } // end of anonymous namespace
 
@@ -180,7 +176,7 @@
   printConstantPool(MF.getConstantPool());
 
   // Print out labels for the function.
-  switchSection(O, "text");
+  SwitchSection("\t.section .text", MF.getFunction());
   emitAlignment(4);
   O << "\t.globl " << CurrentFnName << "\n";
   O << "\t.ent " << CurrentFnName << "\n";
@@ -220,9 +216,8 @@
 
   if (CP.empty()) return;
 
-  switchSection(O, "rodata");
+  SwitchSection("\t.section .rodata", 0);
   for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-//switchSection(O, "section .rodata, \"dr\"");
 emitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
 O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_" << i 
   << ":\t\t\t\t\t" << CommentString << *CP[i] << "\n";
@@ -242,19 +237,6 @@
   return false;
 }
 
-
-// switchSection - Switch to the specified section of the executable if we are
-// not already in it!
-//
-void AlphaAsmPrinter::switchSection(std::ostream &OS, const char *NewSection)
-{
-  if (CurSection != NewSection) {
-CurSection = NewSection;
-if (!CurSection.empty())
-  OS << "\t.section ." << NewSection << "\n";
-  }
-}
-
 bool AlphaAsmPrinter::doFinalization(Module &M) {
   const TargetData &TD = TM.getTargetData();
 
@@ -269,7 +251,7 @@
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
-switchSection(O, "data");
+SwitchSection("\t.section .data", I);
 if (I->hasInternalLinkage())
   O << "\t.local " << name << "\n";
 
@@ -284,8 +266,8 @@
 case GlobalValue::WeakLinkage:   // FIXME: Verify correct for weak.
   // Nonnull linkonce -> weak
   O << "\t.weak " << name << "\n";
-  switchSection(O, "");
   O << "\t.section\t.llvm.linkonce.d." << name << 
",\"aw\",@progbits\n";
+  SwitchSection("", I);
   break;
 case GlobalValue::AppendingLinkage:
   // FIXME: appending linkage variables should go into a section of
@@ -295,10 +277,8 @@
   O << "\t.globl " << name << "\n";
   // FALL THROUGH
 case GlobalValue::InternalLinkage:
-  if (C->isNullValue())
-switchSection(O, "bss");
-  else
-switchSection(O, "data");
+  SwitchSection(C->isNullValue() ? "\t.section .bss" : 
+"\t.section .data", I);
   break;
 case GlobalValue::GhostLinkage:
   std::cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";



___
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

2005-11-20 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.21 -> 1.22
---
Log message:

Rename SwitchSection -> switchSection to avoid conflicting with a future
change.


---
Diffs of the changes:  (+10 -10)

 AlphaAsmPrinter.cpp |   20 ++--
 1 files changed, 10 insertions(+), 10 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.21 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.22
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.21  Mon Nov 21 00:51:52 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 00:55:27 2005
@@ -66,7 +66,7 @@
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
 bool doFinalization(Module &M);
-void SwitchSection(std::ostream &OS, const char *NewSection);
+void switchSection(std::ostream &OS, const char *NewSection);
   };
 } // end of anonymous namespace
 
@@ -180,7 +180,7 @@
   printConstantPool(MF.getConstantPool());
 
   // Print out labels for the function.
-  SwitchSection(O, "text");
+  switchSection(O, "text");
   emitAlignment(4);
   O << "\t.globl " << CurrentFnName << "\n";
   O << "\t.ent " << CurrentFnName << "\n";
@@ -220,9 +220,9 @@
 
   if (CP.empty()) return;
 
-  SwitchSection(O, "rodata");
+  switchSection(O, "rodata");
   for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-//SwitchSection(O, "section .rodata, \"dr\"");
+//switchSection(O, "section .rodata, \"dr\"");
 emitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
 O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_" << i 
   << ":\t\t\t\t\t" << CommentString << *CP[i] << "\n";
@@ -243,10 +243,10 @@
 }
 
 
-// SwitchSection - Switch to the specified section of the executable if we are
+// switchSection - Switch to the specified section of the executable if we are
 // not already in it!
 //
-void AlphaAsmPrinter::SwitchSection(std::ostream &OS, const char *NewSection)
+void AlphaAsmPrinter::switchSection(std::ostream &OS, const char *NewSection)
 {
   if (CurSection != NewSection) {
 CurSection = NewSection;
@@ -269,7 +269,7 @@
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
-SwitchSection(O, "data");
+switchSection(O, "data");
 if (I->hasInternalLinkage())
   O << "\t.local " << name << "\n";
 
@@ -284,7 +284,7 @@
 case GlobalValue::WeakLinkage:   // FIXME: Verify correct for weak.
   // Nonnull linkonce -> weak
   O << "\t.weak " << name << "\n";
-  SwitchSection(O, "");
+  switchSection(O, "");
   O << "\t.section\t.llvm.linkonce.d." << name << 
",\"aw\",@progbits\n";
   break;
 case GlobalValue::AppendingLinkage:
@@ -296,9 +296,9 @@
   // FALL THROUGH
 case GlobalValue::InternalLinkage:
   if (C->isNullValue())
-SwitchSection(O, "bss");
+switchSection(O, "bss");
   else
-SwitchSection(O, "data");
+switchSection(O, "data");
   break;
 case GlobalValue::GhostLinkage:
   std::cerr << "GhostLinkage cannot appear in AlphaAsmPrinter!\n";



___
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

2005-11-20 Thread Chris Lattner


Changes in directory llvm/lib/Target/Alpha:

AlphaAsmPrinter.cpp updated: 1.20 -> 1.21
---
Log message:

Start using PrivateGlobalPrefix correctly


---
Diffs of the changes:  (+5 -3)

 AlphaAsmPrinter.cpp |8 +---
 1 files changed, 5 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff -u llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.20 
llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.21
--- llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp:1.20  Thu Sep 29 17:54:56 2005
+++ llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp   Mon Nov 21 00:51:52 2005
@@ -43,6 +43,7 @@
: AsmPrinter(o, tm), LabelNumber(0)
 {
   AlignmentIsInBytes = false;
+  PrivateGlobalPrefix = "$";
 }
 
 /// We name each basic block in a Function with a unique number, so
@@ -131,7 +132,8 @@
   }
 
   case MachineOperand::MO_ConstantPoolIndex:
-O << "$CPI" << CurrentFnName << "_" << MO.getConstantPoolIndex();
+O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_"
+  << MO.getConstantPoolIndex();
 return;
 
   case MachineOperand::MO_ExternalSymbol:
@@ -222,8 +224,8 @@
   for (unsigned i = 0, e = CP.size(); i != e; ++i) {
 //SwitchSection(O, "section .rodata, \"dr\"");
 emitAlignment(TD.getTypeAlignmentShift(CP[i]->getType()));
-O << "$CPI" << CurrentFnName << "_" << i << ":\t\t\t\t\t" << CommentString
-  << *CP[i] << "\n";
+O << PrivateGlobalPrefix << "CPI" << CurrentFnName << "_" << i 
+  << ":\t\t\t\t\t" << CommentString << *CP[i] << "\n";
 emitGlobalConstant(CP[i]);
   }
 }



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