- Aug 24, 2022
-
-
Amir Ayupov authored
Move the large lambda out of BinaryFunction::disassemble, reducing its size from 338 to 295 LoC. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D132100
-
Amir Ayupov authored
Move the large lambda out of BinaryFunction::disassemble, reducing its size from 377 to 338 LoC. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D132099
-
Petr Hosek authored
We're seeing the following warnings with --rtlib=compiler-rt: lld-link: warning: ignoring unknown argument '--as-needed' lld-link: warning: ignoring unknown argument '-lunwind' lld-link: warning: ignoring unknown argument '--no-as-needed' MSVC doesn't use the unwind library, so just omit it. Differential Revision: https://reviews.llvm.org/D132440
-
River Riddle authored
Some tests still pass even though we don't claim big-endian support. Using UNSUPPORTED is a better indicator than XFAIL that we don't guarantee that the tests work.
-
River Riddle authored
Dialects can opt-in to providing custom encodings by implementing the `BytecodeDialectInterface`. This interface provides hooks, namely `readAttribute`/`readType` and `writeAttribute`/`writeType`, that will be used by the bytecode reader and writer. These hooks are provided a reader and writer implementation that can be used to encode various constructs in the underlying bytecode format. A unique feature of this interface is that dialects may choose to only encode a subset of their attributes and types in a custom bytecode format, which can simplify adding new or experimental components that aren't fully baked. Differential Revision: https://reviews.llvm.org/D132498
-
River Riddle authored
This moves some parsing functionality from BytecodeReader to AttrTypeReader, and removes some duplication between the attribute/type code paths. Differential Revision: https://reviews.llvm.org/D132497
-
River Riddle authored
This extracts the string section writer and reader into dedicated classes, which better separates the logic and will also simplify future patches that want to interact with the string section. Differential Revision: https://reviews.llvm.org/D132496
-
Teresa Johnson authored
The existing code resulted in the max size and access counts being equal to the min. Compute the max instead (max lifetime was already correct). Differential Revision: https://reviews.llvm.org/D132515
-
isuckatcs authored
The constructors of non-POD array elements are evaluated under certain conditions. This patch makes sure that in such cases we also evaluate the destructors. Differential Revision: https://reviews.llvm.org/D130737
-
Slava Zakharin authored
Keep the original data type of integer do-variables for structured loops. When do-variable's data type is an integer type shorter than IndexType, processing the do-variable separately from the DoLoop's iteration index allows getting rid of type casts, which can make backend optimizations easier. For example, ``` do i = 2, n-1 do j = 2, n-1 ... = a(j-1, i) end do end do ``` If value of 'j' is computed by casting the DoLoop's iteration index to 'i32', then Flang will produce the following LLVM IR: ``` %1 = trunc i64 %iter_index to i32 %2 = sub i32 %1, 1 %3 = sext i32 %2 to i64 ``` LLVM's InstCombine may try to get rid of the sign extension, and may transform this into: ``` %1 = shl i64 %iter_index, 32 %2 = add i64 %1, -4294967296 %3 = ashr exact i64 %2, 32 ``` The extra computations for the element address applied on top of this awkward pattern confuse LLVM vectorizer so that it does not recognize the unit-strided access of 'a'. Measured performance improvements on `SPEC CPU2000@IceLake`: ``` 168.wupwise: 11.96% 171.swim: 11.22% 172.mrgid: 56.38% 178.galgel: 7.29% 301.apsi: 8.32% ``` Differential Revision: https://reviews.llvm.org/D132176
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D132180
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D132175
-
Siva Chandra authored
This now allows enabling the chmod function on aarch64.
-
- Aug 23, 2022
-
-
Eli Friedman authored
Trying to figure out intermittent failure on reverse-iteration buildbot.
-
Sanjay Patel authored
(ctpop x) == 1 --> (x != 0) && ((x & x-1) == 0) Adjust the legality check to avoid the poor codegen on AArch64. We probably only want to use popcount on this pattern when it is a single instruction. fixes #57225 Differential Revision: https://reviews.llvm.org/D132237
-
Sanjay Patel authored
More coverage for D132237
-
Sanjay Patel authored
The existing tests were added with 2880d7b9, but discussion in D132412 suggests that we should start with a simpler pattern (the more complicated pattern may not be a real problem).
-
Vitaly Buka authored
342e0ebd reverted LLVM_ENABLE_RUNTIMES incompletly and missed /runtimes part. This target has no issues with LLVM_ENABLE_RUNTIMES, so we can keep it.
-
Vitaly Buka authored
-
Vitaly Buka authored
It runs 8 threads. Sometimes tsan is able to detect more than one of the same race.
-
Louis Dionne authored
We build libcxx using LLVM_ENABLE_RUNTIMES during Stage2, which requires cxx-headers to be part of LLVM_RUNTIME_DISTRIBUTION_COMPONENTS instead of LLVM_DISTRIBUTION_COMPONENTS. rdar://99028431 Differential Revision: https://reviews.llvm.org/D132488
-
Vitaly Buka authored
"this" parameter of lambda if undef, notnull and differentiable. So we need to pass something consistent. Any alloca will work. It will be eliminated as unused later by optimizer. Otherwise we generate code which Msan is expected to catch. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D132275
-
Peter Steinfeld authored
This title says it all. Differential Revision: https://reviews.llvm.org/D132179
-
Philip Reames authored
-
Alvin Wong authored
For mingw target, if a symbol is not marked DSO local, a `.refptr` is generated for it. This makes CFG check calls use an extra pointer dereference, which adds extra overhead compared to the MSVC version, so mark the CFG guard check funciton pointer DSO local to stop it. This should have no effect on MSVC target. Also adapt the existing cfguard tests to run for mingw targets, so that this change is checked. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D132331
-
Alvin Wong authored
To support using Control Flow Guard with mingw-w64, Clang needs to accept `__declspec(guard(nocf))` also for the GNU target. Since mingw has `#define __declspec(a) __attribute__((a))` as built-in, the simplest solution is to accept `__attribute__((guard(nocf)))` to be compatible with MSVC and Clang's msvc target. As a side effect, this also adds `[[clang::guard(nocf)]]` for C++. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D132302
-
William Huang authored
Change loop induction variable type to match the type of "SIZE" where it's compared against, to prevent infinite loop caused by overflow wraparound if there are more than 2^32 samples Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D132493
-
Mehdi Amini authored
This reverts commit 0cbfd6fd. A test is crashing with the shared_lib config.
-
Alexander Shaposhnikov authored
For unions constructors with empty bodies behave differently (in comparison with structs/classes) and clang-tidy's fix might break the code. This diff adjusts the check to skip unions for now (it seems to be a relatively rare case). Test plan: ninja check-all Differential revision: https://reviews.llvm.org/D132290
-
Stanley Winata authored
Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D132428
-
Alexander Shaposhnikov authored
makeArrayRef(argv + 1, argc) -> makeArrayRef(argv + 1, argc - 1) The previous behavior resulted in propagation of the null pointer into later stages of arguments parsing instead of being automatically handled by the existing check of MissingArgumentCount. Test plan: ninja check-all Differential revision: https://reviews.llvm.org/D132418
-
Siva Chandra authored
-
Stephen Tozer authored
This patch builds on prior support patches to enable support for variadic debug values in InstrRefLDV, allowing DBG_VALUE_LISTs to have their ranges extended. Differential Revision: https://reviews.llvm.org/D128212
-
Joseph Huber authored
The OpenMP device runtime needs to support the OpenMP standard. However constructs like nested parallelism are very uncommon in real application yet lead to complexity in the runtime that is sometimes difficult to optimize out. As a stop-gap for performance we should supply an argument that selectively disables this feature. This patch adds the `-fopenmp-assume-no-nested-parallelism` argument which explicitly disables the usee of nested parallelism in OpenMP. Reviewed By: carlo.bertolli Differential Revision: https://reviews.llvm.org/D132074
-
Simon Pilgrim authored
Enables fixed sized vectors to detect SK_Splice shuffle patterns and provides basic X86 cost support Differential Revision: https://reviews.llvm.org/D132374
-
Philip Reames authored
-
Simon Pilgrim authored
Converted the llvm::isPowerOf2_32/64 helpers into wrappers
-
Roy Jacobson authored
This patch implements P0848 in Clang. During the instantiation of a C++ class, in `Sema::ActOnFields`, we evaluate constraints for all the SMFs and compare the constraints to compute the eligibility. We defer the computation of the type's [copy-]trivial bits from addedMember to the eligibility computation, like we did for destructors in D126194. `canPassInRegisters` is modified as well to better respect the ineligibility of functions. Note: Because of the non-implementation of DR1734 and DR1496, I treat deleted member functions as 'eligible' for the purpose of [copy-]triviallity. This is unfortunate, but I couldn't think of a way to make this make sense otherwise. Reviewed By: #clang-language-wg, cor3ntin, aaron.ballman Differential Revision: https://reviews.llvm.org/D128619
-
Zahira Ammarguellat authored
This is to clarify that the macro __FLT_EVAL_METHOD__ is not pre- defined like other preprocessor macros. It will not appear when preprocessor macros are dumped. Differential Revision: https://reviews.llvm.org/D124033
-
Stefan Pintilie authored
There were two sections of code that had a lot of lambdas and in the patch D40554 it was suggested that we clean them up as a follow-up NFC patch. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D132394
-