[LLVMdev] alias information in codegen

Dan Gohman gohman at apple.com
Sat Apr 5 09:00:14 PDT 2008


On Fri, April 4, 2008 2:24 am, Duncan Sands wrote:
> Hi,
>
>> * There are still a variety of places in SelectionDAG creation that
>>    don't preserve SVOperand/SVOffset (as well as alignment and
>> volatile).
>>
>> These places need to be found and fixed. This is pretty straight-
>> forward,
>> and the places that need changing can be found by inserting some
>> strategic assert(SVOperand)'s.
>
> I've seen at least one place that passed through the original
> SVOperand and SVOffset, but incorrectly forget to adjust SVOffset.
> The assert you suggest wouldn't catch this.  There really need
> to be some new or better methods to make it hard to get this kind
> of thing wrong (currently it is hard to get it right!).

I agree that it's tricky to get these right. Do you have any
ideas for how the values might be verified?

One thing we can work on is simplifying SelectionDAG::getLoad and
getStore, or maybe providing better alternative convenience methods.
Right now they're quite chatty.

Dan





More information about the llvm-dev mailing list