- Dec 03, 2021
-
-
Hongtao Yu authored
As titled. Reviewed By: wenlei, wlei Differential Revision: https://reviews.llvm.org/D115011
-
Mehdi Amini authored
Fix a clang-tidy warning.
-
Geoffrey Martin-Noble authored
This cmake configure option was added in df0ba47c, and was ported to Bazel in 7d323dc7. However, the setting chosen in Bazel seems accidental, not necessarily intentional. LLVM_WINDOWS_PREFER_FORWARD_SLASH has no effect on Unix, and on Windows, setting it to 0 is the default, which gets the same behaviour as before. Setting it to 1 enables new experimental behaviours (which is enabled by default on MinGW targets only). As I don't see any explicit intent to opt in to the new experimental behaviour, I believe the current configuration in bazel was a mistake. Differential Revision: https://reviews.llvm.org/D114065
-
Keith Smiley authored
This now assumes that for the darwin driver any lld is the "new" macho lld implementation. Differential Revision: https://reviews.llvm.org/D114974
-
Reid Kleckner authored
-
Mingming Liu authored
In this way, each instruction has a line, and diffs will be more clear. Differential Revision: https://reviews.llvm.org/D115006
-
Reid Kleckner authored
-
Daniil Fukalov authored
1. Fixed vector instructions costs estimations incosistency - removed different logic for "not simple types" since it biases costs for these types. 2. Fixed legalization penalty for vectors too big for the target: changed from overwrite default legalization cost value estimation to added penalty. 3. Fixed few typos in tests. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D114893
-
Greg Clayton authored
Only lldb-arm-ubuntu is failing after https://reviews.llvm.org/D114288 and there isn't enough input context to see why this is failing. It works on x86_64 linux just fine.
-
Mogball authored
-
Vy Nguyen authored
Using XCTAssertEqual on NSString* objects is almost always wrong. Unfortunately, we have seen a lot of tests doing this and reyling on pointer equality for strings with the same values (which happens to work sometimes - depending on the linker, but this assumption is not guaranteed by the language) These fixes would make tests less brittle. Differential Revision: https://reviews.llvm.org/D114975
-
Steven Wan authored
Clang static analyzer uses bitwidth to infer the integer value type, that is, any 32-bit integer is considered of type `int`, and any 64-bit integer is considered of type `long`. This isn't always true, for instance, in ILP32 (e.g., 32-bit AIX), 32-bit could be `long`, and in LP64 (e.g., 64-bit wasm64), 64-bit could be `long long`. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D114454
-
George Koehler authored
PLT usage needs the first 12 bytes of the .got section. We need to keep .got and DT_GOT_PPC even if .got/_GLOBAL_OFFSET_TABLE_ are not referenced (large PIC code may only reference .got2), which is the case in OpenBSD's ld.so, leading to a misleading error, "unsupported insecure BSS PLT object". Fix this by adding R_PPC32_PLTREL to the list of hasGotOffRel. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D114982
-
Matt Arsenault authored
Do not infer no-amdgpu-implicitarg-ptr for sanitized functions. If a function is explicitly marked amdgpu-no-implicitarg-ptr and sanitize_address, infer that it is required.
-
Ulysse Beaugnon authored
Affine maps and integer sets previously relied on a single lock for creating unique instances. In a multi-threaded setting, this lock becomes a contention point. This commit updates AffineMap and IntegerSet to use StorageUniquer instead. StorageUniquer internally uses sharded locks and thread-local caches to reduce contention. It is already used for affine expressions, types and attributes. On my local machine, this gives me a 5X speedup for an application that manipulates a lot of affine maps and integer sets. This commit also removes the integer set uniquer threshold. The threshold was used to avoid adding integer sets with a lot of constraints to the hash_map containing unique instances, but the constraints and the integer set were still allocated in the same allocator and never freed, thus not saving any space expect for the hash-map entry. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D114942
-
Vitaly Buka authored
According comments on D44404, something like that was the goal. Reviewed By: morehouse, kstoimenov Differential Revision: https://reviews.llvm.org/D114991
-
Vitaly Buka authored
-
David Blaikie authored
This has been supported on gdb for something like ~10 years, so doesn't seem necessary to carry a fallback. Differential Revision: https://reviews.llvm.org/D114986
-
Paul Robinson authored
FileCheck's -COUNT suffix doesn't fail if there are more matches than you asked for, so it's good practice to put a -NOT after.
-
Yitzhak Mandelbaum authored
This patch parameterizes the clang-tidy diagnostic consumer with a boolean that controls whether to honor NOLINTBEGIN/NOLINTEND blocks. The current support for scanning these blocks is very costly -- O(n*m) in the size of files (n) and number of diagnostics found (m), with a large constant factor. So, the patch allows clients to disable it. Future patches should make the feature more efficient, but this will mitigate in the interim. Differential Revision: https://reviews.llvm.org/D114981
-
Groverkss authored
This patch implements detecting duplicate local identifiers by extracting their division representation while merging local identifiers. For example, given the FACs A, B: ``` A: (x, y)[s0] : (exists d0 = [x / 4], d1 = [y / 4]: d0 <= s0, d1 <= s0, x + y >= 2) B: (x, y)[s0] : (exists d0 = [x / 4], d1 = [y / 4]: d0 <= s0, d1 <= s0, x + y >= 5) ``` The intersection of A and B without this patch would lead to the following FAC: ``` (x, y)[s0] : (exists d0 = [x / 4], d1 = [y / 4], d2 = [x / 4], d3 = [x / 4]: d0 <= s0, d1 <= s0, d2 <= s0, d3 <= s0, x + y >= 2, x + y >= 5) ``` after this patch, merging of local ids will detect that `d0 = d2` and `d1 = d3`, and the intersection of these two FACs will be (after removing duplicate constraints): ``` (x, y)[s0] : (exists d0 = [x / 4], d1 = [y / 4] : d0 <= s0, d1 <= s0, x + y >= 2, x + y >= 5) ``` This reduces the number of constraints by 2 (constraints) + 4 (2 constraints for each extra division) for this case. This is used to reduce the output size representation of operations like PresburgerSet::subtract, PresburgerSet::intersect which require merging local variables. Reviewed By: arjunp, bondhugula Differential Revision: https://reviews.llvm.org/D112867
-
Alexey Bataev authored
Currently the last value of linear is calculated as var = init + num_iters * step. Replaced it with var = var_priv, i.e. original variable gets the value of the last private copy. Differential Revision: https://reviews.llvm.org/D105151
-
Amy Kwan authored
The load/store infrastructure previously made an incorrect assumption that whenever it is used with a load/store intrinsic on Power10 - those intrinsics would automatically be the lxvp/stxvp intrinsics introduced in Power10. However, this is obviously not the case as there are multiple instances of pre-P10 intrinsics that use the refactored load/store implementation. This patch corrects this assumption, and produces the expected intrinsic on pre-P10. Differential Revision: https://reviews.llvm.org/D114978
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Groverkss authored
-
Jake Egan authored
On AIX, this test generates an XCOFF file and hits "unknown binary format" assertion in llvm-nm. This patch specifies the triple to mitigate this issue. Reviewed By: steven_wu Differential Revision: https://reviews.llvm.org/D114683
-
Alexey Bataev authored
Need to postpone anlysis of the ranged for loops till the actual instantiation to avoid erroneous emission of error messages. Differential Revision: https://reviews.llvm.org/D114560
-