Home | History | Annotate | Download | only in NVPTX
      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