- Aug 24, 2022
-
-
John Ericson authored
If `LLVM_BUILD_MAIN_SRC_DIR` is not defined, just assume we are in regular monorepo layout. Non-standard (and not really supported) layouts can still be configured manually. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D132314
-
Bing1 Yu authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D132141
-
Simon Pilgrim authored
extractShiftForRotate may fail to return canonicalized shifts due to constant folding or other simplification that can occur in getNode() Fixes Issue #57283
-
Chris Bieneman authored
This allows the language mode for HLSL to be inferred from the file extension.
-
Chris Bieneman authored
This change came in a few hours ago and introduced a warning. The fix is trivial, so I'm providing it. The original change was reviewed here: https://reviews.llvm.org/D132331
-
Bing1 Yu authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D132141
-
River Riddle authored
MSVC is not picking up a variable capture somehow, try moving it inside.
-
Amir Ayupov authored
Move the large lambda out of BinaryFunction::disassemble, reducing its size from 255 to 233 LoC. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D132104
-
Amir Ayupov authored
Move the large lambda out of BinaryFunction::disassemble, reducing its size from 295 to 255 LoC. Differential Revision: https://reviews.llvm.org/D132101
-
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
-