- Mar 13, 2020
-
-
Jacques Pienaar authored
This was a previous experiment that didn't pan out and needs to be replaced, given no current use or tests, deleting instead and can start new version fresh.
-
Arlo Siemsen authored
LLVM currently supports CSK_MD5 and CSK_SHA1 source file checksums in debug info. This change adds support for CSK_SHA256 checksums. The SHA256 checksums are supported by the CodeView debug format. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D75785
-
Nico Weber authored
-
David Blaikie authored
-
Huihui Zhang authored
Summary: Do not iterate on scalable vector. Also do not return constant scalable vector from ConstantInt::get(). Fix result type by using getElementCount() instead of getNumElements(). Reviewers: sdesmalen, efriedma, apazos, huntergr, willlovett Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73753
-
Matt Arsenault authored
Currently we infer whether the flat-scratch-init kernel input should be enabled based on calls. Move this handling, so we can decide if the full set of ABI inputs is needed in kernels. Ideally we would have an analysis of some sort, rather than the function attributes.
-
Matt Arsenault authored
-
Lang Hames authored
This patch enables exception handling in code added to LLJIT on Darwin by adding an orc::EHFrameRegistrationPlugin instance to the ObjectLinkingLayer (which is currently used on Darwin only).
-
Lang Hames authored
These may be accessed from multiple threads if concurrent materialization is enabled in ORC. Testcase coming in a follow-up patch that enables eh-frame registration for LLJIT.
-
Jonas Devlieghere authored
Update use of ProcessInstanceInfoList which is now a std::vector.
-
Louis Dionne authored
Since the atomic_support.h header of libc++abi is considered technical debt (since we should use libc++'s), it's better not to add new definitions to it, which makes it diverge from the original libc++ header even more. Differential Revision: https://reviews.llvm.org/D75950
-
Nick Desaulniers authored
Summary: The parsing of GNU C extended asm statements was a little brittle and had a few issues: - It was using Parse::ParseTypeQualifierListOpt to parse the `volatile` qualifier. That parser is really meant for TypeQualifiers; an asm statement doesn't really have a type qualifier. This is still maybe nice to have, but not necessary. We now can check for the `volatile` token by properly expanding the grammer, rather than abusing Parse::ParseTypeQualifierListOpt. - The parsing of `goto` was position dependent, so `asm goto volatile` wouldn't parse. The qualifiers should be position independent to one another. Now they are. - We would warn on duplicate `volatile`, but the parse error for duplicate `goto` was a generic parse error and wasn't clear. - We need to add support for the recent GNU C extension `asm inline`. Adding support to the parser with the above issues highlighted the need for this refactoring. Link: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: aheejin, jfb, nathanchance, cfe-commits, echristo, efriedma, rsmith, chandlerc, craig.topper, erichkeane, jyu2, void, srhines Tags: #clang Differential Revision: https://reviews.llvm.org/D75563
-
Stanislav Mekhanoshin authored
The patch removes late endcf handling and only leaves the related portion with redundant exec mask copy elimination. Differential Revision: https://reviews.llvm.org/D76095
-
Jonas Devlieghere authored
Add YAML traits for ArchSpec and ProcessInstanceInfo so they can be serialized for the reproducers. Differential revision: https://reviews.llvm.org/D76004
-
River Riddle authored
This fixes a breakage after the LLVM API changed.
-
River Riddle authored
HasNoSideEffect can now be implemented using the MemoryEffectInterface, removing the need to check multiple things for the same information. This also removes an easy foot-gun for users as 'Operation::hasNoSideEffect' would ignore operations that dynamically, or recursively, have no side effects. This also leads to an immediate improvement in some of the existing users, such as DCE, now that they have access to more information. Differential Revision: https://reviews.llvm.org/D76036
-
River Riddle authored
The current mechanism for identifying is a bit hacky and extremely adhoc, i.e. we explicit check 1-result, 0-operand, no side-effect, and always foldable and then assume that this is a constant. Adding a trait adds structure to this, and makes checking for a constant much more efficient as we can guarantee that all of these things have already been verified. Differential Revision: https://reviews.llvm.org/D76020
-
River Riddle authored
This has been a long standing cleanup TODO. Differential Revision: https://reviews.llvm.org/D76019
-
River Riddle authored
[mlir][SideEffects][NFC] Move the .td definitions for NoSideEffect/RecursiveSideEffect to SideEffects.td This matches the location of these traits within the source files. Differential Revision: https://reviews.llvm.org/D75968
-
River Riddle authored
These terminator operations don't really have any side effects, and this allows for more accurate side-effect analysis for region operations. For example, currently we can't detect like a loop.for or affine.for are dead because the affine.terminator is "side effecting". Note: Marking as NoSideEffect doesn't mean that these operations can be opaquely erased. Differential Revision: https://reviews.llvm.org/D75888
-
Mark de Wever authored
It seems several build bots have issues with setting the CXX_STANDARD property to 17. This reverts commit d184d022.
-
Jonas Devlieghere authored
Replace ProcessInstanceInfoList with std::vector<ProcessInstanceInfo> and update the call sites.
-
aartbik authored
Summary: This replaces the direct lowering of vector.outerproduct to LLVM with progressive lowering into elementary vectors ops to avoid having the similar lowering logic at several places. NOTE1: with the new progressive rule, the lowered llvm is slightly more elaborate than with the direct lowering, but the generated assembly is just as optimized; still if we want to stay closer to the original, we should add a "broadcast on extract" to shuffle rewrite (rather than special cases all the lowering steps) NOTE2: the original outerproduct lowering code should now be removed but some linalg test work directly on vector and contain some dead code, so this requires another CL Reviewers: nicolasvasilache, andydavis1 Reviewed By: nicolasvasilache, andydavis1 Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75956
-
Alexander Belyaev authored
-
Alexander Belyaev authored
-
Mark de Wever authored
The benchmarks are intended to be build with C++17 but the CMAKE_CXX_STANDARD in the LLVM forces the build to use C++14 by default. This fixes the issue by setting the CXX_STANDARD property of the benchmark targets. The CMake documentation is not clear whether this will use the C++1z fallback for older compilers. So this may break the benchmarks if somebody uses the benchmarks with pre C++17 compilers with the C++1z fallback. Differential Revision: https://reviews.llvm.org/D75955
-
Sam McCall authored
Summary: This facilitates performing go-to-definition in contexts where AST-based resolution does not work, such as comments, string literals, preprocessor disabled regions, and macro definitions, based on textual lookup in the index. Partially fixes https://github.com/clangd/clangd/issues/241 Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72874
-
Huihui Zhang authored
Summary: Support ConstantInt::get() and Constant::getAllOnesValue() for scalable vector type, this requires ConstantVector::getSplat() to take in 'ElementCount', instead of 'unsigned' number of element count. This change is needed for D73753. Reviewers: sdesmalen, efriedma, apazos, spatel, huntergr, willlovett Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74386
-
Simon Pilgrim authored
This patch allows ISD::FSHR(i32) patterns to lower to ALIGNBIT instructions. This improves test coverage of ISD::FSHR matching - x86 has both FSHL/FSHR instructions and we prefer FSHL by default. Differential Revision: https://reviews.llvm.org/D76070
-
Richard Smith authored
function and an overridden function until we know whether the overriding function is deleted. We previously did these checks when we first built the declaration, which was too soon in some cases. We now defer all these checks to the end of the class. Also add missing check that a consteval function cannot override a non-consteval function and vice versa.
-
Simon Pilgrim authored
Fix bug identified by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21167, foldVSelectOfConstants must ensure that the 2 build vectors have scalars of the same type before trying to compare APInt values.
-
Sid Manning authored
Differential Revision: https://reviews.llvm.org/D76079
-
Thomas Lively authored
Summary: Using the default DAG.UnrollVectorOp on v16i8 and v8i16 vectors results in i8 or i16 nodes being inserted into the SelectionDAG. Since those are illegal types, this causes a legalization assertion failure for some code patterns, as uncovered by PR45178. This change unrolls shifts manually to avoid this issue by adding and using a new optional EVT argument to DAG.ExtractVectorElements to control the type of the extract_element nodes. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, zzheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76043
-
Tatyana Krasnukha authored
In addition to the commit rG352f16db, this one fixes settings behavior on clearing - the setting should be reverted to their default value, not an empty one.
-
David Green authored
-
Sterling Augustine authored
-
Reid Kleckner authored
This has very little impact on build time, but is a mechanical pre-req to removing the OpenMPClause.h include, which matters. Most of these pretty print methods require Expr to be complete.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Use castAs as we know the cast should succeed (and castAs will assert if it doesn't) and we're dereferencing it directly in the BuildRCBlockVarRecordLayout call.
-
Simon Pilgrim authored
CGOpenMPRuntime::emitDeclareTargetVarDefinition - fix static analyzer null dereference warning. NFCI. All paths test for or dereference the VD pointer, so just assert that its not null.
-