- Sep 15, 2020
-
-
Stephan Herhut authored
This add canonicalizer for - extracting an element from a dynamic_tensor_from_elements - propagating constant operands to the type of dynamic_tensor_from_elements Differential Revision: https://reviews.llvm.org/D87525
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Sanjay Patel authored
There at least one other bug related to pow -> sqrt transforms: http://lists.llvm.org/pipermail/llvm-dev/2020-September/145051.html ...but we probably can't solve that without fixing this first.
-
Sanjay Patel authored
The code drops the sqrt op instead of bailing out, so this is very wrong.
-
Sanjay Patel authored
This is not a valid transform unless we can prove that the program does not read errno after the pow call and before some other function changes it.
-
Oliver Stannard authored
This test tries to create a 2 GiB std::string, catching the bad_alloc exception if the allocation fails. However, for no-exceptions builds there is no way for the error to be reported, so this crashes with a null pointer dereference. Differential revision: https://reviews.llvm.org/D87682
-
Florian Hahn authored
-
Nico Weber authored
-
Sam Clegg authored
With https://reviews.llvm.org/D87537 we made it an error to import or export a mutable global with the +mutable-globals feature present. However the scan was of the entire symbol table rather than just the imports or exports and the filter didn't match exaclyt meaning the `__stack_pointer` (a mutable global) was always triggering with error when the `--export-all` flag was used. This also revealed that we didn't have any test coverage for the `--export-all` flag. This change fixes the current breakage on the emscripten-releases roller. Differential Revision: https://reviews.llvm.org/D87663
-
sameeran joshi authored
Adds a new GettingInvolved page to documentation which provides details about mailing list, chats and calls. Adds a sidebar page which provides common links on all documentation pages. The links include: - Getting Started - Getting Involved - Github Repository - Bug Reports - Code Review Depends on https://reviews.llvm.org/D87242 Reviewed By: richard.barton.arm Differential Revision: https://reviews.llvm.org/D87270
-
Florian Hahn authored
This patch adds a isConditionImplied function that takes a constraint and returns true if the constraint is implied by the current constraints in the system. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D84545
-
Felix Berger authored
Restrict UnnecessaryCopyInitialization check to variables initialized from free functions without arguments This restriction avoids cases where an alias is returned to an argument and which could lead to to a false positive change.
-
Louis Dionne authored
Setting _LIBCPP_HAS_NO_THREADS is needed when building libcxxabi without threads in standalone mode. This is useful when target WASM. Otherwise, you get an error like "No thread API" when building libcxxabi. It would be better to link against a properly-configured libc++ headers CMake target when building libc++abi instead, but we don't generate such targets yet. Thanks to Matthew Bauer for the patch. Differential Revision: https://reviews.llvm.org/D60743
-
Simon Pilgrim authored
More remaining dependencies down to LoopCacheAnalysis.cpp
-
Simon Pilgrim authored
Forward declare AAResults instead of the (old) AliasAnalysis type.
-
Simon Pilgrim authored
These are all directly included in AliasSetTracker.h
-
Sjoerd Meijer authored
Loop tripcount expressions have a positive range, so use unsigned SCEV ranges for them. Differential Revision: https://reviews.llvm.org/D87608
-
Bjorn Pettersson authored
The "takeName" logic in ScalarizerVisitor::gather did not consider that the value vector could refer to non-instructions, such as global variables. This patch make sure that we avoid changing the name of a value if it isn't an instruction. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D87685
-
Pavel Labath authored
qemu calls the "fp" and "lr" registers via their generic names (x29/x30). This mismatch manifested itself as not being able to unwind or display values of some local variables.
-
Pavel Labath authored
lldbUtilityHelpers does not depend on lldbSymbolHelpers. Remove that dependency, and add direct lldbSymbolHelpers dependencies where needed.
-
Hans Wennborg authored
This seems to have caused incorrect register allocation in some cases, breaking tests in the Zig standard library (PR47278). As discussed on the bug, revert back to green for now. > Record internal state based on register units. This is often more > efficient as there are typically fewer register units to update > compared to iterating over all the aliases of a register. > > Original patch by Matthias Braun, but I've been rebasing and fixing it > for almost 2 years and fixed a few bugs causing intermediate failures > to make this patch independent of the changes in > https://reviews.llvm.org/D52010. This reverts commit 66251f7e, and follow-ups 931a68f2 and 0671a4c5. It also adjust some test expectations.
-
Simon Pilgrim authored
These are all directly included in SpillPlacement.h
-
Simon Pilgrim authored
These are all directly included in StatepointLowering.h
-
Simon Pilgrim authored
Reduce to forward declarations and move implicit dependencies down to the cpp files.
-
Florian Hahn authored
This patch recommits "[ConstraintSystem] Add helpers to deal with linear constraints." (it reverts the revert commit 8da6ae4c). The reason for the revert was using __builtin_multiply_overflow, which is not available for all compilers. The patch has been updated to use MulOverflow from MathExtras.h
-
Alex Zinenko authored
When packing function results into a structure during the standard-to-llvm dialect conversion, do not assume the conversion was successful and propagate nullptr as error state. Fixes PR45184. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D87605
-
Jakub Lichman authored
Changing directory name to reflect naming convention discussed here: https://llvm.discourse.group/t/vectorops-rfc-add-suite-of-integration-tests-for-vector-dialect-operations/1213 Differential Revision: https://reviews.llvm.org/D87678
-
Benjamin Kramer authored
This reverts commit cfff88c0. Sends instcombine into an infinite loop. ``` define i1 @foo(i32 %arg, i32 %arg1) { bb: %tmp = udiv i32 %arg, %arg1 %tmp2 = mul nsw i32 %tmp, %arg1 %tmp3 = icmp eq i32 %tmp2, %arg %tmp4 = select i1 %tmp3, i32 %tmp, i32 undef %tmp5 = icmp sgt i32 %tmp4, 255 ret i1 %tmp5 } ```
-
Simon Pilgrim authored
We're now getting close to having the necessary analysis/combines etc. for the new generic llvm smax/smin/umax/umin intrinsics. This patch updates the SSE/AVX integer MINMAX intrinsics to emit the generic equivalents instead of the icmp+select code pattern. Differential Revision: https://reviews.llvm.org/D87603
-
Meera Nakrani authored
Fixed a small error in an if condition to prevent usat/ssat being generated if (upper constant + 1) is not a power of 2.
-
Qiu Chaofan authored
960cbc53 immediately removes nodes that won't be used to avoid compilation time explosion. This patch adds the removal to constants to fix PR47517. Reviewed By: RKSimon, steven.zhang Differential Revision: https://reviews.llvm.org/D87614
-
Simon Pilgrim authored
Helps Visual Studio check include dependencies.
-
Sjoerd Meijer authored
-
Simon Pilgrim authored
Drop the pow2 vector limitation for AVG generation by padding the vector to the next pow2, creating the PAVG nodes and then extracting the final subvector. Fixes some poor codegen that has been annoying me for years.....
-
Georgii Rymar authored
Our implementation of stack sizes section dumping heavily uses `ELFObjectFile<ELFT>`, while the rest of the code uses `ELFFile<ELFT>`. That APIs are very different. `ELFObjectFile<ELFT>` is very generic and has `SectionRef`, `RelocationRef`, `SymbolRef` and other generic concepts. The `ELFFile<ELFT>` class works directly with `Elf_Shdr`, `Elf_Rel[a]`, `Elf_Sym` etc, what is probably much cleaner for ELF dumper. Also, `ELFObjectFile<ELFT>` API does not always provide a way to check for possible errors. E.g. the implementation of `symbol_end()` does not verify the `sh_size`: ``` template <class ELFT> basic_symbol_iterator ELFObjectFile<ELFT>::symbol_end() const { const Elf_Shdr *SymTab = DotSymtabSec; if (!SymTab) return symbol_begin(); DataRefImpl Sym = toDRI(SymTab, SymTab->sh_size / sizeof(Elf_Sym)); return basic_symbol_iterator(SymbolRef(Sym, this)); } ``` There are many other examples which makes me thing we might win from switching to `ELFFile<ELFT>` API, where we heavily validate an input data already. This patch is the first step in this direction. I've converted the large portion of the code to use `ELFFile<ELFT>`. Differential revision: https://reviews.llvm.org/D87362
-
Petr Hosek authored
This is a follow up to c1f2fb51.
-
Georgii Rymar authored
`ELFFile<ELFT>` has many methods that take pointers, though they assume that arguments are never null and hence could take references instead. This patch performs such clean-up. Differential revision: https://reviews.llvm.org/D87385
-
Petar Avramovic authored
Update TargetMachine.Options with function attributes before we start to generate MIR instructions. This allows access to correct function attributes via TargetMachine.Options (it used to access attributes of the function that was translated first). This affects some existing tests with "no-nans-fp-math" attribute. Follow-up on D87456. Differential Revision: https://reviews.llvm.org/D87511
-
Sjoerd Meijer authored
-