[llvm-commits] [llvm] r132187 - /llvm/trunk/lib/Target/X86/X86RegisterInfo.td

Rafael Avila de Espindola rafael.espindola at gmail.com
Fri May 27 12:25:02 PDT 2011


On 11-05-27 03:16 PM, Devang Patel wrote:
>
> On May 27, 2011, at 12:01 PM, Rafael Avila de Espindola wrote:
>
>>> Rafael, doesn't this degrade our current debug info?
>>>
>>> If a 16-bit variable lives in AX, will we now tell the debugger that we don't know where it is?
>>>
>>> I don't object to using DW_OP_bit_piece, but shouldn't the code to do that be in place first?
>>
>> My understanding was that we already do.
>
> We don't. We have a special case for ARM to handle Q and S registers.

Ah.

I tried compiling

void f(short zzz) {
   short xyz = zzz + 1;
   g(42, xyz);
}

At -O0 the locations are in memory, but just running opt -mem2reg 
destroys the location of xyz. The location of zzz is reported as

                DW_AT_location              <loclist with 1 entries follows>
                         [ 0]<lowpc=0x0><highpc=0x3>DW_OP_reg5


Both before and after the patch. Is there a case where we correctly 
promote a value to a register and update the location?

> -
> Devang
>

Cheers,
Rafael



More information about the llvm-commits mailing list