[LLVMdev] reg_iterator Caveats
Evan Cheng
evan.cheng at apple.com
Mon Mar 31 16:32:37 PDT 2008
On Mar 31, 2008, at 2:53 PM, David Greene wrote:
> On Monday 31 March 2008 00:57, Chris Lattner wrote:
>> On Mar 30, 2008, at 10:42 PM, David A. Greene wrote:
>>>> SSA form, it is reasonable to say "give me the first def" and
>>>> expect
>>>> it to be the only def. For multiply defined values like physregs,
>>>> this is not true, because the reg can have multiple defs.
>>>
>>> Gotcha. This is exactly what I want. Thanks for the explanation.
>>>
>>> For non-SSA values, is there some indication of which defs reach
>>> which
>>> uses? I don't need this right now but I can imagine using it in the
>>> future.
>>
>> The reg def/kill/dead flags are all that there is.
>
> 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?
MachineRegisterInfo tracks virtual register only.
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?
Evan
>
>
> -Dave
> _______________________________________________
> 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