1*9880d681SAndroid Build Coastguard Worker; RUN: opt -S -lower-guard-intrinsic < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdeclare cc99 void @llvm.experimental.guard(i1, ...) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i8 @f_basic(i1* %c_ptr) { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @f_basic( 7*9880d681SAndroid Build Coastguard Worker; CHECK: br i1 %c, label %guarded, label %deopt 8*9880d681SAndroid Build Coastguard Worker; CHECK: deopt: 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %deoptcall = call cc99 i8 (...) @llvm.experimental.deoptimize.i8() [ "deopt"() ] 10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret i8 %deoptcall 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker %c = load volatile i1, i1* %c_ptr 13*9880d681SAndroid Build Coastguard Worker call cc99 void(i1, ...) @llvm.experimental.guard(i1 %c) [ "deopt"() ] 14*9880d681SAndroid Build Coastguard Worker ret i8 6 15*9880d681SAndroid Build Coastguard Worker} 16