- Mar 23, 2021
-
-
Stefan Gränitz authored
There can be multiple MaterializationResponsibilitys in-flight for a single ResourceKey. Hence, pending debug objects must be tracked by MaterializationResponsibility and not by ResourceKey. Differential Revision: https://reviews.llvm.org/D98785
-
Philip Reames authored
This patch exploits the knowledge that we may be running many fewer than bitwidth iterations of the loop, and may be able to disallow the overflow case. This patch specifically implements only the shl case, but this can be generalized to ashr and lshr without difficulty. Differential Revision: https://reviews.llvm.org/D98222
-
Bjorn Pettersson authored
Make sure we use PowerOf2Floor instead of PowerOf2Ceil when calculating max number of elements that fits inside a vector register (otherwise we could end up creating vectors larger than the maximum vector register size). Also make sure we honor the min/max VF (as given by TTI or cmd line parameters) when doing vectorizeStores. Reviewed By: anton-afanasyev Differential Revision: https://reviews.llvm.org/D97691
-
Bjorn Pettersson authored
-
Philip Reames authored
Triggered by discussion on D98222. The case where we have a loop variant step is suprising, and doesn't match the behavior of SCEV's recurrences. As such, make sure we call that out explicitly.
-
- Mar 22, 2021
-
-
Wenlei He authored
Switch to use cold threshold from profile summary for cold context merging and trimming, instead of relying on hard coded values. Minor refactoring included for switch names, etc. Differential Revision: https://reviews.llvm.org/D98921
-
Pavel Labath authored
The fix in 10d54e2f did not work.
-
Arthur O'Dwyer authored
The container headers don't need to include <functional> for any other reason (or at least, they wouldn't if we moved `less` and `equal_to` out of <functional>), so let's put `__libcpp_erase_if_container` somewhere that's common to the containers but outside of <functional>. Also, calling `std::erase_if(c, pred)` should not trigger ADL. Differential Revision: https://reviews.llvm.org/D99043
-
Matt Morehouse authored
Subsequent patches will implement page-aliasing mode for x86_64, which will initially only work for the primary heap allocator. We force callback instrumentation to simplify the initial aliasing implementation. Reviewed By: vitalybuka, eugenis Differential Revision: https://reviews.llvm.org/D98069
-
Matt Arsenault authored
-
Pavel Labath authored
The file contained bogus input - the DIE list was not properly terminated. This should not cause a crash, but it seems it was crashing at least on linux arm and x86 windows.
-
Stefan Pintilie authored
Do not try to materialize a constant using prefix instructions if the selection using non prefix instructions was able to do it using a single non prefix instruction. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D98791
-
Pavel Labath authored
lit has grown a feature where it stores the runtimes of all tests. Normally, these times should be stored in the build directory, but because our API tests have set test_exec_root to point to the source tree, it has ended up polluting our checkout and led to the .lit_test_times.txt being committed to the repository. Delete this file, and adjust the exec root of API tests. I've also needed to adjust the root of Shell tests, in order to avoid the two overlapping.
-
Joe Ellis authored
Previously only the i32 type was tested. Now, the {i,f}{16,32,64} types are tested. The v8{i,f}16 cases lower differently to the other cases, which is worth defending. The lowering for the other cases is currently identical, but probably worth having for the better coverage. Differential Revision: https://reviews.llvm.org/D98690 -
Simon Pilgrim authored
Yet another case of update_llc_test_checks.py not reporting when a RUN doesn't have any matching prefixes
-
Luís Marques authored
Illustrates bug 49500 <https://bugs.llvm.org/show_bug.cgi?id=49500>.
-
Nicolas Vasilache authored
- Drop unnecessary occurrences of rewriter.eraseOp: dead linalg ops on tensors should be cleaned up by DCE. - reimplement the part of Linalg on fusion that constructs the body and block arguments: the previous implementation had too much magic. Instead this spells out all cases explicitly and asserts / introduces TODOs for incorrect cases. As a consequence, we can use the default traversal order for this pattern. Differential Revision: https://reviews.llvm.org/D99070
-
Balázs Kéri authored
There was only an `Import` function for `QualType` but not for `Type`. For correct import of some AST nodes where not `QualType` is used an import of `Type *` is needed. (It is the case with `FieldDecl::getCapturedVLAType`.) Reviewed By: shafik, teemperor, martong Differential Revision: https://reviews.llvm.org/D98951
-
Louis Dionne authored
This makes it easier to see what exact build commands are used. Differential Revision: https://reviews.llvm.org/D98992
-
Martin Storsjö authored
Similar to the existing code for disabling GCC's -Wredudant-move, also check for the -Wpessimizing-move option and disable it if possible. This silences another bunch of noisy warnings when building LLVM with GCC 9. As noted for -Wredundant-move, the code can't be fixed to silence the warnings while retaining support for older compilers. Differential Revision: https://reviews.llvm.org/D98942
-
Alexey Lapshin authored
writeToOutput function is useful when it is necessary to create different kinds of streams(based on stream name) and when we need to use a temporary file while writing(which would be renamed into the resulting file in a success case). This patch moves the writeToStream helper into the Support library. Differential Revision: https://reviews.llvm.org/D98426
-
Dmitri Gribenko authored
-
Roman Lebedev authored
Even though we have read the times before, we intentionally forget about it for performance reasons. But that means we also forget all the times for the tests that weren't executed this time. This is mildly inconvenient. So, when recording the new times, first re-read the old times, and update times for the tests that were executed, thus preserving all original times, too.
-
Roman Lebedev authored
Simply refactor code into reusable functions, to allow read_test_times() to be reused later.
-
Roman Lebedev authored
I.e. when you first run lit on a directory, and then on a single test, the timing knowledge about anything else other than that single test is lost. This isn't right.
-
Roman Lebedev authored
All of these depend on the order of tests, so if one runs them twice, the tests within them will naturally be reordered using the previous run times, which breaks them.
-
Roman Lebedev authored
If lit was run on a directory that contained no suites, then naturally suite[0] will not be there, and that line would cause python warnings. So just predicate it with a check that it is there in the first place.
-
Florian Hahn authored
Add a set of interesting test cases for GEPs without inbounds for upcoming patches.
-
Muhammad Omair Javaid authored
Tests dwarf5-debug_line-file-index.s fails on arm-linux-gnueabihf. Bug # 49678 has been filed against it.
-
Bradley Smith authored
This attribute represents the minimum and maximum values vscale can take. For now this attribute is not hooked up to anything during codegen, this will be added in the future when such codegen is considered stable. Additionally hook up the -msve-vector-bits=<x> clang option to emit this attribute. Differential Revision: https://reviews.llvm.org/D98030
-
Sven van Haastregt authored
Implement the TreeTransform for AsTypeExpr. Split `BuildAsTypeExpr` out of `ActOnAsTypeExpr`, such that we can call the Build method from the TreeTransform. Fixes PR47979. Differential Revision: https://reviews.llvm.org/D98855
-
Kadir Cetinkaya authored
Dummy is a word with inappropriate associations. This patch updates the references to it in clangd code base with more precise ones. The only user-visible change is the default variable name used when extracting a variable. It will be named as `placeholder` from now on. Differential Revision: https://reviews.llvm.org/D99065
-
Andrzej Warzynski authored
`-module-dir` is a Flang specific option and should not be visible in Clang. This patch adds `FlangOnlyOption` flag to its definition. This way Clang will know that it should reject it and skip it when generating output for `clang -help`. The definition of `-module-dir` is moved next to other Flang options. As `-J` is an alias for `-module-dir`, it has to be moved as well (the alias cannot be defined before the original option). As `gfortran` mode is effectively no longer supported (*), `-J` is claimed as Flang only option. This is a follow-up of a post-commit review for https://reviews.llvm.org/D95448. * https://reviews.llvm.org/rG6a75496836ea14bcfd2f4b59d35a1cad4ac58cee Differential Revision: https://reviews.llvm.org/D99018
-
Sjoerd Meijer authored
This adds some conversion match patterns for which we want to keep the int values in FP registers using the corresponding NEON instructions (not the FP instructions) to avoid more costly int <-> fp register transfers. Differential Revision: https://reviews.llvm.org/D98956
-
Valeriy Savchenko authored
ImmutableSet doesn't seem like the perfect fit for the RangeSet data structure. It is good for saving memory in a persistent setting, but not for the case when the population of the container is tiny. This commit replaces RangeSet implementation and redesigns the most common operations to be more efficient. Differential Revision: https://reviews.llvm.org/D86465
-
Stefan Gränitz authored
-
Florian Hahn authored
Add a set of interesting test cases with multi-dimensional GEPs for upcoming patches.
-
Stefan Gränitz authored
Add diagnostic output for TCP connections on both sides, llvm-jitlink and llvm-jitlink-executor. Port the executor to use getaddrinfo(3) as well. This makes the code more symmetric and seems to be the recommended way for implementing the server side. Reviewed By: rzurob Differential Revision: https://reviews.llvm.org/D98581
-
Stefan Gränitz authored
Since llvm-jitlink moved from gethostbyname to getaddrinfo in D95477, it seems to no longer connect to llvm-jitlink-executor via TCP. I can reproduce this behavior on both, Debian 10 and macOS 10.15.7: ``` > llvm-jitlink-executor listen=localhost:10819 -- > llvm-jitlink --oop-executor-connect=localhost:10819 /path/to/obj.o Failed to resolve localhost:10819 ``` Reviewed By: rzurob Differential Revision: https://reviews.llvm.org/D98579
-
Sven van Haastregt authored
This speeds up the test running times, as the large `opencl-c.h` header no longer needs to be parsed.
-