[PATCH] D25878: IR, X86: Understand !range metadata on global variables.

Chris Lattner via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 25 22:12:59 PDT 2016

lattner added a comment.

I think there are two things going on here.  I think that eli is right: LLVM IR global variables should always be assumable that they don't alias.  This is guaranteed by C and other source languages and is important for LLVM to be able to represent.  Separately though, I think it makes sense for LLVM globals to have !range metadata to specify that (though disjoint) they live in a specific address range that can fit into immediates.

There is a degenerate case where a global has a known address (either through magic knowledge by the frontend, or by a clang attribute, or by the compiler somehow knowing about a linker map in flight, e.g. with LTO) can be either represented with a specific !range metadata or with a new GlobalConstant address.  I think it would be better to discuss such significant IR changes on llvmdev though.


More information about the llvm-commits mailing list