Displaying 3 results from an estimated 3 matches for "unwindblock".
Did you mean:
unwind_block
2007 Nov 06
1
[LLVMdev] Two labels around one instruction in Codegen
...k EndLabel and BeginLabel are in
>> the same place
>>
>
> In that case I would expect them both to be deleted...
>
Only one was deleted. Consider the code:
define i32 @test(i32 %argc) {
entry:
%tmp2 = sdiv i32 2, %argc to label %continue unwind to
label %unwindblock ; <i32> [#uses=1]
continue:
ret i32 %tmp2
unwindblock:
unwind
}
And here is the resulting x86 code (Llabel1 was supposed to be before
the {ctld, idvl} and Llabel2 which was after is not generated)
test:
.Leh_func_begin1:
.Llabel4:
movl $2, %eax...
2007 Nov 06
0
[LLVMdev] Two labels around one instruction in Codegen
Hi Nicolas,
> In order to have exceptions for non-call instructions (such as sdiv,
> load or stores), I'm modifying codegen so that it generates a BeginLabel
> and an EndLabel between the "may throwing" instruction. This is what the
> codegen of an InvokeInst does.
the rule is that all instructions between eh begin labelN and eh end labelN
must unwind to the same
2007 Nov 05
4
[LLVMdev] Two labels around one instruction in Codegen
Hi everyone,
In order to have exceptions for non-call instructions (such as sdiv,
load or stores), I'm modifying codegen so that it generates a BeginLabel
and an EndLabel between the "may throwing" instruction. This is what the
codegen of an InvokeInst does.
However, when generating native code, only BeginLabel is generated, and
it is generated after the instruction. I'm not