[LLVMdev] reg_iterator Caveats

Evan Cheng evan.cheng at apple.com
Mon Mar 31 17:35:44 PDT 2008


On Mar 31, 2008, at 4:55 PM, Chris Lattner wrote:

> On Mon, 31 Mar 2008, Evan Cheng wrote:
>>> I just discovered that def_itterator (and presumably, reg_iterator)
>>> doesn't
>>> include implicit defs, for example at function calls for caller-save
>>> physical
>>> registers.  Guh.  I'm not sure if it should or not, but it's  
>>> certainly
>>> necessary information in some cases.  Is this expected behavior,  
>>> or an
>>> oversight?
>
> reg iterators will return everything that is in the function.  If the
> implicit operands haven't been added to the machieninstrs yet, then  
> they
> won't be returned.
>
>> MachineRegisterInfo tracks virtual register only.
>
> It works for vregs and pregs today.

Ok! Fooled me with this comment:

/// MachineRegisterInfo - Keep track of information for each virtual  
register,
/// including its register class.

Evan

>
>
>> I also wish it would track physical register defs and uses as well.  
>> It
>> can be used to simplify a lot of code (in livevariable, etc.). Chris,
>> do you think that's feasible?
>
> Really really feasible :)
>
> -Chris
>
> -- 
> http://nondot.org/sabre/
> http://llvm.org/
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list