This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jan 08, 2022
-
-
John Ericson authored
See the docs in the new function for details. I think I found every instance of this copy pasted code. Polly could also use it, but currently does something different, so I will save the behavior change for a future revision. We get the shared, non-installed CMake modules following the pattern established in D116472. It might be good to have LLD and Flang also use this, but that would be a functional change and so I leave it as future work. Reviewed By: beanz, lebedev.ri Differential Revision: https://reviews.llvm.org/D116521
-
John Ericson authored
Now that I am adding more things there, I thought it prudent to document what should and should not go there, and how it is used. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D116524
-
Michael Lambert authored
-
colinl authored
-
Groverkss authored
This patch moves all presburger functionality from FlatAffineConstraints to IntegerPolyhedron. This patch is purely mechanical, it only moves and renames functionality and tests. This patch is part of a series of patches to move presburger functionality to Presburger/ directory. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D116681
-
Ben Jackson authored
When printing a std::string_view, print the referenced string as the summary. Support string_view, u32string_view, u16string_view and wstring_view, as we do for std::string and friends. This is based on the existing fomratter for std::string, and just extracts the data and length members, pushing them through the existing string formatter. In testing this, a "FIXME" was corrected for printing of non-ASCII empty values. Previously, the "u", 'U" etc. prefixes were not printed for basic_string<> types that were not char. This is trivial to resolve by printing the prefix before the "". Differential revision: https://reviews.llvm.org/D112222
-
colinl authored
-
Yuanxiang Ye authored
Added hvx accum checker function and test cases.
-
Arthur Eubanks authored
Previously we limited ourselves to only internal/private functions. We can also delete linkonce_odr functions. Minor compile time wins: https://llvm-compile-time-tracker.com/compare.php?from=d51e3474e060cb0e90dc2e2487f778b0d3e6a8de&to=bccffe3f8d5dd4dda884c9ac1f93e51772519cad&stat=instructions Major memory wins on tramp3d: https://llvm-compile-time-tracker.com/compare.php?from=d51e3474e060cb0e90dc2e2487f778b0d3e6a8de&to=bccffe3f8d5dd4dda884c9ac1f93e51772519cad&stat=max-rss Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D115545
-
Brian Cain authored
-
colinl authored
-
Philip Reames authored
nstCombine appears to duplicate the allocation size logic used inside getObjectSize when figuring out which attributes are safe to place on the callsite. We can use the existing utility function instead. The test change is correct. With aligned_alloc, a zero alignment is required to return nullptr. As such, deref_or_null is a correct attribute to use. Differential Revision: https://reviews.llvm.org/D116816
-
Sanjay Patel authored
select (X != 0), -1, Y --> 0 - X; or (sbb), Y select (X != 0), Y, -1 --> X - 1; or (sbb), Y We already had these x86 carry-flag transforms, but one was over-specified to handle a "0" select arm only. That's just a special-case of the more general pattern (the 'or' will be deleted if Y is zero). This is part of solving #53006, but it misses that example because some other combine has already converted that exact pattern into math ops. Differential Revision: https://reviews.llvm.org/D116765
-
Kazu Hirata authored
Identified with modernize-use-nullptr.
-
Arthur Eubanks authored
This is in preparation for D115545 which attempts to delete discardable functions if they are unused. With that change, shifting RefSCCs becomes noticeable in compile time. This change makes the LCG update negligible again. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D116776
-
Dmitry Vyukov authored
Missed in 765921de ("sanitizer_common: prefix thread-safety macros with SANITIZER_") update. Differential Revision: https://reviews.llvm.org/D116818
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp:292:12: error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
-
Logan Smith authored
Since 65b13610, raw_string_ostream has been unbuffered by default, making .flush() a no-op. This diff formalizes this by no longer .flush()ing in the .str() method or the destructor. .str() has been marked as "consider removing", since its primary use case used to be making .flush()+access a one-liner, and it also has issues such as preventing NRVO/implicit move when used in return statements. Differential Revision: https://reviews.llvm.org/D115421
-
Philip Reames authored
This is a reoccuring pattern, we can consolidate three copies into one. The main motivation is to reduce usages of isMallocLike. The original commit (which was quickly reverted) didn't account for the allocation function could be an invoke, test coverage for that case added in this commit.
-
Matthias Springer authored
This function runs just the analysis of Comprehensive Bufferize, but does not bufferize the IR yet. This is in preparation of fixing CallOp bufferization. Also needed for unifying Comprehensive Bufferize and core bufferization; the new partial bufferization can simply run bufferization without an analysis. Differential Revision: https://reviews.llvm.org/D116456
-
Brian Cain authored
Rename argument from 'Fatal' => 'ReportErrors'. HexagonShuffler refers to this arg as 'ReportErrors' and calling it 'Fatal' in HexagonMCShuffler is misleading and inconsistent.
-
colinl authored
-
Brian Cain authored
For a scalar packet resource error, emit details about the slots available for each instruction in the packet.
-
Krzysztof Parzyszek authored
Co-authored-by:
Brian Cain <bcain@quicinc.com>
-
Philip Reames authored
The original commit was expected to be NFC, but I didn't account for the fact that invokes could be considered allocation functions. Interestingly, only one builder caught the problem.
-
David Green authored
Similar to D116732, this adds basic scalar sadd_with_overflow, uadd_with_overflow, ssub_with_overflow and usub_with_overflow costs for aarch64, which are usually quite efficiently lowered. Differential Revision: https://reviews.llvm.org/D116734
-
Matthias Springer authored
Instead of `lookupBuffer` and `getResultBuffer`, there is now a single `getBuffer` function. This simplifies the `BufferizableOpInterface` API and is less confusing to users. They could previously have called the wrong function. Furthermore, since `getBuffer` now takes an `OpOperand &` instead of a `Value`, users can no longer accidentally use one of the previous two functions incorrectly, which would have resulted in missing buffer copies. Differential Revision: https://reviews.llvm.org/D116455
-
Matthias Springer authored
With this change, the analysis takes a look at OpOperands instead of OpResults. OpOperands can bufferize out-of-place (even if they have no aliasing OpResults). The analysis does no longer care about OpResults. Previously, only OpResults could bufferize out-of-place, so OpOperands that have no aliasing OpResults were never copied by Comprehensive Bufferize. This does not fit wwell with the new CallOp bufferization that is introduced in a subsequent change. In essence, called FuncOps can then be treated as "black boxes" that may read/write to any bbArg, even if they do not return anything. Differential Revision: https://reviews.llvm.org/D115706
-
- Jan 07, 2022
-
-
Kazu Hirata authored
Identified by readability-redundant-control-flow.
-
Matthias Springer authored
This is in preparation of fixing CallOp bufferization. Add explicit linalg.inplaceable attrs to all bbArgs, except for the ones where inplaceability should be decided by the analysis. Differential Revision: https://reviews.llvm.org/D115840
-
Matthias Springer authored
A buffer copy may not be elided if the to-be-bufferized op is reading the data. Differential Revision: https://reviews.llvm.org/D116454
-
Jun Zhang authored
The patch implement the rest of __builtin_elementwise_* functions specified in D111529, including: * __builtin_elementwise_floor * __builtin_elementwise_roundeven * __builtin_elementwise_trunc Signed-off-by:
Jun <jun@junz.org> Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D115429
-
Marek Kurdej authored
* Avoid if check on every element of the loop when printing symbols.
-
luxufan authored
This flag was defined here https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc Reviewed By: asb, MaskRay, jhenderson Differential Revision: https://reviews.llvm.org/D111939
-
Arthur O'Dwyer authored
Fixes #50806. Differential Revision: https://reviews.llvm.org/D116295
-
Florian Hahn authored
Currently generateOverflowCheck always creates code for Step being negative and positive, followed by a select at the end depending on Step's sign. This patch updates the code to only create either the checks for step being positive or negative, if the sign is known. Follow-up to D116696. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D116747
-
Florian Hahn authored
The moved test was incorrectly placed in Analysis/LoopAccessAnalysis as it runs loop-versioning.
-
Sam McCall authored
This means it's a "real feature" in clangd 14, albeit one that requires special client support. - remove "preview" from the flag description - expose the `clangdInlayHints` capability by default - provide `position` as well as `range` - support `InlayHintsParams.range` to restrict the range retrieved - inlay hint list is in document order (sorted by position) Still to come: control feature via config rather than flag. Fixes https://github.com/clangd/clangd/issues/313 Protocol doc is in https://github.com/llvm/clangd-www/pull/56/files Differential Revision: https://reviews.llvm.org/D116699
-
Dmitry Vyukov authored
Currently we use very common names for macros like ACQUIRE/RELEASE, which cause conflicts with system headers. Prefix all macros with SANITIZER_ to avoid conflicts. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D116652
-
Luo, Yuanke authored
For below C code, we can use VNNI to combine the mul and add operation. int usdot_prod_qi(unsigned char *restrict a, char *restrict b, int c, int n) { int i; for (i = 0; i < 32; i++) { c += ((int)a[i] * (int)b[i]); } return c; } We didn't support the combine acoss basic block in this patch. Differential Revision: https://reviews.llvm.org/D116039
-