[llvm] r268106 - Differential Revision: http://reviews.llvm.org/D19733

Robinson, Paul via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 14:31:46 PDT 2016


Hi Sriraman,
In the future could you please put a short description of the
change in your SVN commit message?  If the log has nothing but a 
reference to the Phabricator review, it makes the "svn log" command 
a lot less useful for quickly skimming through changes in a file.
Thanks,
--paulr

> -----Original Message-----
> From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On Behalf
> Of Sriraman Tallam via llvm-commits
> Sent: Friday, April 29, 2016 2:19 PM
> To: llvm-commits at lists.llvm.org
> Subject: [llvm] r268106 - Differential Revision:
> http://reviews.llvm.org/D19733
> 
> Author: tmsriram
> Date: Fri Apr 29 16:19:16 2016
> New Revision: 268106
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=268106&view=rev
> Log:
> Differential Revision: http://reviews.llvm.org/D19733
> 
> Modified:
>     llvm/trunk/include/llvm/CodeGen/CommandFlags.h
>     llvm/trunk/lib/Target/TargetMachine.cpp
>     llvm/trunk/lib/Target/X86/X86Subtarget.cpp
>     llvm/trunk/lib/Target/X86/X86Subtarget.h
>     llvm/trunk/test/CodeGen/X86/emutls-pie.ll
>     llvm/trunk/test/CodeGen/X86/global-access-pie.ll
>     llvm/trunk/test/CodeGen/X86/pie.ll
>     llvm/trunk/test/CodeGen/X86/tls-pie.ll
> 
> Modified: llvm/trunk/include/llvm/CodeGen/CommandFlags.h
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/include/llvm/CodeGen/CommandFlags.h?rev=268106&r1=26810
> 5&r2=268106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/include/llvm/CodeGen/CommandFlags.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/CommandFlags.h Fri Apr 29 16:19:16
> 2016
> @@ -198,11 +198,6 @@ TrapFuncName("trap-func", cl::Hidden,
>          cl::init(""));
> 
>  cl::opt<bool>
> -EnablePIE("enable-pie",
> -          cl::desc("Assume the creation of a position independent
> executable."),
> -          cl::init(false));
> -
> -cl::opt<bool>
>  UseCtors("use-ctors",
>               cl::desc("Use .ctors instead of .init_array."),
>               cl::init(false));
> @@ -290,7 +285,6 @@ static inline TargetOptions InitTargetOp
>    Options.GuaranteedTailCallOpt = EnableGuaranteedTailCallOpt;
>    Options.StackAlignmentOverride = OverrideStackAlignment;
>    Options.StackSymbolOrdering = StackSymbolOrdering;
> -  Options.PositionIndependentExecutable = EnablePIE;
>    Options.UseInitArray = !UseCtors;
>    Options.DataSections = DataSections;
>    Options.FunctionSections = FunctionSections;
> 
> Modified: llvm/trunk/lib/Target/TargetMachine.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/lib/Target/TargetMachine.cpp?rev=268106&r1=268105&r2=26
> 8106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/lib/Target/TargetMachine.cpp (original)
> +++ llvm/trunk/lib/Target/TargetMachine.cpp Fri Apr 29 16:19:16 2016
> @@ -109,7 +109,7 @@ TLSModel::Model TargetMachine::getTLSMod
>    bool isLocal = GV->hasLocalLinkage();
>    bool isDeclaration = GV->isDeclaration();
>    bool isPIC = getRelocationModel() == Reloc::PIC_;
> -  bool isPIE = Options.PositionIndependentExecutable;
> +  bool isPIE = GV->getParent()->getPIELevel() != PIELevel::Default;
>    // FIXME: what should we do for protected and internal visibility?
>    // For variables, is internal different from hidden?
>    bool isHidden = GV->hasHiddenVisibility();
> 
> Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=268106&r1=268105&r2
> =268106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Fri Apr 29 16:19:16 2016
> @@ -159,8 +159,7 @@ unsigned char X86Subtarget::classifyGlob
>    // we don't need to use the PLT - we can directly call it.
>    // In PIE mode, calls to global functions don't need to go through PLT
>    if (isTargetELF() && TM.getRelocationModel() == Reloc::PIC_ &&
> -      (!TM.Options.PositionIndependentExecutable ||
> -       GV->isDeclarationForLinker()) &&
> +      !isGlobalDefinedInPIE(GV, TM) &&
>        GV->hasDefaultVisibility() && !GV->hasLocalLinkage()) {
>      return X86II::MO_PLT;
>    } else if (isPICStyleStubAny() && !GV->isStrongDefinitionForLinker() &&
> 
> Modified: llvm/trunk/lib/Target/X86/X86Subtarget.h
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/lib/Target/X86/X86Subtarget.h?rev=268106&r1=268105&r2=2
> 68106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/lib/Target/X86/X86Subtarget.h (original)
> +++ llvm/trunk/lib/Target/X86/X86Subtarget.h Fri Apr 29 16:19:16 2016
> @@ -552,7 +552,7 @@ public:
>    /// Executable (PIE) where its definition cannot be interposed.
>    bool isGlobalDefinedInPIE(const GlobalValue *GV,
>                              const TargetMachine &TM) const {
> -    return TM.Options.PositionIndependentExecutable &&
> +    return GV->getParent()->getPIELevel() != PIELevel::Default &&
>             !GV->isDeclarationForLinker();
>    }
> 
> 
> Modified: llvm/trunk/test/CodeGen/X86/emutls-pie.ll
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/test/CodeGen/X86/emutls-
> pie.ll?rev=268106&r1=268105&r2=268106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/test/CodeGen/X86/emutls-pie.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/emutls-pie.ll Fri Apr 29 16:19:16 2016
> @@ -1,10 +1,10 @@
> -; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-gnu -relocation-model=pic -enable-pie \
> +; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-gnu -relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X32 %s
> -; RUN: llc < %s -emulated-tls -march=x86-64 -mcpu=generic -
> mtriple=x86_64-linux-gnu -relocation-model=pic -enable-pie \
> +; RUN: llc < %s -emulated-tls -march=x86-64 -mcpu=generic -
> mtriple=x86_64-linux-gnu -relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X64 %s
> -; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-android -relocation-model=pic -enable-pie \
> +; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-android -relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X32 %s
> -; RUN: llc < %s -emulated-tls -march=x86-64 -mcpu=generic -
> mtriple=x86_64-linux-android -relocation-model=pic -enable-pie \
> +; RUN: llc < %s -emulated-tls -march=x86-64 -mcpu=generic -
> mtriple=x86_64-linux-android -relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X64 %s
> 
>  ; Use my_emutls_get_address like __emutls_get_address.
> @@ -129,3 +129,8 @@ entry:
> 
>  ; X64-NOT:   __emutls_v.i2
>  ; X64-NOT:   __emutls_t.i2
> +
> +
> +!llvm.module.flags = !{!0, !1}
> +!0 = !{i32 1, !"PIC Level", i32 1}
> +!1 = !{i32 1, !"PIE Level", i32 1}
> 
> Modified: llvm/trunk/test/CodeGen/X86/global-access-pie.ll
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/test/CodeGen/X86/global-access-
> pie.ll?rev=268106&r1=268105&r2=268106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/test/CodeGen/X86/global-access-pie.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/global-access-pie.ll Fri Apr 29 16:19:16
> 2016
> @@ -1,6 +1,6 @@
> -; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -
> relocation-model=pic -enable-pie \
> +; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -
> relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X64 %s
> -; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-gnu -relocation-model=pic -enable-pie \
> +; RUN: llc < %s -emulated-tls -march=x86 -mcpu=generic -mtriple=i386-
> linux-gnu -relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X32 %s
> 
>  ; External Linkage
> @@ -117,3 +117,7 @@ entry:
>    %call = call i32 @access_fp(i32 ()* @bar)
>    ret i32 %call
>  }
> +
> +!llvm.module.flags = !{!0, !1}
> +!0 = !{i32 1, !"PIC Level", i32 1}
> +!1 = !{i32 1, !"PIE Level", i32 1}
> 
> Modified: llvm/trunk/test/CodeGen/X86/pie.ll
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/test/CodeGen/X86/pie.ll?rev=268106&r1=268105&r2=268106&
> view=diff
> ==========================================================================
> ====
> --- llvm/trunk/test/CodeGen/X86/pie.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/pie.ll Fri Apr 29 16:19:16 2016
> @@ -1,7 +1,7 @@
> -; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -relocation-
> model=pic -enable-pie | FileCheck %s
> -; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -fast-isel -
> relocation-model=pic -enable-pie | FileCheck %s
> -; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-
> model=pic -enable-pie | FileCheck %s
> -; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -fast-isel -
> relocation-model=pic -enable-pie | FileCheck %s
> +; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -relocation-
> model=pic | FileCheck %s
> +; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -fast-isel -
> relocation-model=pic | FileCheck %s
> +; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-
> model=pic | FileCheck %s
> +; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -fast-isel -
> relocation-model=pic | FileCheck %s
> 
>  ; CHECK-LABEL:  bar:
>  ; CHECK:  call{{l|q}}  foo{{$}}
> @@ -39,3 +39,7 @@ entry:
>  }
> 
>  ; -fpie for local global data tests should be added here
> +
> +!llvm.module.flags = !{!0, !1}
> +!0 = !{i32 1, !"PIC Level", i32 1}
> +!1 = !{i32 1, !"PIE Level", i32 1}
> 
> Modified: llvm/trunk/test/CodeGen/X86/tls-pie.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/tls-
> pie.ll?rev=268106&r1=268105&r2=268106&view=diff
> ==========================================================================
> ====
> --- llvm/trunk/test/CodeGen/X86/tls-pie.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/tls-pie.ll Fri Apr 29 16:19:16 2016
> @@ -1,6 +1,6 @@
> -; RUN: llc < %s -march=x86 -mcpu=generic -mtriple=i386-linux-gnu -
> relocation-model=pic -enable-pie \
> +; RUN: llc < %s -march=x86 -mcpu=generic -mtriple=i386-linux-gnu -
> relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X32 %s
> -; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -
> relocation-model=pic -enable-pie \
> +; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -
> relocation-model=pic \
>  ; RUN:   | FileCheck -check-prefix=X64 %s
> 
>  @i = thread_local global i32 15
> @@ -79,3 +79,7 @@ define i32* @f4() {
>  entry:
>  	ret i32* @i2
>  }
> +
> +!llvm.module.flags = !{!0, !1}
> +!0 = !{i32 1, !"PIC Level", i32 1}
> +!1 = !{i32 1, !"PIE Level", i32 1}
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list