[PATCH] D36741: [AArch64] Remove DecodeAuthLoadWriteback

Phabricator via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 18 01:40:57 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL311148: [AArch64] Remove DecodeAuthLoadWriteback (authored by sam_parker).

Changed prior to commit:
  https://reviews.llvm.org/D36741?vs=111167&id=111628#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D36741

Files:
  llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
  llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp


Index: llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
===================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
+++ llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
@@ -1169,7 +1169,7 @@
 let mayLoad = 1 in
 class BaseAuthLoad<bit M, bit W, dag oops, dag iops, string asm,
                    string operands, string cstr, Operand opr>
-  : I<oops, iops, asm, operands, "", []>, Sched<[]> {
+  : I<oops, iops, asm, operands, cstr, []>, Sched<[]> {
   bits<10> offset;
   bits<5> Rn;
   bits<5> Rt;
@@ -1185,14 +1185,13 @@
 }
 
 multiclass AuthLoad<bit M, string asm, Operand opr> {
-  def indexed   : BaseAuthLoad<M, 0, (outs GPR64:$Rt), (ins GPR64sp:$Rn, opr:$offset),
+  def indexed   : BaseAuthLoad<M, 0, (outs GPR64:$Rt),
+                               (ins GPR64sp:$Rn, opr:$offset),
                                asm, "\t$Rt, [$Rn, $offset]", "", opr>;
   def writeback : BaseAuthLoad<M, 1, (outs GPR64sp:$wback, GPR64:$Rt),
                                (ins GPR64sp:$Rn, opr:$offset),
                                asm, "\t$Rt, [$Rn, $offset]!",
-                               "$Rn = $wback, at earlyclobber $wback", opr> {
-    let DecoderMethod = "DecodeAuthLoadWriteback";
-  }
+                               "$Rn = $wback, at earlyclobber $wback", opr>;
 
   def : InstAlias<asm # "\t$Rt, [$Rn]",
                   (!cast<Instruction>(NAME # "indexed") GPR64:$Rt, GPR64sp:$Rn, 0)>;
Index: llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
===================================================================
--- llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+++ llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
@@ -1609,24 +1609,3 @@
   return Success;
 }
 
-static DecodeStatus DecodeAuthLoadWriteback(llvm::MCInst &Inst, uint32_t insn,
-                                            uint64_t Address,
-                                            const void *Decoder) {
-  unsigned Rt = fieldFromInstruction(insn, 0, 5);
-  unsigned Rn = fieldFromInstruction(insn, 5, 5);
-  unsigned Imm9 = fieldFromInstruction(insn, 12, 9);
-  unsigned S = fieldFromInstruction(insn, 22, 1);
-
-  unsigned Imm = Imm9 | (S << 9);
-
-  // Address writeback
-  DecodeGPR64spRegisterClass(Inst, Rn, Address, Decoder);
-  // Destination
-  DecodeGPR64RegisterClass(Inst, Rt, Address, Decoder);
-  // Address
-  DecodeGPR64spRegisterClass(Inst, Rn, Address, Decoder);
-  // Offset
-  DecodeSImm<10>(Inst, Imm, Address, Decoder);
-
-  return Success;
-}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36741.111628.patch
Type: text/x-patch
Size: 2579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170818/f4d26276/attachment.bin>


More information about the llvm-commits mailing list