llvm-project/llvm/test/Bitcode
Peter Collingbourne 96efdd6107 IR: Introduce local_unnamed_addr attribute.
If a local_unnamed_addr attribute is attached to a global, the address
is known to be insignificant within the module. It is distinct from the
existing unnamed_addr attribute in that it only describes a local property
of the module rather than a global property of the symbol.

This attribute is intended to be used by the code generator and LTO to allow
the linker to decide whether the global needs to be in the symbol table. It is
possible to exclude a global from the symbol table if three things are true:
- This attribute is present on every instance of the global (which means that
  the normal rule that the global must have a unique address can be broken without
  being observable by the program by performing comparisons against the global's
  address)
- The global has linkonce_odr linkage (which means that each linkage unit must have
  its own copy of the global if it requires one, and the copy in each linkage unit
  must be the same)
- It is a constant or a function (which means that the program cannot observe that
  the unique-address rule has been broken by writing to the global)

Although this attribute could in principle be computed from the module
contents, LTO clients (i.e. linkers) will normally need to be able to compute
this property as part of symbol resolution, and it would be inefficient to
materialize every module just to compute it.

See:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160509/356401.html
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160516/356738.html
for earlier discussion.

Part of the fix for PR27553.

Differential Revision: http://reviews.llvm.org/D20348

