- Aug 02, 2020
-
-
Simon Pilgrim authored
Try to be more consistent with the SDLoc param in the TargetLowering methods. This also exposes an issue where we were passing a SDNode as a SDLoc, relying on the implicit SDLoc(SDNode) constructor.
-
Simon Pilgrim authored
Try to be more consistent with the SDLoc param in the TargetLowering methods.
-
Simon Pilgrim authored
-
Shinji Okumura authored
The commit cause build failure.
-
Nikita Popov authored
For folds where we check for the binop on both the LHS and RHS, extract a function that expects it on the LHS and call it with swapped order.
-
Xing GUO authored
-
Simon Pilgrim authored
Fixes clang-tidy warning.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Fixes clang-tidy warning.
-
Simon Pilgrim authored
-
Shinji Okumura authored
This is a split patch of D80991. This patch introduces AAPotentialValues and its interface only. For more detail of AAPotentialValues abstract attribute, see the original patch. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D83283
-
Florian Hahn authored
From PR46939.
-
Michał Górny authored
BUG_REPORT_URL is currently used both in LLVM and in Clang but declared only in the latter. This means that it's missing in standalone clang builds and the driver ends up outputting: PLEASE submit a bug report to and include [...] (note the missing URL) To fix this, include LLVM_PACKAGE_BUGREPORT in LLVMConfig.cmake (similarly to how we pass PACKAGE_VERSION) and use it to fill BUG_REPORT_URL when building clang standalone. Differential Revision: https://reviews.llvm.org/D84987
-
Craig Topper authored
Fixes part of PR46954
-
Craig Topper authored
This adds tests cases where the parity idiom of (and (ctpop X, 1)) has a truncate in the middle.
-
AK authored
Authored by: rjf (Ruijie Fang) Reviewed by: hiraditya,tejohnson,fhahn Differential Revision: https://reviews.llvm.org/D69384
-
AK authored
__assert_fail, abort, exit etc. are cold. TODO: outline throw Authored by: rjf (Ruijie Fang) Reviewed by: hiraditya,tejohnson,fhahn Differential Revision: https://reviews.llvm.org/D69257
-
Kazu Hirata authored
Use llvm::is_contained where appropriate (NFC) Reviewed By: kazu Differential Revision: https://reviews.llvm.org/D85083
-
Lang Hames authored
The -phony-externals option adds a generator which explicitly defines any otherwise unresolved externals as null. This transforms link-time unresolved-symbol errors into potential runtime null pointer accesses (if an unresolved external is actually accessed during execution). This option can be useful in -harness mode to avoid having to mock a large number of symbols that are not reachable at runtime (e.g. unused methods referenced by a class vtable).
-
Lang Hames authored
This prevents weak symbols from being immediately dead-stripped when not directly referenced from the test harneess, enabling use of weak symbols from the code under test.
-
Fangrui Song authored
Fixes PR46169
-
Evgenii Stepanov authored
Disable huge pages in the MSan shadow region when no_huge_pages_for_shadow == true (default). Differential Revision: https://reviews.llvm.org/D85061
-
Andrei Lebedev authored
-
Nikita Popov authored
As mentioned on D70376, LVI can currently cause performance issues when running under NewPM. The problem is that, unlike the legacy pass manager, NewPM will not immediately discard the LVI analysis if the following pass does not need it. This is a problem, because LVI has a high memory requirement, and mass invalidation of LVI values is very inefficient. LVI should only be alive during passes that actively interact with it. This patch addresses the issue by explicitly abandoning LVI after CVP, which gets us back to the LegacyPM behavior. Differential Revision: https://reviews.llvm.org/D84959
-
Craig Topper authored
[X86] Add assembler support for {disp8} and {disp32} to control the size of displacement used for memory operands. These prefixes should override the default behavior and force a larger immediate size. I don't believe gas issues any warning if you use {disp8} when a 32-bit displacement is already required. And this patch doesn't either. This completes the {disp8} and {disp32} support from PR46650. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D84793 -
Craig Topper authored
It's always safe to pick the earlier abs regardless of the nsw flag. We'll just lose it if it is on the outer abs but not the inner abs. Differential Revision: https://reviews.llvm.org/D85053
-
Craig Topper authored
Negating the input doesn't matter. I left a FIXME to copy the nsw flag if its present on the neg but not on the abs. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D85055
-
Florian Hahn authored
Looks like %s was accidentally dropped.
-
Florian Hahn authored
formLCSSAForInstructions is used by SCEVExpander, which tracks all inserted instructions including LCSSA phis using asserting value handles. This means cleanup needs to happen in the caller. Extend formLCSSAForInstructions to take an optional pointer to a vector. If this argument is non-nullptr, instead of directly deleting the phis, add them to the vector, so the caller can process them. This should address various PPC buildbot failures, including http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/40567
-
Simon Pilgrim authored
Helps vpternlog folding on non-AVX512BW targets
-
zoecarver authored
Add shared_ptr tests where the element type and pointer type aren't 'convertible' but are 'compatible'. Responding to a comment from D81414. Differential Revision: https://reviews.llvm.org/D81532
-
Simon Pilgrim authored
Noticed while investigating combining from concatenated shuffle vectors, we weren't checking that PSHUFLW/PSHUFHW was legal - we were depending on lowering splitting to subvectors.
-
Florian Hahn authored
Use IRBuilder instead PHINode::Create. This should not impact the generated code, but IRBuilder provides a way to register callbacks for inserted instructions, which is convenient for some users. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D85037
-
- Aug 01, 2020
-
-
Sanjay Patel authored
-
Luofan Chen authored
The word "dependency graph" is a bit misleading. When there is an edge from node A to B (A -> B), it actually mean that B depends on A and when the state of A is updated, B should also be updated. So I update the comment to make the description clearer. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D85065
-
David Green authored
This adds sign/zero extending scalar loads/stores to the MVE instructions added in D77813, allowing us to create up more post-inc instructions. These are comparatively simple, compared to LDR/STR (which may be better turned into an LDRD/LDM), but still require some additions over MVE instructions. Because there are i12 and i8 variants of the offset loads/stores dealing with different signs, we may need to convert an i12 address to a i8 negative instruction. t2LDRBi12 can also be shrunk to a tLDRi under the right conditions, so we need to be careful with codesize too. Differential Revision: https://reviews.llvm.org/D78625
-
Benjamin Kramer authored
-
Sanjay Patel authored
abs() should be rare enough that using value tracking is not going to be a compile-time cost burden, so use it to reduce a variety of potential patterns. We do this in DAGCombiner too. Differential Revision: https://reviews.llvm.org/D85043
-
Sanjay Patel authored
-
Simon Pilgrim authored
Minor precursor fix for D66004, but helps the SSE41 tests as well as they run with -disable-peephole
-