[llvm-dev] AA and external globals

Christian Convey via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 5 13:00:31 PST 2015


I'm working on an AA implementation, and I'm using abstract blocks to model
the memory used to store the values of program variables.

To be sound my analysis must ensure that all program objects which *might
possibly* occupy the same chunk of runtime memory are modeled with the same
abstract memory block.  I'm trying to understand if "external" linkage is a
problem for me.

More concretely, suppose I have a Module which includes these declarations:
@Bar = external global i32
@Foo = external global i32

Is there any reasonable possibility that the linker will cause @Bar and
@Foo to name the same piece of runtime memory?

FWIW, my AA algorithm considers only one llvm Module at a time, so from its
perspective the final program is divided into two parts: what it sees in
the current Module, and the mysterious, unknowable everything else.  Also,
I need my algorithm to at least be sound for ELF targets, but ideally for
all LLVM targets.

Thanks,
Christian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151105/9ec04621/attachment.html>


More information about the llvm-dev mailing list