- Jan 20, 2023
-
-
Nicolas Vasilache authored
Properly handle `appendMangledType` failure instead of asserting. Fixes #59986.
-
Nicolas Vasilache authored
c3f0efe7 lacked a test, added here.
-
Kadir Cetinkaya authored
-
Uday Bondhugula authored
Replace a couple of check instances with llvm::any_of (clang-tidy warnings). Factor out "canCreatePrivateMemRef" and "performFusionsIntoDest" into separate methods to reduce the length/indent of the containing methods. Add doc comments and debug messages. Mark some of the methods that should have been const const. NFC. Reviewed By: vinayaka-polymage Differential Revision: https://reviews.llvm.org/D142076
-
Nicolas Vasilache authored
Use rewriter.notifyMatchFailure instead of assert. Fixes #59986.
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D138413
-
Kazu Hirata authored
This restores builds with gcc-9, which does not have __has_builtin.
-
Lang Hames authored
In LLVM the MachOPlatform class is modified to identify unwind info sections and the address ranges of the functions these sections cover. These address ranges are then communicated to the ORC runtime by attaching them to the register-object-platform-sections allocation action. In the ORC runtime the unwind-info section addresses are recorded and used to support lookup of unwind info via the new `findDynamicUnwindSections` function. At bootstrap time the ORC runtime checks for the presence of new unwind-info-lookup-registration functions in libunwind (see https://reviews.llvm.org/D142176), and if available uses them to register the `findDynamicUnwindSections` function with libunwind to enable callback-based lookup. If the new unwind-info-lookup-registration functions are not available then the ORC runtime falls back to using the existing libunwind registration APIs. The callback-based scheme is intended to address three shor...
-
Nikolas Klauser authored
-
Craig Topper authored
This reverts commit a6e3027d. Chrome and Halide are both reporting issues with importing builtins. Maybe the better direction is to manually adjust FPCW for the inline sequence on Windows.
-
Kazu Hirata authored
This patch provides C++20-style countl_zero, countr_zero, countl_one, and countr_one in bit.h. Existing functions like countLeadingZeros become wrappers around the new functions. Note that I cannot quite declare countLeadingZeros as: template <class T> using countLeadingZeros = countl_zero<T>; because countl_zero returns int, whereas countLeadingZeros returns unsigned. Differential Revision: https://reviews.llvm.org/D142078
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
`_LIBCPP_REMOVE_TRANSITIVE_INCLUDES` doesn't do anything anymore in C++23 mode, so it's now just a duplicate of the C++23 configuration. Also add new steps to the post-release checklist for updating the supported compilers. Reviewed By: ldionne, #libc Spies: arichardson, libcxx-commits, arphaman Differential Revision: https://reviews.llvm.org/D133364
-
Nikolas Klauser authored
Reviewed By: ldionne, var-const, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D137637
-
Advenam Tacet authored
Simple typo fix. The absence of this colon may be confusing and result in misinterpretation of the result. In normal libfuzzer mode, that colon is present. You can compare with: https://github.com/llvm/llvm-project/blob/aa0e9046c16bf27a8affbd903e2e3cad924a5217/compiler-rt/lib/fuzzer/FuzzerLoop.cpp#L356 Reviewed By: #sanitizers, vitalybuka Differential Revision: https://reviews.llvm.org/D142171
-
Shilei Tian authored
Fix #58087. Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D142075
-
Yaxun (Sam) Liu authored
Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D142118
-
Charles Magahern authored
FastEvaluateAsRValue returns `true` without setting a result value for when a given constant expression is an array or record type. Clang attributes must be able to support constant expressions that are array or record types, so proceed with the slower path for evaluation in the case where `FastEvaluateAsRValue` does not yield an evaluation result. Differential Revision: https://reviews.llvm.org/D141745
-
Matt Arsenault authored
-
Ben Shi authored
Fixes https://github.com/llvm/llvm-project/issues/58879 Reviewed By: aykevl Differential Revision: https://reviews.llvm.org/D142096
-
River Riddle authored
Add a specific class for local scope attributes and remove some unnecessary casts.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
Some of these were relying on ReducerWorkItem's operator Module&.
-
Jonas Devlieghere authored
Re-enable the xmm/ymm/zmm tests now that the system debugserver used by our CI is capable or writing xmm/ymm/zmm registers.
-
Nico Weber authored
This reverts commit 8d498e08. a033dbbe was reverted in cf127092.
-
Nico Weber authored
This reverts commit ecade80d. Breaks tests on macOS and tries to run xcrun on non-mac platforms, see comments on https://reviews.llvm.org/D136315
-
Arthur Eubanks authored
This reverts commit d0907ce7. Causes `opt -passes=loop-unroll-full` to crash on ``` define void @foo() { bb: br label %bb1 bb1: ; preds = %bb1, %bb1, %bb switch i1 true, label %bb1 [ i1 true, label %bb2 i1 false, label %bb1 ] bb2: ; preds = %bb1 ret void } ```
-
Benjamin Kramer authored
vector<complex<...>> is currently not valid. This is a reduced version of https://reviews.llvm.org/D141578 Differential Revision: https://reviews.llvm.org/D142131
-
Argyrios Kyrtzidis authored
[Lex] For dependency directive lexing, angled includes in `__has_include` should be lexed as string literals rdar://104386604 Differential Revision: https://reviews.llvm.org/D142143
-
Diego Caballero authored
Reductions can't be folded into plain arith ops until we can mask those arith ops. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D141645
-
Daniele Castagna authored
Currently CGCUDANV uses an llvm::Function as a key to map kernels to a symbol in host code. HIP adds one level of indirection and uses the llvm::Function to map to a global variable that will be initialized to the kernel stub ptr. Unfortunately there is no garantee that the llvm::Function created by GetOrCreateLLVMFunction will be the same. In fact, the first time we encounter GetOrCrateLLVMFunction for a kernel, the type might not be completed yet, and the type of llvm::Function will be a generic {}, since the complete type is not required to get a symbol to a function. In this case we end up creating two global variables, one for the llvm::Function with the incomplete type and one for the function with the complete type. The first global variable will be declared by not defined, resulting in a linking error. This change uses the mangled name of the llvm::Function as key in the KernelHandles map, in this way the same llvm::Function will be associated to the same kernel handle even if they types are different. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D140663 -
Jeffrey Byrnes authored
Extension of https://reviews.llvm.org/D141101 to even further reduce the amount of implicit operands we attach. The main benefit is to improve cability of post-ra scheduler, and reduce unneeded dependency resolution (e.g. inserting snops). Unfortunately, we run into regressions if we completely minimize the amount implicit operands (naively), we run into some regressions (e.g. dual_movs are replaced with multiple calls to v_mov). This is even more reason to switch to LiveRegUnits. Nonetheless, this patch removes the operands which we can for free (more or less). Change-Id: Ib4f409202b36bdbc59eed615bc2d19fa8bd8c057 Differential Revision: https://reviews.llvm.org/D141557 Change-Id: I8b039e3c0d39436b384083f8beb947ee1b1730b2
-
Geoffrey Martin-Noble authored
These are caught by clang-16, which we're using in our project. Reviewed By: rupprecht Differential Revision: https://reviews.llvm.org/D142158
-
serge-sans-paille authored
Also prevent integer overflow if MaximumDistance == UINT_MAX. This is a follow-up to 6ad1b409
-
Evgenii Stepanov authored
Linux kernel sets SCTRL_EL1.BT0 and BT1 to 1 unconditionally, which makes PACIASP equivalent to BTI C + PACIA LR,SP. Use the shorter instruction sequence by default. I'm not aware of anyone who needs the opposite. They are welcome to revert to the current behavior under a subtarget feature or an environment check. This reverts commit 571c8c52. Differential Revision: https://reviews.llvm.org/D141978
-