- Aug 23, 2022
-
-
Amaury Séchet authored
-
Michał Górny authored
Replace the uses of Communication::Write() with WriteAll() to avoid partial writes. None of the call sites actually accounted for that possibility and even if it is unlikely to actually happen, there doesn't seem to be any real harm from using WriteAll() instead. Ideally, we'd remove Write() from the public API. However, that would change the API of SBCommunication. The alternative would be to alias it to WriteAll(). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D132395
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D132454
-
Joseph Huber authored
Summary: Some older compilers cannot automatically elide the returned vector of unique pointers, causing build errors. This patch explicitly moves the returned value instead which should solve the problem.
-
Haojian Wu authored
Using the guard to implement part of the rule https://eel.is/c++draft/dcl.pre#6. ``` void foo() { // can be parsed as // - structured-binding declaration (a false parse) // - assignment expression array[index] = value; } ``` Differential Revision: https://reviews.llvm.org/D132260
-
Thomas Symalla authored
funcion => function
-
Haojian Wu authored
The bug was that if we recover from the token 0, we will make the Heads empty (Line646), which results no recovery being applied. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D132388
-
Christian Sigg authored
GPUFuncOpLowering moves the body out of gpu.func op and erases it. An empty gpu.func may fail verification but should not crash it. Verification of an erased op is triggered e.g. with debug printing on. Reviewed By: akuegel Differential Revision: https://reviews.llvm.org/D132446
-
Joseph Huber authored
We use the `clang-offload-packager` too bundle many files into a single binary format containing metadata. This is used for offloading compilation which may contain multiple device binaries of different types and architectures in a single file. We use this special binary format to store these files along with some necessary metadata around them. We use this format because of the difficulty of determining the filesize of the various binary inputs that will be passed to the offloading toolchain rather than engineering a solution for each input. Previously we only support packaing many files into a single binary. This patch adds support for doing the reverse by using the same `--image=` syntax. To unpackage a binary we now present an input file instead of an output. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D129507
-
Louis Dionne authored
As reported in [1], cxx-headers is not a valid distribution target because it is an interface target in CMake. This breaks the most basic MultiDistributionExample of the runtimes build. This patch handles interface targets by getting rid of the assumption that all distribution components have a target associated to them. It is valid for a distribution component to only have a `install-FOO` target. In the case where only `cxx-headers` is provided as a distribution component, `ninja toolchain-distribution` will not build anything after this patch, since there is effectively nothing to build for the `cxx-headers` target. However, running `ninja install-toolchain-distribution` will build everything, as expected. [1]: https://discord.com/channels/636084430946959380/636732894974312448/1010013287464828968 Differential Revision: https://reviews.llvm.org/D132387
-
Florian Hahn authored
Callsites could be marked as `builtin` while calling `nobuiltin` functions. This can lead to problems, if local optimizations apply transformations based on the semantics of the builtin, but then IPO treats the function as `nobuiltin` and applies a transform that breaks builtin semantics (assumed earlier). To avoid this, mark such functions as maybey-derefined, to avoid IPO transforms on them that may break assumptions of earlier calls. Fixes #57075 Fixes #48366 Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D97735
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
This reverts commit df99774e.
-
Johannes Reifferscheid authored
Currently, buffer deallocation considers arith.select to be non-aliasing, which results in deallocs being inserted incorrectly. Since arith.select doesn't implement any useful interfaces, this change just handles it explicitly. Eventually this should probably be fixed properly, if this pass is going to be used long term. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D132460
-
Stephen Tozer authored
In preparation for supporting DBG_VALUE_LIST in InstrRefLDV, this patch adds the logic for emitting DBG_VALUE_LIST instructions from InstrRefLDV. The logical changes here are fairly simple, with the main change being that instead of directly prepending offsets to the DIExpr, we use appendOpsToArg to modify the expression for individual debug operands in the expression. The function emitLoc is also changed to take a list of debug ops, with an empty list meaning an undef value. Differential Revision: https://reviews.llvm.org/D128209
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D132462
-
Guillaume Chatelet authored
-
Florian Hahn authored
-
Guillaume Chatelet authored
This reverts commit 522d29a6.
-
Guillaume Chatelet authored
-
LLVM GN Syncbot authored
-
Simon Pilgrim authored
-
Adrian Kuegel authored
There are several use cases where a destination style operation needs an interface that contains a subset of the methods from LinalgStructuredInterface. In this change, we move all such methods to a new interface, and add forwarding methods to LinalgStructuredInterface to make the change the less invasive. It may be possible to refactor the code later to get rid of (some or all) of the forwarding methods. This change also removes the cloneWithMapper interface methods, as it is not used anywhere. RFC: https://discourse.llvm.org/t/rfc-interface-for-destination-style-ops/64056 Differential Revision: https://reviews.llvm.org/D132125
-
Guillaume Chatelet authored
This reverts commit 187099da.
-
Guillaume Chatelet authored
-
Stephen Tozer authored
-
Guillaume Chatelet authored
This reverts commit abe0fa6b.
-
Lucas Prates authored
This patch fixes the list of subtarget features enabled for the Cortex-X1C processor, including the following: * Fix incorrect version used for FeatureRCPC: * Use FEAT_LRCPC2 instead of FEAT_LRCPC. * Add missing v8.4-A features included in the TRM: * Flag Manipulation Instructions - FeatureFlagM (FEAT_FlagM) * Large System Extension 2 - FeatureLSE2 (FEAT_LSE2) Reviewed By: vhscampos Differential Revision: https://reviews.llvm.org/D132120
-
Jay Foad authored
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D132409
-
Guillaume Chatelet authored
-
Matthias Springer authored
Affine exprs compose better than arith ops. Differential Revision: https://reviews.llvm.org/D132456
-
Chuanqi Xu authored
Previously when I wrote this document, I felt the completed scripts was lengthy, redundant and not easy to read. So I didn't add complete examples in the previous commit. However, in the recent discussion with @avogelsgesang, I found people may not know how to use debugging scripts to improve their debugging efficiency. So now, I feel like it is helpful to put the examples even if they are a little bit long. Test Plan: make docs-clang-html Reviewed By: avogelsgesang Differential Revision: https://reviews.llvm.org/D132451
-
Simon Pilgrim authored
This patch proposes to move the llvm::detail::PopulationCounter internal helpers into ADT/bit.h and provide a llvm::popcount implementation. I've left the countPopulation implementation in place in MathExtras.h for now, but updated it to use llvm::popcount. Hopefully I've got the type_traits correct - I don't use them very often. Someday we'll move to C++20 with an actual <bit> std header, and we already have this header in place to simplify matters. We'd probably benefit from moving the other <bit> helpers here at some point, but this is a first step. Differential Revision: https://reviews.llvm.org/D132407
-
Denis Antrushin authored
CodeGenPrepare pass can sink pointer comparison across statepoint to the point of use (see comment in IR/SafepointIRVerifier.cpp) Due to specifics of statepoints, it is still legal to have tied def and use rewritten to the same register in TwoAddress pass. However, properly updating LiveIntervals and LiveVariables becomes complicated. For simplicity, let's fall back to generic handling of tied registers when we detect such case. TODO: This fixes functional (assertion) failure. Ideally we should try to recompute new live range/liveness in place. Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D132255
-
Florian Hahn authored
The argument is no longer used, remove it.
-
gonglingqin authored
When AtomicOrdering is release or stronger, use amswap_db.[w/d] $zero, $a1, $a0 instead of dbar 0 st.[w/d] $a0, $a1, 0 Thanks to @xry111 for the suggestion: https://reviews.llvm.org/D128901#3626635 Differential Revision: https://reviews.llvm.org/D129838 -
Graham Hunter authored
-
Guray Ozen authored
This revision deletes LinalgStrategyGeneralizePass. Context: https://discourse.llvm.org/t/psa-retire-linalg-filter-based-patterns/63785 Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D132363
-
Dmitry Makogon authored
The test fails not because of undef, so replacing with normal condition.
-