[LLVMdev] c const

Chris Lattner sabre at nondot.org
Wed Aug 15 08:06:00 PDT 2007


I don't follow what you mean - gcc doesn't ignore const and llvm  
doesn't deviate from gcc nor from the relevant language standards.   
Note that if you declare a global as const that we do capture this in  
the ir - what specifically do you want?  Please provide an example.

-Chris

http://nondot.org/sabre
http://llvm.org

On Aug 14, 2007, at 11:58 PM, "Ryan M. Lefever"  
<lefever at crhc.uiuc.edu> wrote:

> I don't mean to be a pain, but I was thinking about this a bit more.
> Does gcc ignore the const keyword?  If not, why has LLVM chosen to
> deviate from gcc with respect to the const keyword?  If so, then why  
> do
> we bother using const in LLVM API code?  I'm just curious and wanted  
> to
> understand the thinking behind not preserving const.
>
> Thanks,
> Ryan
>
> Chris Lattner wrote:
>> This property isn't preserved on the llvm ir, because const can  
>> always
>> be cast away.  If you want mod information, then I suggest using the
>> aliasanalysis interface to get mod ref info for a call.
>>
>> -Chris
>>
>> http://nondot.org/sabre
>> http://llvm.org
>>
>> On Aug 8, 2007, at 12:07 AM, "Ryan M. Lefever"  
>> <lefever at crhc.uiuc.edu>
>> wrote:
>>
>>
>>> How is c's const keyword translated when compiling c into llvm
>>> bytecode.
>>> I'm specifically interested in const pointer function arguments.
>>> Consider a function declared as follows in c:
>>>
>>> void f(const int* arg);
>>>
>>> When I examine f in llvm bytecode, how can I tell that arg is a
>>> pointer,
>>> whose contents can only be read, not written.
>>>
>>> Regards,
>>> Ryan
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> -- 
> Ryan M. Lefever  [http://www.crhc.uiuc.edu/~lefever/index.html]
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



More information about the llvm-dev mailing list