[LLVMdev] reg_iterator Caveats
David Greene
dag at cray.com
Tue Apr 1 11:27:18 PDT 2008
On Tuesday 01 April 2008 12:35, Chris Lattner wrote:
> On Tue, 1 Apr 2008, David Greene wrote:
> > On Tuesday 01 April 2008 10:47, David Greene wrote:
> >>> 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.
> >>
> >> Hmm...this is definitely NOT true in my copy. During register
> >> allocation these implicit defs are not returned. By then the
> >> instructions are most definitely fully constructed. :)
> >
> > Urk. It seems things are worse than that, even.
>
> You should try updating to mainline. I have no idea what snapshot you
> have.
Yep, it's on my TODO list.
> Barring a serious bug, the use/def chains cannot get out of date. When a
> machineinstr is inserted into a function or when an operand is added to
> the instr, it is automatically added to the register list. There is no
> way that these can get out of date, by design.
Ok, I see the code in MachineOperand to do this. Strange. I've hacked around
it for the time being. I'll double-check when we update.
-Dave
More information about the llvm-dev
mailing list