Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

ghc-tcreturn-lowered.ll
; 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
}