ECR #333753 - linker: rely on builtins library triple instead of elf binary
This is the first of multiple changes aimed at unifying the
offline linker (llvm-link) with the online linker in the compiler
library. The online linker is considered state-of-the-art and the
code there needs to be made available to the offline linker.
This change teaches the online linker to determine the target by
examining the target triple on the builtins library modules,
instead of checking the elf binary target. The assumption is that
the builtins library always matches the actual target as
confirmed in CL 1041226. This removes one dependence of compiler
library functions so that the affected code can eventually be
moved to llvm/lib and shared with the offline linker.
The change passes smoke_clang (Orca build), smoke (HSA build) and Teamcity pre-checkin.
Reviewed by Brian Sumner, Yaxun Liu, Stanislav Mekhanoshin
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#107 edit
ECR #377625 - Allow function call for function with internal linkage.
Internal linkage correponds to static function in C. The function could be large and should be allowed to be not inlined.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#106 edit