Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
50046221 |
| 15-Dec-2024 |
Nico Weber <thakis@chromium.org> |
Revert "[Driver] Cache SanitizerArgs (NFC) (#119442)"
This reverts commit bae383ba6b53b0d8257c83f99ceecdd751d0a378. Prerequisite to reverting #119071.
|
#
bae383ba |
| 12-Dec-2024 |
Aaron Puchert <aaron.puchert@sap.com> |
[Driver] Cache SanitizerArgs (NFC) (#119442)
The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.
So we try
[Driver] Cache SanitizerArgs (NFC) (#119442)
The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.
So we try to reuse it a bit more.
show more ...
|
Revision tags: llvmorg-19.1.5 |
|
#
2dc0de75 |
| 29-Nov-2024 |
Brian Cain <bcain@quicinc.com> |
[clang] recognize hexagon-*-ld.lld variants (#117338)
If we create a cross toolchain with a ${triple}-ld.lld symlink, clang
finds that symlink and when it uses it, it's not recognized as "lld".
Le
[clang] recognize hexagon-*-ld.lld variants (#117338)
If we create a cross toolchain with a ${triple}-ld.lld symlink, clang
finds that symlink and when it uses it, it's not recognized as "lld".
Let's resolve that symlink and consider it when determining lld-ness.
For example, clang provides hexagon-link specific link arguments such as
`-mcpu=hexagonv65` and `-march=hexagon` when
hexagon-unknown-linux-musl-ld.lld is found. lld rejects this with the
following error:
hexagon-unknown-linux-musl-ld.lld: error: unknown emulation:
cpu=hexagonv65
show more ...
|
#
9cc2502c |
| 25-Nov-2024 |
Brian Cain <bcain@quicinc.com> |
[clang] hexagon: fix link order for libc/builtins (#117057)
When linking programs with `eld`, we get a link error like below:
Error:
/inst/clang+llvm-19.1.0-cross-hexagon-unknown-linux-musl/x86_
[clang] hexagon: fix link order for libc/builtins (#117057)
When linking programs with `eld`, we get a link error like below:
Error:
/inst/clang+llvm-19.1.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/../target/hexagon-unknown-linux-musl//usr/lib/libc.a(scalbn.lo)(.text.scalbn+0x3c):
undefined reference to `__hexagon_muldf3'
libc has references to the clang_rt builtins library, so the order of
the libraries should be reversed.
show more ...
|
Revision tags: llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
962d0182 |
| 19-Jul-2024 |
Brian Cain <bcain@quicinc.com> |
[clang] [hexagon] handle --unwindlib arg (#99552)
Signed-off-by: Brian Cain <bcain@quicinc.com>
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1 |
|
#
2b5cd8be |
| 04-Mar-2024 |
Fangrui Song <i@maskray.me> |
[Driver] Remove InstallDir and getInstalledDir. NFC
Follow-up to #80527.
|
Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1 |
|
#
fe35d72d |
| 27-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[Driver] Use StringRef::consume_back (NFC)
|
#
5404a379 |
| 24-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[Driver] Use StringRef::consume_front (NFC)
|
Revision tags: llvmorg-19-init |
|
#
10886a8f |
| 20-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[Driver] Use SmallString::operator std::string (NFC)
|
#
f3dcc235 |
| 13-Dec-2023 |
Kazu Hirata <kazu@google.com> |
[clang] Use StringRef::{starts,ends}_with (NFC) (#75149)
This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}:
[clang] Use StringRef::{starts,ends}_with (NFC) (#75149)
This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.
I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3 |
|
#
4eecfda5 |
| 11-Oct-2023 |
Fangrui Song <i@maskray.me> |
[Driver] Rename AddAllArgs (initialization list overload) to addAllArgs
Most ArgList member functions use the modern functionName style while some like AddAllArgs use the legacy FunctionName style.
[Driver] Rename AddAllArgs (initialization list overload) to addAllArgs
Most ArgList member functions use the modern functionName style while some like AddAllArgs use the legacy FunctionName style. These uses are mostly linker options which have been modified recently to fix duplicate -e issues, so just update these call sites.
show more ...
|
Revision tags: llvmorg-17.0.2 |
|
#
a1b02c95 |
| 28-Sep-2023 |
androm3da <bcain@quicinc.com> |
[clang][hexagon] Add support for -nolibc (#67515)
|
#
8a4b9e99 |
| 26-Sep-2023 |
Brad Smith <brad@comstyle.com> |
[Driver] Move assertion check before checking Output.isFilename (#67210)
|
Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4 |
|
#
779353e5 |
| 28-Aug-2023 |
Rainer Orth <ro@gcc.gnu.org> |
[Driver] Improve legibility of ld -z options on Solaris
Following the lead of the Linux code, this patch passes the `ld -z` options as two separate args on Solaris, improving legibility. For lack o
[Driver] Improve legibility of ld -z options on Solaris
Following the lead of the Linux code, this patch passes the `ld -z` options as two separate args on Solaris, improving legibility. For lack of a variadic `std::push_back`, `getAsNeededOption` had to be changed to `addAsNeededOption`, matching other `add*Options` functions, changing callers accordingly. The additional args are also used in a WIP revision of the Solaris GNU ld patch D85309 <https://reviews.llvm.org/D85309>, which will allow runtime selection of the linker to use.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Differential Revision: https://reviews.llvm.org/D158955
show more ...
|
Revision tags: llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2 |
|
#
5bc4b34a |
| 01-Aug-2023 |
Brian Cain <bcain@quicinc.com> |
[clang][hexagon] Handle library path arguments earlier
The removal of the early return in 96832a6bf7e0e7f1e8d634d38c44a1b32d512923 was an error: it would include the 'standalone' library that's not
[clang][hexagon] Handle library path arguments earlier
The removal of the early return in 96832a6bf7e0e7f1e8d634d38c44a1b32d512923 was an error: it would include the 'standalone' library that's not used by linux.
Instead we reproduce the library path handling in the linux/musl block.
Differential Revision: https://reviews.llvm.org/D156771
show more ...
|
Revision tags: llvmorg-17.0.0-rc1 |
|
#
96832a6b |
| 26-Jul-2023 |
Brian Cain <bcain@quicinc.com> |
[hexagon] restore library path arguments
Before applying this fix, clang would not include the specified library path arguments:
$ ./bin/clang --target=hexagon-unknown-linux-musl -o tprog tpro
[hexagon] restore library path arguments
Before applying this fix, clang would not include the specified library path arguments:
$ ./bin/clang --target=hexagon-unknown-linux-musl -o tprog tprog.o -L/tmp -### ... clang: warning: argument unused during compilation: '-L/tmp' [-Wunused-command-line-argument] "/local/mnt/workspace/install/clang-latest/bin/ld.lld" "-z" "relro" "-o" "tprog" "-dynamic-linker=/lib/ld-musl-hexagon.so.1" "/usr/lib/crt1.o" "-L/usr/lib" "tprog.o" "-lclang_rt.builtins-hexagon" "-lc"
Differential Revision: https://reviews.llvm.org/D156330
show more ...
|
Revision tags: llvmorg-18-init |
|
#
62281227 |
| 08-Jul-2023 |
Fangrui Song <i@maskray.me> |
[Driver] Remove duplicate -e
-e has the LinkerInput flag (commit fcf8ada18f9cfb1261262e4b0399ae9ab40451f8) and is rendered by AddLinkerInputs. We should remove duplicate rendering (e.g., `Args.AddAl
[Driver] Remove duplicate -e
-e has the LinkerInput flag (commit fcf8ada18f9cfb1261262e4b0399ae9ab40451f8) and is rendered by AddLinkerInputs. We should remove duplicate rendering (e.g., `Args.AddAllArgs(CmdArgs, options::OPT_e)`).
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2 |
|
#
edc1130c |
| 31-Jan-2023 |
Michael Platings <michael.platings@arm.com> |
[Driver] Enable selecting multiple multilibs
This will enable layering multilibs on top of each other. For example a multilib containing only a no-exceptions libc++ could be layered on top of a mult
[Driver] Enable selecting multiple multilibs
This will enable layering multilibs on top of each other. For example a multilib containing only a no-exceptions libc++ could be layered on top of a multilib containing C libs. This avoids the need to duplicate the C library for every libc++ variant.
This change doesn't expose the functionality externally, it only opens the functionality up to be potentially used by ToolChain classes.
Differential Revision: https://reviews.llvm.org/D143059
show more ...
|
#
6adb9a06 |
| 06-Mar-2023 |
Yaxun (Sam) Liu <yaxun.liu@amd.com> |
[AMDGPU] Emit predefined macro `__AMDGCN_CUMODE__`
Predefine __AMDGCN_CUMODE__ as 1 or 0 when compilation assumes CU or WGP modes.
If WGP mode is not supported, ignore -mno-cumode and emit a warnin
[AMDGPU] Emit predefined macro `__AMDGCN_CUMODE__`
Predefine __AMDGCN_CUMODE__ as 1 or 0 when compilation assumes CU or WGP modes.
If WGP mode is not supported, ignore -mno-cumode and emit a warning.
This is needed for implementing device functions like __smid (https://github.com/ROCm-Developer-Tools/hipamd/blob/312dff7b794337aa040be0691acc78e9f968a8d2/include/hip/amd_detail/amd_device_functions.h#L957)
Reviewed by: Matt Arsenault, Artem Belevich, Brian Sumner
Differential Revision: https://reviews.llvm.org/D145343
show more ...
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
21c4dc79 |
| 17-Dec-2022 |
Fangrui Song <i@maskray.me> |
std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable without _LIBCPP_NO_E
std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable without _LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).
This fixes clang.
show more ...
|
#
37a3e98c |
| 10-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[clang] Use std::nullopt instead of None in comments (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasval
[clang] Use std::nullopt instead of None in comments (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
2c5d49cf |
| 03-Dec-2022 |
Fangrui Song <i@maskray.me> |
[Driver] llvm::Optional => std::optional
and change a few referenced Basic and llvm/lib/WindowsDriver API
|
#
0c2f6e36 |
| 03-Dec-2022 |
Fangrui Song <i@maskray.me> |
[Driver] llvm::None => std::nullopt. NFC
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5 |
|
#
8c2c6228 |
| 08-Nov-2022 |
Fangrui Song <i@maskray.me> |
[Driver] Refactor err_drv_unsupported_option_argument call sites to use llvm::opt::Arg::getSpelling
For `-foo=bar`, getSpelling return `-foo=` which is exactly what we need from the diagnostic. Drop
[Driver] Refactor err_drv_unsupported_option_argument call sites to use llvm::opt::Arg::getSpelling
For `-foo=bar`, getSpelling return `-foo=` which is exactly what we need from the diagnostic. Drop `-` from the err_drv_unsupported_option_argument template. This change makes `--` long option diagnostics more convenient.
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D137659
show more ...
|
Revision tags: llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
71696597 |
| 20-Jul-2022 |
Louis Dionne <ldionne.2@gmail.com> |
[clang] Small adjustments for -fexperimental-library
Move -lc++experimental before -lc++abi (that was forgotten in the original patch), and mark a test as UNSUPPORTED on AIX. I contacted the owners
[clang] Small adjustments for -fexperimental-library
Move -lc++experimental before -lc++abi (that was forgotten in the original patch), and mark a test as UNSUPPORTED on AIX. I contacted the owners of the AIX bot that failed because I was unable to reproduce the issue locally.
show more ...
|