[LLVMdev] LLVM 2.4 problem? (resend)
    David Vandevoorde 
    daveed at vandevoorde.com
       
    Wed Oct 15 10:56:06 PDT 2008
    
    
  
On Oct 15, 2008, at 1:04 PM, Anton Korobeynikov wrote:
> Hello, David
>
>>
>> (My own position is that different objects should have guaranteed
>> different addresses.  To alias them, a code generator must prove that
>> it wouldn't change observable behavior.)
> However, it's pretty common linker optimization to merge constant  
> strings / small literal values. So, even if compiler itself won't  
> merge them, they will be emitted into mergeable section and then  
> linker will perform this optimization.
Correct, but note that literals (unlike variables) don't define  
distinct objects per se.  For example, two occurrences of "literal"  
may evaluate to the same (array) object.  The standard even explicitly  
allows for e.g. "literal" to be a subobject of "string  
literal" (2.13.4/10 in N2723).
	Daveed
    
    
More information about the llvm-dev
mailing list