From 464fe024c53180caaf3a06a45409b04905c27c58 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. llvm-svn: 214355 --- llvm/docs/LangRef.rst | 2 +- llvm/lib/AsmParser/LLParser.cpp | 25 ++++----- llvm/lib/AsmParser/LLParser.h | 4 +- llvm/lib/IR/AsmWriter.cpp | 3 +- llvm/test/Assembler/2007-09-10-AliasFwdRef.ll | 2 +- llvm/test/Assembler/addrspacecast-alias.ll | 4 +- llvm/test/Assembler/internal-hidden-alias.ll | 2 +- .../Assembler/internal-protected-alias.ll | 2 +- llvm/test/Assembler/private-hidden-alias.ll | 2 +- .../test/Assembler/private-protected-alias.ll | 2 +- .../local-linkage-default-visibility.3.4.ll | 12 ++--- llvm/test/CodeGen/ARM/aliases.ll | 4 +- .../CodeGen/Generic/2009-03-17-LSR-APInt.ll | 28 +++++----- .../CodeGen/X86/2007-09-06-ExtWeakAliasee.ll | 2 +- llvm/test/CodeGen/X86/aliases.ll | 6 +-- llvm/test/CodeGen/X86/dllexport-x86_64.ll | 2 +- llvm/test/CodeGen/X86/dllexport.ll | 2 +- llvm/test/CodeGen/X86/fast-isel-tls.ll | 2 +- llvm/test/CodeGen/X86/jump_table_alias.ll | 2 +- llvm/test/CodeGen/X86/x86-64-pic-10.ll | 2 +- llvm/test/DebugInfo/X86/pr12831.ll | 4 +- llvm/test/Feature/aliases.ll | 4 +- llvm/test/Linker/2008-03-05-AliasReference.ll | 2 +- llvm/test/Linker/2011-08-22-ResolveAlias.ll | 52 +++++++++---------- llvm/test/Linker/2011-08-22-ResolveAlias2.ll | 52 +++++++++---------- llvm/test/Linker/visibility2.ll | 6 +-- llvm/test/Object/X86/nm-ir.ll | 2 +- .../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 +- .../Transforms/GlobalOpt/alias-resolve.ll | 8 +-- .../GlobalOpt/alias-used-address-space.ll | 6 +-- .../GlobalOpt/alias-used-section.ll | 2 +- llvm/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 +- llvm/test/Transforms/InstCombine/objsize.ll | 4 +- .../2009-01-05-InternalizeAliases.ll | 4 +- .../Internalize/local-visibility.ll | 4 +- .../Transforms/MetaRenamer/metarenamer.ll | 2 +- llvm/test/Verifier/alias.ll | 2 +- 43 files changed, 159 insertions(+), 163 deletions(-) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 20f9813c01a9..e68cbcf22f04 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/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/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 3c175d962460..d6de07a951ca 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/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/llvm/lib/AsmParser/LLParser.h b/llvm/lib/AsmParser/LLParser.h index 7203bb245d0f..6aa8d2f86b00 100644 --- a/llvm/lib/AsmParser/LLParser.h +++ b/llvm/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/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp index a7499bc09b30..8f9122558d31 100644 --- a/llvm/lib/IR/AsmWriter.cpp +++ b/llvm/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/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll b/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll index 2ebfc2719e95..bcb7c6fd2190 100644 --- a/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll +++ b/llvm/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/llvm/test/Assembler/addrspacecast-alias.ll b/llvm/test/Assembler/addrspacecast-alias.ll index d7516599dfe2..1d2c5799cf05 100644 --- a/llvm/test/Assembler/addrspacecast-alias.ll +++ b/llvm/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/llvm/test/Assembler/internal-hidden-alias.ll b/llvm/test/Assembler/internal-hidden-alias.ll index 660514bb1850..df547c0838cb 100644 --- a/llvm/test/Assembler/internal-hidden-alias.ll +++ b/llvm/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/llvm/test/Assembler/internal-protected-alias.ll b/llvm/test/Assembler/internal-protected-alias.ll index d78582684c50..46a05ec732f5 100644 --- a/llvm/test/Assembler/internal-protected-alias.ll +++ b/llvm/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/llvm/test/Assembler/private-hidden-alias.ll b/llvm/test/Assembler/private-hidden-alias.ll index 58be92a34f25..2e770e58784e 100644 --- a/llvm/test/Assembler/private-hidden-alias.ll +++ b/llvm/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/llvm/test/Assembler/private-protected-alias.ll b/llvm/test/Assembler/private-protected-alias.ll index a72c248f0b03..f1824a2f3c7c 100644 --- a/llvm/test/Assembler/private-protected-alias.ll +++ b/llvm/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/llvm/test/Bitcode/local-linkage-default-visibility.3.4.ll b/llvm/test/Bitcode/local-linkage-default-visibility.3.4.ll index f72fd1578e83..f75e94d3b0e8 100644 --- a/llvm/test/Bitcode/local-linkage-default-visibility.3.4.ll +++ b/llvm/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/llvm/test/CodeGen/ARM/aliases.ll b/llvm/test/CodeGen/ARM/aliases.ll index f55ae10b247d..5a737ad995ac 100644 --- a/llvm/test/CodeGen/ARM/aliases.ll +++ b/llvm/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/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll b/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll index 3f17ce1e0b16..eaaeb37eebb4 100644 --- a/llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll +++ b/llvm/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/llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll b/llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll index 638d399056a2..62c503da35a6 100644 --- a/llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll +++ b/llvm/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/llvm/test/CodeGen/X86/aliases.ll b/llvm/test/CodeGen/X86/aliases.ll index bf55644de41e..82a8e482b7fa 100644 --- a/llvm/test/CodeGen/X86/aliases.ll +++ b/llvm/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/llvm/test/CodeGen/X86/dllexport-x86_64.ll b/llvm/test/CodeGen/X86/dllexport-x86_64.ll index 0d5afa1b1384..c673f5d485f9 100644 --- a/llvm/test/CodeGen/X86/dllexport-x86_64.ll +++ b/llvm/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/llvm/test/CodeGen/X86/dllexport.ll b/llvm/test/CodeGen/X86/dllexport.ll index e2c3f131ee06..5035aa153301 100644 --- a/llvm/test/CodeGen/X86/dllexport.ll +++ b/llvm/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/llvm/test/CodeGen/X86/fast-isel-tls.ll b/llvm/test/CodeGen/X86/fast-isel-tls.ll index f71abd2fec01..686df43ac504 100644 --- a/llvm/test/CodeGen/X86/fast-isel-tls.ll +++ b/llvm/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/llvm/test/CodeGen/X86/jump_table_alias.ll b/llvm/test/CodeGen/X86/jump_table_alias.ll index f3691fda221e..463dc3f35e73 100644 --- a/llvm/test/CodeGen/X86/jump_table_alias.ll +++ b/llvm/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/llvm/test/CodeGen/X86/x86-64-pic-10.ll b/llvm/test/CodeGen/X86/x86-64-pic-10.ll index da8082b92518..8790fa6072b3 100644 --- a/llvm/test/CodeGen/X86/x86-64-pic-10.ll +++ b/llvm/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/llvm/test/DebugInfo/X86/pr12831.ll b/llvm/test/DebugInfo/X86/pr12831.ll index 79d00eddba28..a67f0015ae5d 100644 --- a/llvm/test/DebugInfo/X86/pr12831.ll +++ b/llvm/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/llvm/test/Feature/aliases.ll b/llvm/test/Feature/aliases.ll index ad1d1b08901c..c11fc4764254 100644 --- a/llvm/test/Feature/aliases.ll +++ b/llvm/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/llvm/test/Linker/2008-03-05-AliasReference.ll b/llvm/test/Linker/2008-03-05-AliasReference.ll index 7c19dfa15a05..8ce1ccb33857 100644 --- a/llvm/test/Linker/2008-03-05-AliasReference.ll +++ b/llvm/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/llvm/test/Linker/2011-08-22-ResolveAlias.ll b/llvm/test/Linker/2011-08-22-ResolveAlias.ll index 6b99233dd778..d6df82d45cfc 100644 --- a/llvm/test/Linker/2011-08-22-ResolveAlias.ll +++ b/llvm/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/llvm/test/Linker/2011-08-22-ResolveAlias2.ll b/llvm/test/Linker/2011-08-22-ResolveAlias2.ll index eee60d49d026..c380c23abe41 100644 --- a/llvm/test/Linker/2011-08-22-ResolveAlias2.ll +++ b/llvm/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/llvm/test/Linker/visibility2.ll b/llvm/test/Linker/visibility2.ll index e6363ca2f386..4fabf6f8d123 100644 --- a/llvm/test/Linker/visibility2.ll +++ b/llvm/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/llvm/test/Object/X86/nm-ir.ll b/llvm/test/Object/X86/nm-ir.ll index 6bb7e2323a22..881397c00a42 100644 --- a/llvm/test/Object/X86/nm-ir.ll +++ b/llvm/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/llvm/test/Transforms/GVN/2009-03-10-PREOnVoid.ll b/llvm/test/Transforms/GVN/2009-03-10-PREOnVoid.ll index fd31fce59a84..fdf17e0b46df 100644 --- a/llvm/test/Transforms/GVN/2009-03-10-PREOnVoid.ll +++ b/llvm/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/llvm/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll b/llvm/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll index 0bdced5114d3..584f0bf467fa 100644 --- a/llvm/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll +++ b/llvm/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/llvm/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll b/llvm/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll index 68933c6ef376..5fb4444c6ba8 100644 --- a/llvm/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll +++ b/llvm/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/llvm/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll b/llvm/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll index b98facad3977..8efd01807fdb 100644 --- a/llvm/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll +++ b/llvm/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/llvm/test/Transforms/GlobalOpt/alias-resolve.ll b/llvm/test/Transforms/GlobalOpt/alias-resolve.ll index 9d70c708aad8..ebc20c66cf61 100644 --- a/llvm/test/Transforms/GlobalOpt/alias-resolve.ll +++ b/llvm/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/llvm/test/Transforms/GlobalOpt/alias-used-address-space.ll b/llvm/test/Transforms/GlobalOpt/alias-used-address-space.ll index 633cd344a796..62e74ba2ab48 100644 --- a/llvm/test/Transforms/GlobalOpt/alias-used-address-space.ll +++ b/llvm/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/llvm/test/Transforms/GlobalOpt/alias-used-section.ll b/llvm/test/Transforms/GlobalOpt/alias-used-section.ll index 121793724d72..4dab2f5a02f5 100644 --- a/llvm/test/Transforms/GlobalOpt/alias-used-section.ll +++ b/llvm/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/llvm/test/Transforms/GlobalOpt/alias-used.ll b/llvm/test/Transforms/GlobalOpt/alias-used.ll index 05ac7f9bddb3..21f06b7be5ff 100644 --- a/llvm/test/Transforms/GlobalOpt/alias-used.ll +++ b/llvm/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/llvm/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll b/llvm/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll index 7f9bd9e40dcb..625989384d70 100644 --- a/llvm/test/Transforms/InstCombine/2007-09-10-AliasConstFold.ll +++ b/llvm/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/llvm/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll b/llvm/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll index c7cef752dcc9..3793a860e8e9 100644 --- a/llvm/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll +++ b/llvm/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/llvm/test/Transforms/InstCombine/objsize-address-space.ll b/llvm/test/Transforms/InstCombine/objsize-address-space.ll index 9cb688423960..a971c913bd41 100644 --- a/llvm/test/Transforms/InstCombine/objsize-address-space.ll +++ b/llvm/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/llvm/test/Transforms/InstCombine/objsize.ll b/llvm/test/Transforms/InstCombine/objsize.ll index 645903299c86..1285b1c3aa6a 100644 --- a/llvm/test/Transforms/InstCombine/objsize.ll +++ b/llvm/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/llvm/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll b/llvm/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll index 16bfe2a46091..16523886a068 100644 --- a/llvm/test/Transforms/Internalize/2009-01-05-InternalizeAliases.ll +++ b/llvm/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/llvm/test/Transforms/Internalize/local-visibility.ll b/llvm/test/Transforms/Internalize/local-visibility.ll index c24d4b7f32a0..b09a136e5263 100644 --- a/llvm/test/Transforms/Internalize/local-visibility.ll +++ b/llvm/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/llvm/test/Transforms/MetaRenamer/metarenamer.ll b/llvm/test/Transforms/MetaRenamer/metarenamer.ll index 6297af62ff0c..4010f31ff772 100644 --- a/llvm/test/Transforms/MetaRenamer/metarenamer.ll +++ b/llvm/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/llvm/test/Verifier/alias.ll b/llvm/test/Verifier/alias.ll index ff02a37bab95..dd04ae05f634 100644 --- a/llvm/test/Verifier/alias.ll +++ b/llvm/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