[llvm] r311148 - [AArch64] Remove DecodeAuthLoadWriteback
Sam Parker via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 18 01:39:54 PDT 2017
Author: sam_parker
Date: Fri Aug 18 01:39:54 2017
New Revision: 311148
URL: http://llvm.org/viewvc/llvm-project?rev=311148&view=rev
Log:
[AArch64] Remove DecodeAuthLoadWriteback
The BaseAuthLoad instruction class was incorrectly passing an empty
constraint string to its parent, so I have corrected this. This makes
the DecodeAuthLoadWriteback function redundant, so I've also removed
it.
Differential Revision: https://reviews.llvm.org/D36741
Modified:
llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
Modified: llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td?rev=311148&r1=311147&r2=311148&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td (original)
+++ llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.td Fri Aug 18 01:39:54 2017
@@ -1169,7 +1169,7 @@ class AuthReturn<bits<3> op, bits<1> M,
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 @@ class BaseAuthLoad<bit M, bit W, dag oop
}
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)>;
Modified: llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp?rev=311148&r1=311147&r2=311148&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp (original)
+++ llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp Fri Aug 18 01:39:54 2017
@@ -1609,24 +1609,3 @@ static DecodeStatus DecodeSImm(llvm::MCI
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;
-}
More information about the llvm-commits
mailing list