search for: cont8

Displaying 7 results from an estimated 7 matches for "cont8".

Did you mean: cont
2014 Nov 24
1
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...oke.cont7 unwind label %terminate.lpad invoke.cont7: ; preds = %lpad4 br label %ehcleanup if.end: ; preds = %invoke.cont6, %invoke.cont2 invoke void @_ZN6MiddleD1Ev(%class.Middle* %middle) to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %if.end br label %try.cont ; Pre-catch cleanup for lpad1 ; Continuation of pre-catch cleanup for lpad4 ehcleanup: ; preds = %invoke.cont7, %lpad1 invoke void @_ZN6MiddleD1Ev(%...
2009 Nov 13
0
[LLVMdev] opt -std-compile-opts breaks tail calls
On Nov 13, 2009, at 3:34 AM, Jon Harrop wrote: >> Point 4 is the one that caused me trouble for some time. >> Unfortunately >> it causes a bad interaction with the optimiser, specifically the >> 'simplifycfg' pass. What seems to happen is that since the function >> you are calling is marked with 'noreturn', the simplifycfg pass will >> then
2009 Nov 13
2
[LLVMdev] opt -std-compile-opts breaks tail calls
...; <i1> [#uses=1] br i1 %40, label %fail6, label %pass4 pass4: ; preds = %pass2 %41 = extractvalue %0 %4, 1 ; <i32> [#uses=1] %42 = icmp sgt i32 %41, %1 ; <i1> [#uses=1] br i1 %42, label %cont8, label %fail6 fail6: ; preds = %pass4, %pass2 %43 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([27 x i8]* @buf5, i64 0, i64 0)) ; <i32> [#uses=0] call void @exit(i32 1) br label %cont8 cont8:...
2009 Nov 20
2
[LLVMdev] llc barfing
...; <%0> [#uses=2] %18 = load i32* @n_visit ; <i32> [#uses=4] %19 = icmp sge i32 %18, 0 ; <i1> [#uses=1] br i1 %19, label %pass10, label %fail9 pass7: ; preds = %cont5 br label %cont8 cont8: ; preds = %cont14, %pass7 %20 = add i32 %1, 1 ; <i32> [#uses=1] %21 = tail call fastcc i8* @"visit_array_aux<`Reference>"(%0 %0, i32 %20) ; <i8*> [#uses=1] ret i8* %21 fail9:...
2009 Nov 13
2
[LLVMdev] opt -std-compile-opts breaks tail calls
On Friday 13 November 2009 04:57:43 David Terei wrote: > I've run into some issues with tail calls in the past, make sure you > are doing the following: > > 1. Call should be marked with tail (obviously) > 2. Next statement after tail call should be 'return void' > 3. Use fast call convention for tail calls > 4. Make sure the function you are calling doesn't
2015 Jan 27
2
[LLVMdev] RFC: Native Windows C++ exception handling
I was thinking about this last night, and I came up with a third alternative which I think looks very promising. It’s basically a re-working of the previous alternative to use the landingpad concept rather than arbitrary fake logic, but it uses a single landing pad for the entire function that mimics the logic of the personality function to dispatch unwinding calls and catch handlers. I believe
2015 Jan 27
2
[LLVMdev] RFC: Native Windows C++ exception handling
...label %invoke.cont4 unwind label %lpad3 invoke.cont4: ; preds = %invoke.cont2 invoke void @_ZN5InnerD1Ev(%struct.Inner* %inner) to label %try.cont unwind label %lpad1 try.cont: ; preds = %invoke.cont4, %invoke.cont8 invoke void @_ZN5OuterD1Ev(%struct.Outer* %outer) to label %try.cont19 unwind label %lpad try.cont19: ; preds = %try.cont, %invoke.cont17 call void @_Z10keep_goingv() ret void lpad: ; preds = %try.co...