llvm.org GIT mirror llvm / release_39 test / CodeGen / ARM / debugtrap.ll

Tree @release_39 (Download .tar.gz)

debugtrap.ll @release_39raw · history · blame

; This test ensures the @llvm.debugtrap() call is not removed when generating
; the 'pop' instruction to restore the callee saved registers on ARM.

; RUN: llc < %s -mtriple=armv7 -O0 -filetype=asm | FileCheck %s 

declare void @llvm.debugtrap() nounwind
declare void @foo() nounwind

define void @test() nounwind {
  ; CHECK: bl foo
  ; CHECK-NEXT: pop
  ; CHECK-NEXT: .inst 0xe7ffdefe
  call void @foo()
  call void @llvm.debugtrap()
  ret void