This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Apr 07, 2022
-
-
Fangrui Song authored
-
Fangrui Song authored
(The upgrade of the ppc64le bot and D121257 have fixed compiler-rt failures. Tested by nemanjai.) Default the option introduced in D113372 to ON to match all(?) major Linux distros. This matches GCC and improves consistency with Android and linux-musl which always default to PIE. Note: CLANG_DEFAULT_PIE_ON_LINUX may be removed in the future. Differential Revision: https://reviews.llvm.org/D120305
-
Krystian Kuzniarek authored
Differential Revision: https://reviews.llvm.org/D122064
-
Sam McCall authored
-
Paul Robinson authored
-
Zixu Wang authored
Add (partial) support for Objective-C category records in ExtractAPI. The current ExtractAPI collects everything for an Objective-C category, but not fully serialized in the SymbolGraphSerializer. Categories extending external interfaces are disgarded during serialization, and categories extending known interfaces are merged (all members surfaced) into the interfaces. Differential Revision: https://reviews.llvm.org/D122774
-
David Blaikie authored
-
Daniel Grumberg authored
Typedef records consist of the symbol associated with the underlying TypedefDecl and a SymbolReference to the underlying type. Additionally typedefs for anonymous TagTypes use the typedef'd name as the symbol name in their respective records and USRs. As a result the declaration fragments for the anonymous TagType are those for the associated typedef. This means that when the user is defining a typedef to a typedef to a anonymous type, we use a reference the anonymous TagType itself and do not emit the typedef to the anonymous type in the generated symbol graph, including in the type destination of further typedef symbol records. Differential Revision: https://reviews.llvm.org/D123019
-
Nathan Sidwell authored
Note that the mangling has changed and the demangler's learnt a new trick. Obviously dependent upon the mangler and demangler patches. Reviewed By: bruno Differential Revision: https://reviews.llvm.org/D123141
-
Daniel Grumberg authored
This includes: - replacing "relationhips" with "relationships" - emitting the "pathComponents" property on symbols - emitting the "accessLevel" property on symbols Differential Revision: https://reviews.llvm.org/D123045
-
- Apr 06, 2022
-
-
Paul Robinson authored
-
Nathan Sidwell authored
Add specific dates and versions to note about source_location handling. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D123119
-
Sven van Haastregt authored
This simplifies completeness comparisons against OpenCLBuiltins.td and also makes the header no longer "claim" the argument name identifiers. Continues the direction set out in D119560.
-
Nikita Popov authored
Or rather, error out if it is set to something other than ON. This removes the ability to enable the legacy pass manager by default, but does not remove the ability to explicitly enable it through various flags like -flegacy-pass-manager or -enable-new-pm=0. I checked, and our test suite definitely doesn't pass with LLVM_ENABLE_NEW_PASS_MANAGER=OFF anymore. Differential Revision: https://reviews.llvm.org/D123126
-
Argyrios Kyrtzidis authored
[Support/Hash functions] Change the `final()` and `result()` of the hashing functions to return an array of bytes Returning `std::array<uint8_t, N>` is better ergonomics for the hashing functions usage, instead of a `StringRef`: * When returning `StringRef`, client code is "jumping through hoops" to do string manipulations instead of dealing with fixed array of bytes directly, which is more natural * Returning `std::array<uint8_t, N>` avoids the need for the hasher classes to keep a field just for the purpose of wrapping it and returning it as a `StringRef` As part of this patch also: * Introduce `TruncatedBLAKE3` which is useful for using BLAKE3 as the hasher type for `HashBuilder` with non-default hash sizes. * Make `MD5Result` inherit from `std::array<uint8_t, 16>` which improves & simplifies its API. Differential Revision: https://reviews.llvm.org/D123100
-
Zi Xuan Wu authored
-
Zi Xuan Wu authored
Add CSKY target toolchains to support csky in linux and elf environment. It can leverage the basic universal Linux toolchain for linux environment, and only add some compile or link parameters. For elf environment, add a CSKYToolChain to support compile and link. Also add some parameters into basic codebase of clang driver. Differential Revision: https://reviews.llvm.org/D121445
-
Ting Wang authored
Add support for builtin_[max|min] which has below prototype: A builtin_max (A1, A2, A3, ...) All arguments must have the same type; they must all be float, double, or long double. Internally use SelectCC to get the result. Reviewed By: qiucf Differential Revision: https://reviews.llvm.org/D122478
-
Gulfem Savrun Yeniceri authored
This reverts commit c7f91e22. This patch caused an issue in Fuchsia source code coverage builders.
-
Jun Zhang authored
As statement expression makes no sense in the default argument, this patch tries to disable it in the all cases. Please note that the statement expression is a GNU extension, which means that Clang should be consistent with GCC. However, there's no response from GCC devs since we have raised the issue for several weeks. In this case, I think we can disallow statement expressions as a default parameter in general for now, and relax the restriction if GCC folks decide to retain the feature for functions but not lambdas in the future. Related discussion: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104765 Fixes https://github.com/llvm/llvm-project/issues/53488 Differential Revision: https://reviews.llvm.org/D119609
-
Tom Honermann authored
This change merges code for emit of target and target_clones multiversion resolver functions and, in doing so, corrects handling of target_clones functions that are declared but not defined. Previously, a use of such a target_clones function would result in an attempted emit of an ifunc that referenced an undefined resolver function. Ifunc references to undefined resolver functions are not allowed and, when the LLVM verifier is not disabled (via '-disable-llvm-verifier'), resulted in the verifier issuing a "IFunc resolver must be a definition" error and aborting the compilation. With this change, ifuncs and resolver function definitions are always emitted for used target_clones functions regardless of whether the target_clones function is defined (if the function is defined, then the ifunc and resolver are emitted regardless of whether the function is used). This change has the side effect of causing target_clones variants and resolver functions to be emitted in a different order than they were previously. This is harmless and is reflected in the updated tests. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D122958
-
Tom Honermann authored
This change modifies CodeGenModule::emitMultiVersionFunctions() in preparation for a change that will merge support for emitting target_clones resolvers into this function. This change mostly serves to isolate indentation changes from later behavior modifying changes. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D122957
-
Tom Honermann authored
Previously, GetOrCreateMultiVersionResolver() required the caller to provide a GlobalDecl along with an llvm::type and FunctionDecl. The latter two can be cheaply obtained from the first, and the llvm::type parameter is not always used, so requiring the caller to provide them was unnecessary and created the possibility that callers would pass an inconsistent set. This change simplifies the interface to only require the GlobalDecl value. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D122956
-
Tom Honermann authored
Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D122955
-
Ben Barham authored
This reverts commit 3fda0edc, which breaks crash reproducers in very specific circumstances. Specifically, since crash reproducers have `UseExternalNames` set to false, the `File->getFileEntry().getDir()->getName()` call in `DoFrameworkLookup` would use the *cached* directory name instead of the directory of the looked-up file. The plan is to re-commit this patch but to *add* `ExposesExternalVFSPath` rather than replace `IsVFSMapped`. Differential Revision: https://reviews.llvm.org/D123103
-
Paul Robinson authored
A missing "break" in the initial implementation had us adding a spurious "/usr/include" to the header search list. Later someone introduced LLVM_FALLTHROUGH to prevent a warning. Replace this with the correct "break" and make sure the extra directory isn't added to the PS4 header search list.
-
Shangwu Yao authored
This is required for converting function calls such as get_global_id() into SPIR-V builtins. Differential Revision: https://reviews.llvm.org/D123049
-
Nathan James authored
Extend D120185 to also log the node being matched on in case of a crash. This can help if a matcher is causing a crash or there are not enough interesting nodes bound. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D122529 This reverts commit 61d67c8e. This relands commit 6e33e45b. Fixing the build issue on 32bit machines due to not enough free bits in the PointerUnion.
-
Tom Honermann authored
Previously, resolver functions synthesized for target_clones multiversion functions were not emitted as COMDAT. Now fixed.
-
Tom Honermann authored
-
Scott Linder authored
The diagnostic is unreliable, and triggers even for dead uses of hostcall that may exist when linking the device-libs at lower optimization levels. Eliminate the diagnostic, and directly document the limitation for OpenCL before code object V5. Make some NFC changes to clarify the related code in the MetadataStreamer. Add a clang test to tie OCL sources containing printf to the backend IR tests for this situation. Reviewed By: sameerds, arsenm, yaxunl Differential Revision: https://reviews.llvm.org/D121951
-
Corentin Jabot authored
const auto & var = ObjectWithSideEffects(); Fixes https://github.com/llvm/llvm-project/issues/54489 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D122661
-
Sam McCall authored
This is both smaller and faster. Differential Revision: https://reviews.llvm.org/D123144
-
David Blaikie authored
Since enumerators may not be available in every translation unit they can't be reliably used to name entities. (this also makes simplified template name roundtripping infeasible - since the expected name could only be rebuilt if the enumeration definition could be found (or only if it couldn't be found, depending on the context of the original name))
-
owenca authored
Fixes #54758
-
- Apr 05, 2022
-
-
Yaxun (Sam) Liu authored
Currently, clang-offload-bundler has -inputs and -outputs options that accept values with comma as the delimiter. This causes issues with file paths containing commas, which are valid file paths on Linux. This add two new options -input and -output, which accept one single file, and allow multiple instances. This allows arbitrary file paths. The old -inputs and -outputs options will be kept for backward compatibility, but are not allowed to be used with -input and -output options for simplicity. In the future, -inputs and -outputs options will be phasing out. RFC: https://discourse.llvm.org/t/rfc-adding-input-and-output-options-to-clang-offload-bundler/60049 Patch by: Siu Chi Chan Reviewed by: Yaxun Liu Differential Revision: https://reviews.llvm.org/D120662
-
Yitzhak Mandelbaum authored
Adds support for implicit casts `CK_IntegralCast` and `CK_IntegralToBoolean`. Differential Revision: https://reviews.llvm.org/D123037
-
Nathan Sidwell authored
We list p1703 as unimplemented, but it is subsumed by p1857. Reviewed By: tbaeder Differential Revision: https://reviews.llvm.org/D123120
-
David Truby authored
Comparison operators on SVE types return a signed integer vector of the same width as the incoming SVE type. This matches the existing behaviour for NEON types. Differential Revision: https://reviews.llvm.org/D122404
-
Zahira Ammarguellat authored
compiler is allowed to use optimizations that allow reassociation and transformations that don’t guaranty accuracy. For example (x+y)+z is transformed into x+(y+z) . Although mathematically equivalent, these two expressions may not lead to the same final result due to errors of summation. Or x/x is transformed into 1.0 but x could be 0.0, INF or NaN. And so this transformation also may not lead to the same final result. Setting the eval method 'ffp-eval-method' or via '#pragma clang fp eval_method' in this mode, doesn’t have any effect. This patch adds code to warn the user of this. Differential Revision: https://reviews.llvm.org/D122155
-