llvm-6502/test/Transforms/GlobalOpt
Reid Kleckner 2798b77586 GlobalOpt: Aliases don't have sections, don't copy them when replacing
As defined in LangRef, aliases do not have sections.  However, LLVM's
GlobalAlias class inherits from GlobalValue, which means we can read and
set its section.  We should probably ban that as a separate change,
since it doesn't make much sense for an alias to have a section that
differs from its aliasee.

Fixes PR18757, where the section was being lost on the global in code
from Clang like:

extern "C" {
__attribute__((used, section("CUSTOM"))) static int in_custom_section;
}

Reviewers: rafael.espindola

Differential Revision: http://llvm-reviews.chandlerc.com/D2758

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201286 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-13 02:18:36 +00:00
..
2004-10-10-CastStoreOnce.ll
2005-06-15-LocalizeConstExprCrash.ll
2005-09-27-Crash.ll
2006-07-07-InlineAsmCrash.ll
2006-11-01-ShrinkGlobalPhiCrash.ll
2007-04-05-Crash.ll
2007-05-13-Crash.ll
2007-06-04-PackedStruct.ll
2007-11-09-GEP-GEP-Crash.ll
2008-01-03-Crash.ll
2008-01-13-OutOfRangeSROA.ll
2008-01-29-VolatileGlobal.ll
2008-04-26-SROA-Global-Align.ll
2008-07-17-addrspace.ll Quote potential shell expansions found in tests 2013-10-28 23:37:45 +00:00
2008-12-16-HeapSRACrash-2.ll
2008-12-16-HeapSRACrash.ll
2009-01-13-phi-user.ll
2009-02-15-BitcastAlias.ll
2009-02-15-ResolveAlias.ll Fixup to r186268 and r186269: don't append -LABEL to CHECK-NOT. No functionality change. 2013-07-14 02:10:57 +00:00
2009-03-05-dbg.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
2009-03-06-Anonymous.ll
2009-03-07-PromotePtrToBool.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
2009-06-01-RecursivePHI.ll
2009-11-16-BrokenPerformHeapAllocSRoA.ll
2009-11-16-MallocSingleStoreToGlobalVar.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
2010-02-25-MallocPromote.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
2010-02-26-MallocSROA.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
2010-10-19-WeakOdr.ll
2011-04-09-EmptyGlobalCtors.ll
2012-05-11-blockaddress.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
alias-resolve.ll GlobalOpt: Aliases don't have sections, don't copy them when replacing 2014-02-13 02:18:36 +00:00
alias-used-address-space.ll Fix addrspacecast with metadata globals 2014-01-02 19:53:49 +00:00
alias-used-section.ll GlobalOpt: Aliases don't have sections, don't copy them when replacing 2014-02-13 02:18:36 +00:00
alias-used.ll s/compiler_used/compiler.used/. 2013-07-19 18:44:51 +00:00
array-elem-refs.ll Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers 2013-12-12 20:45:24 +00:00
atexit.ll GlobalOpt: fix an issue where CXAAtExitFn points to a deleted function. 2013-05-14 21:52:44 +00:00
atomic.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
basictest.ll
blockaddress.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
cleanup-pointer-root-users.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
compiler-used.ll Don't crash when llvm.compiler.used becomes empty. 2013-07-20 23:33:15 +00:00
constantexpr-dangle.ll
constantfold-initializers.ll
crash-2.ll Use a worklist to avoid a sneaky iterator invalidation. 2013-04-02 08:16:45 +00:00
crash.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
ctor-list-opt-constexpr.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
ctor-list-opt-inbounds.ll
ctor-list-opt.ll
cxx-dtor.ll
deadfunction.ll
deadglobal-2.ll
deadglobal.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
externally-initialized-global-ctr.ll Added missing newline to end of test case. 2013-02-05 19:39:44 +00:00
globalsra-partial.ll
globalsra-unknown-index.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
globalsra.ll
heap-sra-1.ll
heap-sra-2.ll
heap-sra-3.ll
heap-sra-4.ll
heap-sra-phi.ll
integer-bool.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
invariant-nodatalayout.ll Check that TD isn't NULL before dereferencing it down this path. 2013-07-25 02:55:14 +00:00
invariant.ll
invoke.ll
iterate.ll
load-store-global.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
malloc-promote-1.ll
malloc-promote-2.ll
malloc-promote-3.ll Respect the 'nobuiltin' attribute when determining if a call is to a memory builtin. 2013-05-16 04:12:04 +00:00
memcpy.ll
memset-null.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
memset.ll Delete unread globals through addrspacecast 2014-01-02 20:01:43 +00:00
metadata.ll Revert r191834 until we measure the effect of this benchmarks and maybe find a better way to fix it 2013-10-07 19:03:24 +00:00
phi-select.ll
storepointer-compare.ll
storepointer.ll
tls.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
trivialstore.ll
undef-init.ll
unnamed-addr.ll Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
zeroinitializer-gep-load.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00