diff options
author | Tim Northover <t.p.northover@gmail.com> | 2020-12-09 10:13:36 +0000 |
---|---|---|
committer | Tim Northover <t.p.northover@gmail.com> | 2020-12-09 10:17:16 +0000 |
commit | 45de42116e3f588bbead550ab8667388ba4f10ae (patch) | |
tree | b3b8ebd88483db96acee6297d8029b1b9a1dff31 | |
parent | 85a3daa107fb0340f3b74f1719a3dc6cdb1586ee (diff) | |
download | llvm-project-45de42116e3f588bbead550ab8667388ba4f10ae.tar.gz |
AArch64: use correct operand for ubsantrap immediate.
I accidentally pushed the wrong patch originally.
-rw-r--r-- | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/AArch64/GlobalISel/ubsantrap.ll | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp index 0834b0313453..4126017c6fbd 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 000000000000..2b72381be35e --- /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) |