- Sep 04, 2021
-
-
David Carlier authored
-
Mark de Wever authored
Marked the entries solely depending on D103357 or D96664 as complete. Initial work on implementing P2216 has started.
-
Simon Pilgrim authored
Noticed while trying to improve multiplication costs for vectorization via the D103695 helper script. Confirmed with Intel AoM.
-
Simon Pilgrim authored
Make it easier to describe microcoded instructions.
-
David Carlier authored
-
Mark de Wever authored
This option is used to select between the format headers output column width option. This option should be independent of the locale setting. It's encouraged to default to Unicode unless the platform doesn't offer that option. [format.string.std]/10 ``` For the purposes of width computation, a string is assumed to be in a locale-independent, implementation-defined encoding. Implementations should use a Unicode encoding on platforms capable of displaying Unicode ``` Reviewed By: #libc, ldionne, vitaut Differential Revision: https://reviews.llvm.org/D103379
-
LLVM GN Syncbot authored
-
Mark de Wever authored
This implements the initial version of the `std::formatter` class and its specializations. It also implements the following formatting functions: - `format` - `vformat` - `format_to` - `vformat_to` - `format_to_n` - `formatted_size` All functions have a `char` and `wchar_t` version. Parsing the format-spec and using the parsed format-spec hasn't been implemented. The code isn't optimized, neither for speed, nor for size. The goal is to have the rudimentary basics working, which can be used as a basis to improve upon. The formatters used in this commit are simple stubs that will be replaced by real formatters in later commits. The formatters that are slated to be replaced in this patch series don't have an availability macro to avoid merge conflicts. Note the formatter for `bool` uses `0` and `1` instead of "false" and "true". This will be fixed when the stub is replaced with a real formatter. Implements parts of: - P0645 Text Formatting Completes: - LWG3539 format_to must not copy models of output_iterator<const charT&> Reviewed By: ldionne, #libc, vitaut Differential Revision: https://reviews.llvm.org/D96664
-
Nikita Popov authored
The change here is basically the same as in D108880: Rather than looking at bitcasts, look at calls and their function type. We still need to look through bitcasts to find those calls. The change in llvm/test/CodeGen/WebAssembly/add-prototypes-conflict.ll is due to different visitation order. add-prototypes-opaque-ptrs.ll is a copy of add-prototypes.ll with -force-opaque-pointers. Differential Revision: https://reviews.llvm.org/D109256
-
Dávid Bolvanský authored
-
Dávid Bolvanský authored
-
Kazuaki Ishizaki authored
Reviewed By: xgupta Differential Revision: https://reviews.llvm.org/D77457
-
Balazs Benics authored
Thank you @martong for acquiring a suitable test case! Reviewed By: shafik, martong Differential Revision: https://reviews.llvm.org/D109237
-
Balazs Benics authored
`SVB.getStateManager().getOwningEngine().getAnalysisManager().getAnalyzerOptions()` is quite a mouthful and might involve a few pointer indirections to get such a simple thing like an analyzer option. This patch introduces an `AnalyzerOptions` reference to the `SValBuilder` abstract class, while refactors a few cases to use this /simpler/ accessor. Reviewed By: martong, Szelethus Differential Revision: https://reviews.llvm.org/D108824
-
Balazs Benics authored
Quoting https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html: > In the absence of the zero-length array extension, in ISO C90 the contents > array in the example above would typically be declared to have a single > element. We should not assume that the size of the //flexible array member// field has a single element, because in some cases they use it as a fallback for not having the //zero-length array// language extension. In this case, the analyzer should return `Unknown` as the extent of the field instead. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D108230
-
Kazuaki Ishizaki authored
`the the` -> `the` Reviewed By: xgupta Differential Revision: https://reviews.llvm.org/D77470
-
Loren Maggiore authored
Create a gpu memset op and corresponding CUDA and ROCm wrappers. Reviewed By: herhut, lorenrose1013 Differential Revision: https://reviews.llvm.org/D107548
-
Kazu Hirata authored
-
Brad Smith authored
-
Brad Smith authored
-
Kevin Athey authored
This reverts commit 095bea23. Broke buildbot: https://lab.llvm.org/buildbot/#/builders/5/builds/11411
-
William S. Moses authored
FuncOp always lowers to an LLVM external linkage presently. This makes it impossible to define functions in mlir which are local to the current module. Until MLIR FuncOps have a more formal linkage specification, this commit allows funcop's to have an optionally specified llvm.linkage attribute, whose value will be used as the linkage of the llvm funcop when lowered. Differential Revision: https://reviews.llvm.org/D108524 Support LLVM linkage
-
Brad Smith authored
-
Ben Shi authored
Prevent the folding if it leads to worse code. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D108871
-
Lang Hames authored
-
Richard Smith authored
-
Med Ismail Bennani authored
This patch should fix the build failure that surfaced when build llvm with GCC: https://lab.llvm.org/staging/#/builders/16/builds/10450 GCC complained that I explicitely specialized `ScriptedPythonInterface::ExtractValueFromPythonObject` in a in non-namespace scope, which is tolerated by Clang. To solve this issue, the specialization were declared out of the class and implemented in the source file. Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Brad Smith authored
-
Mehdi Amini authored
This makes the IR more readable, in particular when this will be used on the builtin func outside of the LLVM dialect. Reviewed By: wsmoses Differential Revision: https://reviews.llvm.org/D109209
-
Frederic Cambus authored
Differential Revision: https://reviews.llvm.org/D109244
-
David Blaikie authored
-
Michael Kruse authored
The preprocessor definitions __BYTE_ORDER__, __ORDER_BIG_ENDIAN__, and __ORDER_LITTLE_ENDIAN__ are gcc extensions (also supported by clang), but msvc (and others) do not define them. As a result __BYTE_ORDER__ and __ORDER_BIG_ENDIAN__ both evaluate to 0 by the prepreprocessor, and __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__, the first `#if` condition to 1, hence assuming the wrong byte order for x86(_64). This patch instead uses CMake's TestBigEndian module to determine target architecture's endianness at configure-time. Note this also uses the same mechanism for the runtime. If compiling flang as a cross-compiler, the runtime for the compile-target must be built separately (Flang does not support the LLVM_ENABLE_RUNTIMES mechanism yet). Fixes llvm.org/PR51597 Reviewed By: ijan1, Leporacanthicus Differential Revision: https://reviews.llvm.org/D109108
-
Michael Jones authored
Fix edge case where "0x" would be considered a complete hexadecimal number for purposes of str_end. Now the hexadecimal prefix needs a valid digit after it, else just the 0 will be counted as the number. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D109084
-
Aart Bik authored
This simplifies setting up sparse tensors through C-style data structures. Useful for runtimes that want to interact with MLIR-generated code without knowning about all bufferization details (viz. memrefs). Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D109251
-
Jinsong Ji authored
The test driver-fopenmp-extensions.c is failing on platforms that does not use integrated-as. It can be reproduced using -fno-integrated-as on Linux too. bin/clang -c -Xclang -verify=omp -fopenmp -fopenmp-extensions -fno-openmp-extensions ../llvm-project/clang/test/OpenMP/driver-fopenmp-extensions.c -fno-integrated-as Assembler messages: Error: can't open /tmp/driver-fopenmp-extensions-8fafe8.s for reading: No such file or directory clang-14: error: assembler command failed with exit code 1 (use -v to see invocation) The goal of this test is to verify syntax diags only, so we should use clang_cc1 to test. Reviewed By: jdenny, ABataev Differential Revision: https://reviews.llvm.org/D109255
-
Jonas Devlieghere authored
Follow up to 2cbd3b04 which added support for unnamed images but missed the use case in parse_frames.
-
Louis Dionne authored
Those constructors are very easy to misuse -- one could easily think that the size passed to the constructor is the size of the range to exhibit from the subrange. Instead, it's a size hint and it's UB to get it wrong. Hence, when it's cheap to compute the real size of the range, it's cheap to make sure that the user didn't get it wrong. Differential Revision: https://reviews.llvm.org/D108827
-
Louis Dionne authored
This reverts commit 2fbd254a, which broke the libc++ CI. I'm reverting to get things stable again until we've figured out a way forward. Differential Revision: https://reviews.llvm.org/D108696
-
David Blaikie authored
This does add some extra superfluous whitespace (eg: "int *") intended to make the Simplified Template Names work easier - this makes the DIE-based names match more exactly the clang-generated names, so it's easier to identify cases that don't generate matching names. (arguably we could change clang to skip that whitespace or add some fuzzy matching to accommodate differences in certain whitespace - but this seemed easier and fairly low-impact)
-
Rong Xu authored
Make the dtor virtual to fix the warning.
-