Xamarin Public Jenkins (auto-signing) f32dbaf0b2 Imported Upstream version 5.18.0.225
Former-commit-id: 10196d987d5fc5564b9d3b33b1fdf13190f4d0b5
2018-12-21 19:01:49 +00:00

28 lines
620 B
LLVM

; RUN: llc -mtriple nvptx64-nvidia-cuda -stop-after machine-cp -o - < %s 2>&1 | FileCheck %s
; Check that convergent calls are emitted using convergent MIR instructions,
; while non-convergent calls are not.
target triple = "nvptx64-nvidia-cuda"
declare void @conv() convergent
declare void @not_conv()
define void @test(void ()* %f) {
; CHECK: ConvergentCallUniPrintCall
; CHECK-NEXT: @conv
call void @conv()
; CHECK: CallUniPrintCall
; CHECK-NEXT: @not_conv
call void @not_conv()
; CHECK: ConvergentCallPrintCall
call void %f() convergent
; CHECK: CallPrintCall
call void %f()
ret void
}