- Feb 11, 2020
-
-
Dimitry Andric authored
This reverts commit 92e267a9, as it appears Android is missing dlinfo(3).
-
Sanjay Patel authored
As discussed in PR41083: https://bugs.llvm.org/show_bug.cgi?id=41083 ...we can assert/crash in EarlyCSE using the current hashing scheme and instructions with flags. ValueTracking's matchSelectPattern() may rely on overflow (nsw, etc) or other flags when detecting patterns such as min/max/abs composed of compare+select. But the value numbering / hashing mechanism used by EarlyCSE intersects those flags to allow more CSE. Several alternatives to solve this are discussed in the bug report. This patch avoids the issue by doing simple matching of min/max/abs patterns that never requires instruction flags. We give up some CSE power because of that, but that is not expected to result in much actual performance difference because InstCombine will canonicalize these patterns when possible. It even has this comment for abs/nabs: /// Canonicalize all these variants to 1 pattern. /// This makes CSE more likely. (And this patch adds PhaseOrdering tests to verify that the expected transforms are still happening in the standard optimization pipelines. I left this code to use ValueTracking's "flavor" enum values, so we don't have to change the callers' code. If we decide to go back to using the ValueTracking call (by changing the hashing algorithm instead), it should be obvious how to replace this chunk. Differential Revision: https://reviews.llvm.org/D74285
-
Vedant Kumar authored
Null-check and adjut a TypeLoc before casting it to a FunctionTypeLoc. This fixes a crash in -fsanitize=nullability-return, and also makes the location of the nonnull type available when the return type is adjusted. rdar://59263039 Differential Revision: https://reviews.llvm.org/D74355
-
Ted Woodward authored
Summary: The lit feature object-emission was added because Hexagon did not support the integrated assembler, so some tests needed to be turned off with a Hexagon target. Hexagon now supports the integrated assembler, so this feature can be removed. Reviewers: bcain, kparzysz, jverma, whitequark, JDevlieghere Reviewed By: JDevlieghere Subscribers: mehdi_amini, hiraditya, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73568
-
LLVM GN Syncbot authored
-
Hiroshi Yamauchi authored
Summary: It attempts to devirtualize a call on alloca through vtable loads. Reviewers: davidxl Subscribers: mgorny, Prazek, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71308
-
Davide Italiano authored
This reverts commit 1a39f1b9 as it breaks macOS.
-
Lei Zhang authored
We have spv.entry_point_abi for specifying the local workgroup size. It should be decorated onto input gpu.func ops to drive the SPIR-V CodeGen to generate the proper SPIR-V module execution mode. Compared to using command-line options for specifying the configuration, using attributes also has the benefits that 1) we are now able to use different local workgroup for different entry points and 2) the tests contains the configuration directly. Differential Revision: https://reviews.llvm.org/D74012
-
Alexey Bataev authored
Added full support for 'release' clause in flush|atomic directives.
-
Hanhan Wang authored
Summary: After D72555 has been landed, `linalg.indexed_generic` also accepts ranked tensor as input and output. Add a test for it. Differential Revision: https://reviews.llvm.org/D74267
-
Martin Storsjö authored
The plugin expects to have undefined references to symbols exported by the loading process, which isn't supported by shared libraries on windows. Differential Revision: https://reviews.llvm.org/D74042
-
Nico Weber authored
-
Xiangling Liao authored
This patch: - enable frame pointer for AIX; - update some of red zone comments; - add/update testcases; Differential Revision: https://reviews.llvm.org/D72454
-
Matt Arsenault authored
-
Nico Weber authored
-
Sterling Augustine authored
Differential Revision: https://reviews.llvm.org/D74249
-
Nico Weber authored
-
Jan Korous authored
Reland "[clangd][test] Disable a particular testcase in FindExplicitReferencesTest when LLVM_ENABLE_EXPENSIVE_CHECKS"" The test got re-enabled after d54d71b6 landed. However it seems that the order is still not deterministic as it currently passes with -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF but randomly fails with expensive checks ON.
-
Sanjay Patel authored
Test that instcombine and early-cse can cooperate to reduce sequences of select patterns that are not composed of the same underlying instructions. There's a bug in EarlyCSE (PR41083), and we can test how much a possible fix (D74285) may affect optimization.
-
Vedant Kumar authored
-
Nicolas Vasilache authored
Summary: This revision adds EDSC support for VectorOps to enable the creation of a `vector_matmul` declaratively. The `vector_matmul` is a simple configuration of the `vector.contract` op that follows the StructuredOps abstraction. Differential Revision: https://reviews.llvm.org/D74284
-
Sanjay Patel authored
We were checking for extra uses of the negated operand even if we were not going to create it as part of this canonicalization. This was showing up as a regression when we limit EarlyCSE as proposed in D74285.
-
Sanjay Patel authored
-
Alexey Bataev authored
Added full support for acquire clause in flush|atomic directives.
-
diggerlin authored
SUMMARY: The patch is enable to support Mergeable2ByteCString and Mergeable4ByteCString Reviewers: daltenty Subscribers: wuzish, nemanjai, hiraditya Differential Revision: https://reviews.llvm.org/D74164
-
Ted Woodward authored
Summary: The return address validation in D71372 will fail if the memory permissions can't be determined. Many embedded stubs either don't implement the qMemoryRegionInfo packet, or don't have memory permissions at all. Remove the return from the if clause that calls GetLoadAddressPermissions, so this call failing doesn't cause the step out to abort. Instead, assume that the memory permission check doesn't apply to this type of target. Reviewers: labath, jingham, clayborg, mossberg Reviewed By: labath, jingham Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72513
-
Nico Weber authored
Differential Revision: https://reviews.llvm.org/D73988
-
serge-sans-paille authored
`vector' uses the keyword-and-predefine mode from gcc, while __vector is reliably supported. As a side effect, it also makes the code consistent in its usage of __vector. Differential Revision: https://reviews.llvm.org/D74129
-
David Goldman authored
Summary: - This option forces a preamble rebuild to handle the odd case of a missing header file being added Reviewers: sammccall Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, jfb, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73916
-
Nico Weber authored
-
Eric Christopher authored
-
https://reviews.llvm.org/D74137Max Moroz authored
Summary: The refactoring has caused a failure in http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/29265 The idea of failing the symbolization when the symbolizer bufer is too small was incorrect. The symbolizer can be invoked for other frames that may fit into the buffer and get symbolized. Reviewers: vitalybuka, eugenis Subscribers: dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D74343
-
Florian Hahn authored
ConstantInt values are always represented as constant ranges with a single element. getConstantInt is obsolete, as pointed out by @nikic during D60581. Reviewers: nikic Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D74329
-
Stephen Neuendorffer authored
-
Stephen Neuendorffer authored
-
Stephen Neuendorffer authored
Differential Revision: https://reviews.llvm.org/D73672
-
Stephen Neuendorffer authored
Allow this only if the types are the same. e.g.: i16 -> index -> i16 or index -> i16 -> index Differential Revision: https://reviews.llvm.org/D73671
-
Stephen Neuendorffer authored
NFC for binary operations. Differential Revision: https://reviews.llvm.org/D73670
-
Rachel Craik authored
LoopCacheAnalysis currently assumes the loop will be iterated over in a forward direction. This patch addresses the issue by using the absolute value of the stride when iterating backwards. Note: this patch will treat negative and positive array access the same, resulting in the same cost being calculated for single and bi-directional access patterns. This should be improved in a subsequent patch. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D73064
-
Dimitry Andric authored
Summary: Instead of hand-crafting an offset into the structure returned by dlopen(3) to get at the link map, use the documented API. This is described in dlinfo(3): by calling it with `RTLD_DI_LINKMAP`, the dynamic linker ensures the right address is returned. Reviewers: devnexen, emaste, MaskRay, krytarowski Reviewed By: krytarowski Subscribers: krytarowski, vitalybuka, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73990
-