Displaying 3 results from an estimated 3 matches for "idvl".
Did you mean:
idl
2007 Nov 06
1
[LLVMdev] Two labels around one instruction in Codegen
...e:
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
movl 4(%esp), %ecx
cltd
idivl %ecx
.Llabel1:
.LBB1_1: # continue
ret
.LBB1_2: # unwindblock
Thanks Duncan,
Nicolas
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