From bea4626f93c830e31f82cc947df28fdae583cd09 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sat, 8 Jan 2011 16:42:36 +0000 Subject: First step in fixing PR8927: Add a unnamed_addr bit to global variables and functions. This will be used to indicate that the address is not significant and therefore the constant or function can be merged with others. If an optimization pass can show that an address is not used, it can set this. Examples of things that can have this set by the FE are globals created to hold string literals and C++ constructors. Adding unnamed_addr to a non-const global should have no effect unless an optimization can transform that global into a constant. Aliases are not allowed to have unnamed_addr since I couldn't figure out any use for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/BitCodeFormat.html | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'docs/BitCodeFormat.html') diff --git a/docs/BitCodeFormat.html b/docs/BitCodeFormat.html index d8ddc2b6b2..0b8747c261 100644 --- a/docs/BitCodeFormat.html +++ b/docs/BitCodeFormat.html @@ -922,6 +922,9 @@ encoding of the visibility of this variable:
  • threadlocal: If present and non-zero, indicates that the variable is thread_local
  • +
  • unnamed_addr: If present and non-zero, indicates that the variable +has unnamed_addr
  • + @@ -975,6 +978,10 @@ entries.
  • gc: If present and nonzero, the 1-based garbage collector index in the table of MODULE_CODE_GCNAME entries.
  • + +
  • unnamed_addr: If present and non-zero, indicates that the function +has unnamed_addr
  • + -- cgit v1.2.3