From: Aaron Enye Shi Date: Wed, 27 Jun 2018 19:51:42 +0000 (+0000) Subject: [HIP] Fix ordering of device-libs linking X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=81c2075695490183408d1a3f29feefba63069f81;p=clang [HIP] Fix ordering of device-libs linking Summary: HIP should link the bitcodes with caller functions before callee functions. Also added lit test to check the ordering of the linked bitcodes is matches. Reviewers: yaxunl, b-sumner Reviewed By: yaxunl, b-sumner Subscribers: cfe-commits, yaxunl, b-sumner, scchan Differential Revision: https://reviews.llvm.org/D48667 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@335774 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains/HIP.cpp b/lib/Driver/ToolChains/HIP.cpp index 2aa7cacd6b..df12faddcf 100644 --- a/lib/Driver/ToolChains/HIP.cpp +++ b/lib/Driver/ToolChains/HIP.cpp @@ -82,7 +82,7 @@ const char *AMDGCN::Linker::constructLLVMLinkCommand( FlushDenormalControlBC = "oclc_daz_opt_off.amdgcn.bc"; BCLibs.append({"opencl.amdgcn.bc", - "ockl.amdgcn.bc", "irif.amdgcn.bc", "ocml.amdgcn.bc", + "ocml.amdgcn.bc", "ockl.amdgcn.bc", "irif.amdgcn.bc", "oclc_finite_only_off.amdgcn.bc", FlushDenormalControlBC, "oclc_correctly_rounded_sqrt_on.amdgcn.bc", diff --git a/test/Driver/hip-device-libs.hip b/test/Driver/hip-device-libs.hip index 74a3e7bf0f..04afab1b73 100644 --- a/test/Driver/hip-device-libs.hip +++ b/test/Driver/hip-device-libs.hip @@ -21,6 +21,7 @@ // COM: [[LLVM_LINK:"*.llvm-link"]] +// COM-SAME: {{.*}} "{{.*}}ocml.amdgcn.bc" "{{.*}}ockl.amdgcn.bc" "{{.*}}irif.amdgcn.bc" // FLUSHD-SAME: {{.*}} "{{.*}}oclc_daz_opt_on.amdgcn.bc" // NOFLUSHD-SAME: {{.*}} "{{.*}}oclc_daz_opt_off.amdgcn.bc" // COM-SAME: {{.*}} "-o" "{{.*}}-gfx900-linked-{{.*bc}}"