- Dec 03, 2021
-
-
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
-
Mogball authored
-
Philip Reames authored
This change extends the current logic for inferring readonly and readnone argument attributes to also infer writeonly. This change is deliberately minimal; there's a couple of areas for follow up. * I left out all call handling and thus any benefit from the SCC walk. When examining the test changes, I realized the existing code is imprecise, and am going to fix that in it's own revision before adding in the writeonly handling. (Mostly because updating the tests is hard when I, the human, can't figure out whether the result is correct.) * I left out handling for storing a value (as opposed to storing to a pointer). This should benefit readonly/readnone as well, and applies to a bunch of other instructions. Seemed worth having as a separate review. Differential Revision: https://reviews.llvm.org/D114963
-
Alexey Bataev authored
Need to postpone analysis for addressable lvalue in a depend clause with iterators, otherwise the incorrect error message is emitted. Differential Revision: https://reviews.llvm.org/D114653
-