[LLVMdev] reg_iterator Caveats

David Greene dag at cray.com
Mon Mar 31 14:53:58 PDT 2008


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?

                                            -Dave



More information about the llvm-dev mailing list