mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
b713d2117e
On Windows ARM64, intrinsic __debugbreak is compiled into brk #0xF000 which is mapped to llvm.debugtrap in Clang. Instruction brk #F000 is the defined break point instruction on ARM64 which is recognized by Windows debugger and exception handling code, so llvm.debugtrap should map to it instead of redirecting to llvm.trap (brk #1) as the default implementation. Differential Revision: https://reviews.llvm.org/D63635 llvm-svn: 364115
14 lines
384 B
LLVM
14 lines
384 B
LLVM
; RUN: llc -mtriple=aarch64-windows %s -o -| FileCheck %s
|
|
; RUN: llc -mtriple=aarch64-windows -fast-isel %s -o - | FileCheck %s
|
|
; RUN: llc -mtriple=aarch64-windows -global-isel %s -o - | FileCheck %s
|
|
|
|
; CHECK-LABEL: test1:
|
|
; CHECK: brk #0xf000
|
|
define void @test1() noreturn nounwind {
|
|
entry:
|
|
tail call void @llvm.debugtrap( )
|
|
ret void
|
|
}
|
|
|
|
declare void @llvm.debugtrap() nounwind
|