[LLVMdev] memory lifetime and invariance

Chris Lattner clattner at apple.com
Tue May 19 03:00:52 PDT 2009


On May 19, 2009, at 12:32 AM, Nick Lewycky wrote:

> Chris Lattner wrote:
>> FYI, I wrote up some thoughts on this here:
>> http://nondot.org/sabre/LLVMNotes/MemoryUseMarkers.txt
>>
>> The intention is to allow front-ends to express things like "I know
>> this memory is a constant in this region" and to allow the optimizer/
>> codegen to perform more aggressive stack slot merging.
>
> Very nice!
>
> Why does @llvm.invariant.end restate the size when it already takes  
> the
> call to @llvm.invariant.start as its first argument? Did you really  
> mean
> to allow for the case where part of an object is still invariant and
> part isn't? If so, isn't it missing an offset as well?

It is basically because the invariant.start may not be the immediate  
operand of the invariant.end.  You may end up having phi nodes  
connecting the two when various phi translation cases occur.

-Chris



More information about the llvm-dev mailing list