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 6 target triple = "nvptx64-nvidia-cuda" 7 8 declare void @conv() convergent 9 declare void @not_conv() 10 11 define 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