- Jul 20, 2021
-
-
Haowei Wu authored
This change fixes linking errors on some llvm builders.
-
Artem Belevich authored
The patch does not depend on the availability of the library functions for memcpy/memset as it operates on LLVM intrinsics. The optimizations are useful on the targets that have these functions disabled (e.g. NVPTX & AMDGPU). Differential Revision: https://reviews.llvm.org/D104801
-
Geoffrey Martin-Noble authored
Update Bazel config for https://github.com/llvm/llvm-project/commit/6103fdfab4 by deleting the llvm-elfabi target. Differential Revision: https://reviews.llvm.org/D106295
-
David Carlier authored
Reviewers: vitalybuka Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D106218
-
Louis Dionne authored
The new testing configuration did not turn off #pragma system_header, which means we were not seeing warnings in system headers. Differential Revision: https://reviews.llvm.org/D106187
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Haowei Wu authored
This change merges llvm-elfabi and llvm-ifs tools. Differential Revision: https://reviews.llvm.org/D100139
-
Haowei Wu authored
This diff changes llvm-ifs to use unified IFS file format and perform other renaming changes in preparation for the merging between elfabi/ifs. Differential Revision: https://reviews.llvm.org/D99810
-
Haowei Wu authored
This change implements unified text stub format and command line interface proposed in the elfabi/ifs merge plan. Differential Revision: https://reviews.llvm.org/D99399
-
Jonas Paulsson authored
Bugfix: The compiler should be able to generate a memset to nullptr. Review: Ulrich Weigand
-
Amy Huang authored
causes a seg fault (see https://reviews.llvm.org/D104471). This reverts commit c305557a.
-
Eli Friedman authored
-
Rob Suderman authored
Added shape inference handles cases for convolution operations. This includes conv2d, conv3d, depthwise_conv2d, and transpose_conv2d. With transpose conv we use the specified output shape when possible however will shape propagate if the output shape attribute has dynamic values. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D105645
-
Amara Emerson authored
Although this combine checks that there's no load folding barriers between the loads that it's trying to merge, it was inserting the load at the MIRBuilder's default insertion point, which is the G_OR use inst. This was causing a miscompile in the test suite's SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-bswap-2 Differential Revision: https://reviews.llvm.org/D106251
-
Wouter van Oortmerssen authored
Also fixed TLS tests swapping addr & value in store op Differential Revision: https://reviews.llvm.org/D106096
-
Craig Topper authored
[SelectionDAG][RISCV] Use isSExtCheaperThanZExt to control whether sext or zext is used for constant folding any_extend. RISCV would prefer a sign extended constant since that works better with our constant materialization. We have an existing TLI hook we use to control sign extension of setcc operands in type legalization. That hook happens to do the right check we need here, but might be straying from its original purpose. With only RISCV defining this hook in tree, I wasn't sure if it was worth adding another hook with identical behavior. This is an alternative to D105785 where I tried to handle this in the RISCV backend by not creating ANY_EXTENDs in some places. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D105918
-
Hanhan Wang authored
This deletes all the pooling ops in LinalgNamedStructuredOpsSpec.tc. All the uses are replaced with the yaml pooling ops. Reviewed By: gysit, rsuderman Differential Revision: https://reviews.llvm.org/D106181
-
Victor Campos authored
Some template functions were missing '&&' in function arguments, therefore these were always taken by value after template instantiation. This patch adds the double ampersand to introduce proper perfect forwarding. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D106148
-
Amy Kwan authored
This patch adds the `-faltivec-src-compat=mixed` option to the `builtins-ppc-altivec.c` test. Currently, the default for `-faltivec-src-compat` is `mixed`. The reason we explicitly specify `mixed` to the RUN lines of this test is because eventually, the default will set to `xl`. Having the default as `xl` changes the CHECKs of this test slightly, as it reorders some of the `vector bool` and `vector pixel` CHECKs (since under the `xl` option, `vector bool` and `vector pixel` are treated in the same way as other vector scalars). Explicitly specifying `mixed` ensures that we are testing pre-existing Clang behaviour. Differential Revision: https://reviews.llvm.org/D106282
-
Simon Pilgrim authored
As encountered on D106053, we need to be very explicit that the Assertion nodes don't hold true for a poison value (or for specific poisoned vector elements). Differential Revision: https://reviews.llvm.org/D106257
-
Simon Pilgrim authored
Pulled out of D106280
-
- Jul 19, 2021
-
-
Tobias Gysi authored
Add pattern to fold a TensorCast into a PadTensorOp if the cast removes static size information. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D106278
-
Matt Arsenault authored
-
David Green authored
This removes the promotion of NEON AND, OR and XOR nodes to v2i32/v4i32, treating them the same as the AArch64 and MVE backends where we just add the relevant patterns for each legal type. This prevents a lot of bitcasts from being added to the DAG, which have the potential to make optimizations more difficult. It does mean adding extra patterns, and some codegen can change due to the types now being legal, not promoted. Differential Revision: https://reviews.llvm.org/D105588
-
maekawatoshiki authored
This patch adds a new pass called LNICM which is a LoopNest version of LICM and a test case to show how LNICM works. Basically, LNICM only hoists invariants out of loop nest (not a loop) to keep/make perfect loop nest. This enables later optimizations that require perfect loop nest. Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D104180
-
Matt Arsenault authored
This also avoids improperly legalizing some truncating vector stores.
-
Riccardo Mori authored
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface. Changes made: - Stop using `isl::set::lex_le_set`. The official way to do this is to use `isl::map::lex_le_at` - Removed `isl::set::lex_le_set` from `isl-noexceptions.h` - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/266fea1d3dbd31c23d866eb363fcc8e61e50419f Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D106269
-
peter klausler authored
Define and implement an API for use by lowering to implement operations on pointers. Differential Revision: https://reviews.llvm.org/D106170
-
Dmitry Vyukov authored
For some reason we have 2 switches on arch and add half of arch flags in one place and half in another. Merge these 2 switches. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D106274
-
Hsiangkai Wang authored
Use _Float16 as the half-precision floating point type. Define a new type specifier 'x' for the _Float16 type. Differential Revision: https://reviews.llvm.org/D105001
-
Matt Arsenault authored
The CCValAssign types should now be accurate, so these are no longer necessary.
-
Giorgis Georgakoudis authored
This reverts commit e9c7291c. Fix failing tests
-
Amy Kwan authored
This patch implements the initialization of vectors under the -faltivec-src-compat=xl option introduced in https://reviews.llvm.org/D103615. Under this option, the initialization of scalar vectors, vector bool, and vector pixel are treated the same, where the initialization value is splatted across the whole vector. This patch does not change the behaviour of the -faltivec-src-compat=mixed option, which is the current default for Clang. Differential Revision: https://reviews.llvm.org/D106120
-
Jeremy Morse authored
Avoid a crash when using instruction referencing if x87 floating point instructions are used. These instructions are significantly mutated when they're rewritten from referring to registers, to referring to floating-point-stack positions. As a result, their operands are re-ordered, and (InstrRef) LiveDebugValues asserts when it sees a DBG_INSTR_REF referring to a non-reg non-def register operand. To fix this, drop the instruction numbers, and thus variable locations. This patch adds a helper utility do do that. Dropping the variable locations is sub-optimal, but applying DBG_VALUEs to the $fp0 and similar registers is dropped on emission too. It seems we've never done well at describing variables that live in x87 registers, at all. Differential Revision: https://reviews.llvm.org/D105657
-
Jamie Schmeiser authored
Summary: The AIX linker will produce errors on unresolved weak symbols. Change the generated code to not check for the initialization function but just call it and ensure that it always exists. Also, the AIX atexit routine has a different name (and signature) so call it correctly. Update the lit tests to test on AIX appropriately. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: hubert.reinterpretcast (Hubert Tong) Differential Revision: https://reviews.llvm.org/D104420
-
Kazu Hirata authored
The last use of isNON_TRUNCStore was removed on Oct 10, 2018 in commit 07acc992. isTRUNCStore seems to be unused for at least 10 years.
-
Roman Lebedev authored
We were using the wrong VT for this final VSELECT, it should be in the final comparison VT, not the source value's VT. Fixes https://bugs.llvm.org/show_bug.cgi?id=51133
-
Arjun P authored
-