- Sep 06, 2023
-
-
laichunfeng authored
addi sp, sp, 512 may be used to recover the sp in the epilogue when stack size is larger than 2047(2^11 - 1), however, it can not be compressed using C extension, and addi sp, sp, 496 is able to be compressed, so try to use 496 as the ajust amount of the fisrt sp if function doesn't need extra instructions after adjust. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D159431
-
Sergei Barannikov authored
ParseStatus is slightly more convenient to use due to implicit conversion from bool, which allows to do something like: ``` return Error(L, "msg"); ``` when with MatchOperandResultTy it had to be: ``` Error(L, "msg"); return MatchOperand_ParseFail; ``` It also has more appropriate name since parse* methods are not only for parsing operands. Reviewed By: brad Differential Revision: https://reviews.llvm.org/D154321
-
Guray Ozen authored
Fixes #64529 https://github.com/llvm/llvm-project/issues/64529 Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D159440
-
Ting Wang authored
On PPC there are instructions to store element from vector(e.g. stxsdx/stxsiwx), and these instructions can be leveraged to avoid tail constant in memset and constant splat array initialization. This patch tries to explore these opportunities. Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D138883
-
Marek Sedláček authored
After D154102 multi-line labels would get split incorrectly. When CFG is generated for a function with basic block name longer than 80 lines, then the header separator will be placed after the line break for the label name instead of after the whole label name. The fix is simple by just moving the insert of | character before the line splitting happens. Differential Revision: https://reviews.llvm.org/D159207
-
Trung Nguyen authored
Adds build support for Haiku. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D157866
-
Pravin Jagtap authored
Authored-by:Pravin Jagtap <Pravin.Jagtap@amd.com>
-
Craig Topper authored
-
Michael Maitland authored
Reductions specified the correct formula in the comments but was implemented incorrectly. Ordered reductions formula was refined to be more accurate to actual hardware. A llvm-mca test case for reductions is added so that we have a better idea of how the model is performing.
-
Ed Maste authored
libc++ will drop support for Clang 15 before long.
-
Jie Fu authored
/data/llvm-project/compiler-rt/lib/dfsan/dfsan_custom.cpp:2546:37: error: parameter 'va_labels' set but not used [-Werror,-Wunused-but-set-parameter] dfsan_label *va_labels, dfsan_label *ret_label, ^ 1 error generated. -
Tomasz Kuchta authored
Reviewed By: browneee Differential Revision: https://reviews.llvm.org/D153775
-
Chris Bieneman authored
The goal of this change is to clean up some of the code surrounding HLSL using CXXThisExpr as a non-pointer l-value. This change cleans up a bunch of assumptions and inconsistencies around how the type of `this` is handled through the AST and code generation. This change is be mostly NFC for HLSL, and completely NFC for other language modes. This change introduces a new member to query for the this object's type and seeks to clarify the normal usages of the this type. With the introudction of HLSL to clang, CXXThisExpr may now be an l-value and behave like a reference type rather than C++'s normal method of it being an r-value of pointer type. With this change there are now three ways in which a caller might need to query the type of `this`: * The type of the `CXXThisExpr` * The type of the object `this` referrs to * The type of the implicit (or explicit) `this` argument This change codifies those three ways you may need to query respectively as: * CXXMethodDecl::getThisType() * CXXMethodDecl::getThisObjectType() * CXXMethodDecl::getThisArgType() This change then revisits all uses of `getThisType()`, and in cases where the only use was to resolve the pointee type, it replaces the call with `getThisObjectType()`. In other cases it evaluates whether the desired returned type is the type of the `this` expr, or the type of the `this` function argument. The `this` expr type is used for creating additional expr AST nodes and for member lookup, while the argument type is used mostly for code generation. Additionally some cases that used `getThisType` in simple queries could be substituted for `getThisObjectType`. Since `getThisType` is implemented in terms of `getThisObjectType` calling the later should be more efficient if the former isn't needed. Reviewed By: aaron.ballman, bogner Differential Revision: https://reviews.llvm.org/D159247
-
LLVM GN Syncbot authored
-
Nico Weber authored
-
Greg Clayton authored
Our LLDB parser didn't correctly handle archives of all flavors on different systems, it currently only correctly handled BSD archives, normal and thin, on macOS, but I noticed that it was getting incorrect information when decoding a variety of archives on linux. There were subtle changes to how names were encoded that we didn't handle correctly and we also didn't set the result of GetObjectSize() correctly as there was some bad math. This didn't matter when exracting .o files from .a files for LLDB because the size was always way too big, but it was big enough to at least read enough bytes for each object within the archive. This patch does the following: - switch over to use LLVM's archive parser and avoids previous code duplication - remove values from ObjectContainerBSDArchive::Object that we don't use like: - uid - gid - mode - fix ths ObjectContainerBSDArchive::Object::file_size value to be correct - adds tests to test that we get the correct module specifications Differential Revision: https://reviews.llvm.org/D159408
-
Jonas Devlieghere authored
Similarly to WithMarkup, add LLVM_CTOR_NODISCARD to the WithColor constructor.
-
Jonas Devlieghere authored
[[nodiscard]] on constructors is a defect report against C++17. That means that it should be applied retroactively, though older compilers might not know about it and emit warnings. This adds a back-compatibility macro.
-
Jakub Mazurkiewicz authored
This patch implements https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2443r1.html (`views::chunk_by`). Reviewed By: #libc, var-const Differential Revision: https://reviews.llvm.org/D144767
-
Bill Wendling authored
The headers are needed.
-
-
Derek Schuff authored
This also includes some files related to the Wasm binary and object file format (which is technically distinct from the WebAssembly architecture, but practically inseparable).
-
varconst authored
Differential Revision: https://reviews.llvm.org/D150747
-
Matt Arsenault authored
-
Fangrui Song authored
-
Mogball authored
Operations that can divide by zero and can have immediate undefined behaviour should be marked as `NoMemoryEffect` rather than `Pure`. Depends on D159456 Reviewed By: weiweichen Differential Revision: https://reviews.llvm.org/D159457
-
Mogball authored
It was common to see `value.getValue().empty()` or `value.size()` instead of the idiomatic `value.empty()`. Depends on D159455 Differential Revision: https://reviews.llvm.org/D159456
-
Mogball authored
Differential Revision: https://reviews.llvm.org/D159455
-
Carlo Bramini authored
Cygwin shares the same limitations as traditional Windows executables for dynamic library loading, so disable building the dynamic library on Cygwin targets. Differential Revision: https://reviews.llvm.org/D155796
-
Joel E. Denny authored
Buildbots failed after this landed, as reported at: <https://github.com/llvm/llvm-project/pull/65267#issuecomment-1707318337> This reverts commit 9191ba7144b39f5af699993d66f3587d5da49759.
-
Mehdi Amini authored
-
Matt Arsenault authored
Probably missed some cases. We also probably should rename the ML stuff to use a consistent capitalization scheme
-
Alexander Richardson authored
-
Kazu Hirata authored
These functions have been deprecated since: commit 8b1d86ae Author: Guillaume Chatelet <gchatelet@google.com> Date: Mon Jan 23 10:08:01 2023 +0000 commit 355cc3fd Author: Guillaume Chatelet <gchatelet@google.com> Date: Tue Jan 24 10:39:58 2023 +0000 Differential Revision: https://reviews.llvm.org/D159448
-
Heejin Ahn authored
This removes a comment added in D159312, which warned people to not re-add a whitespace in the `((void*)0))` expression. After discussions happened in D159312, it doesn't seem like a permanent solution. While I'd like to keep the whitespace removed for now, given that at least it can be a band-aid to some users who use musl and clang's `stddef.h` at the same time, it seems the usage of them together is not something that's officially supported, and I should not be implying this should be the permanent solution by saying so in the comments. Reviewed By: aaron.ballman, ributzka Differential Revision: https://reviews.llvm.org/D159383
-
Jan Svoboda authored
-
Jan Svoboda authored
-
Jan Svoboda authored
-
Bill Wendling authored
This time from clang/Parse. Differential Revision: https://reviews.llvm.org/D159435
-
Bill Wendling authored
Use forward decls instead of #including the header files. Differential Revision: https://reviews.llvm.org/D159421
-