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

Andrew Lenharth alenhar2 at cs.uiuc.edu
Mon Jun 27 14:11:51 PDT 2005



Changes in directory llvm/lib/Target/Alpha:

AlphaISelPattern.cpp updated: 1.134 -> 1.135
AlphaInstrInfo.td updated: 1.47 -> 1.48
---
Log message:

get rid of another pseudo op

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

 AlphaISelPattern.cpp |    5 +++--
 AlphaInstrInfo.td    |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaISelPattern.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.134 llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.135
--- llvm/lib/Target/Alpha/AlphaISelPattern.cpp:1.134	Mon Jun 27 16:02:56 2005
+++ llvm/lib/Target/Alpha/AlphaISelPattern.cpp	Mon Jun 27 16:11:40 2005
@@ -1607,8 +1607,9 @@
   case ISD::GlobalAddress:
     AlphaLowering.restoreGP(BB);
     has_sym = true;
-    BuildMI(BB, Alpha::LOAD_ADDR, 1, Result)
-      .addGlobalAddress(cast<GlobalAddressSDNode>(N)->getGlobal());
+    BuildMI(BB, Alpha::LDQrl, 2, Result)
+      .addGlobalAddress(cast<GlobalAddressSDNode>(N)->getGlobal())
+      .addReg(Alpha::R29);
     return Result;
 
   case ISD::TAILCALL:


Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td
diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.47 llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.48
--- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.47	Mon Jun 27 16:02:56 2005
+++ llvm/lib/Target/Alpha/AlphaInstrInfo.td	Mon Jun 27 16:11:40 2005
@@ -55,7 +55,6 @@
 
 //These are evil as they get expanded into multiple instructions to take care of reallocation
 let Uses = [R29], Defs = [R28] in {
-  def LOAD_ADDR : PseudoInstAlpha<(ops GPRC:$RA, s64imm:$DISP), "lda $RA,$DISP">;  //Load address
   def LDQ_SYM : PseudoInstAlpha<(ops GPRC:$RA, s64imm:$DISP), "ldq $RA,$DISP">; //Load quadword
   def LDS_SYM : PseudoInstAlpha<(ops GPRC:$RA, s64imm:$DISP), "lds $RA,$DISP">; //Load float
   def LDT_SYM : PseudoInstAlpha<(ops GPRC:$RA, s64imm:$DISP), "ldt $RA,$DISP">; //Load double
@@ -363,6 +362,7 @@
 def LDQr : MForm<0x29, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldq $RA,$DISP($RB) !gprellow">; //Load quadword
 def LDBUr : MForm<0x0A, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldbu $RA,$DISP($RB) !gprellow">; //Load zero-extended byte
 def LDWUr : MForm<0x0C, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldwu $RA,$DISP($RB) !gprellow">; //Load zero-extended word
+def LDQrl : MForm<0x29, (ops GPRC:$RA, s16imm:$DISP, GPRC:$RB), "ldq $RA,$DISP($RB) !literal">; //Load quadword
 
 //Loads, float, Rellocated form
 def LDSr : MForm<0x22, (ops FPRC:$RA, s16imm:$DISP, GPRC:$RB), "lds $RA,$DISP($RB) !gprellow">; //Load S_floating






More information about the llvm-commits mailing list