]> granicus.if.org Git - clang/commitdiff
[HIP] Fix ordering of device-libs linking
authorAaron Enye Shi <enye.shi@gmail.com>
Wed, 27 Jun 2018 19:51:42 +0000 (19:51 +0000)
committerAaron Enye Shi <enye.shi@gmail.com>
Wed, 27 Jun 2018 19:51:42 +0000 (19:51 +0000)
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

lib/Driver/ToolChains/HIP.cpp
test/Driver/hip-device-libs.hip

index 2aa7cacd6b4d85d5b96fbc205209694919bd3e44..df12faddcf8c24789400a3bcc41d980cbb4ac493 100644 (file)
@@ -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",
index 74a3e7bf0f08558c6f693901186eed6c6042137f..04afab1b73ad836adf515c4d1e9657e2e6933a62 100644 (file)
@@ -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}}"