- Jul 04, 2023
-
-
Anna Thomas authored
6f9e743b introduced a mode which renames only instructions in the function. This change updates that mode to skip instructions that are already named. This serves the original purpose of the mode (rename-only-inst) which is: 1. Modify IR without failing verifier with serially ordered number requirement (%1, %2, %3 required in order). 2. Give meaningful names to instructions.
-
Amaury Séchet authored
[NFC] Reorder functions in DAGCombiner so all UADDO_CARRY related functions are next to each others.
-
Matthias Springer authored
Add a test case that first vectorizes a `tensor.pad` op, then bufferizes it to a new allocation with a specified memory space. Differential Revision: https://reviews.llvm.org/D154082
-
Lei Huang authored
-
Matthias Springer authored
Tensors/buffers that do not have any defined contents (e.g., `tensor.empty`) are no longer copied. Differential Revision: https://reviews.llvm.org/D154081
-
Matthias Springer authored
* Rename op to `transform.get_parent_op` * Match parents by "is isolated from above" and/or op name, or just the direct parent. * Deduplication of result payload ops is optional. Differential Revision: https://reviews.llvm.org/D154071
-
Timm Bäder authored
-
Timm Bäder authored
-
Timm Bäder authored
-
Kadir Cetinkaya authored
This tries to improve adoption of noisy warnings in existing codebases. Hints have a lot less visual clutter in most of the editors, and DiagnosticTags already imply a custom decorations per LSP. Differential Revision: https://reviews.llvm.org/D154443
-
Christian Ulmann authored
This commit changes the LLVM IR import to use UnkownLoc for missing debug locations. This change ensures that we do not accidentially introduce faulty locations that can influence debugging post export. This behavior change is not applied to locations of global metadata operations, as their location will not be exported. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D154416
-
David Green authored
This changes the costmodelling of the vecreduce.min/max nodes to use the costs of the relevant min/max intrinsics instead of expanding them to compare and selects. The getMinMaxReductionCost have changed to take a Opcode for the relevant intrinsic, dropping the IsUnsigned and CondTy parameters as they are no longer needed. A follow up patch will add some basic fminimum/fmaximum costmodelling. Differential Revision: https://reviews.llvm.org/D153547
-
Stephen Thomas authored
GCNHazardRecognizer::fixVcmpxExecWARHazard() mitigates a specific hazard by inserting a wait on sa_sdst==0 if such a wait isn't already present. Unfortunately, the check for an existing wait incorrectly checks for one that doesn't actually care about sa_sdst itself, but requires that no other counters are waited for. Once the check is performed correctly, a lit test needs to be updated, since it is currently testing for the incorrect behaviour. Differential Revision: https://reviews.llvm.org/D154438
-
Hans Wennborg authored
This is a follow-up to D153672 which removed the old debug mode and moved many of those checks to the regular asserts mode. The tree invariant check is too expensive for the regular asserts mode, making element removal O(n) instead of O(log n), so disable it until there is a new debug assert category it can be put in. Differential revision: https://reviews.llvm.org/D154417
-
- Jul 03, 2023
-
-
Aleksandr Popov authored
Next step of the preparatory refactoring for the upcoming support of new new range check form to parse. This change isolates logic of 'IV vs Limit' range check parsing to simplify adding parsers for new range checks forms. Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D154160
-
- Jul 04, 2023
-
-
LLVM GN Syncbot authored
-
Tom Weaver authored
This reverts commit 2fd614ef. Commit caused failures on the following two build bots: http://45.33.8.238/win/80815/step_7.txt https://lab.llvm.org/buildbot/#/builders/139/builds/44269
-
- Jul 03, 2023
-
-
Aleksandr Popov authored
Next step of the preparatory refactoring for the upcoming support of new range check form to parse. Previous one: https://reviews.llvm.org/D154156 With this change we avoid meaningless parsing after realizing that Index is not AddRec Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D154158
-
- Jul 04, 2023
-
-
Florian Hahn authored
Regenerate checks to avoid unnecessary changes in D154264.
-
Joseph Huber authored
Summary: This code used `LIBOMPTARGET_DEBUG` which is not the macro name, but the environment variable. This caused this portion to always be disabled. In the long run we should aim for this to always be availible as it's useful for other diagnostic message.
-
Matthias Springer authored
This op needs special handling because the allocation for the masked op must be placed outside of the mask op. Differential Revision: https://reviews.llvm.org/D154058
-
Matthias Springer authored
Until now, only `tensor.pad` ops could be bufferized to an allocation. This revision adds support for all bufferizable ops that do not already bufferize to an allocation. (Those still need special handling.) Differential Revision: https://reviews.llvm.org/D153971
-
Martin Braenne authored
It turns out this didn't need to be a template at all. Likewise, change callers to they're non-template functions. Also, correct / clarify some comments in RecordOps.h. This is in response to post-commit comments on https://reviews.llvm.org/D153006. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D154339
-
Matthias Springer authored
The `bufferize_to_allocation` transform op now operates on payload ops, not payload values. Only ops can be bufferized, not values. Also remove the `replacement` result from the transform op. Differential Revision: https://reviews.llvm.org/D153970
-
Haojian Wu authored
To keep the message short and consistent with clangd, and the diagnostics are attached to the #include line, users have enough context to understand the whole #include. Differential Revision: https://reviews.llvm.org/D154434
-
Alex Bradbury authored
The doc comment referred to a boolean parameter that has since been replaced with an ISD::CondCode.
-
Matthias Springer authored
"transform.structured.pad" now returns all `tensor::PadOp` in addition to the padded ops. Also add a test case that shows how to force an allocation for "tensor.pad" ops with a custom memory space. Differential Revision: https://reviews.llvm.org/D153555
-
Matthias Springer authored
`getConstantIntValue` extracts constant values from all constant-like ops, not just `arith::ConstantIndexOp`. Differential Revision: https://reviews.llvm.org/D154356
-
Martin Braenne authored
The ongoing migration to strict handling of value categories (see https://discourse.llvm.org/t/70086) will change the way we handle fields of reference type, and I want to put a test in place that makes sure we continue to handle this special case correctly. Depends On D154420 Reviewed By: gribozavr2, xazax.hun Differential Revision: https://reviews.llvm.org/D154421
-
Martin Braenne authored
The newly added test fails without the other changes in this patch. Reviewed By: sammccall, gribozavr2 Differential Revision: https://reviews.llvm.org/D154420
-
Quentin Colombet authored
This consolidates where this kind of implementations lives and refactor the code to have more code sharing. NFC Differential Revision: https://reviews.llvm.org/D154362
-
Benjamin Kramer authored
-
Jay Foad authored
SIInsertWaitcnts inserts waitcnt instructions to resolve data dependencies. The GFX10+ vscnt (VMEM store count) counter is never used in this way. It is only used to resolve memory dependencies, and that is handled by SIMemoryLegalizer. Hence there is no need to conservatively wait for vscnt to be 0 on function entry and before returns. Differential Revision: https://reviews.llvm.org/D153537
-
Alexey Lapshin authored
This patch simplifies line table generation. It removes global array of all units ranges(RangesTy &getValidAddressRanges()). The comment says that global array of all units ranges is necessary to handle corner cases inside line table rows. Removing that special handling shows that its current usage is handling of "end of range case" which is already handled correctly (without special handling). .debug_line tables for clang binary built with and without this patch are equal. Differential Revision: https://reviews.llvm.org/D154288
-
Jan Svoboda authored
In `clang-scan-deps` contexts, the number of interesting identifiers in PCM files is fairly low (only macros), while the number of identifiers in the importing instance is high (builtins). Marking the whole identifier table out-of-date triggers lots of benign and expensive calls to `ASTReader::updateOutOfDateIdentifiers()`. (That unfortunately happens even for unused identifiers due to `SemaRef.IdResolver.begin(II)` line in `ASTWriter::WriteASTCore()`.) This patch makes the main code path more similar to C++ modules, where the PCM files have `INTERESTING_IDENTIFIERS` section which lists identifiers that get created in the identifier table of the importing instance and marked as out-of-date. The only difference is that the main code path doesn't *create* identifiers in the table and relies on the importing instance calling `ASTReader::get()` when creating new identifier on-demand. It only marks existing identifiers as out-of-date. This speeds up `clang-scan-deps` by 5-10%. Reviewed By: Bigcheese, benlangmuir Differential Revision: https://reviews.llvm.org/D151277
-
Florian Hahn authored
Move the logic added in 3a57152d to normalizeForPostIncUse to catch additional un-invertable cases. This fixes another mis-compile pointed out by @peixin in D153004.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Ivan Kosarev authored
Was added in <https://reviews.llvm.org/D63293>, but never used. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D154331
-
Florian Hahn authored
getBroadcastInstrs is only used in VPTransformState::get. Move it closer to use to reduce unnecessary interaction with ILV object.
-