[llvm-dev] llvm::GlobalVariable usage (newbie question)

Nikodemus Siivola via llvm-dev llvm-dev at lists.llvm.org
Tue May 30 13:09:20 PDT 2017


A followup question.

Langref says: "LLVM explicitly allows declarations of global variables to
be marked constant, even if the final definition of the global is not. This
capability can be used to enable slightly better optimization of the
program, but requires the language definition to guarantee that
optimizations based on the ‘constantness’ are valid for the translation
units that do not include the definition."

Am I correct in surmising that means it's OK to claim globals in other
translation units are constant if they don't change after the initial
definition?

On Tue, May 30, 2017 at 11:04 PM, Nikodemus Siivola <
nikodemus at random-state.net> wrote:

> No, thanks for the hint!
>
>
> On Tue, May 30, 2017 at 10:58 PM, Tim Northover <t.p.northover at gmail.com>
> wrote:
>
>> On 30 May 2017 at 12:39, Nikodemus Siivola via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> > The docs are pretty vague about this. After digging into the examples I
>> got
>> > the following to work with JIT to gain a pointer to variable elsewhere
>> in
>> > the runtime, but I'd like to understand what is going on here, and if
>> there
>> > is a, um, nicer API that I'm missing?
>>
>> Have you looked at Module::getOrInsertGlobal? It seems to be pretty
>> much exactly what you're doing.
>>
>> Cheers.
>>
>> Tim.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170530/0b1b4f62/attachment-0001.html>


More information about the llvm-dev mailing list