forked from OSchip/llvm-project
fc88d927e3
[clang][amdgpu] Use implicit code object version At present, clang always passes amdhsa-code-object-version on to -cc1. That is great for certainty over what object version is being used when debugging. Unfortunately, the command line argument is in AMDGPUBaseInfo.cpp in the amdgpu target. If clang is used with an llvm compiled with DLLVM_TARGETS_TO_BUILD that excludes amdgpu, this will be diagnosed (as discovered via D98658): - Unknown command line argument '--amdhsa-code-object-version=4' This means that clang, built only for X86, can be used to compile the nvptx devicertl for openmp but not the amdgpu one. That would shortly spawn fragile logic in the devicertl cmake to try to guess whether the clang used will work. This change omits the amdhsa-code-object-version parameter when it matches the default that AMDGPUBaseInfo.cpp specifies, with a comment to indicate why. As this is the only part of clang's codegen for amdgpu that depends on the target in the back end it suffices to build the openmp runtime on most (all?) systems. It is a non-functional change, though observable in the updated tests and when compiling with -###. It may cause minor disruption to the amd-stg-open branch. Revision of D98746, builds on refactor in D101077 Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D101095 |
||
---|---|---|
.. | ||
INPUTS | ||
bindings | ||
cmake | ||
docs | ||
examples | ||
include | ||
lib | ||
runtime | ||
test | ||
tools | ||
unittests | ||
utils | ||
www | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
INSTALL.txt | ||
LICENSE.TXT | ||
ModuleInfo.txt | ||
NOTES.txt | ||
README.txt |
README.txt
//===----------------------------------------------------------------------===// // C Language Family Front-end //===----------------------------------------------------------------------===// Welcome to Clang. This is a compiler front-end for the C family of languages (C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM compiler infrastructure project. Unlike many other compiler frontends, Clang is useful for a number of things beyond just compiling code: we intend for Clang to be host to a number of different source-level tools. One example of this is the Clang Static Analyzer. If you're interested in more (including how to build Clang) it is best to read the relevant web sites. Here are some pointers: Information on Clang: http://clang.llvm.org/ Building and using Clang: http://clang.llvm.org/get_started.html Clang Static Analyzer: http://clang-analyzer.llvm.org/ Information on the LLVM project: http://llvm.org/ If you have questions or comments about Clang, a great place to discuss them is on the Clang development mailing list: http://lists.llvm.org/mailman/listinfo/cfe-dev If you find a bug in Clang, please file it in the LLVM bug tracker: http://llvm.org/bugs/