diff options
author | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2017-09-20 04:25:58 +0000 |
---|---|---|
committer | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2017-09-20 04:25:58 +0000 |
commit | 5670e6d482b445cdf5c8e1166828b20a02416d10 (patch) | |
tree | 111b9dab27a4dc121d3fbcfbcdbe171776fb98aa /llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | |
parent | bc683831668e63a8f01f7f442d5ec01f02cf49cb (diff) | |
download | bcm5719-llvm-5670e6d482b445cdf5c8e1166828b20a02416d10.tar.gz bcm5719-llvm-5670e6d482b445cdf5c8e1166828b20a02416d10.zip |
[AMDGPU] Port of HSAIL inliner
Differential Revision: https://reviews.llvm.org/D36849
llvm-svn: 313714
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp index 284f44a6232..212adbce68b 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -179,6 +179,7 @@ extern "C" void LLVMInitializeAMDGPUTarget() { initializeAMDGPUAAWrapperPassPass(*PR); initializeAMDGPUUseNativeCallsPass(*PR); initializeAMDGPUSimplifyLibCallsPass(*PR); + initializeAMDGPUInlinerPass(*PR); } static std::unique_ptr<TargetLoweringObjectFile> createTLOF(const Triple &TT) { @@ -332,10 +333,12 @@ void AMDGPUTargetMachine::adjustPassManager(PassManagerBuilder &Builder) { bool EnableOpt = getOptLevel() > CodeGenOpt::None; bool Internalize = InternalizeSymbols; - bool EarlyInline = EarlyInlineAll && EnableOpt; + bool EarlyInline = EarlyInlineAll && EnableOpt && !EnableAMDGPUFunctionCalls; bool AMDGPUAA = EnableAMDGPUAliasAnalysis && EnableOpt; bool LibCallSimplify = EnableLibCallSimplify && EnableOpt; + Builder.Inliner = createAMDGPUFunctionInliningPass(); + if (Internalize) { // If we're generating code, we always have the whole program available. The // relocations expected for externally visible functions aren't supported, |