- Aug 11, 2021
-
-
Peter Steinfeld authored
When the upper bound is less than the lower bound, the extent is zero. This is specified in section 8.5.8.2, paragraph 3. Note that similar problems exist in the lowering code. This change only fixes the problem for the front end. I also added a test. Differential Revision: https://reviews.llvm.org/D107832
-
Matt Arsenault authored
The requested register class priorities weren't respected globally. Not sure why this is a target option, and not just the expected behavior (recently added in 1a6dc92b). This avoids an allocation failure when many wide tuple spills are introduced. I think this is a workaround since I would not expect the allocation priority to be required, and only a performance hint. The allocator should be smarter about when only a subregister needs to be spilled and restored. This does regress a couple of degenerate store stress lit tests which shouldn't be too important.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Jake Egan authored
%%% This patch defines the macro __HOS_AIX__ when the target is AIX and without any dependency on the host. The macro indicates that the host is AIX. Defining the macro will help minimize porting pain for existing code compiled with xlc/xlC. xlC never shipped cross-compiling support, so the difference is not observable anyway. %%% This is a follow up to the discussion in https://reviews.llvm.org/D107242. Reviewed By: cebowleratibm, joerg Differential Revision: https://reviews.llvm.org/D107825
-
Mark de Wever authored
All supported compilers should support _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED so this can be removed. Reviewed By: ldionne, #libc, Quuxplusone Differential Revision: https://reviews.llvm.org/D107239
-
Paul Robinson authored
-
George Rokos authored
Removed redundant assignment from condition which causes gcc to emit the following error: error: operation on ‘MoveData’ may be undefined [-Werror=sequence-point]
-
Tom Lokovic authored
abseil-string-find-str-contains should not propose an edit for the three-parameter version of find(). std::string, std::string_view, and absl::string_view all have a three-parameter version of find() which has a "count" (or "n") paremeter limiting the size of the substring to search. We don't want to propose changing to absl::StrContains in those cases. This change fixes that and adds unit tests to confirm. Reviewed By: ymandel Differential Revision: https://reviews.llvm.org/D107837
-
Joel E. Denny authored
targetDataEnd and targetDataBegin compute CopyMember/copy differently, and I don't see why they should. This patch eliminates one of those differences by making a simplifying NFC change to targetDataEnd. The change is NFC as follows. The change only affects the case when `!UNIFIED_SHARED_MEMORY || HasCloseModifier`. In that case, the following points are always true: * The value of CopyMember is relevant later only if DelEntry = false. * DelEntry = false only if one of the following is true: * IsLast = false. In this case, it's always true that CopyMember = false = IsLast. * `MEMBER_OF && !PTR_AND_OBJ` is true. In this case, CopyMember = IsLast. * Thus, if CopyMember is relevant, CopyMember = IsLast. Reviewed By: grokos Differential Revision: https://reviews.llvm.org/D105990 -
Denys Petrov authored
-
Denys Petrov authored
Summary: Move the test case to existing test file. Remove test file as duplicated. The file was mistakenly added due to concerns of a hidden bug (see https://reviews.llvm.org/D104381). After it turned out, that the bug was already fixed with another revision (https://reviews.llvm.org/D85817) and corresponding test was added as well, we can remove this file. Differential Revision: https://reviews.llvm.org/D106152
-
Denys Petrov authored
-
Craig Topper authored
Similar for sub except sub isn't commutative. Modify the existing and/or/xor folds to also work on ISD::SELECT and not just RISCVISD::SELECT_CC. This is needed to make sure we do this transform before type legalization turns i32 add/sub into add/sub+sign_extend_inreg on RV64. If we don't do this before that, the sign_extend_inreg will still be after the select. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D107603
-
- Aug 10, 2021
-
-
Louis Dionne authored
-
Alex Orlov authored
This patch implements paper P0692R1 from the C++20 standard. Disable usual access checking rules to template argument names in a declaration of partial specializations, explicit instantiation or explicit specialization (C++20 13.7.5/10, 13.9.1/6). Fixes: https://llvm.org/PR37424 This patch also implements option *A* from this paper P0692R1 from the C++20 standard. This patch follows the @rsmith suggestion from D78404. Reviewed By: krisb Differential Revision: https://reviews.llvm.org/D92024
-
Sanjay Patel authored
This is already done within InstCombine: https://alive2.llvm.org/ce/z/MiGE22 ...but leaving it out of analysis makes it harder to avoid infinite loops there.
-
Sanjay Patel authored
This reverts commit f43859b4. This is not NFC, so I'll try again without that mistake in the commit message.
-
Sanjay Patel authored
This is already done within InstCombine: https://alive2.llvm.org/ce/z/MiGE22 ...but leaving it out of analysis makes it harder to avoid infinite loops there.
-
Sanjay Patel authored
-
Dmitry Vyukov authored
tsan in some cases (e.g. after fork from multithreaded program, which arguably is problematic) increments ignore_interceptors and in that case runs just the intercepted functions and not their wrappers. For realpath the interceptor handles the resolved_path == nullptr case though and so when ignore_interceptors is non-zero, realpath (".", nullptr) will fail instead of succeeding. This patch uses instead the COMMON_INTERCEPT_FUNCTION_GLIBC_VER_MIN macro to use realpath@@GLIBC_2.3 whenever possible (if not, then it is likely a glibc architecture with more recent oldest symbol version than 2.3, for which any realpath in glibc will DTRT, or unsupported glibc older than 2.3), which never supported NULL as second argument. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D107819 -
Kazu Hirata authored
The last use was removed on Oct 28, 2013 in commit 48cbda58.
-
Raphael Isemann authored
-
Raphael Isemann authored
-
Thomas Preud'homme authored
Explicitely set x86_64-linux-gnu as a target for asan-use-callbacks clang test since some target do not support -fsanitize=address (e.g. i386-pc-openbsd). Also remove redundant -fsanitize=address and move -emit-llvm right after -S. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D107633
-
David Sherwood authored
I have added RUN lines to both: Transforms/LoopVectorize/AArch64/strict-fadd.ll Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll to show the default behaviour is to not vectorise when the following flag is unset: -force-ordered-reductions
-
Brian Cain authored
-
Florian Mayer authored
This reverts commit ba06ac8b.
-
Sam McCall authored
Before this patch, CXXCtorInitializers that don't typecheck get discarded in most cases. In particular: - typos that can't be corrected don't turn into RecoveryExpr. The full expr disappears instead, and without an init expr we discard the node. - initializers that fail initialization (e.g. constructor overload resolution) are discarded too. This patch addresses both these issues (a bit clunkily and repetitively, for member/base/delegating initializers) It does not preserve any AST nodes when the member/base can't be resolved or other problems of that nature. That breaks invariants of CXXCtorInitializer itself, and we don't have a "weak" RecoveryCtorInitializer like we do for Expr. I believe the changes to diagnostics in existing tests are improvements. (We're able to do some analysis on the non-broken parts of the initializer) Differential Revision: https://reviews.llvm.org/D101641
-
Sam McCall authored
Similar to ad2d6bbb Differential Revision: https://reviews.llvm.org/D107693
-
Raphael Isemann authored
LLDB evaluates some utility expression to update the Objective-C class list that ends up calling function such as `free` or `objc_copyRealizedClassList_nolock`. This adds a test that just tries to define our own bogus version of `objc_copyRealizedClassList_nolock`. It just tests that LLDB doesn't crash as we currently don't have a way to tell LLDB to look for the function in a specific library. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D107778
-
Raphael Isemann authored
[lldb] Add a test for potentially conflicting names for the Objective-C class update utility expression We recently had an issue where a user declared a `Class::free` function which then got picked up by accident by the expression evaluator when calling `::free`. This was due to a too lax filter in the DWARFIndex (which was fixed by https://reviews.llvm.org/D73191 ). This broke the Objective-C utility expression that is trying to update the Objective-C class list (which is calling `:;free`). This adds a regression test for situations where we have a bunch of functions defined that share the name of the global functions that this utility function calls. None of them are actually conflicting with the global functions we are trying to call (they are all in namespaces, objects or classes). Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D107776
-
David Green authored
This was checking extends as shuffles, where as we should be checking the operands. This helps sink the shuffles, creating more addl/subl instructions. Differential Revision: https://reviews.llvm.org/D107623
-
David Green authored
-
Tim Northover authored
-
Florian Mayer authored
Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D107816
-
Sven van Haastregt authored
Align guards of these builtins with opencl-c.h.
-
Konstantin Schwarz authored
If a G_SHL is fed by a G_CONSTANT, the lower and upper bits of the source can be shifted individually by the constant shift amount. However in case the shift amount came from a G_TRUNC(G_CONSTANT), the generic shift legalization code was used, producing intermediate shifts that are potentially illegal on some targets. This change teaches narrowScalarShift to look through G_TRUNCs and G_*EXTs. Reviewed By: paquette Differential Revision: https://reviews.llvm.org/D89100
-
bakhtiyar authored
Reviewed By: ezhulenev Differential Revision: https://reviews.llvm.org/D107788
-
Lang Hames authored
rdar://81056700
-