On teamcity clang --version returns something like
clang version 12.0.0
Target: x86_64-unknown-linux-gnu
currently hipcc does not handle it correctly since [^ ] causes new line and Targe:
matched. \S will make sure only version string matched.
Change-Id: I3659d6daf89b709d2b001e6b8024d69d8b79efc0
hipcc extracts bundles from static libraries and pass them to clang. It should
not escape spaces between objects extracted from library.
Fixes: SWDEV-246544
Change-Id: Iad3902f28a43a3986917ee37a49f10382c329940
Since the introduction of BUILD_SHARED_LIBS there is only one target created : libamdhip64
Which is static ( libamdhip64.a ) or Dynamic ( libamdhip64.so ) depending on whichever it is
being compiled for. After this change we do not have any target libamdhip64_static which is
mentioned in the hipcc for linking. Hence cleaning the same.
Change-Id: Ia45c145e17b111b3f6a32299a11962b10f1cc539
Currently std::complex and some other std functions require uses to
include hip_runtime.h before any other headers to work, which is not
reliable.
changes are made in clang to fix this issue:
https://reviews.llvm.org/D81176
which requires hipcc and HIP headers to make corresponding changes.
This patch will make sure the clang change will not break
HIP/ROCclr during this transition.
After the transition is done, we can remove explicitly setting
include path for HIP-Clang and HIP header in hipcc and hip config
cmake files and rely on clang driver to set it automatically.
Change-Id: I5d226861c2560ffa6c5ab17343a43cc378048061
Similar to HCC, link with compiler-rt to support __fp16 and _Float16 type conversions in ONNX models. This should resolve SWDEV-238491.
Change-Id: Iad8dcff568831719f501f562a04023326ae8036c
The hipcc script takes arguments and uses this to build up a new
command. Characters which are special to the shell need to be quoted
to prevent them being interpreted.
In particular adding
--Wl,--enable-new-dtags -Wl,--rpath,'$ORIGIN:$ORIGIN/../lib'
to the command should pass quoted dollar signs into the resulting
string so the shell passes them on, rather than substituting the
values.
The arguments are processed in a conventional loop, but can be altered
during the course of the loop, and also by linker response files.
Tested by running
HIPCC_VERBOSE=7 HIP_COMPILER=clang hipcc --cxxflags \
fred.c -Wl,,--rpath,'$ORIGIN:$ORIGIN:/../lib'
and observing "-Wl,--rpath,\$ORIGIN\:\$ORIGIN\:..\/lib" in the
displayed hipcc-cmd output (and ignoring the errors due to rocm not
being installed)
Change-Id: I26b62f09ff3518cceeb85fa8823bb12a95c1c78e
Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Before setting the HIP_RUNTIME and HIP_COMPILER variables, first check the environment if these are set. We should prioritize the environment settings. For windows, it will be set, and also explicitly call perl when invoking hipconfig.
Change-Id: I89ad267285239e6d8a897dc681c4af5906e7b9d8