Displaying 5 results from an estimated 5 matches for "cmov_gr".
2011 Jun 03
2
[LLVMdev] MachineSink and EFLAGS
On Jun 3, 2011, at 2:59 AM, Galanov, Sergey wrote:
> Hi, Bill and Jakob.
>
> I don't quite understand. I am talking about CMOV_GR* instructions which are conservatively marked as clobbering EFLAGS in X86InstrCompiler.td. Doesn't that mean there cannot be any use of EFLAGS in subsequent instructions before it is defined by some other instruction?
>
> I also don't understand the remark about resetting EFLAGS. Wha...
2011 Jun 05
0
[LLVMdev] MachineSink and EFLAGS
Well, the point is CMOV_GR* are marked clobbering EFLAGS conservatively just in case they turn out to be lowered into a sequence containing XOR %reg,%reg which indeed clobbers EFLAGS. This means there might not be any instruction which actually uses this EFLAGS value.
For an example we can look no further than the actual te...
2011 Jun 03
0
[LLVMdev] MachineSink and EFLAGS
Hi, Bill and Jakob.
I don't quite understand. I am talking about CMOV_GR* instructions which are conservatively marked as clobbering EFLAGS in X86InstrCompiler.td. Doesn't that mean there cannot be any use of EFLAGS in subsequent instructions before it is defined by some other instruction?
I also don't understand the remark about resetting EFLAGS. What kind of...
2011 Jun 02
2
[LLVMdev] MachineSink and EFLAGS
On Jun 2, 2011, at 12:58 PM, Bill Wendling wrote:
> On Jun 2, 2011, at 3:53 AM, Galanov, Sergey wrote:
>
>> Hi Bill.
>>
>> Thank you very much! Now I see my understanding was incorrect :) A dependence from a single physreg-defining instruction (like CMP or TEST) is allowed to be shared in several instructions unless that register is not clobbered (and this is what we
2011 Jun 05
1
[LLVMdev] MachineSink and EFLAGS
Thanks for spelling it out, now I understand.
On Jun 5, 2011, at 6:11 AM, Galanov, Sergey wrote:
> Well, the point is CMOV_GR* are marked clobbering EFLAGS conservatively just in case they turn out to be lowered into a sequence containing XOR %reg,%reg which indeed clobbers EFLAGS. This means there might not be any instruction which actually uses this EFLAGS value.
This actually looks like a leftover from some older code...