aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-07[llvm] Qualify auto (NFC)linaro-local/ci/tcwg_bmk_llvm_apm/llvm-master-aarch64-spec2k6-OzKazu Hirata
Identified with readability-qualified-auto.
2022-08-07[clang-tidy] Use is_contained (NFC)Kazu Hirata
2022-08-07[Transforms] Fix comment typos (NFC)Kazu Hirata
2022-08-07[BOLT] Upgrade to C++17Kazu Hirata
Without this patch, I am getting errors like: llvm-project/llvm/include/llvm/ADT/StringRef.h:233:7: error: use of the 'nodiscard' attribute is a C++17 extension [-Werror,-Wc++17-extensions] Differential Revision: https://reviews.llvm.org/D131348
2022-08-08[LoongArch] Support for varargswanglei
This patch ensures the `$fp` always points to the bottom of the vararg spill region. Includes support for expand `ISD::DYNAMIC_STACKALLOC`. Differential Revision: https://reviews.llvm.org/D130250
2022-08-07[llvm-ar] Remove unused parameter. NFClinaro-local/ci/tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3linaro-local/ci/tcwg_bmk_llvm_apm/llvm-master-arm-spec2k6-Os_LTOFangrui Song
2022-08-08[M68k] Add MC support for link/unlkSheng
Reviewers: myhsu Differential Revision: https://reviews.llvm.org/D125444
2022-08-07[gn build] (manually) port ace6e172bd2clinaro-local/ci/tcwg_kernel/llvm-master-arm-mainline-defconfiglinaro-local/ci/tcwg_bmk_llvm_apm/llvm-master-aarch64-spec2k6-Os_LTONico Weber
2022-08-08[RISCV] Support fe_getround and fe_raise_inexact in builtinsluxufan
Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D128240
2022-08-08[Support] move llvm::llvm_is_multithread to header, NFCJun Zhang
This allow optimization without LTO. Also remove some useless else-ifs. Signed-off-by: Jun Zhang <jun@junz.org> Differential Revision: https://reviews.llvm.org/D131313
2022-08-07[flang] Handle subnormals while folding SCALE, SET_EXPONENT, & FRACTIONPeter Klausler
The implementations of folding for the intrinsic functions SCALE and SET_EXPONENT do not cope correctly with numbers in the subnormal range. Fix SCALE, then modify SET_EXPONENT to be a special case of SCALE. Differential Revision: https://reviews.llvm.org/D131099
2022-08-07[mlir] fix `add_tablegen()` macro to allow installing mlir-pdlllinaro-local/ci/tcwg_kernel/llvm-master-arm-lts-defconfigAshay Rane
Prior to this patch, the `add_tablegen()` macro in llvm/cmake/modules/TableGen.cmake added the install rule only if `project` matched `LLVM` or `MLIR`. This patch adds an optional `DESTINATION` argument, which, if non-empty, decides whether (and where) to install the tablegen tool, thus eliminating the need for project-specific overrides. This patch also updates all other invocations of the `add_tablegen()` macro. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D131282
2022-08-07[mlir][python] Address deprecation warning for hasValueJacques Pienaar
2022-08-07[flang] Allow assignment to host association in BLOCK in PURE subprogramlinaro-local/ci/tcwg_kernel/llvm-master-aarch64-next-allyesconfigPeter Klausler
We need to distinguish BLOCK host association from subprogram host association when checking assignments in PURE subprograms. The specific case that is not allowed is an assignment to a variable from the scope around the PURE subprogram. Differential Revision: https://reviews.llvm.org/D131098
2022-08-07[ORC-RT] Fix missing #include <string_view>s.Lang Hames
1dcff823db9 updated the ORC runtime to use std::string_view, rather than its own placeholder class (__orc_rt::string_view), but failed to add these includes.
2022-08-07[lldb] Use single-argument static_assert where applicable (NFC)Jonas Devlieghere
Since C++17 the message string for static_assert is optional. Replaces static asserts with an empty string literal with the single-argument variant.
2022-08-07[InstSimplify] fold scalable vectors with over-shift splat constant to poisonlinaro-local/ci/tcwg_kernel/llvm-master-arm-stable-defconfiglinaro-local/ci/tcwg_kernel/llvm-master-aarch64-norov-allmodconfigSanjay Patel
Fixes #56968
2022-08-07[InstSimplify] add test for over-shift of scalable vector; NFCSanjay Patel
2022-08-07[flang][runtime] Catch & report attempts at recursive I/Olinaro-local/ci/tcwg_kernel/llvm-master-arm-next-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-master-aarch64-mainline-allyesconfigPeter Klausler
When an I/O statement contains a function call that attempts to perform I/O on the same unit, detect the recursive I/O and terminate with a useful message rather than deadlocking in the threading library. Differential Revision: https://reviews.llvm.org/D131097
2022-08-07Revert "[JITLink] Fix some C++17 related fixmes."linaro-local/ci/tcwg_kernel/llvm-master-aarch64-lts-allnoconfigLang Hames
This reverts commit 6ea5bf436a983ea9e16a5fe7534c87beca0a61b7. 6ea5bf436a983ea9e16a5fe7534c87beca0a61b7 made use of new c++17 rules regarding order of evaluation (specifically: in function calls the expression naming the function should be sequenced before the evalution of any operands) to simplify some continuation-passing calls. Unfortunately this appears to break at least one MSVC bot: https://lab.llvm.org/buildbot/#/builders/123/builds/12149 . Includes an update to the comments to note that the workaround is now based on MSVC limitations, not on LLVM adopting c++17.
2022-08-07[mlir] Use value instead of getValueKazu Hirata
2022-08-07[ADT] Deprecate Optional::{hasValue,getValue} (NFC)Kazu Hirata
Differential Revision: https://reviews.llvm.org/D131349
2022-08-07[ORC-RT] Remove a stray __orc_rt::string_view helper.Lang Hames
This function was accidentally left in after 1dcff823db9.
2022-08-07[lldb] Hoist TraceOn check out of loop (NFC)Dave Lee
2022-08-07[lldb] Fix formatting in python-reference.rstDave Lee
2022-08-07[lldb] Dynamically generate enum names in lldbutilDave Lee
Change the `<enum>_to_str` functions in lldbutil to be dynamic. Instead of a manually maintained if/elif switch, the functions now perform lookup in a dynamically generated dict. The names are determined by stripping the enum's prefix, and then lowercasing the remaining suffix, ex: eStateRunning -> "running" Differential Revision: https://reviews.llvm.org/D131138
2022-08-07[libc++][NFC] Fix `the the` in comment in `__format/buffer.h`Adrian Vogelsgesang
I made this commit primarily to test my commit access to the LLVM repo Differential Revision: https://reviews.llvm.org/D131365
2022-08-07[mlir] Fix a warningKazu Hirata
This patch fixes: llvm-project/mlir/include/mlir/IR/OpDefinition.h:1544:19: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
2022-08-07[ConstFolding] fix overzealous assert when converting FP halflinaro-local/ci/tcwg_kernel/llvm-master-aarch64-next-allnoconfigSanjay Patel
Fixes #56981
2022-08-07[InstCombine] add tests for bitwise logic; NFCSanjay Patel
2022-08-07[JITLink] Fix some C++17 related fixmes.Lang Hames
2022-08-07[ORC-RT] Drop __orc_rt::string_view now that we have c++17.Lang Hames
b1356504e63 enabled the use of c++17 features in LLVM, which means that we can drop the ORC runtime's placeholder string_view implemention in favor of std::string_view.
2022-08-08[clang][CodeGen] Factor out Swift ABI hooks (NFCI)Sergei Barannikov
Swift calling conventions stands out in the way that they are lowered in mostly target-independent manner, with very few customization points. As such, swift-related methods of ABIInfo do not reference the rest of ABIInfo and vice versa. This change follows interface segregation principle; it removes dependency of SwiftABIInfo on ABIInfo. Targets must now implement SwiftABIInfo separately if they support Swift calling conventions. Almost all targets implemented `shouldPassIndirectly` the same way. This de-facto default implementation has been moved into the base class. `isSwiftErrorInRegister` used to be virtual, now it is not. It didn't accept any arguments which could have an effect on the returned value. This is now a static property of the target ABI. Reviewed By: rusyaev-roman, inclyc Differential Revision: https://reviews.llvm.org/D130394
2022-08-07[X86] Add test case to recombine LEA from OR.Amaury Séchet
2022-08-07[flang] Allow pure function references in expandable scalarPeter Klausler
F18 disallows function references and coarray references from appearing in scalar expressions that are to be expanded into arrays to conform with other operands or actual arguments in an elemental expression. This is too strong, as pure procedures can be safely used. Differential Revision: https://reviews.llvm.org/D131096
2022-08-07[mlir] Flip to prefixed accessors (NFC)Jacques Pienaar
Missed these in td files.
2022-08-07[polly] Fixed a number of typos. NFClinaro-local/ci/tcwg_bmk_llvm_apm/llvm-master-arm-spec2k6-OzGabriel Ravier
I went over the output of the following mess of a command: `(ulimit -m 2000000; ulimit -v 2000000; git ls-files -z | parallel --xargs -0 cat | aspell list --mode=none --ignore-case | grep -E '^[A-Za-z][a-z]*$' | sort | uniq -c | sort -n | grep -vE '.{25}' | aspell pipe -W3 | grep : | cut -d' ' -f2 | less)` and proceeded to spend a few days looking at it to find probable typos and fixed a few hundred of them in all of the llvm project (note, the ones I found are not anywhere near all of them, but it seems like a good start). Reviewed By: inclyc Differential Revision: https://reviews.llvm.org/D131167
2022-08-07[clang-tidy] Fix a forwarding-reference-overload crash after theHaojian Wu
ElaboratedType change. After 15f3cd6bfc670ba6106184a903eb04be059e5977, the nss of ElaboratedType can be null.
2022-08-07Revert "[RDF] Remove explicit template arguments from Print"linaro-local/ci/tcwg_kernel/llvm-master-aarch64-stable-allyesconfiglinaro-local/ci/tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O2Aaron Ballman
This reverts commit ede96de751224487aea122af8bfb4e82bc54840b. This breaks the build on Windows with Visual Studio: https://lab.llvm.org/buildbot/#/builders/123/builds/12134
2022-08-07[Polly] Suppress the LLVM-IR output for pattern matching tests, if there is ↵linaro-local/ci/tcwg_kernel/llvm-master-aarch64-lts-allyesconfigRoman Gareev
no FileCheck-ing for it.
2022-08-07[mlir] Flip to prefixed accessors (NFC)Jacques Pienaar
2022-08-07[ARM] Regenerate vector_store.ll tests. NFCDavid Green
2022-08-07[Polly] Generalize the pattern matching to the case of tensor contractionsRoman Gareev
The pattern matching optimization of Polly detects and optimizes dense general matrix-matrix multiplication. The generated code is close to high performance implementations of matrix-matrix multiplications, which are contained in manually tuned libraries. The described pattern matching optimization is a particular case of tensor contraction optimization, which was introduced in [1]. This patch generalizes the pattern matching to the case of tensor contractions using the form of data dependencies and memory accesses produced by tensor contractions [1]. Optimization of tensor contractions will be added in the next patch. Following the ideas introduced in [2], it will logically represent tensor contraction operands as matrix multiplication operands and use an approach for optimization of matrix-matrix multiplications. [1] - Gareev R., Grosser T., Kruse M. High-Performance Generalized Tensor Op­erations: A Compiler-Oriented Approach // ACM Transactions on Architec­ture and Code Optimization (TACO). 2018. Vol. 15, no. 3. P. 34:1–34:27. DOI: 10.1145/3235029. [2] - Matthews D. High-Performance Tensor Contraction without BLAS // SIAM Journal on Scientific Computing. 2018. Vol. 40, no. 1. P. C 1—C 24. DOI: 110.1137/16m108968x. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D114336
2022-08-07[libc++][test] Fix MSVC warnings C6054, C6001, C4242 in format_tests.hIgor Zhukov
Reviewed By: Mordante Differential Revision: https://reviews.llvm.org/D131336
2022-08-07[mlir] Make use of C++17 language featureslinaro-local/ci/tcwg_kernel/llvm-master-arm-norov-allyesconfigMarkus Böck
Now that C++17 is enabled in LLVM, a lot of the TODOs and patterns to emulate C++17 features can be eliminated. The steps I have taken were essentially: ``` git grep C++17 git grep c++17 git grep "initializer_list<int>" ``` and address given comments and patterns. Most of the changes boiled down to just using fold expressions rather than initializer_list. While doing this I also discovered that Clang by default restricts the depth of fold expressions to 256 elements. I specifically hit this with `TestDialect` in `addOperations`. I opted to not replace it with fold expressions because of that but instead adding a comment documenting the issue. If any other functions may be called with more than 256 elements in the future we might have to revert other parts as well. I don't think this is a common occurence besides the `TestDialect` however. If need be, this could potentially be fixed via `mlir-tblgen` in the future. Differential Revision: https://reviews.llvm.org/D131323
2022-08-07[demangler] Add getters for Qual/Vector/Pointer typesAlexey Bader
These are useful for downstream tool aligning the mangling of data types which differ between different languages/targets. Patch by Steffen Larsen <steffen.larsen@intel.com> Differential Revision: https://reviews.llvm.org/D130909
2022-08-07Added warning about outdated feature into Kaleidoscope tutorial textShivam Gupta
**Motivation: ** I have been studying LLVM with LLVM Kaleidoscope tutorial. In the 4th part I faced an error which said that I can't redefine a function as shown in the tutorial. After hours of searching, I finally found the reason that produced the error is that the feature of symbols redefinition has been disabled since LLVM-9. There was no information about that in the tutorial's text, so I've decided to add a warning. **Changes**: The only file I fixed is "`llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst`", I added text warning which says that described feature is outdated and the described functionality will not work properly on LLVM versions older 8 one. Patch by : DKay7 Differential Revision: https://reviews.llvm.org/D130613
2022-08-07[llvm] Use range-based for loops (NFC)linaro-local/ci/tcwg_bmk_llvm_sq/llvm-master-aarch64-spec2k6-Oslinaro-local/ci/tcwg_bmk_llvm_apm/llvm-master-aarch64-spec2k6-OsKazu Hirata
2022-08-07[x86] Remove unused declaration processWaitCnt (NFC)Kazu Hirata
The declaration was introduced without a corresponding definition on Jan 2, 2022 in commit 85e6e748d426f8992016914b07bc67c4da22e278.
2022-08-07Use llvm::is_contained (NFC)Kazu Hirata