- May 02, 2021
-
-
Chris Lattner authored
-
- May 01, 2021
-
-
Nikita Popov authored
This seems to be a leftover from when the BackedgeTakenInfo stored multiple exit counts with manual memory management. At some point this was switchted to a simple vector, and there should be no need to micro-manage the clearing anymore. We can simply drop the loop from the map and the the destructor do its job.
-
Nikita Popov authored
This is checked again directly below this condition.
-
LemonBoy authored
Apply the same logic used to check if CMPXCHG nodes should be expanded at -O0: the register allocator may end up spilling some register in between the atomic load/store pairs, breaking the atomicity and possibly stalling the execution. Fixes PR48017 Reviewed By: efriedman Differential Revision: https://reviews.llvm.org/D101163
-
Nikita Popov authored
-
LemonBoy authored
Pre-requisite for D101163, the `NOLSE-0O` case shows registers being spilled inside the rmw loop. Use two separate prefixes for the `LSE-O0` case as some outputs differ only by a comment that update_llc_test_checks.py ignores but lit does not, causing the test to fail unexpectedly when run.
-
Arthur O'Dwyer authored
This reverts another of the macros just added in D101613, because it turns out that the <optional> and <filesystem> headers use the identifier __opt.
-
Arthur O'Dwyer authored
This reverts one of the macros just added in D101613, because it turns out that the <utility> header actually uses the identifiers __x, __y, __z. We probably *shouldn't* use __z if it's reserved on Windows; but since it's not causing us any active problem even on Windows, I think this is the safest way to unbreak the test.
-
Yaxun (Sam) Liu authored
AMDGPU backend need to know whether floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE754-2008, which is conveyed by a function attribute "amdgpu-ieee". "amdgpu-ieee"="false" turns this off. Without this function attribute backend assumes it is on for compute functions. -mamdgpu-ieee and -mno-amdgpu-ieee are added to Clang to control this function attribute. By default it is on. -mno-amdgpu-ieee requires -fno-honor-nans or equivalent. Reviewed by: Matt Arsenault Differential Revision: https://reviews.llvm.org/D77013
-
LemonBoy authored
Pre-requisite for D101163, the NOLSE-0O case shows registers being spilled inside the rmw loop.
-
Nikita Popov authored
or-ne is the conjugated pattern for and-eq.
-
Vitaly Buka authored
-
Vitaly Buka authored
Attribute guaranties safe static initialization of globals. Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D101514
-
Martin Storsjö authored
This reverts a224bf8e and fixes the underlying issue. The underlying issue is simply that MSVC headers contains a define like "#define __in", where __in is one macro in the MSVC Source Code Annotation Language, defined in sal.h Just use a different variable name than "__in" __indirectly_readable_impl, and add "__in" to nasty_macros.h just like the existing __out. (Also adding a couple more potentially conflicting ones.) Differential Revision: https://reviews.llvm.org/D101613
-
Nathan James authored
-
Martin Storsjö authored
If libc++ is built as a DLL, calls to operator new within the DLL aren't overridden if a user provides their own operator in calling code. Therefore, the alloc counter doesn't pick up on allocations done within std::string, so skip that check if running on windows. (Technically, we could keep the checks if running on windows when not built as a DLL, but trying to keep the conditionals simple.) Differential Revision: https://reviews.llvm.org/D100219
-
Nathan Chancellor authored
Revert "Re-reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"" This reverts commit 791930d7, as per https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy. I observed breakage with the Linux kernel, as reported at https://reviews.llvm.org/D91722#2724321 Fixes exist at https://reviews.llvm.org/D101523 https://reviews.llvm.org/D101540 but they have not landed so to unbreak the tree for the weekend, revert this commit. Commit b11e4c99 ("Revert "[DebugInfo] Drop DBG_VALUE_LISTs with an excessive number of debug operands"") only reverted one follow-up fix, not the original patch that broke the kernel. e
-
Arthur O'Dwyer authored
A span has no idea what container (if any) "owns" its iterators, nor under what circumstances they might become invalidated. However, continue to use `__wrap_iter<T*>` instead of raw `T*` outside of debug mode, because we've been shipping `std::span` since Clang 7 and ldionne doesn't want to break ABI. (Namely, the mangling of functions taking `span::iterator` as a parameter.) Permit using raw `T*` there, but only under an ABI macro: `_LIBCPP_ABI_SPAN_POINTER_ITERATORS`. Differential Revision: https://reviews.llvm.org/D101003
-
Aart Bik authored
(1) migrates the encoding from TensorDialect into the new SparseTensorDialect (2) replaces dictionary-based storage and builders with struct-like data Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D101669
-
Alex Lorenz authored
when passing -platform_version to the linker The use of a valid SDK version is preferred over an empty SDK version (0.0.0) as the system's runtime might expect the linked binary to contain a valid SDK version in order for the binary to work correctly rdar://66795188
-
Nemanja Ivanovic authored
These are added for compatibility with XLC.
-
Nemanja Ivanovic authored
Commit 70c433a1 added this test case that has -stop-before that mentions a pass that is only added for non-release builds. Add the requirement for asserts.
-
Kevin Athey authored
Getting my feet wet here as a new committer. Correct misspelling in check-depends.pl. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101552
-
Fangrui Song authored
Adopt my suggestion in https://reviews.llvm.org/D91426#2653926 , generalizing the ppc64 specific code. GNU ld and glibc ld.so has a contract about the first few entries of .got . There are somewhat complex conditions when the header is needed. This patch switches to a simpler approach: add a header unconditionally if _GLOBAL_OFFSET_TABLE_ is used or the number of entries is more than just the header.
-
Nemanja Ivanovic authored
This adds the long overdue implementations of these functions that have been part of the ABI document and are now part of the "Power Vector Intrinsic Programming Reference" (PVIPR). The approach is to add new builtins and to emit code with the fast flag regardless of whether fastmath was specified on the command line. Differential revision: https://reviews.llvm.org/D101209
-
LLVM GN Syncbot authored
-
Arthur O'Dwyer authored
-
Adrian Prantl authored
This reverts commit 43bc584d. The commit broke the -DLLVM_ENABLE_MODULES=1 builds. http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/31603/consoleFull#2136199809a1ca8a51-895e-46c6-af87-ce24fa4cd561
-
Nick Desaulniers authored
This reverts commit b623df3c93983c4512aa54f2c706716bdf865a90, as per https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy. Breakages observed downstream reported in: https://reviews.llvm.org/D91722#2724321 Fixes exist in: https://reviews.llvm.org/D101523 https://reviews.llvm.org/D101540 but haven't landed yet going into the weekend.
-
George Balatsouras authored
The problem is the following. With fast8, we broke an important invariant when loading shadows. A wide shadow of 64 bits used to correspond to 4 application bytes with fast16; so, generating a single load was okay since those 4 application bytes would share a single origin. Now, using fast8, a wide shadow of 64 bits corresponds to 8 application bytes that should be backed by 2 origins (but we kept generating just one). Let’s say our wide shadow is 64-bit and consists of the following: 0xABCDEFGH. To check if we need the second origin value, we could do the following (on the 64-bit wide shadow) case: - bitwise shift the wide shadow left by 32 bits (yielding 0xEFGH0000) - push the result along with the first origin load to the shadow/origin vectors - load the second 32-bit origin of the 64-bit wide shadow - push the wide shadow along with the second origin to the shadow/origin vectors. The combineOrigins would then select the second origin if the wide shadow ...
-
Jon Roelofs authored
This extends the early-ifcvt pass to avoid a few more cases where the resulting select instructions would have matching operands. Additionally, we now use TII to determine "sameness" of the operands so that as TII gets smarter, so too will ifcvt. The attached test case was bugpoint-reduced down from CINT2000/252.eon in the test-suite. See: https://clang.godbolt.org/z/WvnrcrGEn Differential Revision: https://reviews.llvm.org/D101508
-
Jon Roelofs authored
-
Christopher Di Bella authored
Implements parts of: * P0896R4 The One Ranges Proposal` Depends on D100269. Differential Revision: https://reviews.llvm.org/D100271 -
Dávid Bolvanský authored
Related to PR50172. Protects us against regressions after we will start doing cttz(zext(x)) -> zext(cttz(x)) transformation in the middle-end. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D101662
-
Arthur O'Dwyer authored
To run llvm-lit manually from the command line: ./bin/llvm-lit -sv --param std=c++2b --param cxx_under_test=`pwd`/bin/clang \ --param debug_level=1 ../libcxx/test/ Tests that currently fail with `debug_level=1` are marked `LIBCXX-DEBUG-FIXME`, but my intent is to deal with all of them and leave no such annotations in the codebase within the next couple weeks. (I have patches for all of them in my local checkout.) Differential Revision: https://reviews.llvm.org/D100866 -
Arthur O'Dwyer authored
This line was confusing some people: it's not supposed to indicate any kind of problem with the script, and I can't see any way it could even help with troubleshooting. So, just silence it.
-
Jon Roelofs authored
This reverts commit 3d27b5d2. Broke one of the PPC tests, which I didn't see because I usually build with only the x86/AARch64 targets enabled... oops. https://lab.llvm.org/buildbot#builders/109/builds/13834 llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll
-
Amara Emerson authored
This is a long overdue cleanup. Not every use is eliminated, I stuck to uses that were directly being called from select(), and not the render functions. Differential Revision: https://reviews.llvm.org/D101590
-
Jon Roelofs authored
This extends the early-ifcvt pass to avoid a few more cases where the resulting select instructions would have matching operands. Additionally, we now use TII to determine "sameness" of the operands so that as TII gets smarter, so too will ifcvt. The attached test case was bugpoint-reduced down from CINT2000/252.eon in the test-suite. See: https://clang.godbolt.org/z/WvnrcrGEn Differential Revision: https://reviews.llvm.org/D101508
-