llvm/llvm/test/Transforms/SpeculativeExecution/single-lane-execution.ll

; REQUIRES: amdgpu-registered-target
; RUN: opt -S -passes=speculative-execution -mtriple=amdgcn--  \
; RUN: -spec-exec-only-if-divergent-target \
; RUN:   -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \
; RUN:   %s | FileCheck %s

; Hoist in if-then pattern.
define void @skip_single_lane_ifThen() #0 {
; CHECK-LABEL: @skip_single_lane_ifThen(
; CHECK: br i1 true

br i1 true, label %a, label %b
; CHECK: a:
; CHECK: %x = add i32 2, 3
a:
  %x = add i32 2, 3
; CHECK: br label
  br label %b
; CHECK: b:
b:
; CHECK: ret void
  ret void
}

attributes #0 = { "amdgpu-flat-work-group-size"="1,1" }