Displaying 1 result from an estimated 1 matches for "cleanupcall".
2020 Jan 26
2
[RFC] Replacing inalloca with llvm.call.setup and preallocated
...o
the cleanup stack. Here is what the IR for the previous example would look
like, assuming each argument has a constructor that may throw:
```llvm
%cs = call token @llvm.call.setup(i32 3)
%m0 = call i8* @llvm.call.alloc(token %cs, i32 0)
invoke void @ctor0(i8* %m0)
to label %cont0 unwind label %cleanupCall
cont0:
%m1 = call i8* @llvm.call.alloc(token %cs, i32 1)
invoke void @ctor1(i8* %m1)
to label %cont1 unwind label %cleanup0
cont1:
%m2 = call i8* @llvm.call.alloc(token %cs, i32 2)
invoke void @ctor2(i8* %m2)
to label %cont2 unwind label %cleanup1
cont2:
call void @use_callsetup(i8* preall...