search for: rejoin_at

Displaying 2 results from an estimated 2 matches for "rejoin_at".

2015 Feb 12
2
[LLVMdev] RFC: Native Windows C++ exception handling
> We'd have to hoist a + b to somewhere that dominates L1 and L2. I think the only BB in your program that dominates is the entry block I don't follow. What path do you see from entry to either L1 or L2 that doesn't pass through the indirectbr? In order to reach either L1 or L2, the call to maybe_throw() must raise an exception (else we'd return 0 from foo), the exception must
2015 Feb 13
2
[LLVMdev] RFC: Native Windows C++ exception handling
...func, %catch_float) } define i32 @foo(i32 %a, i32 %b) { entry: invoke void @maybe_throw() to label %ret unwind label %lpad ret: ret i32 0 ; The return case lpad: %ehvals = landingpad { i8*, i32 } personality ... catch ... ; typeinfo for int catch ... ; typeinfo for float %rejoin_at = call i8* @llvm.eh.actions(... @int_handler, ... @float_handler, ...) indirectbr i8* %rejoin_at, [ label %catch_int, label %catch_float ] catch_int: %s1 = add i32 %a, %b ret i32 %s1 catch_float: %s2 = add i32 %a, %b %s3 = add i32 %s2, 1 ret i32 %s3 } But even if we aren't smart...