- Aug 14, 2021
-
-
Nico Weber authored
Only one person committed with these email addresses, so there's no need to use the map-different-names-for-one-email-address syntax. No behavior change. Differential Revision: https://reviews.llvm.org/D108007
-
David Green authored
This tests code starting from smin/smax, as opposed to the icmp/select form. Also adds a ARM MVE phase ordering test for vectorizing to sadd.sat from the original IR.
-
Stephen Neuendorffer authored
While the changes are extensive, they basically fall into a few categories: 1) Moving the TestDialect itself. 2) Updating C++ code in tablegen to explicitly use ::mlir, since it will be put in a headers that shouldn't expect a 'using'. 3) Updating some generic MLIR Interface definitions to do the same thing. 4) Updating the Tablegen generator in a few places to be explicit about namespaces 5) Doing the same thing for llvm references, since we no longer pick up the definitions from mlir/Support/LLVM.h Differential Revision: https://reviews.llvm.org/D88251
-
Nikita Popov authored
This is enabled by default. Drop explicit uses in preparation for removing the option. Also drop RUN lines that are now the same (typically modulo a -verify-memoryssa option).
-
luxufan authored
This patch unify optimizeELF_x86_64_GOTAndStubs and optimizeMachO_x86_64_GOTAndStubs into a pure optimize_x86_64_GOTAndStubs Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D108025
-
Kazu Hirata authored
Identified with readability-redundant-string-cstr.
-
Owen authored
This is a follow-up to https://reviews.llvm.org/D107950 which missed user-defined types in K&R C. Differential Revision: https://reviews.llvm.org/D107961
-
eopXD authored
The current LIR does not deal with runtime-determined memset-size. This patch utilizes SCEV and check if the PointerStrideSCEV and the MemsetSizeSCEV are equal. Before comparison the pass would try to fold the expression that is already protected by the loop guard. Testcase file `memset-runtime.ll`, `memset-runtime-debug.ll` added. This patch deals with proper loop-idiom. Proceeding patch wants to deal with SCEV-s that are inequal after folding with the loop guards. Reviewed By: lebedev.ri, Whitney Differential Revision: https://reviews.llvm.org/D107353
-
mydeveloperday authored
[clang-tidy] [PR50069] readability-braces-around-statements doesn't work well with [[likely]] [[unlikely]] https://bugs.llvm.org/show_bug.cgi?id=50069 When clang-tidy sees: ``` if (true) [[unlikely]] { ... } ``` It thinks the braces are missing and add them again. ``` if (true) { [[unlikely]] { ... } } ``` This revision aims to prevent that incorrect code generation Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D105479
-
mydeveloperday authored
clang/docs/tool/dump_format_style.py was not run as part of {D99840} Bring ClangFormatStyleOptions.rst back in line. Reviewed By: HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D107958
-
Dawid Jurczak authored
Another simple cleanups set in DSE. CheckCache is removed since 1f114500 and in consequence KnownNoReads is useless. Also update description of MemorySSAScanLimit which default value is 150 instead 100. Differential Revision: https://reviews.llvm.org/D107812
-
Lang Hames authored
The existing relaxable edges all assume a REX prefix. ELF includes non-REX relaxations, so rename these edges to make room for the new kinds.
-
Lang Hames authored
ELF allows for branch optimizations other than bypass, so rename this edge kind to avoid any confusion.
-
Anshil Gandhi authored
This reverts commit c4e5425a.
-
Anshil Gandhi authored
Implements ORE in AtomicExpandPass to report atomics generating a compare and swap loop. Differential Revision: https://reviews.llvm.org/D106891
-
liuke authored
The overload of the constructor will repeatedly fix the member variables that need to be initialized. Removed the duplicate '{}'. ``` struct A { A() {} A(int) {} int _var; // int _var{}{}; <-- wrong fix }; ``` Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D107641
-
David Blaikie authored
Improves maintainability (edit/modify the tests without recompiling) and error messages (previously the failure would be a gtest failure mentioning nothing of the input or desired text) and the option to improve tests with more checks. (maybe these tests shouldn't all be in separate files - we could probably have DWARF yaml that contains multiple errors while still being fairly maintainable - the various invalid offsets (ref_addr, rnglists, ranges, etc) could probably be all in one test, but for the simple sake of the migration I just did the mechanical thing here)
-
Jessica Paquette authored
This is a fairly common pattern: ``` %mask = G_CONSTANT iN <mask val> %add = G_ADD %lhs, %rhs %and = G_AND %add, %mask ``` We have combines to eliminate G_AND with a mask that does nothing. If we combined the above to this: ``` %mask = G_CONSTANT iN <mask val> %narrow_lhs = G_TRUNC %lhs %narrow_rhs = G_TRUNC %rhs %narrow_add = G_ADD %narrow_lhs, %narrow_rhs %ext = G_ZEXT %narrow_add %and = G_AND %ext, %mask ``` We'd be able to take advantage of those combines using the trunc + zext. For this to work (or be beneficial in the best case) - The operation we want to narrow then widen must only be used by the G_AND - The G_TRUNC + G_ZEXT must be free - Performing the operation at a narrower width must not produce a different value than performing it at the original width *after masking.* Example comparison between SDAG + GISel: https://godbolt.org/z/63jzb1Yvj At -Os for AArch64, this is a 0.2% code size improvement on CTMark/pairlocalign. Differential Revision: https://reviews.llvm.org/D107929
-
Matt Arsenault authored
This can only give an imperfect approximation, but is enough to avoid crashing in places where we call into EVT functions starting from LLTs.
-
Craig Topper authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
Unfortunately Mesa is still using amdgcn-- as the triple for OpenGL, so we still have the awkward unknown OS case to deal with. Previously if the HSA ABI intrinsics appeared, we we would not add the ABI registers to the function. We would emit an error later, but we still need to produce some compile result. Start adding the registers to any compute function, regardless of the OS. This keeps the internal state more consistent, and will help avoid numerous test crashes in a future patch which starts assuming the ABI inputs are present on functions by default.
-
Arthur Eubanks authored
-
Arthur Eubanks authored
Previously we would allow promotion even if the byval/inalloca attributes on the call and the callee didn't match. It's ok if the byval/inalloca types aren't the same. For example, LTO importing may rename types. Fixes PR51397. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D107998
-
Arthur Eubanks authored
-
Arthur Eubanks authored
AttributeList::hasAttribute() is confusing. In an attempt to change the name to something that suggests using other methods, fix up some existing uses.
-
Arthur Eubanks authored
getAttribute() is confusing, use a clearer method.
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D108047
-
- Aug 13, 2021
-
-
Manoj Gupta authored
When cross compiling lldb-server, do not create a host build for building lldb-tblgeb when LLDB_TABLEGEN_EXE is already provided. This avoids an expensive and time-consuming build step if lldb-tblgen was already built previously for host. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D108053
-
Sanjay Patel authored
-
harsh-nod authored
The approach for handling reductions in the outer most dimension follows that for inner most dimensions, outlined below First, transpose to move reduction dims, if needed Convert reduction from n-d to 2-d canonical form Then, for outer reductions, we emit the appropriate op (add/mul/min/max/or/and/xor) and combine the results. Differential Revision: https://reviews.llvm.org/D107675
-
Arthur Eubanks authored
AttributeList::hasAttributes() is confusing, use clearer methods like hasFnAttrs().
-
Arthur Eubanks authored
AttributeList::hasAttribute() is confusing, use clearer methods like hasParamAttr()/hasRetAttr(). Add hasRetAttr() since it was missing from AttributeList.
-
Arthur Eubanks authored
Use methods that better convey the intent.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D107671
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D107396
-
Arthur Eubanks authored
-