llvm-svn: 272709
2016-06-14 21:01:22 +00:00
..
Inputs [BitCode] Make sure atomicrmw's argument is an actual PointerType 2016-06-05 18:43:40 +00:00
2006-12-11-Cast-ConstExpr.ll
2009-06-11-FirstClassAggregateConstant.ll
DICompileUnit-no-DWOId.ll DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
DICompileUnit-no-DWOId.ll.bc IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
DILocalVariable-explicit-tags.ll [Bitcode] Fix + regenerate old test so that it includes a DICompileUnit. 2016-04-12 15:51:23 +00:00
DILocalVariable-explicit-tags.ll.bc [Bitcode] Fix + regenerate old test so that it includes a DICompileUnit. 2016-04-12 15:51:23 +00:00
DISubprogram-distinct-definitions.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
DISubprogram-distinct-definitions.ll.bc [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
PR23310.test Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
aggregateInstructions.3.2.ll
aggregateInstructions.3.2.ll.bc
anon-functions.ll Fix PR25101 - Handle anonymous functions without VST entries 2015-10-10 14:18:36 +00:00
arm32_neon_vcnt_upgrade.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
atomic.ll
attributes-3.3.ll
attributes-3.3.ll.bc
attributes.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
auto_upgrade_intrinsics.bc Upgrade TBAA *before* upgrading intrinsics 2016-03-16 23:17:54 +00:00
avr-calling-conventions.ll [AVR] Add calling convention parser tokens 2016-03-03 10:08:02 +00:00
avr-calling-conventions.ll.bc [AVR] Add calling convention parser tokens 2016-03-03 10:08:02 +00:00
binaryFloatInstructions.3.2.ll
binaryFloatInstructions.3.2.ll.bc
binaryIntInstructions.3.2.ll
binaryIntInstructions.3.2.ll.bc
bitcode-wrapper-header-armv7m.ll [llvm-bcanalyzer] Dump bitcode wrapper header 2016-01-29 05:55:09 +00:00
bitcode-wrapper-header-x86_64.ll [llvm-bcanalyzer] Dump bitcode wrapper header 2016-01-29 05:55:09 +00:00
bitwiseInstructions.3.2.ll
bitwiseInstructions.3.2.ll.bc
blockaddress.ll
calling-conventions.3.2.ll Parse 'ghccc' in .ll files as the GHC convention (cc 10) 2014-12-01 21:04:44 +00:00
calling-conventions.3.2.ll.bc
case-ranges-3.3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
case-ranges-3.3.ll.bc
cmpxchg-upgrade.ll
cmpxchg-upgrade.ll.bc
cmpxchg.3.6.ll [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg' 2015-04-28 04:30:29 +00:00
cmpxchg.3.6.ll.bc [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg' 2015-04-28 04:30:29 +00:00
compatibility-3.6.ll Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
compatibility-3.6.ll.bc [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
compatibility-3.7.ll Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
compatibility-3.7.ll.bc [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
compatibility-3.8.ll [Bitcode] Add compatibility test for the 3.8 release 2016-03-16 05:43:03 +00:00
compatibility-3.8.ll.bc [Bitcode] Add compatibility test for the 3.8 release 2016-03-16 05:43:03 +00:00
compatibility.ll IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
constantsTest.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
constantsTest.3.2.ll.bc
conversionInstructions.3.2.ll
conversionInstructions.3.2.ll.bc
debug-loc-again.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
dityperefs-3.8.ll BitcodeReader: Fix some holes in upgrade from r267296 2016-04-24 06:52:01 +00:00
dityperefs-3.8.ll.bc BitcodeReader: Fix some holes in upgrade from r267296 2016-04-24 06:52:01 +00:00
drop-debug-info.3.5.ll llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
drop-debug-info.3.5.ll.bc llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
extractelement.ll
fcmp-fast.ll Add support for fast-math flags to the FCmp instruction. 2015-07-10 12:52:00 +00:00
flags.ll
function-encoding-rel-operands.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
function-local-metadata.3.5.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
function-local-metadata.3.5.ll.bc IR: Fix bitcode compatability filenames 2014-12-08 00:41:39 +00:00
global-variables.3.2.ll
global-variables.3.2.ll.bc
highLevelStructure.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
highLevelStructure.3.2.ll.bc
identification.ll Add an (optional) identification block in the bitcode 2015-10-26 18:37:00 +00:00
inalloca.ll
invalid.ll Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes 2015-12-16 16:16:19 +00:00
invalid.ll.bc Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes 2015-12-16 16:16:19 +00:00
invalid.test [BitCode] Make sure atomicrmw's argument is an actual PointerType 2016-06-05 18:43:40 +00:00
linkage-types-3.2.ll Bring r226038 back. 2015-01-19 15:16:06 +00:00
linkage-types-3.2.ll.bc
local-linkage-default-visibility.3.4.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
local-linkage-default-visibility.3.4.ll.bc
mdnodes-distinct-in-post-order.ll BitcodeWriter: Emit uniqued subgraphs after all distinct nodes 2016-04-23 04:59:22 +00:00
mdnodes-distinct-nodes-break-cycles.ll BitcodeWriter: Emit uniqued subgraphs after all distinct nodes 2016-04-23 04:59:22 +00:00
mdnodes-distinct-nodes-first.ll BitcodeWriter: Emit distinct nodes before uniqued nodes 2016-04-23 04:42:39 +00:00
mdnodes-in-post-order.ll BitcodeWriter: Emit metadata in post-order (again) 2016-04-21 01:55:12 +00:00
mdstring-high-bits.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
memInstructions.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
memInstructions.3.2.ll.bc
metadata-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
metadata-function-blocks.ll BitcodeWriter: Emit metadata in post-order (again) 2016-04-21 01:55:12 +00:00
metadata-only-empty-string.ll BitcodeReader: Allow METADATA_STRINGS to only have !"" 2016-03-29 05:25:17 +00:00
metadata-strings.ll Reapply ~"Bitcode: Collect all MDString records into a single blob" 2016-03-27 23:17:54 +00:00
metadata.3.5.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
metadata.3.5.ll.bc Bitcode: Add METADATA_NODE and METADATA_VALUE 2014-12-11 23:02:24 +00:00
metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
miscInstructions.3.2.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
miscInstructions.3.2.ll.bc
module_hash.ll Move summary creation out of llvm-as into opt 2016-04-12 21:35:18 +00:00
null-type.ll
null-type.ll.bc
old-aliases.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
old-aliases.ll.bc
operand-bundles-bc-analyzer.ll Symbolize operand bundle blocks for bcanalyzer 2016-04-26 05:59:08 +00:00
operand-bundles.ll [Bitcode][Asm] Teach LLVM to read and write operand bundles. 2015-09-24 23:34:52 +00:00
padding.test Improve handling of end of file in the bitcode reader. 2015-06-16 20:03:39 +00:00
pr18704.ll llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
pr18704.ll.bc
ptest-new.ll
ptest-old.ll
select.ll [BitcodeReader] Ensure we can read constant vector selects with an i1 condition 2015-08-31 18:00:30 +00:00
shuffle.ll
source-filename.test Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
ssse3_palignr.ll
standardCIntrinsic.3.2.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
standardCIntrinsic.3.2.ll.bc
summary_version.ll Add a version field in the bitcode for the summary 2016-04-24 03:18:11 +00:00
tailcall.ll [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
terminatorInstructions.3.2.ll
terminatorInstructions.3.2.ll.bc
thinlto-alias.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-function-summary-callgraph-pgo.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-function-summary-callgraph.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-function-summary-originalnames.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-function-summary-refgraph.ll Reorganize GlobalValueSummary with a "Flags" bitfield. 2016-04-24 03:18:18 +00:00
thinlto-function-summary.ll Reorganize GlobalValueSummary with a "Flags" bitfield. 2016-04-24 03:18:18 +00:00
thinlto-summary-linkage-types.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-summary-section.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
upgrade-global-ctors.ll
upgrade-global-ctors.ll.bc
upgrade-loop-metadata.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
upgrade-loop-metadata.ll.bc
upgrade-module-flag.ll Objective-C Class Properties: Autoupgrade "Class Properties" module flag. 2016-05-25 23:14:48 +00:00
upgrade-subprogram.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
upgrade-subprogram.ll.bc DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
upgrade-tbaa.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
use-list-order.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
use-list-order2.ll [Bitcode] Add xfail test for PR24755 (uselistorder) 2015-09-10 16:02:24 +00:00
variableArgumentIntrinsic.3.2.ll
variableArgumentIntrinsic.3.2.ll.bc
vectorInstructions.3.2.ll
vectorInstructions.3.2.ll.bc
visibility-styles.3.2.ll
visibility-styles.3.2.ll.bc
vst-forward-declaration.ll Restore "Function bitcode index in Value Symbol Table and lazy reading support" 2015-09-17 20:12:00 +00:00
weak-cmpxchg-upgrade.ll
weak-cmpxchg-upgrade.ll.bc
weak-macho-3.5.ll Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
weak-macho-3.5.ll.bc Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00