- Feb 19, 2023
-
-
David Green authored
Given concat(zip1(a, b), zip2(a, b)), we can convert that to a 128bit zip1(a, b) if we widen a and b out first. Fixes #54226 Differential Revision: https://reviews.llvm.org/D121088
-
Noah Goldstein authored
Add cases for the following ops: - 0-X -- https://alive2.llvm.org/ce/z/6C75Li - bitreverse(X) -- https://alive2.llvm.org/ce/z/SGG1q9 - bswap(X) -- https://alive2.llvm.org/ce/z/p7pzwh - ctpop(X) -- https://alive2.llvm.org/ce/z/c5y3BC - abs(X) -- https://alive2.llvm.org/ce/z/yxXGz_ https://alive2.llvm.org/ce/z/rSRg4K - uadd_sat(X, Y) -- https://alive2.llvm.org/ce/z/Zw-y4W https://alive2.llvm.org/ce/z/2NRqRz https://alive2.llvm.org/ce/z/M1OpF8 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D142828 -
Noah Goldstein authored
Add cases for the following ops: - 0-X - bitreverse(X) - bswap(X) - ctpop(X) - abs(X) - uadd_sat(X, Y) Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D142827 -
Noah Goldstein authored
[ValueTracking] Add KnownBits patterns `xor(x, x - 1)` and `and(x, -x)` for knowing upper bits to be zero These two BMI pattern will clear the upper bits of result past the first set bit. So if we know a single bit in `x` is set, we know that `results[bitwidth - 1, log2(x) + 1] = 0`. Alive2: blsmsk: https://alive2.llvm.org/ce/z/a397BS blsi: https://alive2.llvm.org/ce/z/tsbQhC Differential Revision: https://reviews.llvm.org/D142271
-
Noah Goldstein authored
Differential Revision: https://reviews.llvm.org/D142270
-
Jay Foad authored
Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D142519
-
Cyndy Ishida authored
-
Cyndy Ishida authored
* Deployment Versions for targets * Run Search Paths * Text vs Data Segment attributes to symbols Reviewed By: pete Differential Revision: https://reviews.llvm.org/D144158
-
NAKAMURA Takumi authored
"TableGenBackends.h" has declarations of emitters.
-
NAKAMURA Takumi authored
-
NAKAMURA Takumi authored
-
Amara Emerson authored
The extending loads combine tries to prefer sign-extends folding into loads vs zexts, and in cases where a G_ZEXTLOAD is first used by a G_ZEXT, and then used by a G_SEXT, it would select the G_SEXT even though the load is already zero-extending. Fixes issue #59630
-
Florian Hahn authored
This reverts commit 5356fefc. It looks like Polly still relies on the legacy SCCP pass. Bring it back until the best way forward is determined.
-
Mark de Wever authored
While working on the formatter for the thread::id several minor issues where spotted. This fixes them.
-
Florian Hahn authored
This is part of the optimization pipeline, of which the legacy pass manager version is deprecated. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D144201
-
Mark de Wever authored
-
Kelvin Li authored
This patch adds a subset of PowerPC intrinsics - fmadd, fmsub, fnmadd and fnmsub. Differential Revision: https://reviews.llvm.org/D143951
-
Kristina Bessonova authored
This is similar to ADRP and matches GNU objdump: GNU objdump: ``` 0000000000200100 <_start>: 200100: adr x0, 201000 <_start+0xf00> ``` llvm-objdump (before patch): ``` 0000000000200100 <_start>: 200100: adr x0, #3840 ``` llvm-objdump (after patch): ``` 0000000000200100 <_start>: 200100: adr x0, 0x201000 <_start+0xf00> ``` Reviewed By: simon_tatham, peter.smith Differential Revision: https://reviews.llvm.org/D144079
- Feb 18, 2023
-
-
DianQK authored
This should fix https://github.com/rust-lang/rust/issues/107681. Return undefined to a noundef return value is undefined. Example: ``` define noundef i32 @test_ret_noundef(i1 %cond) { entry: br i1 %cond, label %bb1, label %bb2 bb1: br label %bb2 bb2: %r = phi i32 [ undef, %entry ], [ 1, %bb1 ] ret i32 %r } ``` Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D144319
-
Tue Ly authored
-
Sanjay Patel authored
issue #60799 issue #60801
-
Nikolas Klauser authored
Reviewed By: #libc, philnik Spies: Mordante, paulkirth, libcxx-commits Differential Revision: https://reviews.llvm.org/D144307
-
Mark de Wever authored
Depends on D142808 Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D143383
-
eopXD authored
Signed-off-by:eop Chen <eop.chen@sifive.com>
-
Amara Emerson authored
-
Benjamin Kramer authored
Avoids warnings in -asserts builds. ASTContext.cpp:4098:1: error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type] } ^
-
Ethan Luis McDonough authored
Addresses Github issue [[ https://github.com/llvm/llvm-project/issues/60317 | #60317 ]]. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D143469
-
LLVM GN Syncbot authored
-
Cyndy Ishida authored
Introduce initial reader for TBDv5 which is in JSON. This captures all the currently understood fields within the internal structure `InterfaceFile`. New fields will be followed up in future PRs. Reviewed By: pete Differential Revision: https://reviews.llvm.org/D144156
-
Shengchen Kan authored
The only instruction of this format is VEX encoding
-
Lang Hames authored
Allocation actions may run JIT'd code, which isn't permitted in -noexec mode. Testcases that depend on actions running should be moved to the ORC runtime.
-
Kirill Stoimenov authored
This caused false positives because the existing logic was not taking into account that pointers could have a tag in them. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D144305
-
Paulo Matos authored
This patch introduces a new type __externref_t that denotes a WebAssembly opaque reference type. It also implements builtin __builtin_wasm_ref_null_extern(), that returns a null value of __externref_t. This lays the ground work for further builtins and reference types. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D122215
-
Ye Luo authored
~TaskAsyncInfoWrapperTy() calls isDone. With synchronize inside isDone, we need to handle the error return from synchronize in the destructor. The consumers of TaskAsyncInfoWrapperTy, targetDataMapper and targetKernel, both call AsyncInfo.synchronize() before exiting. For this reason in ~TaskAsyncInfoWrapperTy(), calling synchronize() via isDone() is redundant. This patch removes synchronize() call inside isDone() and makes it a lightweight check. __tgt_target_nowait_query needs to call synchronize() before checking isDone(). Differential Revision: https://reviews.llvm.org/D144315
-
Matt Arsenault authored
-
Matt Arsenault authored
Also stop caring about typed pointers.
-
Fangrui Song authored
-
Renaud-K authored
[flang] Adding fir::getSymbolAttrName attribute to the function corresponding to the main subprogram. This is because the source name cannot be deconstructed from _QQmain Differential revision: https://reviews.llvm.org/D144295
-
Philip Reames authored
Experimental support for the zfa extension was recently added in https://reviews.llvm.org/D141984. A couple of the normal test changes and clang plumbing got missed in that change. This commit updates the usual suspects. Differential Revision: https://reviews.llvm.org/D144288
-