From 45de42116e3f588bbead550ab8667388ba4f10ae Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Wed, 9 Dec 2020 10:13:36 +0000 Subject: [PATCH] AArch64: use correct operand for ubsantrap immediate. I accidentally pushed the wrong patch originally. --- llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp | 2 +- llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll diff --git a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp index 0834b03..4126017 100644 --- a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp @@ -4879,7 +4879,7 @@ bool AArch64InstructionSelector::selectIntrinsicWithSideEffects( break; case Intrinsic::ubsantrap: MIRBuilder.buildInstr(AArch64::BRK, {}, {}) - .addImm(I.getOperand(0).getImm() | ('U' << 8)); + .addImm(I.getOperand(1).getImm() | ('U' << 8)); break; } diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll b/llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll new file mode 100644 index 0000000..2b72381 --- /dev/null +++ b/llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll @@ -0,0 +1,11 @@ +; RUN: llc -mtriple=arm64-apple-ios %s -o - -global-isel -global-isel-abort=1 | FileCheck %s + +define void @test_ubsantrap() { +; CHECK-LABEL: test_ubsantrap +; CHECK: brk #0x550c +; CHECK-GISEL: brk #0x550c + call void @llvm.ubsantrap(i8 12) + ret void +} + +declare void @llvm.ubsantrap(i8) -- 2.7.4