- Apr 19, 2021
-
-
Roman Lebedev authored
In particular, this allows to create constant expressions instead of IR Instruction's if the argumen is a constant.
-
Roman Lebedev authored
I.e., use GetOptimalInsertionPointForCastOf() helper to get the insertion point, and try to reuse casts first.
-
Roman Lebedev authored
I guess this case hasn't come up thus far, and i'm not sure if it can really happen for the existing usages, thus no test in *this* commit. But, the following commit adds test coverage, there we'd expirience a crash without this fix.
-
Roman Lebedev authored
-
Roman Lebedev authored
Currently, InsertNoopCastOfTo() would implicitly insert that cast, but now that we have SCEVPtrToIntExpr, i'm hoping we could stop InsertNoopCastOfTo() from doing that. But first all users must be fixed.
-
Roman Lebedev authored
[NFC][SCEVExpander][LoopDistribute] Add test for SCEVPtrToIntExpr in SCEVExpander::generateOverflowCheck() We shouldn't end up with ptrtoint-of-getelementptr there.
-
Roman Lebedev authored
-
Roman Lebedev authored
ptr<->int casts are only valid for integral pointes, defensively assert that we don't try to break that here.
-
Simon Pilgrim authored
[Analysis] ImportedFunctionsInliningStatistics.h - add <memory> and remove unused <string> include. NFCI. Move <string> include to ImportedFunctionsInliningStatistics.cpp and add missing <memory> include as we have explicit uses of std::unique_ptr in the header.
-
Nico Weber authored
-
Nico Weber authored
These are needed when buildling `clang-format` in a clean build dir. It's a bit unfortunate that clang's lib/Basic depends on these random TableGen targets. In the CMake build, this is less visible because I think all llvm-tblgen's complete before all compiles there (not sure though).
-
Hans Wennborg authored
I managed to run the wrong tests before committing D100759.
-
Simon Pilgrim authored
protectMappedMemory no longer returns an error message, so we don't need std::string - I've fixed an unnecessary doxygen entry as well (oddly I wasn't seeing a Wdocumentation warning)
-
Abhina Sreeskantharajan authored
This patch corrects more instances of text files being opened as text. Reviewed By: Jonathan.Crowther Differential Revision: https://reviews.llvm.org/D100654
-
Hans Wennborg authored
This is a user-facing option, so it doesn't make sense for it to be cc1 only. Follow-up to D100420 Differential revision: https://reviews.llvm.org/D100759
-
Jay Foad authored
-
Jan Svoboda authored
This patch removes the `FullDependencies::AdditionalNonPathCommandLine` member, as it's value-initialized and never mutated. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D100536
-
Paul C. Anagnostopoulos authored
This is step 3 of adding the 'assert' statement. Differential Revision: https://reviews.llvm.org/D99751
-
Tobias Gysi authored
The patch enables the library call lowering for linalg operations that contain index operations. Differential Revision: https://reviews.llvm.org/D100537
-
Alex Zinenko authored
Expose the debug flag as a readable and assignable property of a dedicated class instead of a write-only function. Actually test the fact of setting the flag. Move test to a dedicated file, it has zero relation to context_managers.py where it was added. Arguably, it should be promoted from mlir.ir to mlir module, but we are not re-exporting the latter and this functionality is purposefully hidden so can stay in IR for now. Drop unnecessary export code. Refactor C API and put Debug into a separate library, fix it to actually set the flag to the given value. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D100757
-
Jan Svoboda authored
This patch uses the new `CompilerInvocation::generateCC1CommandLine` to generate the full canonical command line for modular dependencies, instead of only appending additional arguments. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D100534
-
Simon Pilgrim authored
In fact there's no explicit use of any std:: type or method in this header.
-
Tobias Gysi authored
Instead of interchanging loops during the loop lowering this pass performs the interchange by permuting the indexing maps. It also updates the iterator types and the index accesses in the body of the operation. Differential Revision: https://reviews.llvm.org/D100627
-
Abhina Sreeskantharajan authored
This patch sets files in FileRemapper to open as text. Reviewed By: Jonathan.Crowther Differential Revision: https://reviews.llvm.org/D100056
-
Simon Pilgrim authored
All string usage is hidden behind StringRefs - so we don't need an explicit <string> include.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Add explicit SmallString.h include - which is used in the header
-
Sylvestre Ledru authored
Introduced by: 3d1d7156
-
Jay Foad authored
Remove the MachineDCE pass after the first SIFoldOperands pass now that SIFoldOperands deletes its own dead instructions. Reapply after fixing dependent change D100188. Differential Revision: https://reviews.llvm.org/D100189
-
Jay Foad authored
This is fairly cheap to implement and means less work for future passes like MachineDCE. Reapply with a fix for using InstToErase after it had been erased. Differential Revision: https://reviews.llvm.org/D100188
-
Cullen Rhodes authored
Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D100377
-
Timm Bäder authored
The comment here was introduced in a3e01cf8 and suggests that we should handle declaration statements and non-declaration statements the same, but don't because ProhibitAttributes() can't handle GNU attributes. That has recently changed, so remove the comment and handle all statements the same. Differential Revision: https://reviews.llvm.org/D99936
-
Dmitry Preobrazhensky authored
Disabled constants as carry in/out operands. See bug 48711. Differential Revision: https://reviews.llvm.org/D100642
-
Jan Svoboda authored
This patch removes the `-full-command-line` option from `clang-scan-deps`. It's only used with `-format=experimental-full`, where omitting the command lines doesn't make much sense. There are no tests without `-full-command-line`. Depends on D100531. Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D100533
-
Roman Lebedev authored
This is similar to the subvector extractions, except that the 0'th subvector isn't free to insert, because we generally don't know whether or not the upper elements need to be preserved: https://godbolt.org/z/rsxP5W4sW This is needed to avoid regressions in D100684 Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D100698
-
Fraser Cormack authored
This patch extends the lowering of RVV fixed-length vector shuffles to avoid the default stack expansion and instead lower to vrgather instructions. For "permute"-style shuffles where one vector is swizzled, we can lower to one vrgather. For shuffles involving two vector operands, we lower to one unmasked vrgather (or splat, where appropriate) followed by a masked vrgather which blends in the second half. On occasion, when it's not possible to create a legal BUILD_VECTOR for the indices, we use vrgatherei16 instructions with 16-bit index types. For 8-bit element vectors where we may have indices over 255, we have a fairly blunt fallback to the stack expansion to avoid custom-splitting of the vector types. To enable the selection of masked vrgather instructions, this patch extends the various RISCVISD::VRGATHER nodes to take a passthru operand. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D100549
-
Kerry McLaughlin authored
D98435 added support for in-order reductions and included tests for fixed-width vectorization with the -enable-strict-reductions flag. This patch adds similar tests to verify support for scalable vectorization of loops with in-order reductions. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D100385
-
Jan Svoboda authored
This patch simplifies (and renames) the `appendCommonModuleArguments` function. It no longer tries to construct the command line for explicitly building modules. Instead, it only performs the DFS traversal of modular dependencies and queries the callbacks to collect paths to `.pcm` and `.modulemap` files. This makes it more flexible and usable in two contexts: * Generating additional command line arguments for the main TU in modular build. The `std::vector<std::string>` output parameters can be used to manually generate appropriate command line flags. * Generate full command line for a module. The output parameters can be the corresponding parts of `CompilerInvocation`. (In a follow-up patch.) Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D100531
-
OCHyams authored
Value::replaceUsesOutsideBlock doesn't replace debug uses which leads to an unnecessary reduction in variable location coverage. Fix this, add a unittest for it, and add a regression test demonstrating the change through instcombine's replacedSelectWithOperand. Reviewed By: djtodoro Differential Revision: https://reviews.llvm.org/D99169
-
Tres Popp authored
Differential Revision: https://reviews.llvm.org/D100289
-