- Mar 13, 2023
-
-
Mehdi Amini authored
This component acts as an action handler that can be registered in the MLIRContext. It is the main orchestration of the infrastructure, and implements support for clients to hook there and snoop on or control the execution. This is the basis to build tracing as well as a "gdb-like" control of the compilation flow. The ExecutionContext acts as a handler in the MLIRContext for executing an Action. When an action is dispatched, it'll query its set of Breakpoints managers for a breakpoint matching this action. If a breakpoint is hit, it passes the action and the breakpoint information to a callback. The callback is responsible for controlling the execution of the action through an enum value it returns. Optionally, observers can be registered to be notified before and after the callback is executed. Differential Revision: https://reviews.llvm.org/D144812
-
Nikolas Klauser authored
This patch also updates the moved code to the new style (i.e. formatted, replaced marcos and typedefs) Reviewed By: ldionne, #libc Spies: arichardson, libcxx-commits Differential Revision: https://reviews.llvm.org/D145095
-
Piotr Zegar authored
Mark fixes to Yes for cppcoreguidelines-avoid-capture-default-when-capturing-this check, as it provides fixes
-
Piotr Zegar authored
Fix checks renaming after directory structure of clang-tidy has changed.
-
Michal Paszkowski authored
Fixes warnings related to getAllOnesValue and isNullValue being deprecated. Differential Revision: https://reviews.llvm.org/D145709
-
Valentin Clement authored
This patch simplify the parent component handling when it's the last ref. The first field is not necessary when the target box type is set correctly. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145795
-
Kazu Hirata authored
This patch precommits tests for: https://github.com/llvm/llvm-project/issues/60802 https://github.com/llvm/llvm-project/issues/61183 which are about std::bit_ceil and std::bit_floor, respectively.
-
Craig Topper authored
Use separate lookup tables instead of trying to reuse the fli.s table. We were missing the 2 denormal cases for fli.h. We also had an issue where fli.d was only checking 8 bits of the 11 bit exponent.
-
Craig Topper authored
We fail to use fli.h for the 2 denormal values. We use fli.d for some values where the value is larger than a float can represent due to truncating the exponent to 8 bits without checking if it fits in 8 bits.
-
Alex Lorenz authored
This change generalizes the OS version macro for all darwin OSes. The OS-specific OS version macros are still defined to preserve compatibility.
-
LLVM GN Syncbot authored
-
Chris Cotter authored
Warn when an rvalue reference function paramter is never moved from within the function body. Reviewed By: carlosgalvezp Differential Revision: https://reviews.llvm.org/D141569
-
Craig Topper authored
[RISCV] Add overrides of isLoadFromStackSlot/isStoreFromStackSlot signatures that don't have MemBytes. D145471 added overrides of the other signature to return MemBytes, but shouldn't have removed these overrides. These signatures will now call the MemBytes signature and ignore the MemBytes. This matches X86.
-
Alex Bradbury authored
D102894 introduced common code for the emission of ELF attributes. Our implementation in RISC-V predates this, and basically copies the Arm logic at the time. This patch removes that duplication and uses the shared logic instead. Differential Revision: https://reviews.llvm.org/D145570
-
- Mar 12, 2023
-
-
Simon Pilgrim authored
These implementations both match the TargetLoweringBase.isZExtFree implementation
-
Nicolas Vasilache authored
Differential Revision: https://reviews.llvm.org/D145875
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Preliminary cleanup before adding some additional legality and value tracking handling.
-
Simon Pilgrim authored
-
Jon Chesterfield authored
Post ISel, LDS variables are absolute values. Representing them as such is simpler than the frame recalculation currently used to build assembler tables from their addresses. This is a precursor to lowering dynamic/external LDS accesses from non-kernel functions. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D144221
-
Mike Crowe authored
Simplify the use of the basic_string and basic_string_view types by providing default template arguments. Depends on D145311 Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D145724
-
Mike Crowe authored
Improve the generic <string> header by adding the size() method so that it can be used to replace the custom implementation in the readability-container-size-empty check. This requires fixing an incorrect comparison of a std::wstring with a char string literal. Unfortunately, removing the custom basic_string implementation means fixing the line numbers for many of the checks. Depends on D145312 Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D145313
-
Mike Crowe authored
Improve the generic <string> header by adding another constructor, std::basic_string::empty and operator!= overload set so that it can be used to replace the custom implementation in the readability-string-compare check. Depends on D145311 Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D145312
-
Simon Pilgrim authored
Try to more aggressively narrow masks of extended values. This is mainly for cases where the mask is trying to zero out any_extended upper bits, assuming we can zext/trunc the values for free. This catches a few actual missed folds, as well as helps canonicalize a number of other cases which were being caught in isel etc. Differential Revision: https://reviews.llvm.org/D145866
-
Simon Pilgrim authored
[X86] and-shift.ll - add gnux32 test coverage to ensure the X32 ABI correctly narrows the i64 shifts
-
Paul Walker authored
This patch changes the lowering for the following fp builtins to emit calls to the new aarch64.sve.###.u intrinsics. svabd_x, svabd_n_x svadd_x, svadd_n_x svdiv_x, svdiv_n_x svdivr_x, svdivr_n_x svmad_x, svmad_n_x svmax_x, svmax_n_x svmaxnm_x, svmaxnm_n_x svmin_x, svmin_n_x svminnm_x, svminnm_n_x svmla_x, svmla_n_x svmls_x, svmls_n_x svmsb_x, svmsb_n_x svmul_x, svmul_n_x svmulx_x, svmulx_n_x svnmad_x, svnmad_n_x svnmla_x, svnmla_n_x svnmls_x, svnmls_n_x svnmsb_X, svnmsb_n_x svsub_x, svsub_n_x svsubr_x, svsubr_n_x Depends on D143765. Differential Revision: https://reviews.llvm.org/D143767
-
Paul Walker authored
D143767 will change the intrinsics used to lower floating-point svadd_x, svmul_x and svsub_x builtins. This will result in the combines added as part of D140200 to no longer fire in all cases. This patch extends the existing combines for contraction to cover fadd_u, fmul_u and fsub_u intrinsics. Differential Revision: https://reviews.llvm.org/D144413
-
Dmitry Vyukov authored
The test currently crashes as: AddressSanitizer: CHECK failed: asan_poisoning.cpp:38 "((AddrIsAlignedByGranularity(addr))) != (0)" Main stack address/size don't have to be aligned on asan shadow granularity. Align stack bottom. Reviewed By: melver, vitalybuka Differential Revision: https://reviews.llvm.org/D145799
-
Simon Pilgrim authored
This came about while investigating ways to handle D145468 in a more generic manner, which involves trying harder to fold and(zext(x),c) -> zext(and(x,c)) Alive2: https://alive2.llvm.org/ce/z/7fXtDt (generic fold) Differential Revision: https://reviews.llvm.org/D145855
-
Christian Ulmann authored
This commit introduces the LLVM's visibility attribute and adds it to both globals and functions. Furthermore, this commit ensures that "thread_local" is printed in the correct place and adds a test for that. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D145790
-
Brad Smith authored
This reverts commit 6590a372.
-
Michael Francis authored
This reverts commit 59848b9e, as it causes some failures in AIX-related Lit tests.
-
Michael Francis authored
The current implementation of `-p` does not claim the argument once it is passed. Since it pushes `-pg` directly, it is only ever referred to again when linking. As a result, when compiling with `-S`, the compiler warns that `-p` goes unused even though that is not the case. With this patch, if both `-p` and `-pg` are passed, the argument that is passed second will take precedence. `-p` will still throw an error on unsupported platforms, regardless of precedence. This revision includes a test case, which has been placed in `clang/test/Driver/zos-profiling-error.c`. As a result, `zos-profiling-error.c` has been renamed to `ibm-profiling.c`. This revision also passes `clang/test/Driver/aix-ld.c`. Differential Revision: https://reviews.llvm.org/D145021
-
Siva Chandra Reddy authored
The high number of 10000 threads was choking bot builders running on boards with very small memory.
-
Igor Zhukov authored
libc++ clang-cl tests failed after that commit Look at https://buildkite.com/llvm-project/libcxx-ci/builds/20490 Reviewed By: #libc Differential Revision: https://reviews.llvm.org/D145858 This reverts commit b00aaab7.
-
Koakuma authored
On 64-bit target, when doing i64 BR_CC where one of the comparison operands is a constant zero, try to fold the compare and BPcc into a BPr instruction. For all integers, EQ and NE comparison are available, additionally for signed integers, GT, GE, LT, and LE is also available. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D142461
-
Koakuma authored
Integrate the BranchRelaxation pass to help with relaxing out-of-range conditional branches. This is mostly of concern for SPARCv9, which uses conditional branches with much smaller range than its v8 counterparts. (Some large autogenerated code, such as the ones generated by TableGen, already hits this limitation when building in Release) Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D142458
-
Sanjay Patel authored
This reverts commit 43ae4b62. This was intended to be practically NFC in terms of the overall opt pipeline, but there is experimental data showing that code changes occurred here: https://llvm-compile-time-tracker.com/compare.php?from=772aa05452f8ff90a47168e6801cda2acb5a1873&to=43ae4b62b2671cf73e691c0b53324cd39405cd51&stat=size-text
-
Vitaly Buka authored
-
Sanjay Patel authored
This is the follow-up to D144199 and suggestion from D144045. We make use of loop info explicit via InstCombine pass parameter rather than semi-arbitrary via caching. The only InstCombine transform that uses LoopInfo currently is a GEP fold in visitGEPOfGEP(), so that shows up as a failure in the dedicated test for the fold as well as several LoopVectorizer tests that run extra passes. I don't see any pass manager regression tests that actually check for pass options, but this is intended to be NFC for the pass pipeline behavior - we only try to use loop info where it would have been used before via caching . Differential Revision: https://reviews.llvm.org/D144274
-