- Dec 06, 2022
-
-
Simon Pilgrim authored
Fixes superfluous diffs identified in D139253
-
Simon Pilgrim authored
Fixes superfluous diffs identified in D139253
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Fixes superfluous diffs identified in D139253
-
Simon Pilgrim authored
Reported by D138359 - the overrides matched the base class schedule WriteMicrocoded definition
-
Jez Ng authored
This was causing an uncaught exception issue in one of our programs. The issue was fairly subtle / rare as it required two identical LSDAs that were referenced by a pair of non-identical compact unwind encodings. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D139269
-
Rob Suderman authored
Rounding of tosa.resize did not handle rounding to the nearest pixel correctly. Rather than dividing the scale by 2 we should double the partial pixel to guarantee we include a check on the lowest bit. Reviewed By: NatashaKnk Differential Revision: https://reviews.llvm.org/D139162
-
Roy Jacobson authored
[Clang] Don't consider default constructors ineligible if the more constrained constructor is a template Partially solves https://github.com/llvm/llvm-project/issues/59206: We now mark trivial constructors as eligible even if there's a more constrained templated default constructor. Although technically non-conformant, this solves problems with pretty reasonable uses cases like ``` template<int n> struct Foo { constexpr Foo() = default; template<class... Ts> Foo(Ts... vals) requires(sizeof...(Ts) == n) {} }; ``` where we currently consider the default constructor to be ineligible and therefor inheriting/containing classes have non trivial constructors. This is aligned with GCC: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c75ebe76ae12ac4020f20a24f34606a594a40d15 This doesn't change `__is_trivial`. Although we're technically standard conformant in this regard, GCC/MSVC exhibit different behaviors that seem to make more sense. An issue has been filed to CWG and we await their response. Reviewed By: erichkeane, #clang-language-wg Differential Revision: https://reviews.llvm.org/D139038
-
Tarun Prabhu authored
The implementation follows the pattern used in comparable intrinsics. Change the runtime API for Norm2 so it does not expect a mask argument since the Norm2 intrinsic does not accept a mask in Fortran. Differential Revision: https://reviews.llvm.org/D138150
-
Krzysztof Parzyszek authored
-
Nico Weber authored
merge-fdata doesn't depend on any libraries except Support, but it includes headers that require Attributes.inc to exist. Add a dep that ensures that it does exist. Corresponds to the intrinsics_gen dep in CMake.
-
Philip Reames authored
This is a continuation of the series of patches adding lane wise support for scalable vectors in various knownbit-esq routines. The basic idea here is that we track a single lane for scalable vectors which corresponds to an unknown number of lanes at runtime. This is enough for us to perform lane wise reasoning on many arithmetic operations. Differential Revision: https://reviews.llvm.org/D137190
-
Krzysztof Parzyszek authored
If there is an entry P that has C bits set, it could become one of C different possibilities. If P occurs more than C times, then there are no valid completions.
-
Peter Steinfeld authored
Patch D138274 removed some Flang cmake configuration information that we need for our internal builds. This change restores them. Differential Revision: https://reviews.llvm.org/D139355
-
Nicolai Hähnle authored
Goal is to get a cleaner diff in an upcoming functional change.
-
Fangrui Song authored
after D131589 Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D139282
-
Ramkumar Ramachandra authored
Make systematic use of notifyMatchFailure. Signed-off-by:
Ramkumar Ramachandra <r@artagnon.com> Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D139190
-
River Riddle authored
This was donked up in the last patch that only considered aliases for things actually getting printed.
-
River Riddle authored
Calculating the position of the region trailing objects isn't free, given that it's the last trailing object, and inlining the size check removes the need for users to explicitly add size checks for micro-optimization.
-
Roman Lebedev authored
-
Chris Bieneman authored
This broke when some headers got moved aorund.
-
Jamie Schmeiser authored
Summary: This relands commit dff0e8b4. The test is now guarded with a lit.local.cfg that ensures /bin/cat is available. Also, the code has been updated to match changes made to relevant code. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By:aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D110776
-
LLVM GN Syncbot authored
-
Jonas Paulsson authored
This reverts commit 122efef8. - Patch fixed to not reuse definitions from predecessors in EH landing pads. - Late review suggestions (by MaskRay) have been addressed. - M68k/pipeline.ll test updated. - Init captures added in processBlock() to avoid capturing structured bindings. - RISCV has this disabled for now. Original commit message: A new pass MachineLateInstrsCleanup is added to be run after PEI. This is a simple pass that removes redundant and identical instructions whenever found by scanning the MF once while keeping track of register definitions in a map. These instructions are typically immediate loads resulting from rematerialization, and address loads emitted by target in eliminateFrameInde(). This is enabled by default, but a target could easily disable it by means of 'disablePass(&MachineLateInstrsCleanupID);'. This late cleanup is naturally not "optimal" in removing instructions...
-
Peter Klausler authored
In a pure context, a pointer acquired from an INTENT(IN) dummy argument may not be copied. Catch the case in which the pointer is a component of an allocatable component at some depth of nesting. (This patch adds a new component iterator kind that is a variant of a potential subobject component iterator; it visits all potential subobject components, plus pointers, into which it does not descend.) Differential Revision: https://reviews.llvm.org/D139161
-
Michael Buch authored
Previously we didn't properly trigger the destructor of the `lldb_private::Module` backing `libfoo.so`. So the newly rebuilt version wouldn't actually be loaded on a program re-run. The test expects the fresh module to be loaded.
-
Roman Lebedev authored
-
Matt Arsenault authored
Also switch to not using kernels to test, since it shouldn't matter for these addressing modes. This should reduce some of the diffs between subtargets, but it's still not enough to share the same checks. The test could use some additional modernization. Probably should also round this out with the new maximium offsets.
-
Peter Klausler authored
In order to emit overflow warnings from assignment statements whose right-hand sides are constants that undergo conversions, run the right-hand sides of assignments through constant folding after the conversions have been made explicit in expression analysis. Differential Revision: https://reviews.llvm.org/D139151
-
Valentin Clement authored
Runtime is expecting a 1d array. This patch fixes the generation of the array holding the bounds to be passed to the runtime function call. Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D139324
-
Valentin Clement authored
The code is iterating on the rank of the pointer to set the bounds. If the rank is retrieved after the `pointer = target` it does not reflect the actual rank of the pointer. This could happen in code like the following: ``` type t1 integer :: a end type type(t), pointer :: p(:) class(t), pointer :: q(:,:) q(0:1,-2:2) => p(10:1:-1) ``` Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D139327
-
Jamie Schmeiser authored
Summary: Expand the capabilities of the code for computing how many peels are needed to make phis determined. A cast gets the peel count for the value being casted while a binary op gets the maximum of the operands. Respond to review comments: remove redundant asserts. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By:mkazantsev (Max Kazantsev),syzaara (Zaara Syeda) Differential Revision: https://reviews.llvm.org/D138719
-
Navdeep Katel authored
Add support for loading, computing, and storing `gpu.subgroup` WMMA ops in transpose mode as well. Update the GPU to NVVM lowerings to support `transpose` mode and update integration tests as well. Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D139021
-
Paul Walker authored
-
Matt Arsenault authored
-
Michael Buch authored
This relands commit `71f3cac7` Fixes LLDB Linux bots and improves TypeSystem flushing for shared libraries. Differential Revision: https://reviews.llvm.org/D138724
-
Matt Arsenault authored
The cases where the result type doesn't match the range type are inadequately tested, but I'm not sure how to write such a test. During the pre-legalize combine, any obviously optimizable code gets handled so it's harder to test legalized extloads.
-
Matt Arsenault authored
-
Philip Reames authored
This was previously reverted due to a hang on a Hexagon bot. This turned out to be a bug in the Hexagon backend around how splat_vectors are legalized (which they're using for fixed length vectors!). I adjusted this patch to remove the implicit truncate support. This hides the hexagon bug for now, and unblocks the rest of the change. Original commit message: This is the SelectionDAG equivalent of D136470, and is thus an alternate patch to D128159. The basic idea here is that we track a single lane for scalable vectors which corresponds to an unknown number of lanes at runtime. This is enough for us to perform lane wise reasoning on many arithmetic operations. This patch also includes an implementation for SPLAT_VECTOR as without it, the lane wise reasoning has no base case. The original patch which inspired this (D128159), also included STEP_VECTOR. I plan to do that as a separate patch. Differential Revision: https://reviews.llvm.org/D137140
-