- Jul 27, 2023
-
-
Yitzhak Mandelbaum authored
-
Kevin P. Neal authored
Recommit only the tests that look good this time. Correct X86 strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Mostly these tests just needed the strictfp attribute on function definitions. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do. Test changes verified with D146845.
-
Shilei Tian authored
This patch introduces per kernel environment. Previously, flags such as execution mode are set through global variables with name like `__kernel_name_exec_mode`. They are accessible on the host by reading the corresponding global variable, but not from the device. Besides, some assumptions, such as no nested parallelism, are not per kernel basis, preventing us applying per kernel optimization in the device runtime. This is a combination and refinement of patch series D116908, D116909, and D116910. Depend on D155886. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D142569
-
Pranav Kant authored
hasPredecessorHelper method, that is used by DAGCombiner to combine to pre-indexed and post-indexed load/stores, is a major source of slowdown while compiling a large function with MSan enabled on Arm. This patch caps the DFS-graph traversal for this method to 8192 which cuts compile time by 50% (4m -> 2m compile time) at the cost of less overall nodes combined. Here's the summary of pre-index DAG nodes created and time it took to compile the pathological case with different MaxDepth limit: 1. With MaxDepth = 0 (unlimited): 1800, took 4m 2. With MaxDepth = 32k, 560, took 2m31s 3. With MaxDepth = 8k, 139, took 2m. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D154885
-
Michael Buch authored
When we build the Clang module compilation command (e.g., when a user requests import of a module via `expression @import Foundation`), LLDB will try to determine which SDK directory to use as the `sysroot`. However, it currently does so by simply enumerating the `SDKs` directory and picking the last one that's appropriate for module compilation (see `PlatformDarwin::GetSDKDirectoryForModules`). That means if we have multiple platform SDKs installed (e.g., a public and internal one), we may pick the wrong one by chance. On Darwin platforms we emit the SDK path that a object file was compiled against into DWARF (using `DW_AT_LLVM_sysroot` and `DW_AT_APPLE_sdk`). For Swift debugging, we already parse the SDK path from debug-info if we can. This patch mimicks the Swift behaviour for non-Swift languages. I.e., if we can get the SDK path from debug-info, do so. Otherwise, fall back to the old heuristic. rdar://110407148 Differential Revision: https://reviews.llvm.org/D156020
-
Mathieu Fehr authored
This patch adds optional and variadic operands and results to IRDL. These are added using the `irdl.variadicity` attribute, which has to be attached to every `irdl.operands` and `irdl.results` operations. For instance: ```mlir irdl.operands(%0, single %1, optional %2, variadic %3) ``` has 4 operand definitions. The first two are single operands, the second one is optional, and the last one is variadic. Note that this patch only adds the variadicities to the definition, but does not consider them when loading a dialect at runtime. This will be done in the next patch. Reviewed By: Mogball, unterumarmung Differential Revision: https://reviews.llvm.org/D153983
-
Yitzhak Mandelbaum authored
[clang-tidy] Update unchecked-optiona-access-check to use convenience function for diagnosing `FunctionDecl`s. Also changes code in the underlying model to fit the type expected by the convenience function. Differential Revision: https://reviews.llvm.org/D156255
-
Yitzhak Mandelbaum authored
The convenience function captures running the analysis and then collecting diagnostics based on a `Diagnoser` object. This pattern is valuable to clang-tidy checks which analyze a function at a time, though it could be more generally useful for analysis clients. Differential Revision: https://reviews.llvm.org/D156254
-
Craig Topper authored
This removes selectSETCC and adds isel patterns for seteq/setne conditions. This removes the duplication of selectSETCC between lowering and isel. This also gets some cases in xaluo.ll that we missed previously. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D156250
-
Valentin Clement authored
This patch adds the skeleton and the basic lowering for OpenACC declare construct when located in the module declaration. This patch just lower the create clause with or without modifier. Other clause and global descrutor lowering will come in follow up patches to keep this one small enough for review. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D156266
-
Craig Topper authored
Reviewed By: labrinea Differential Revision: https://reviews.llvm.org/D156260
-
Maksim Kita authored
Updated AggressiveInstCombine pass documentation because now AggressiveInstCombine can modify CFG. Introduced in D154725. Differential Revision: https://reviews.llvm.org/D156134
-
Jirui Wu authored
Previously when a packed struct, containing vector data types such as uint16x8_t, is passed as a function argument, the alignment of the struct used by the function caller and the alignment used by the callee to load the argument from stack does not match. This patch implements section 6.8.2, stage C.4 of the Procedure Call Standard for the Arm 64-bit Architecture (AAPCS64): "If the argument is an HFA, an HVA, a Quad-precision Floating-point or short vector type then the NSAA is rounded up to the next multiple of 8 if its natural alignment is ≤ 8 or the next multiple of 16 if its natural alignment is ≥ 16." This ensures the alignments of the packed structs used as function arguments are the same as described in the AAPCS64 for both the caller and callee. Reference: AAPCS64 (https://github.com/ARM-software/abi-aa/blob/latest-release/aapcs64/aapcs64.rst) Reviewed By: olista01, rjmccall, tmatheson Differential Revision: https://reviews.llvm.org/D146242
-
Jirui Wu authored
Adding precommit tests to better demonstrate the effects of D146242. Reviewed By: pratlucas Differential Revision: https://reviews.llvm.org/D152932
-
ManuelJBrito authored
Regenerate some test checks in preparation for a patch that fixes https://github.com/llvm/llvm-project/issues/53218.
-
Maksim Kita authored
Improve ((x1 ^ y1) | (x2 ^ y2)) == 0 transform to also support sub ((x1 - y1) | (x2 - y2)) == 0. Depends D155703. Differential Revision: https://reviews.llvm.org/D155704
-
Maksim Kita authored
Precommit tests for D155704. Differential Revision: https://reviews.llvm.org/D155703
-
Joseph Huber authored
Summary: The RPC server used the size field which meant we didn't get the correct return value for partial reads. We fix that here.
-
- Jul 26, 2023
-
-
Podchishchaeva, Mariya authored
TypeLocBuilder frees resources in the destructor but doesn't have user-written copy c'tor or assignment operator, so copying it using default ones can cause double free. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D156222
-
Yonghong Song authored
In [1], a few new insns are proposed to expand BPF ISA to . fixing the limitation of existing insn (e.g., 16bit jmp offset) . adding new insns which may improve code quality (sign_ext_ld, sign_ext_mov, st) . feature complete (sdiv, smod) . better user experience (bswap) This patch implemented insn encoding for . sign-extended load . sign-extended mov . sdiv/smod . bswap insns . unconditional jump with 32bit offset The new bswap insns are generated under cpu=v4 for __builtin_bswap. For cpu=v3 or earlier, for __builtin_bswap, be or le insns are generated which is not intuitive for the user. To support 32-bit branch offset, a 32-bit ja (JMPL) insn is implemented. For conditional branch which is beyond 16-bit offset, llvm will do some transformation 'cond_jmp' -> 'cond_jmp + jmpl' to simulate 32bit conditional jmp. See BPFMIPeephole.cpp for details. The algorithm is hueristic based. I have tested bpf selftest pyperf600 with unroll account 600 which can indeed generate 32-bit jump insn, e.g., 13: 06 00 00 00 9b cd 00 00 gotol +0xcd9b <LBB0_6619> Eduard is working on to add 'st' insn to cpu=v4. A list of llc flags: disable-ldsx, disable-movsx, disable-bswap, disable-sdiv-smod, disable-gotol can be used to disable a particular insn for cpu v4. For example, user can do: llc -march=bpf -mcpu=v4 -disable-movsx t.ll to enable cpu v4 without movsx insns. References: [1] https://lore.kernel.org/bpf/4bfe98be-5333-1c7e-2f6d-42486c8ec039@meta.com/ Differential Revision: https://reviews.llvm.org/D144829 -
Ivan Kosarev authored
It seems the ranges start with 0 in most cases. Reviewed By: dblaikie, gchatelet Differential Revision: https://reviews.llvm.org/D156135
-
Simon Pilgrim authored
Add missing SSE2-SSSE3 common prefix to vector-trunc-ssat.ll
-
Simon Pilgrim authored
We always concat the lower subvectors back together, so do it in the helper.
-
Amir Ayupov authored
- Add `FunctionSet` type alias. - Use any_of - Use ErrorOr handling pattern Reviewed By: #bolt, maksfb Differential Revision: https://reviews.llvm.org/D156043
-
SJW authored
Creates rocdl.lane_id op with llvm conversion to: __device__ static unsigned int __lane_id() { return __builtin_amdgcn_mbcnt_hi( -1, __builtin_amdgcn_mbcnt_lo(-1, 0)); } Reviewed By: krzysz00 Differential Revision: https://reviews.llvm.org/D154666 -
Joseph Huber authored
Summary: A previous patch missed adding these to all the definitions.
-
Alexander Kornienko authored
This reverts commit b0093e13 due to a miscompile under MSan. See https://reviews.llvm.org/D152407#4533478 for more details. Reviewed By: asmok-g Differential Revision: https://reviews.llvm.org/D156328
-
WANG Xuerui authored
Initially the .rodata section came before .text, hence sharing its segment with the program header sitting at a small offset, pushing the output file size to ~72GiB (the file was sparse though, so not much is really written). This breaks on 32-bit platforms and is irrelevant to the feature being tested, so re-order the two sections so .text gets processed first, and both sections get their own segment. This addresses the issue found by the clang-armv8-lld-2stage builder: https://lab.llvm.org/buildbot/#/builders/178/builds/5340 Reviewed By: SixWeining, xry111 Differential Revision: https://reviews.llvm.org/D156293 -
iambrj authored
This patch implements findSymbolicIntegerLexMax for IntegerRelation Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D156023
-
Joseph Huber authored
Summray: We landed some extra math support, which is apparently broken on the max / min functions. the `mod` functions cannot be tested as they use `std::limits` which don't exist in a freestanding environment. Also the `blockstore` test seems to be broken. We will need to fix these in the future but for now we need something in a workable state. Reviewed By: jplehr Differential Revision: https://reviews.llvm.org/D156329
-
Nico Weber authored
-
Dave Pagan authored
Update status of #pragma omp loop (directive) and loop bind.
-
Kevin P. Neal authored
This reverts commit d6857060. I'm getting build bot failures due to i128-fpconv-win64-strict.ll.
-
Ramkumar Ramachandra authored
The most straightforward extension to D150851 would involve a loop with decreasing induction variable, with a constant start value. iv-select-cmp.ll only contains a negative test for the decreasing induction variable case when the start value is variable, namely not_vectorized_select_decreasing_induction_icmp. Hence, add a test for the most straightforward extension to D150851, in preparation to vectorize: long rdx = 331; for (long i = 19999; i >= 0; i--) { if (a[i] > 3) rdx = i; } return rdx; Differential Revision: https://reviews.llvm.org/D156152 -
Kevin P. Neal authored
Correct AArch64 strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Mostly these tests just needed the strictfp attribute on function definitions. I've also removed the strictfp attribute from uses of the constrained intrinsics because it comes by default since D154991, but I only did this in tests I was changing anyway. I have removed attributes added to declare lines of intrinsics. The attributes of intrinsics cannot be changed in a test so I eliminated attempts to do so. Test changes verified with D146845.
-
Kevin P. Neal authored
Correct PowerPC strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Mostly these tests just needed the strictfp attribute on function definitions. I've also removed the strictfp attribute from uses of the constrained intrinsics because it comes by default since D154991, but I only did this in tests I was changing anyway. I have removed attributes added to declare lines of intrinsics. The attributes of intrinsics cannot be changed in a test so I eliminated attempts to do so. Test changes verified with D146845.
-
Kevin P. Neal authored
Correct a RISC-V strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics All function calls in a strictfp function require the strictfp attribute. Test changes verified with D146845.
-
Kevin P. Neal authored
Correct a SystemZ strictfp test to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics This test, like many others, just needed the function definition corrected. Test changes verified with D146845.
-
Kevin P. Neal authored
Correct X86 strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics Mostly these tests just needed the strictfp attribute on function definitions. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do. Test changes verified with D146845.
-
Andrzej Warzynski authored
Depends on: D155306 Reviewed By: c-rhodes Differential Revision: https://reviews.llvm.org/D155800
-