• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple nvptx64-nvidia-cuda -stop-after machine-cp -o - < %s 2>&1 | FileCheck %s
2
3; Check that convergent calls are emitted using convergent MIR instructions,
4; while non-convergent calls are not.
5
6target triple = "nvptx64-nvidia-cuda"
7
8declare void @conv() convergent
9declare void @not_conv()
10
11define void @test(void ()* %f) {
12  ; CHECK: ConvergentCallUniPrintCall
13  ; CHECK-NEXT: @conv
14  call void @conv()
15
16  ; CHECK: CallUniPrintCall
17  ; CHECK-NEXT: @not_conv
18  call void @not_conv()
19
20  ; CHECK: ConvergentCallPrintCall
21  call void %f() convergent
22
23  ; CHECK: CallPrintCall
24  call void %f()
25
26  ret void
27}
28