From 73dce4a73a57b4f2d26f63ce0b0b094166740380 Mon Sep 17 00:00:00 2001 From: Rot127 Date: Fri, 5 Jan 2024 07:44:37 -0500 Subject: [PATCH] Fix BL definition. BL is no call and does not read SP. --- llvm/lib/Target/AArch64/AArch64InstrInfo.td | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index 17fc90afcaab..3be25d436cf3 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -2648,9 +2648,9 @@ let isBranch = 1, isTerminator = 1, isBarrier = 1 in { def B : BranchImm<0, "b", [(br bb:$addr)]>; } // isBranch, isTerminator, isBarrier -let isCall = 1, Defs = [LR], Uses = [SP] in { -def BL : CallImm<1, "bl", [(AArch64call tglobaladdr:$addr)]>; -} // isCall +let isBranch = 1, Defs = [LR] in { +def BL : BranchImm<1, "bl", [(AArch64adr tglobaladdr:$addr)]>; +} // isBranch def : Pat<(AArch64call texternalsym:$func), (BL texternalsym:$func)>; //===----------------------------------------------------------------------===//