- Jun 28, 2022
-
-
Daniel Thornburgh authored
The tests use in-band ANSI color codes, while the Windows cmd console uses an out-of-band interface for color.
-
Daniel Thornburgh authored
The tests use in-band ANSI color codes, while the Windows cmd console uses an out-of-band interface for color.
-
Amir Ayupov authored
ICP peel for inline mode only makes sense for calls, not jump tables. Plus, add a check that the Target BinaryFunction is found. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128404
-
Peiming Liu authored
Previously, the sparse_tensor.unary integration test does not contain cases with the use of `linalg.index` (previoulsy unsupported), this commit adds test cases that use `linalg.index` operators. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D128460
-
LLVM GN Syncbot authored
-
Daniel Thornburgh authored
This adds a --filter option to llvm-symbolizer. This takes log-bearing symbolizer markup from stdin and writes a human-readable version to stdout. For now, this only implements the "symbol" markup tag; all others are passed through unaltered. This is a proof-of-concept bit of functionalty; implement the various tags is more-or-less just a matter of hooking up various parts of the Symbolize library to the architecture established here. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D126980
-
Chris Bieneman authored
Adding release note entries for LLVM & Clang to introduce the HLSL & DirectX support that is being added. Reviewed By: aaron.ballman, MaskRay Differential Revision: https://reviews.llvm.org/D127890
-
Joseph Huber authored
Summary: Currently in OpenMPOpt we strip `noinline` attributes from runtime functions. This is here because the device bitcode library that we link has problems with needed definitions getting prematurely optimized out. This is only necessary for OpenMP offloading to GPUs so we should narrow the scope for where we spend time doing this. In the future this shouldn't be necessary as we move to using a linked library rather than pulling in a bitcode library in Clang.
-
Kirill Okhotnikov authored
-
Amir Ayupov authored
- `indirect-call-promotion` -> `icp` - `indirect-call-promotion-mispredict-threshold` -> `icp-mp-threshold` - `indirect-call-promotion-use-mispredicts` -> `icp-use-mp` - `indirect-call-promotion-topn` -> `icp-topn` - `indirect-call-promotion-calls-topn` -> `icp-calls-topn` - `indirect-call-promotion-jump-tables-topn` -> `icp-jt-topn` - `icp-jump-table-targets` -> `icp-jt-targets` This also fixes an inconsistency in ICP flag names that some start with `indirect-call-promotion` while others start with `icp`. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128375
-
Amir Ayupov authored
Follow the case of https://reviews.llvm.org/D126068 and simplify call sites with `llvm::less_first`. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128242
-
Paul Walker authored
Increases coverage of predicated compares (int and fp) along with predicated zeroing of active floating point lanes.
-
Matt Arsenault authored
No point doing the more complicated check first.
-
Jonas Devlieghere authored
Add a log dump command to dump logs to a file. This only works for channels that have a log handler associated that supports dumping. For now that's limited to the circular log handler, but more could be added in the future. Differential revision: https://reviews.llvm.org/D128557
-
Patrick Walton authored
This commit modifies the AsmPrinter to avoid emitting any zero-sized symbols to the .debug_aranges table, by rounding their size up to 1. Entries with zero length violate the DWARF 5 spec, which states: > Each descriptor is a triple consisting of a segment selector, the beginning > address within that segment of a range of text or data covered by some entry > owned by the corresponding compilation unit, followed by the non-zero length > of that range. In practice, these zero-sized entries produce annoying warnings in lld and cause GNU binutils to truncate the table when parsing it. Other parts of LLVM, such as DWARFDebugARanges in the DebugInfo module (specifically the appendRange method), already avoid emitting zero-sized symbols to .debug_aranges, but not comprehensively in the AsmPrinter. In fact, the AsmPrinter does try to avoid emitting such zero-sized symbols when labels aren't involved, but doesn't when the symbol to emitted is a difference of two labels; this patch extends that logic to handle the case in which the symbol is defined via labels. Furthermore, this patch fixes a bug in which `available_externally` symbols would cause unpredictable values to be emitted into the `.debug_aranges` table under certain circumstances. In practice I don't believe that this caused issues up until now, but the root cause of this bug--an invalid DenseMap lookup--triggered failures in Chromium when combined with an earlier version of this patch. Therefore, this patch fixes that bug too. This is a revised version of diff D126257, which was reverted due to breaking tests. The now-reverted version of this patch didn't distinguish between symbols that didn't have their size reported to the DwarfDebug handler and those that had their size reported to be zero. This new version of the patch instead restricts the special handling only to the symbols whose size is definitively known to be zero. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D126835
-
Louis Dionne authored
Also, improve the test for nasty macros to define min and max, so this will be caught in the future. Differential Revision: https://reviews.llvm.org/D128655
-
Min-Yih Hsu authored
This patch memorize compatible LLVM types in `LLVM::isCompatibleType` in order to avoid redundant works. This is especially useful when the size of program is big and there are multiple occurrences of some deeply nested LLVM struct types, in which case we can gain quite some speedups with this patch. Differential Revision: https://reviews.llvm.org/D127918
-
Min-Yih Hsu authored
This patch adds three new LLVM intrinsic operations: llvm.intr.vastart/copy/end. And its translation from LLVM IR. This effectively removes a restriction, imposed by 0126dcf1, where non-external functions in LLVM dialect cannot be variadic. At that time it was not clear how LLVM intrinsics are going to be modeled, which indirectly affects va_start/copy/end, the core intrinsics used in variadic functions. But since we have LLVM intrinsics as normal MLIR operations, it's not a problem anymore. Differential Revision: https://reviews.llvm.org/D127540
-
Snehasish Kumar authored
Add a check to detect that the profiled binary was build with position independent code. Add a test with a pie binary to which can be reused later when support is added. Also clean up the error messages with trailing colons. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D128564
-
Michał Górny authored
Sponsored by: The FreeBSD Foundation
-
gbreynoo authored
We did not properly handle using CREATETHIN in an MRI script and attempting to use ADDLIB to add the contents of a regular archive. This fix outputs a meaningful error message in this case and provides some more testing. Differential Revision: https://reviews.llvm.org/D128067
-
Aaron Ballman authored
MSVC was issuing "illegal conversion; more than one user-defined conversion has been implicitly applied" as a warning on this code. Explicitly calling .str() causes a StringRef to be materialized so that a second user-defined conversion is not required.
-
Chi Chun Chen authored
-
- Jun 27, 2022
-
-
Aaron Ballman authored
This solves a format specifier warning for char32_t being converted to an unsigned integer type, and multiple format specifier warnings for size_t being converted to long.
-
Mark de Wever authored
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D128517
-
Frederic Cambus authored
Differential Revision: https://reviews.llvm.org/D128620
-
Ritanya B Bharadwaj authored
Implementing target in_reduction by wrapping target task with host task with in_reduction and if clause. This is in compliance with OpenMP 5.0 section: 2.19.5.6. So, this ``` for (int i=0; i<N; i++) { res = res+i } ``` will become ``` #pragma omp task in_reduction(+:res) if(0) #pragma omp target map(res) for (int i=0; i<N; i++) { res = res+i } ``` Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D125669 -
Michał Górny authored
Implement support for the "t" action that is used to stop a thread. Normally this action is used only in non-stop mode. However, there's no technical reason why it couldn't be also used in all-stop mode, e.g. to express "resume all threads except ..." (`t:...;c`). While at it, add a more complete test for vCont correctly resuming a subset of program's threads. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D126983
-
Andrzej Warzynski authored
Support for optimisation flags in LLVM Flang was originally added in https://reviews.llvm.org/D128043. That patch focused on LLVM middle-end/optimisation pipelines. With this patch, Flang will additionally configure LLVM backend pass pipelines accordingly. This behavior is consistent with Clang. New hook is added to translate compiler optimisation flags (e.g. `-O3`) into backend optimisation level: `getCGOptLevel`. Identical hooks are available in Clang and LLVM. In other words, the meaning of these optimisation flags remains consistent with other sub-projects that use LLVM backends. Differential Revision: https://reviews.llvm.org/D128050
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D128651
-
Nikita Popov authored
The global ctor evaluator currently handles by checking whether the memset memory is already zero, and skips it in that case. However, it only actually checks the first byte of the memory being set. This patch extends the code to check all bytes being set. This is done byte-by-byte to avoid converting undef values to zeros in larger reads. However, the handling is still not completely correct, because there might still be padding bytes (though probably this doesn't matter much in practice, as I'd expect global variable padding to be zero-initialized in practice). Mostly fixes https://github.com/llvm/llvm-project/issues/55859. Differential Revision: https://reviews.llvm.org/D128532
-
Lewuathe authored
Add complex.arg op which calculates the angle of complex number. The op name is inspired by the function carg in libm. See: https://sourceware.org/newlib/libm.html#carg Differential Revision: https://reviews.llvm.org/D128531
-
Nikita Popov authored
-
Matthias Springer authored
This change updates all remaining bufferization patterns (except for scf.while) and the remaining bufferization infrastructure to infer the memory space whenever possible instead of falling back to "0". (If a default memory space is set in the bufferization options, we still fall back to that value if the memory space could not be inferred.) Differential Revision: https://reviews.llvm.org/D128423
-
Than McIntosh authored
Add a missing "#if !SANITIZER_GO" guard for a call to DumpProcessMap in the Finalize hook (needed to build an updated Go race detector syso image). Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D128641
-
Matthias Springer authored
Add a failure return value and bufferization options argument. This is to keep a subsequent change smaller. Differential Revision: https://reviews.llvm.org/D128278
-
Phoebe Wang authored
This is split from D113107 to address #56204 and https://discourse.llvm.org/t/how-to-build-compiler-rt-for-new-x86-half-float-abi/63366 Reviewed By: zahiraam, rjmccall, bkramer Differential Revision: https://reviews.llvm.org/D128571
-
Louis Dionne authored
-
Florian Hahn authored
-