42 lines · plain
1; REQUIRES: llvm_inliner_model_autogenerated2; RUN: opt -S -passes='coro-early,scc-oz-module-inliner,print<inline-advisor>' \3; RUN: -enable-ml-inliner=release -keep-inline-advisor-for-printing < %s4 5define void @_Z5get_sv() presplitcoroutine {6 %1 = call token @llvm.coro.id(i32 0, ptr null, ptr null, ptr null)7 %2 = call ptr @llvm.coro.begin(token %1, ptr null)8 %3 = call token @llvm.coro.save(ptr null)9 %4 = call i8 @llvm.coro.suspend(token none, i1 false)10 call void @_ZN1S12promise_typeD2Ev()11 ret void12}13 14declare token @llvm.coro.id(i32, ptr readnone, ptr nocapture readonly, ptr)15declare ptr @llvm.coro.begin(token, ptr writeonly)16declare token @llvm.coro.save(ptr)17declare i8 @llvm.coro.suspend(token, i1)18 19declare void @__clang_call_terminate()20 21define void @_ZN1S12promise_typeD2Ev() personality ptr null {22 invoke void @_Z4funcv()23 to label %1 unwind label %224 251: ; preds = %026 ret void27 282: ; preds = %029 %3 = landingpad { ptr, i32 }30 catch ptr null31 call void @__clang_call_terminate()32 unreachable33}34declare void @_Z4funcv()35 36; CHECK: [MLInlineAdvisor] FuncLevels:37; CHECK-NEXT: _Z5get_sv : 138; CHECK-NEXT: _ZN1S12promise_typeD2Ev : 039; CHECK-NEXT: _Z5get_sv.resume : 140; CHECK-NEXT: _Z5get_sv.destroy : 141; CHECK-NEXT: _Z5get_sv.cleanup : 142