From d57120551f8c1e810bf5f55f60d9a46b66da6e54 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 30 Jul 2014 22:51:54 +0000 Subject: [PATCH] Use "weak alias" instead of "alias weak" Before this patch we had @a = weak global ... but @b = alias weak ... The patch changes aliases to look more like global variables. Looking at some really old code suggests that the reason was that the old bison based parser had a reduction for alias linkages and another one for global variable linkages. Putting the alias first avoided the reduce/reduce conflict. The days of the old .ll parser are long gone. The new one parses just "linkage" and a later check is responsible for deciding if a linkage is valid in a given context. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214355 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.rst | 2 +- lib/AsmParser/LLParser.cpp | 25 ++++----- lib/AsmParser/LLParser.h | 4 +- lib/IR/AsmWriter.cpp | 3 +- test/Assembler/2007-09-10-AliasFwdRef.ll | 2 +- test/Assembler/addrspacecast-alias.ll | 4 +- test/Assembler/internal-hidden-alias.ll | 2 +- test/Assembler/internal-protected-alias.ll | 2 +- test/Assembler/private-hidden-alias.ll | 2 +- test/Assembler/private-protected-alias.ll | 2 +- .../local-linkage-default-visibility.3.4.ll | 12 ++--- test/CodeGen/ARM/aliases.ll | 4 +- test/CodeGen/Generic/2009-03-17-LSR-APInt.ll | 28 +++++----- test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll | 2 +- test/CodeGen/X86/aliases.ll | 6 +-- test/CodeGen/X86/dllexport-x86_64.ll | 2 +- test/CodeGen/X86/dllexport.ll | 2 +- test/CodeGen/X86/fast-isel-tls.ll | 2 +- test/CodeGen/X86/jump_table_alias.ll | 2 +- test/CodeGen/X86/x86-64-pic-10.ll | 2 +- test/DebugInfo/X86/pr12831.ll | 4 +- test/Feature/aliases.ll | 4 +- test/Linker/2008-03-05-AliasReference.ll | 2 +- test/Linker/2011-08-22-ResolveAlias.ll | 52 +++++++++---------- test/Linker/2011-08-22-ResolveAlias2.ll | 52 +++++++++---------- test/Linker/visibility2.ll | 6 +-- test/Object/X86/nm-ir.ll | 2 +- test/Transforms/GVN/2009-03-10-PREOnVoid.ll | 28 +++++----- .../GlobalDCE/2009-01-05-DeadAliases.ll | 6 +-- .../GlobalDCE/2009-02-17-AliasUsesAliasee.ll | 2 +- .../GlobalOpt/2009-02-15-ResolveAlias.ll | 2 +- test/Transforms/GlobalOpt/alias-resolve.ll | 8 +-- .../GlobalOpt/alias-used-address-space.ll | 6 +-- .../GlobalOpt/alias-used-section.ll | 2 +- test/Transforms/GlobalOpt/alias-used.ll | 14 ++--- .../InstCombine/2007-09-10-AliasConstFold.ll | 2 +- .../InstCombine/2007-09-17-AliasConstFold2.ll | 2 +- .../InstCombine/objsize-address-space.ll | 2 +- test/Transforms/InstCombine/objsize.ll | 4 +- .../2009-01-05-InternalizeAliases.ll | 4 +- .../Internalize/local-visibility.ll | 4 +- test/Transforms/MetaRenamer/metarenamer.ll | 2 +- test/Verifier/alias.ll | 2 +- 43 files changed, 159 insertions(+), 163 deletions(-) diff --git a/docs/LangRef.rst b/docs/LangRef.rst index 20f9813c01a..e68cbcf22f0 100644 --- a/docs/LangRef.rst +++ b/docs/LangRef.rst @@ -698,7 +698,7 @@ Aliases may have an optional :ref:`linkage type `, an optional Syntax:: - @ = [Visibility] [DLLStorageClass] [ThreadLocal] [unnamed_addr] alias [Linkage] @ + @ = [Linkage] [Visibility] [DLLStorageClass] [ThreadLocal] [unnamed_addr] alias @ The linkage must be one of ``private``, ``internal``, ``linkonce``, ``weak``, ``linkonce_odr``, ``weak_odr``, ``external``. Note that some system linkers diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index 3c175d96246..d6de07a951c 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -481,10 +481,10 @@ bool LLParser::ParseUnnamedGlobal() { parseOptionalUnnamedAddr(UnnamedAddr)) return true; - if (HasLinkage || Lex.getKind() != lltok::kw_alias) + if (Lex.getKind() != lltok::kw_alias) return ParseGlobal(Name, NameLoc, Linkage, HasLinkage, Visibility, DLLStorageClass, TLM, UnnamedAddr); - return ParseAlias(Name, NameLoc, Visibility, DLLStorageClass, TLM, + return ParseAlias(Name, NameLoc, Linkage, Visibility, DLLStorageClass, TLM, UnnamedAddr); } @@ -510,10 +510,11 @@ bool LLParser::ParseNamedGlobal() { parseOptionalUnnamedAddr(UnnamedAddr)) return true; - if (HasLinkage || Lex.getKind() != lltok::kw_alias) + if (Lex.getKind() != lltok::kw_alias) return ParseGlobal(Name, NameLoc, Linkage, HasLinkage, Visibility, DLLStorageClass, TLM, UnnamedAddr); - return ParseAlias(Name, NameLoc, Visibility, DLLStorageClass, TLM, + + return ParseAlias(Name, NameLoc, Linkage, Visibility, DLLStorageClass, TLM, UnnamedAddr); } @@ -691,33 +692,29 @@ static bool isValidVisibilityForLinkage(unsigned V, unsigned L) { } /// ParseAlias: -/// ::= GlobalVar '=' OptionalVisibility OptionalDLLStorageClass -/// OptionalThreadLocal OptionalUnNammedAddr 'alias' -/// OptionalLinkage Aliasee +/// ::= GlobalVar '=' OptionalLinkage OptionalVisibility +/// OptionalDLLStorageClass OptionalThreadLocal +/// OptionalUnNammedAddr 'alias' Aliasee /// /// Aliasee /// ::= TypeAndValue /// /// Everything through OptionalUnNammedAddr has already been parsed. /// -bool LLParser::ParseAlias(const std::string &Name, LocTy NameLoc, +bool LLParser::ParseAlias(const std::string &Name, LocTy NameLoc, unsigned L, unsigned Visibility, unsigned DLLStorageClass, GlobalVariable::ThreadLocalMode TLM, bool UnnamedAddr) { assert(Lex.getKind() == lltok::kw_alias); Lex.Lex(); - LocTy LinkageLoc = Lex.getLoc(); - unsigned L; - if (ParseOptionalLinkage(L)) - return true; GlobalValue::LinkageTypes Linkage = (GlobalValue::LinkageTypes) L; if(!GlobalAlias::isValidLinkage(Linkage)) - return Error(LinkageLoc, "invalid linkage type for alias"); + return Error(NameLoc, "invalid linkage type for alias"); if (!isValidVisibilityForLinkage(Visibility, L)) - return Error(LinkageLoc, + return Error(NameLoc, "symbol with local linkage must have default visibility"); Constant *Aliasee; diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index 7203bb245d0..6aa8d2f86b0 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -258,8 +258,8 @@ namespace llvm { bool HasLinkage, unsigned Visibility, unsigned DLLStorageClass, GlobalVariable::ThreadLocalMode TLM, bool UnnamedAddr); - bool ParseAlias(const std::string &Name, LocTy Loc, unsigned Visibility, - unsigned DLLStorageClass, + bool ParseAlias(const std::string &Name, LocTy Loc, unsigned Linkage, + unsigned Visibility, unsigned DLLStorageClass, GlobalVariable::ThreadLocalMode TLM, bool UnnamedAddr); bool parseComdat(); bool ParseStandaloneMetadata(); diff --git a/lib/IR/AsmWriter.cpp b/lib/IR/AsmWriter.cpp index a7499bc09b3..8f9122558d3 100644 --- a/lib/IR/AsmWriter.cpp +++ b/lib/IR/AsmWriter.cpp @@ -1509,6 +1509,7 @@ void AssemblyWriter::printAlias(const GlobalAlias *GA) { PrintLLVMName(Out, GA); Out << " = "; } + PrintLinkage(GA->getLinkage(), Out); PrintVisibility(GA->getVisibility(), Out); PrintDLLStorageClass(GA->getDLLStorageClass(), Out); PrintThreadLocalModel(GA->getThreadLocalMode(), Out); @@ -1517,8 +1518,6 @@ void AssemblyWriter::printAlias(const GlobalAlias *GA) { Out << "alias "; - PrintLinkage(GA->getLinkage(), Out); - const Constant *Aliasee = GA->getAliasee(); if (!Aliasee) { diff --git a/test/Assembler/2007-09-10-AliasFwdRef.ll b/test/Assembler/2007-09-10-AliasFwdRef.ll index 2ebfc2719e9..bcb7c6fd219 100644 --- a/test/Assembler/2007-09-10-AliasFwdRef.ll +++ b/test/Assembler/2007-09-10-AliasFwdRef.ll @@ -2,7 +2,7 @@ ; PR1645 @__gthread_active_ptr.5335 = internal constant i8* bitcast (i32 (i32)* @__gthrw_pthread_cancel to i8*) -@__gthrw_pthread_cancel = alias weak i32 (i32)* @pthread_cancel +@__gthrw_pthread_cancel = weak alias i32 (i32)* @pthread_cancel diff --git a/test/Assembler/addrspacecast-alias.ll b/test/Assembler/addrspacecast-alias.ll index d7516599dfe..1d2c5799cf0 100644 --- a/test/Assembler/addrspacecast-alias.ll +++ b/test/Assembler/addrspacecast-alias.ll @@ -3,5 +3,5 @@ ; Test that global aliases are allowed to be constant addrspacecast @i = internal addrspace(1) global i8 42 -@ia = alias internal addrspacecast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(3)*) -; CHECK: @ia = alias internal addrspacecast (i8 addrspace(2)* addrspace(1)* bitcast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(1)*) to i8 addrspace(2)* addrspace(3)*) +@ia = internal alias addrspacecast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(3)*) +; CHECK: @ia = internal alias addrspacecast (i8 addrspace(2)* addrspace(1)* bitcast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(1)*) to i8 addrspace(2)* addrspace(3)*) diff --git a/test/Assembler/internal-hidden-alias.ll b/test/Assembler/internal-hidden-alias.ll index 660514bb185..df547c0838c 100644 --- a/test/Assembler/internal-hidden-alias.ll +++ b/test/Assembler/internal-hidden-alias.ll @@ -2,5 +2,5 @@ @global = global i32 0 -@alias = hidden alias internal i32* @global +@alias = internal hidden alias i32* @global ; CHECK: symbol with local linkage must have default visibility diff --git a/test/Assembler/internal-protected-alias.ll b/test/Assembler/internal-protected-alias.ll index d78582684c5..46a05ec732f 100644 --- a/test/Assembler/internal-protected-alias.ll +++ b/test/Assembler/internal-protected-alias.ll @@ -2,5 +2,5 @@ @global = global i32 0 -@alias = protected alias internal i32* @global +@alias = internal protected alias i32* @global ; CHECK: symbol with local linkage must have default visibility diff --git a/test/Assembler/private-hidden-alias.ll b/test/Assembler/private-hidden-alias.ll index 58be92a34f2..2e770e58784 100644 --- a/test/Assembler/private-hidden-alias.ll +++ b/test/Assembler/private-hidden-alias.ll @@ -2,5 +2,5 @@ @global = global i32 0 -@alias = hidden alias private i32* @global +@alias = private hidden alias i32* @global ; CHECK: symbol with local linkage must have default visibility diff --git a/test/Assembler/private-protected-alias.ll b/test/Assembler/private-protected-alias.ll index a72c248f0b0..f1824a2f3c7 100644 --- a/test/Assembler/private-protected-alias.ll +++ b/test/Assembler/private-protected-alias.ll @@ -2,5 +2,5 @@ @global = global i32 0 -@alias = protected alias private i32* @global +@alias = private protected alias i32* @global ; CHECK: symbol with local linkage must have default visibility diff --git a/test/Bitcode/local-linkage-default-visibility.3.4.ll b/test/Bitcode/local-linkage-default-visibility.3.4.ll index f72fd1578e8..f75e94d3b0e 100644 --- a/test/Bitcode/local-linkage-default-visibility.3.4.ll +++ b/test/Bitcode/local-linkage-default-visibility.3.4.ll @@ -26,22 +26,22 @@ @global = global i32 0 @default.internal.alias = alias internal i32* @global -; CHECK: @default.internal.alias = alias internal i32* @global +; CHECK: @default.internal.alias = internal alias i32* @global @hidden.internal.alias = hidden alias internal i32* @global -; CHECK: @hidden.internal.alias = alias internal i32* @global +; CHECK: @hidden.internal.alias = internal alias i32* @global @protected.internal.alias = protected alias internal i32* @global -; CHECK: @protected.internal.alias = alias internal i32* @global +; CHECK: @protected.internal.alias = internal alias i32* @global @default.private.alias = alias private i32* @global -; CHECK: @default.private.alias = alias private i32* @global +; CHECK: @default.private.alias = private alias i32* @global @hidden.private.alias = hidden alias private i32* @global -; CHECK: @hidden.private.alias = alias private i32* @global +; CHECK: @hidden.private.alias = private alias i32* @global @protected.private.alias = protected alias private i32* @global -; CHECK: @protected.private.alias = alias private i32* @global +; CHECK: @protected.private.alias = private alias i32* @global define internal void @default.internal() { ; CHECK: define internal void @default.internal diff --git a/test/CodeGen/ARM/aliases.ll b/test/CodeGen/ARM/aliases.ll index f55ae10b247..5a737ad995a 100644 --- a/test/CodeGen/ARM/aliases.ll +++ b/test/CodeGen/ARM/aliases.ll @@ -25,9 +25,9 @@ define i32 @foo_f() { ret i32 0 } -@bar_f = alias weak %FunTy* @foo_f +@bar_f = weak alias %FunTy* @foo_f -@bar_i = alias internal i32* @bar +@bar_i = internal alias i32* @bar @A = alias bitcast (i32* @bar to i64*) diff --git a/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll b/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll index 3f17ce1e0b1..eaaeb37eebb 100644 --- a/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll +++ b/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll @@ -30,20 +30,20 @@ %"struct.qdesigner_internal::GridLayout" = type { %"struct.qdesigner_internal::Layout", %"struct.QPair", %"struct.qdesigner_internal::Grid"* } %"struct.qdesigner_internal::Layout" = type { %struct.QObject, %"struct.QList", %struct.QWidget*, %"struct.QHash >", %struct.QWidget*, %struct.QDesignerFormWindowInterface*, i8, %"struct.QPair", %struct.QRect, i8 } -@_ZL20__gthrw_pthread_oncePiPFvvE = alias weak i32 (i32*, void ()*)* @pthread_once ; [#uses=0] -@_ZL27__gthrw_pthread_getspecificj = alias weak i8* (i32)* @pthread_getspecific ; [#uses=0] -@_ZL27__gthrw_pthread_setspecificjPKv = alias weak i32 (i32, i8*)* @pthread_setspecific ; [#uses=0] -@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = alias weak i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; [#uses=0] -@_ZL22__gthrw_pthread_cancelm = alias weak i32 (i64)* @pthread_cancel ; [#uses=0] -@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; [#uses=0] -@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; [#uses=0] -@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; [#uses=0] -@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = alias weak i32 (%struct.pthread_mutex_t*, %struct.Alignment*)* @pthread_mutex_init ; [#uses=0] -@_ZL26__gthrw_pthread_key_createPjPFvPvE = alias weak i32 (i32*, void (i8*)*)* @pthread_key_create ; [#uses=0] -@_ZL26__gthrw_pthread_key_deletej = alias weak i32 (i32)* @pthread_key_delete ; [#uses=0] -@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = alias weak i32 (%struct.Alignment*)* @pthread_mutexattr_init ; [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = alias weak i32 (%struct.Alignment*, i32)* @pthread_mutexattr_settype ; [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = alias weak i32 (%struct.Alignment*)* @pthread_mutexattr_destroy ; [#uses=0] +@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*)* @pthread_once ; [#uses=0] +@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32)* @pthread_getspecific ; [#uses=0] +@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*)* @pthread_setspecific ; [#uses=0] +@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; [#uses=0] +@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64)* @pthread_cancel ; [#uses=0] +@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; [#uses=0] +@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; [#uses=0] +@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; [#uses=0] +@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%struct.pthread_mutex_t*, %struct.Alignment*)* @pthread_mutex_init ; [#uses=0] +@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*)* @pthread_key_create ; [#uses=0] +@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32)* @pthread_key_delete ; [#uses=0] +@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%struct.Alignment*)* @pthread_mutexattr_init ; [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%struct.Alignment*, i32)* @pthread_mutexattr_settype ; [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%struct.Alignment*)* @pthread_mutexattr_destroy ; [#uses=0] define void @_ZN18qdesigner_internal10GridLayout9buildGridEv(%"struct.qdesigner_internal::GridLayout"* %this) nounwind { entry: diff --git a/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll b/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll index 638d399056a..62c503da35a 100644 --- a/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll +++ b/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -mtriple=i686-pc-linux-gnu | FileCheck %s -@__gthrw_pthread_once = alias weak i32 (i32*, void ()*)* @pthread_once ; [#uses=0] +@__gthrw_pthread_once = weak alias i32 (i32*, void ()*)* @pthread_once ; [#uses=0] define weak i32 @pthread_once(i32*, void ()*) { ret i32 0 diff --git a/test/CodeGen/X86/aliases.ll b/test/CodeGen/X86/aliases.ll index bf55644de41..82a8e482b7f 100644 --- a/test/CodeGen/X86/aliases.ll +++ b/test/CodeGen/X86/aliases.ll @@ -30,12 +30,12 @@ define i32 @foo_f() { ret i32 0 } ; CHECK-DAG: .weak bar_f -@bar_f = alias weak %FunTy* @foo_f +@bar_f = weak alias %FunTy* @foo_f -@bar_l = alias linkonce_odr i32* @bar +@bar_l = linkonce_odr alias i32* @bar ; CHECK-DAG: .weak bar_l -@bar_i = alias internal i32* @bar +@bar_i = internal alias i32* @bar ; CHECK-DAG: .globl A @A = alias bitcast (i32* @bar to i64*) diff --git a/test/CodeGen/X86/dllexport-x86_64.ll b/test/CodeGen/X86/dllexport-x86_64.ll index 0d5afa1b138..c673f5d485f 100644 --- a/test/CodeGen/X86/dllexport-x86_64.ll +++ b/test/CodeGen/X86/dllexport-x86_64.ll @@ -70,7 +70,7 @@ define weak_odr dllexport void @weak1() { ; CHECK: .weak weak_alias ; CHECK: weak_alias = f1 -@weak_alias = dllexport alias weak_odr void()* @f1 +@weak_alias = weak_odr dllexport alias void()* @f1 @blob = global [6 x i8] c"\B8*\00\00\00\C3", section ".text", align 16 @blob_alias = dllexport alias bitcast ([6 x i8]* @blob to i32 ()*) diff --git a/test/CodeGen/X86/dllexport.ll b/test/CodeGen/X86/dllexport.ll index e2c3f131ee0..5035aa15330 100644 --- a/test/CodeGen/X86/dllexport.ll +++ b/test/CodeGen/X86/dllexport.ll @@ -89,7 +89,7 @@ define weak_odr dllexport void @weak1() { ; CHECK: .weak _weak_alias ; CHECK: _weak_alias = _f1 -@weak_alias = dllexport alias weak_odr void()* @f1 +@weak_alias = weak_odr dllexport alias void()* @f1 ; CHECK: .section .drectve diff --git a/test/CodeGen/X86/fast-isel-tls.ll b/test/CodeGen/X86/fast-isel-tls.ll index f71abd2fec0..686df43ac50 100644 --- a/test/CodeGen/X86/fast-isel-tls.ll +++ b/test/CodeGen/X86/fast-isel-tls.ll @@ -13,7 +13,7 @@ entry: ; CHECK: leal v@TLSGD ; CHECK: __tls_get_addr -@alias = alias internal i32* @v +@alias = internal alias i32* @v define i32 @f_alias() nounwind { entry: %t = load i32* @v diff --git a/test/CodeGen/X86/jump_table_alias.ll b/test/CodeGen/X86/jump_table_alias.ll index f3691fda221..463dc3f35e7 100644 --- a/test/CodeGen/X86/jump_table_alias.ll +++ b/test/CodeGen/X86/jump_table_alias.ll @@ -5,7 +5,7 @@ entry: ret i32 0 } -@i = alias internal i32 ()* @f +@i = internal alias i32 ()* @f @j = alias i32 ()* @f define i32 @main(i32 %argc, i8** %argv) { diff --git a/test/CodeGen/X86/x86-64-pic-10.ll b/test/CodeGen/X86/x86-64-pic-10.ll index da8082b9251..8790fa6072b 100644 --- a/test/CodeGen/X86/x86-64-pic-10.ll +++ b/test/CodeGen/X86/x86-64-pic-10.ll @@ -1,7 +1,7 @@ ; RUN: llc < %s -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 ; RUN: grep "callq g@PLT" %t1 -@g = alias weak i32 ()* @f +@g = weak alias i32 ()* @f define void @h() { entry: diff --git a/test/DebugInfo/X86/pr12831.ll b/test/DebugInfo/X86/pr12831.ll index 79d00eddba2..a67f0015ae5 100644 --- a/test/DebugInfo/X86/pr12831.ll +++ b/test/DebugInfo/X86/pr12831.ll @@ -9,8 +9,8 @@ target triple = "x86_64-unknown-linux-gnu" %class.anon = type { i8 } %class.anon.0 = type { i8 } -@"_ZN8functionIFvvEEC1IZN17BPLFunctionWriter9writeExprEvE3$_1_0EET_" = alias internal void (%class.function*)* @"_ZN8functionIFvvEEC2IZN17BPLFunctionWriter9writeExprEvE3$_1_0EET_" -@"_ZN8functionIFvvEEC1IZN17BPLFunctionWriter9writeExprEvE3$_0EET_" = alias internal void (%class.function*)* @"_ZN8functionIFvvEEC2IZN17BPLFunctionWriter9writeExprEvE3$_0EET_" +@"_ZN8functionIFvvEEC1IZN17BPLFunctionWriter9writeExprEvE3$_1_0EET_" = internal alias void (%class.function*)* @"_ZN8functionIFvvEEC2IZN17BPLFunctionWriter9writeExprEvE3$_1_0EET_" +@"_ZN8functionIFvvEEC1IZN17BPLFunctionWriter9writeExprEvE3$_0EET_" = internal alias void (%class.function*)* @"_ZN8functionIFvvEEC2IZN17BPLFunctionWriter9writeExprEvE3$_0EET_" define void @_ZN17BPLFunctionWriter9writeExprEv(%class.BPLFunctionWriter* %this) nounwind uwtable align 2 { entry: diff --git a/test/Feature/aliases.ll b/test/Feature/aliases.ll index ad1d1b08901..c11fc476425 100644 --- a/test/Feature/aliases.ll +++ b/test/Feature/aliases.ll @@ -21,10 +21,10 @@ define i32 @foo_f() { ret i32 0 } -@bar_f = alias weak_odr %FunTy* @foo_f +@bar_f = weak_odr alias %FunTy* @foo_f @bar_ff = alias i32()* @bar_f -@bar_i = alias internal i32* @bar +@bar_i = internal alias i32* @bar @A = alias bitcast (i32* @bar to i64*) diff --git a/test/Linker/2008-03-05-AliasReference.ll b/test/Linker/2008-03-05-AliasReference.ll index 7c19dfa15a0..8ce1ccb3385 100644 --- a/test/Linker/2008-03-05-AliasReference.ll +++ b/test/Linker/2008-03-05-AliasReference.ll @@ -8,7 +8,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 target triple = "x86_64-unknown-linux-gnu" @foo = weak global i32 0 ; [#uses=1] -@bar = alias weak i32* @foo ; [#uses=1] +@bar = weak alias i32* @foo ; [#uses=1] define i32 @baz() nounwind { entry: diff --git a/test/Linker/2011-08-22-ResolveAlias.ll b/test/Linker/2011-08-22-ResolveAlias.ll index 6b99233dd77..d6df82d45cf 100644 --- a/test/Linker/2011-08-22-ResolveAlias.ll +++ b/test/Linker/2011-08-22-ResolveAlias.ll @@ -7,32 +7,32 @@ %union.pthread_mutexattr_t = type { [4 x i8] } %union.pthread_cond_t = type { [48 x i8] } -@_ZL20__gthrw_pthread_oncePiPFvvE = alias weak i32 (i32*, void ()*)* @pthread_once -@_ZL27__gthrw_pthread_getspecificj = alias weak i8* (i32)* @pthread_getspecific -@_ZL27__gthrw_pthread_setspecificjPKv = alias weak i32 (i32, i8*)* @pthread_setspecific -@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = alias weak i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create -@_ZL20__gthrw_pthread_joinmPPv = alias weak i32 (i64, i8**)* @pthread_join -@_ZL21__gthrw_pthread_equalmm = alias weak i32 (i64, i64)* @pthread_equal -@_ZL20__gthrw_pthread_selfv = alias weak i64 ()* @pthread_self -@_ZL22__gthrw_pthread_detachm = alias weak i32 (i64)* @pthread_detach -@_ZL22__gthrw_pthread_cancelm = alias weak i32 (i64)* @pthread_cancel -@_ZL19__gthrw_sched_yieldv = alias weak i32 ()* @sched_yield -@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_lock -@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_trylock -@_ZL31__gthrw_pthread_mutex_timedlockP15pthread_mutex_tPK8timespec = alias weak i32 (%union.pthread_mutex_t*, %struct.timespec*)* @pthread_mutex_timedlock -@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_unlock -@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)* @pthread_mutex_init -@_ZL29__gthrw_pthread_mutex_destroyP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_destroy -@_ZL30__gthrw_pthread_cond_broadcastP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_broadcast -@_ZL27__gthrw_pthread_cond_signalP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_signal -@_ZL25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t = alias weak i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*)* @pthread_cond_wait -@_ZL30__gthrw_pthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec = alias weak i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*, %struct.timespec*)* @pthread_cond_timedwait -@_ZL28__gthrw_pthread_cond_destroyP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_destroy -@_ZL26__gthrw_pthread_key_createPjPFvPvE = alias weak i32 (i32*, void (i8*)*)* @pthread_key_create -@_ZL26__gthrw_pthread_key_deletej = alias weak i32 (i32)* @pthread_key_delete -@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_init -@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = alias weak i32 (%union.pthread_mutexattr_t*, i32)* @pthread_mutexattr_settype -@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_destroy +@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*)* @pthread_once +@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32)* @pthread_getspecific +@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*)* @pthread_setspecific +@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create +@_ZL20__gthrw_pthread_joinmPPv = weak alias i32 (i64, i8**)* @pthread_join +@_ZL21__gthrw_pthread_equalmm = weak alias i32 (i64, i64)* @pthread_equal +@_ZL20__gthrw_pthread_selfv = weak alias i64 ()* @pthread_self +@_ZL22__gthrw_pthread_detachm = weak alias i32 (i64)* @pthread_detach +@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64)* @pthread_cancel +@_ZL19__gthrw_sched_yieldv = weak alias i32 ()* @sched_yield +@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_lock +@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_trylock +@_ZL31__gthrw_pthread_mutex_timedlockP15pthread_mutex_tPK8timespec = weak alias i32 (%union.pthread_mutex_t*, %struct.timespec*)* @pthread_mutex_timedlock +@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_unlock +@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)* @pthread_mutex_init +@_ZL29__gthrw_pthread_mutex_destroyP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_destroy +@_ZL30__gthrw_pthread_cond_broadcastP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_broadcast +@_ZL27__gthrw_pthread_cond_signalP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_signal +@_ZL25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t = weak alias i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*)* @pthread_cond_wait +@_ZL30__gthrw_pthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec = weak alias i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*, %struct.timespec*)* @pthread_cond_timedwait +@_ZL28__gthrw_pthread_cond_destroyP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_destroy +@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*)* @pthread_key_create +@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32)* @pthread_key_delete +@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_init +@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%union.pthread_mutexattr_t*, i32)* @pthread_mutexattr_settype +@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_destroy declare extern_weak i32 @pthread_once(i32*, void ()*) diff --git a/test/Linker/2011-08-22-ResolveAlias2.ll b/test/Linker/2011-08-22-ResolveAlias2.ll index eee60d49d02..c380c23abe4 100644 --- a/test/Linker/2011-08-22-ResolveAlias2.ll +++ b/test/Linker/2011-08-22-ResolveAlias2.ll @@ -10,32 +10,32 @@ %union.pthread_cond_t = type { [48 x i8] } @_ZN13HexxagonBoardC1ERKS_ = alias void (%struct.HexxagonBoard*, %struct.HexxagonBoard*)* @_ZN13HexxagonBoardC2ERKS_ -@_ZL20__gthrw_pthread_oncePiPFvvE = alias weak i32 (i32*, void ()*)* @pthread_once -@_ZL27__gthrw_pthread_getspecificj = alias weak i8* (i32)* @pthread_getspecific -@_ZL27__gthrw_pthread_setspecificjPKv = alias weak i32 (i32, i8*)* @pthread_setspecific -@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = alias weak i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create -@_ZL20__gthrw_pthread_joinmPPv = alias weak i32 (i64, i8**)* @pthread_join -@_ZL21__gthrw_pthread_equalmm = alias weak i32 (i64, i64)* @pthread_equal -@_ZL20__gthrw_pthread_selfv = alias weak i64 ()* @pthread_self -@_ZL22__gthrw_pthread_detachm = alias weak i32 (i64)* @pthread_detach -@_ZL22__gthrw_pthread_cancelm = alias weak i32 (i64)* @pthread_cancel -@_ZL19__gthrw_sched_yieldv = alias weak i32 ()* @sched_yield -@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_lock -@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_trylock -@_ZL31__gthrw_pthread_mutex_timedlockP15pthread_mutex_tPK8timespec = alias weak i32 (%union.pthread_mutex_t*, %struct.timespec*)* @pthread_mutex_timedlock -@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_unlock -@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)* @pthread_mutex_init -@_ZL29__gthrw_pthread_mutex_destroyP15pthread_mutex_t = alias weak i32 (%union.pthread_mutex_t*)* @pthread_mutex_destroy -@_ZL30__gthrw_pthread_cond_broadcastP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_broadcast -@_ZL27__gthrw_pthread_cond_signalP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_signal -@_ZL25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t = alias weak i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*)* @pthread_cond_wait -@_ZL30__gthrw_pthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec = alias weak i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*, %struct.timespec*)* @pthread_cond_timedwait -@_ZL28__gthrw_pthread_cond_destroyP14pthread_cond_t = alias weak i32 (%union.pthread_cond_t*)* @pthread_cond_destroy -@_ZL26__gthrw_pthread_key_createPjPFvPvE = alias weak i32 (i32*, void (i8*)*)* @pthread_key_create -@_ZL26__gthrw_pthread_key_deletej = alias weak i32 (i32)* @pthread_key_delete -@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_init -@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = alias weak i32 (%union.pthread_mutexattr_t*, i32)* @pthread_mutexattr_settype -@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = alias weak i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_destroy +@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*)* @pthread_once +@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32)* @pthread_getspecific +@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*)* @pthread_setspecific +@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create +@_ZL20__gthrw_pthread_joinmPPv = weak alias i32 (i64, i8**)* @pthread_join +@_ZL21__gthrw_pthread_equalmm = weak alias i32 (i64, i64)* @pthread_equal +@_ZL20__gthrw_pthread_selfv = weak alias i64 ()* @pthread_self +@_ZL22__gthrw_pthread_detachm = weak alias i32 (i64)* @pthread_detach +@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64)* @pthread_cancel +@_ZL19__gthrw_sched_yieldv = weak alias i32 ()* @sched_yield +@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_lock +@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_trylock +@_ZL31__gthrw_pthread_mutex_timedlockP15pthread_mutex_tPK8timespec = weak alias i32 (%union.pthread_mutex_t*, %struct.timespec*)* @pthread_mutex_timedlock +@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_unlock +@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)* @pthread_mutex_init +@_ZL29__gthrw_pthread_mutex_destroyP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*)* @pthread_mutex_destroy +@_ZL30__gthrw_pthread_cond_broadcastP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_broadcast +@_ZL27__gthrw_pthread_cond_signalP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_signal +@_ZL25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t = weak alias i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*)* @pthread_cond_wait +@_ZL30__gthrw_pthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec = weak alias i32 (%union.pthread_cond_t*, %union.pthread_mutex_t*, %struct.timespec*)* @pthread_cond_timedwait +@_ZL28__gthrw_pthread_cond_destroyP14pthread_cond_t = weak alias i32 (%union.pthread_cond_t*)* @pthread_cond_destroy +@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*)* @pthread_key_create +@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32)* @pthread_key_delete +@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_init +@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%union.pthread_mutexattr_t*, i32)* @pthread_mutexattr_settype +@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_destroy define void @_ZN13HexxagonBoardC2ERKS_(%struct.HexxagonBoard*, %struct.HexxagonBoard*) uwtable align 2 { ret void diff --git a/test/Linker/visibility2.ll b/test/Linker/visibility2.ll index e6363ca2f38..4fabf6f8d12 100644 --- a/test/Linker/visibility2.ll +++ b/test/Linker/visibility2.ll @@ -8,9 +8,9 @@ @v3 = weak hidden global i32 0 ; Aliases -@a1 = hidden alias weak i32* @v1 -@a2 = protected alias weak i32* @v2 -@a3 = hidden alias weak i32* @v3 +@a1 = weak hidden alias i32* @v1 +@a2 = weak protected alias i32* @v2 +@a3 = weak hidden alias i32* @v3 ; Functions define weak hidden void @f1() { diff --git a/test/Object/X86/nm-ir.ll b/test/Object/X86/nm-ir.ll index 6bb7e2323a2..881397c00a4 100644 --- a/test/Object/X86/nm-ir.ll +++ b/test/Object/X86/nm-ir.ll @@ -28,7 +28,7 @@ module asm ".long undef_asm_sym" @g4 = private global i32 42 @a1 = alias i32* @g1 -@a2 = alias internal i32* @g1 +@a2 = internal alias i32* @g1 define void @f1() { ret void diff --git a/test/Transforms/GVN/2009-03-10-PREOnVoid.ll b/test/Transforms/GVN/2009-03-10-PREOnVoid.ll index fd31fce59a8..fdf17e0b46d 100644 --- a/test/Transforms/GVN/2009-03-10-PREOnVoid.ll +++ b/test/Transforms/GVN/2009-03-10-PREOnVoid.ll @@ -17,20 +17,20 @@ target triple = "i386-pc-linux-gnu" %"struct.std::pair > > >,bool>" = type { %"struct.std::_Rb_tree_iterator > > >", i8 } %"struct.std::pair" = type { i8*, i8* } -@_ZL20__gthrw_pthread_oncePiPFvvE = alias weak i32 (i32*, void ()*)* @pthread_once ; [#uses=0] -@_ZL27__gthrw_pthread_getspecificj = alias weak i8* (i32)* @pthread_getspecific ; [#uses=0] -@_ZL27__gthrw_pthread_setspecificjPKv = alias weak i32 (i32, i8*)* @pthread_setspecific ; [#uses=0] -@_ZL22__gthrw_pthread_createPmPK16__pthread_attr_sPFPvS3_ES3_ = alias weak i32 (i32*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; [#uses=0] -@_ZL22__gthrw_pthread_cancelm = alias weak i32 (i32)* @pthread_cancel ; [#uses=0] -@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; [#uses=0] -@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; [#uses=0] -@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = alias weak i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; [#uses=0] -@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = alias weak i32 (%struct.pthread_mutex_t*, %struct.__sched_param*)* @pthread_mutex_init ; [#uses=0] -@_ZL26__gthrw_pthread_key_createPjPFvPvE = alias weak i32 (i32*, void (i8*)*)* @pthread_key_create ; [#uses=0] -@_ZL26__gthrw_pthread_key_deletej = alias weak i32 (i32)* @pthread_key_delete ; [#uses=0] -@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = alias weak i32 (%struct.__sched_param*)* @pthread_mutexattr_init ; [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = alias weak i32 (%struct.__sched_param*, i32)* @pthread_mutexattr_settype ; [#uses=0] -@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = alias weak i32 (%struct.__sched_param*)* @pthread_mutexattr_destroy ; [#uses=0] +@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*)* @pthread_once ; [#uses=0] +@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32)* @pthread_getspecific ; [#uses=0] +@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*)* @pthread_setspecific ; [#uses=0] +@_ZL22__gthrw_pthread_createPmPK16__pthread_attr_sPFPvS3_ES3_ = weak alias i32 (i32*, %struct.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; [#uses=0] +@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i32)* @pthread_cancel ; [#uses=0] +@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_lock ; [#uses=0] +@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_trylock ; [#uses=0] +@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%struct.pthread_mutex_t*)* @pthread_mutex_unlock ; [#uses=0] +@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%struct.pthread_mutex_t*, %struct.__sched_param*)* @pthread_mutex_init ; [#uses=0] +@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*)* @pthread_key_create ; [#uses=0] +@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32)* @pthread_key_delete ; [#uses=0] +@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%struct.__sched_param*)* @pthread_mutexattr_init ; [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%struct.__sched_param*, i32)* @pthread_mutexattr_settype ; [#uses=0] +@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%struct.__sched_param*)* @pthread_mutexattr_destroy ; [#uses=0] declare fastcc void @_ZNSt10_Select1stISt4pairIKPvS1_EEC1Ev() nounwind readnone diff --git a/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll b/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll index 0bdced5114d..584f0bf467f 100644 --- a/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll +++ b/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll @@ -5,14 +5,14 @@ @A = global i32 0 ; CHECK: @A = global i32 0 -@D = alias internal i32* @A +@D = internal alias i32* @A ; DEAD-NOT: @D @L1 = alias i32* @A ; CHECK: @L1 = alias i32* @A -@L2 = alias internal i32* @L1 -; CHECK: @L2 = alias internal i32* @L1 +@L2 = internal alias i32* @L1 +; CHECK: @L2 = internal alias i32* @L1 @L3 = alias i32* @L2 ; CHECK: @L3 = alias i32* @L2 diff --git a/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll b/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll index 68933c6ef37..5fb4444c6ba 100644 --- a/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll +++ b/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll @@ -1,4 +1,4 @@ ; RUN: opt < %s -globaldce -@A = alias internal void ()* @F +@A = internal alias void ()* @F define internal void @F() { ret void } diff --git a/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll b/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll index b98facad397..8efd01807fd 100644 --- a/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll +++ b/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll @@ -13,7 +13,7 @@ define void @g() { ret void } -@b = alias internal void ()* @g +@b = internal alias void ()* @g ; CHECK-NOT: @b define void @h() { diff --git a/test/Transforms/GlobalOpt/alias-resolve.ll b/test/Transforms/GlobalOpt/alias-resolve.ll index 9d70c708aad..ebc20c66cf6 100644 --- a/test/Transforms/GlobalOpt/alias-resolve.ll +++ b/test/Transforms/GlobalOpt/alias-resolve.ll @@ -9,12 +9,12 @@ @bar1 = alias void ()* @bar2 ; CHECK: @bar1 = alias void ()* @bar2 -@weak1 = alias weak void ()* @bar2 -; CHECK: @weak1 = alias weak void ()* @bar2 +@weak1 = weak alias void ()* @bar2 +; CHECK: @weak1 = weak alias void ()* @bar2 @bar4 = private unnamed_addr constant [2 x i8*] zeroinitializer -@foo4 = unnamed_addr alias linkonce_odr getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) -; CHECK: @foo4 = unnamed_addr alias linkonce_odr getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) +@foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) +; CHECK: @foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) define void @bar2() { ret void diff --git a/test/Transforms/GlobalOpt/alias-used-address-space.ll b/test/Transforms/GlobalOpt/alias-used-address-space.ll index 633cd344a79..62e74ba2ab4 100644 --- a/test/Transforms/GlobalOpt/alias-used-address-space.ll +++ b/test/Transforms/GlobalOpt/alias-used-address-space.ll @@ -7,7 +7,7 @@ target datalayout = "p:32:32:32-p1:16:16:16" @i = internal addrspace(1) global i8 42 ; CHECK: @ia = internal addrspace(1) global i8 42 -@ia = alias internal i8 addrspace(1)* @i +@ia = internal alias i8 addrspace(1)* @i @llvm.used = appending global [1 x i8*] [i8* addrspacecast (i8 addrspace(1)* @ca to i8*)], section "llvm.metadata" ; CHECK-DAG: @llvm.used = appending global [1 x i8*] [i8* addrspacecast (i8 addrspace(1)* @ca to i8*)], section "llvm.metadata" @@ -18,8 +18,8 @@ target datalayout = "p:32:32:32-p1:16:16:16" @sameAsUsed = global [1 x i8*] [i8* addrspacecast(i8 addrspace(1)* @ca to i8*)] ; CHECK-DAG: @sameAsUsed = global [1 x i8*] [i8* addrspacecast (i8 addrspace(1)* @c to i8*)] -@ca = alias internal i8 addrspace(1)* @c -; CHECK: @ca = alias internal i8 addrspace(1)* @c +@ca = internal alias i8 addrspace(1)* @c +; CHECK: @ca = internal alias i8 addrspace(1)* @c define i8 addrspace(1)* @h() { ret i8 addrspace(1)* @ca diff --git a/test/Transforms/GlobalOpt/alias-used-section.ll b/test/Transforms/GlobalOpt/alias-used-section.ll index 121793724d7..4dab2f5a02f 100644 --- a/test/Transforms/GlobalOpt/alias-used-section.ll +++ b/test/Transforms/GlobalOpt/alias-used-section.ll @@ -1,7 +1,7 @@ ; RUN: opt -S -globalopt < %s | FileCheck %s @_Z17in_custom_section = internal global i8 42, section "CUSTOM" -@in_custom_section = dllexport alias internal i8* @_Z17in_custom_section +@in_custom_section = internal dllexport alias i8* @_Z17in_custom_section ; CHECK: @in_custom_section = internal dllexport global i8 42, section "CUSTOM" diff --git a/test/Transforms/GlobalOpt/alias-used.ll b/test/Transforms/GlobalOpt/alias-used.ll index 05ac7f9bddb..21f06b7be5f 100644 --- a/test/Transforms/GlobalOpt/alias-used.ll +++ b/test/Transforms/GlobalOpt/alias-used.ll @@ -4,7 +4,7 @@ @i = internal global i8 42 ; CHECK: @ia = internal global i8 42 -@ia = alias internal i8* @i +@ia = internal alias i8* @i @llvm.used = appending global [3 x i8*] [i8* bitcast (void ()* @fa to i8*), i8* bitcast (void ()* @f to i8*), i8* @ca], section "llvm.metadata" ; CHECK-DAG: @llvm.used = appending global [3 x i8*] [i8* bitcast (void ()* @fa to i8*), i8* bitcast (void ()* @f to i8*), i8* @ca], section "llvm.metadata" @@ -18,17 +18,17 @@ @other = global i32* bitcast (void ()* @fa to i32*) ; CHECK-DAG: @other = global i32* bitcast (void ()* @f to i32*) -@fa = alias internal void ()* @f -; CHECK: @fa = alias internal void ()* @f +@fa = internal alias void ()* @f +; CHECK: @fa = internal alias void ()* @f -@fa2 = alias internal void ()* @f +@fa2 = internal alias void ()* @f ; CHECK-NOT: @fa2 -@fa3 = alias internal void ()* @f +@fa3 = internal alias void ()* @f ; CHECK: @fa3 -@ca = alias internal i8* @c -; CHECK: @ca = alias internal i8* @c +@ca = internal alias i8* @c +; CHECK: @ca = internal alias i8* @c define void @f() { ret void diff --git a/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll b/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll index 7f9bd9e40dc..625989384d7 100644 --- a/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll +++ b/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -instcombine -S | grep icmp ; PR1646 -@__gthrw_pthread_cancel = alias weak i32 (i32)* @pthread_cancel ; [#uses=1] +@__gthrw_pthread_cancel = weak alias i32 (i32)* @pthread_cancel ; [#uses=1] @__gthread_active_ptr.5335 = internal constant i8* bitcast (i32 (i32)* @__gthrw_pthread_cancel to i8*) ; [#uses=1] define weak i32 @pthread_cancel(i32) { ret i32 0 diff --git a/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll b/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll index c7cef752dcc..3793a860e8e 100644 --- a/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll +++ b/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -instcombine -S | grep icmp ; PR1678 -@A = alias weak void ()* @B ; [#uses=1] +@A = weak alias void ()* @B ; [#uses=1] define weak void @B() { ret void diff --git a/test/Transforms/InstCombine/objsize-address-space.ll b/test/Transforms/InstCombine/objsize-address-space.ll index 9cb68842396..a971c913bd4 100644 --- a/test/Transforms/InstCombine/objsize-address-space.ll +++ b/test/Transforms/InstCombine/objsize-address-space.ll @@ -32,7 +32,7 @@ define i16 @foo_as3_i16() nounwind { ret i16 %1 } -@a_alias = alias weak [60 x i8] addrspace(3)* @a_as3 +@a_alias = weak alias [60 x i8] addrspace(3)* @a_as3 define i32 @foo_alias() nounwind { %1 = call i32 @llvm.objectsize.i32.p3i8(i8 addrspace(3)* getelementptr inbounds ([60 x i8] addrspace(3)* @a_alias, i32 0, i32 0), i1 false) ret i32 %1 diff --git a/test/Transforms/InstCombine/objsize.ll b/test/Transforms/InstCombine/objsize.ll index 645903299c8..1285b1c3aa6 100644 --- a/test/Transforms/InstCombine/objsize.ll +++ b/test/Transforms/InstCombine/objsize.ll @@ -256,7 +256,7 @@ return: ret i32 7 } -@globalalias = alias internal [60 x i8]* @a +@globalalias = internal alias [60 x i8]* @a ; CHECK-LABEL: @test18( ; CHECK-NEXT: ret i32 60 @@ -266,7 +266,7 @@ define i32 @test18() { ret i32 %1 } -@globalalias2 = alias weak [60 x i8]* @a +@globalalias2 = weak alias [60 x i8]* @a ; CHECK-LABEL: @test19( ; CHECK: llvm.objectsize diff --git a/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll b/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll index 16bfe2a4609..16523886a06 100644 --- a/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll +++ b/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll @@ -4,10 +4,10 @@ ; CHECK: @A = internal global i32 0 @B = alias i32* @A -; CHECK: @B = alias internal i32* @A +; CHECK: @B = internal alias i32* @A @C = alias i32* @A -; CHECK: @C = alias internal i32* @A +; CHECK: @C = internal alias i32* @A define i32 @main() { %tmp = load i32* @C diff --git a/test/Transforms/Internalize/local-visibility.ll b/test/Transforms/Internalize/local-visibility.ll index c24d4b7f32a..b09a136e526 100644 --- a/test/Transforms/Internalize/local-visibility.ll +++ b/test/Transforms/Internalize/local-visibility.ll @@ -10,9 +10,9 @@ ; CHECK: @protected.variable = internal global i32 0 @protected.variable = protected global i32 0 -; CHECK: @hidden.alias = alias internal i32* @global +; CHECK: @hidden.alias = internal alias i32* @global @hidden.alias = hidden alias i32* @global -; CHECK: @protected.alias = alias internal i32* @global +; CHECK: @protected.alias = internal alias i32* @global @protected.alias = protected alias i32* @global ; CHECK: define internal void @hidden.function() { diff --git a/test/Transforms/MetaRenamer/metarenamer.ll b/test/Transforms/MetaRenamer/metarenamer.ll index 6297af62ff0..4010f31ff77 100644 --- a/test/Transforms/MetaRenamer/metarenamer.ll +++ b/test/Transforms/MetaRenamer/metarenamer.ll @@ -12,7 +12,7 @@ target triple = "x86_64-pc-linux-gnu" @func_5_xxx.static_local_3_xxx = internal global i32 3, align 4 @global_3_xxx = common global i32 0, align 4 -@func_7_xxx = alias weak i32 (...)* @aliased_func_7_xxx +@func_7_xxx = weak alias i32 (...)* @aliased_func_7_xxx define i32 @aliased_func_7_xxx(...) { ret i32 0 diff --git a/test/Verifier/alias.ll b/test/Verifier/alias.ll index ff02a37bab9..dd04ae05f63 100644 --- a/test/Verifier/alias.ll +++ b/test/Verifier/alias.ll @@ -21,7 +21,7 @@ declare void @f() @test3_a = global i32 42 -@test3_b = alias weak i32* @test3_a +@test3_b = weak alias i32* @test3_a @test3_c = alias i32* @test3_b ; CHECK: Alias cannot point to a weak alias ; CHECK-NEXT: i32* @test3_c -- 2.34.1