llvm.org GIT mirror llvm / release_50 test / CodeGen / ARM / ghc-tcreturn-lowered.ll
release_50

Tree @release_50 (Download .tar.gz)

ghc-tcreturn-lowered.ll @release_50raw · history · blame

; RUN: llc -mtriple=thumbv7-eabi -o - %s | FileCheck %s

declare ghccc void @g()

define ghccc void @test_direct_tail() {
; CHECK-LABEL: test_direct_tail:
; CHECK: b g

  tail call ghccc void @g()
  ret void
}

@ind_func = global void()* zeroinitializer

define ghccc void @test_indirect_tail() {
; CHECK-LABEL: test_indirect_tail:
; CHECK: bx {{r[0-9]+}}
  %func = load void()*, void()** @ind_func
  tail call ghccc void() %func()
  ret void
}