- Oct 11, 2023
-
-
Fangrui Song authored
Most ArgList member functions use the modern functionName style while some like AddAllArgs use the legacy FunctionName style. These uses are mostly linker options which have been modified recently to fix duplicate -e issues, so just update these call sites.
-
Ben Shi authored
If '-r' is specified with target AVR: 1. Do not link to the avr-libc. 2. Do not emit some conflict options. 3. Do not emit any sub-target related address information/warning.
-
Sacha Coppey authored
This patch adds stackmap support for RISC-V without targets (i.e. the nop patchable forms). Reviewed By: reames Differential Revision: https://reviews.llvm.org/D123496
-
Evgenii Kudriashov authored
The value extension and truncation were missed during casting __ptr32/__ptr64 pointers to the default address space. Closes #66873
-
Kazu Hirata authored
Now that llvm::support::endianness has been renamed to llvm::endianness, we can use the shorter form. This patch replaces support::endianness::{big,little,native} with llvm::endianness::{big,little,native}. -
allatit23 authored
* refactor `convertFuncOpToLLVMFuncOp` to accept a `FunctionOpInterface` instead of func::FuncOp * move `convertFuncOpToLLVMFuncOp` to corresponding public header, making it available for downstream project.
-
Fangrui Song authored
-
Wang Pengcheng authored
This is what AArch64 has done in https://reviews.llvm.org/D20762. Tests are added in macro fusion tests, which uncover a bug that DAG mutations don't take effect.
-
Qiu Chaofan authored
-
hev authored
This PR improves memory barriers generated by atomic operations. Memory barrier semantics of LL/SC: ``` LL: <memory-barrier> + <load-exclusive> SC: <store-conditional> + <memory-barrier> ``` Changes: * Remove unnecessary memory barriers before LL and between LL/SC. * Fix acquire semantics. (If the SC instruction is not executed, then the guarantee of acquiring semantics cannot be ensured. Therefore, an acquire barrier needs to be generated when memory ordering includes an acquire operation.)
-
Kazu Hirata authored
DataflowAnalysis.h doesn't use Any.
-
Kazu Hirata authored
-
Kazu Hirata authored
The last template parameter of llvm::support::endian::{read,write} defaults to unaligned, so we can drop that at call sites. -
Kazu Hirata authored
Identified with misc-unused-using-decls.
-
luamfb authored
Fix issue https://github.com/llvm/llvm-project/issues/66990
-
Jonas Devlieghere authored
For LLVM_DIAGNOSTIC_DIR we want to create a subdirectory while for DSYMUTIL_REPRODUCER_PATH we want to use the directory specified. The latter makes writing a test a whole lot easier. Keep both to support both scenarios.
-
Philip Reames authored
This reverts commit b5ff71e2. As described in https://github.com/llvm/llvm-project/issues/68730, this appears to have exposed an existing liveness issue. Revert to green until we can figure out how to address the root cause. Note: This was not a clean revert. I ended up doing it by hand.
-
Adrian Prantl authored
This reverts commit 606f89ab while investigating bot failures.
-
Pete Lawrence authored
The `po` alias now matches the behavior of the `expression` command when the it can apply a Fix-It to an expression. Modifications - Add has `m_fixed_expression` to the `CommandObjectDWIMPrint` class a `protected` member that stores the post Fix-It expression, just like the `CommandObjectExpression` class. - Converted messages to present tense. - Add test cases that confirms a Fix-It for a C++ expression for both `po` and `expressions` rdar://115317419 Co-authored-by:
Pete Lawrence <plawrence@apple.com>
-
Thurston Dang authored
A recent change to ubsan (https://github.com/llvm/llvm-project/commit/792674400f6f04a074a3827349ed0e2ac10067f6) exposed an unaligned load in MachOReader (see https://lab.llvm.org/buildbot/#/builders/85/builds/19482 for an example). This patch fixes it by dropping the alignment.
-
Aviad Cohen authored
-
serge-sans-paille authored
In multi threaded application, it is possible for one thread to terminate the program while another is flushing profile information. We setup a signal mask to delay SIGKILL so that we can safely flush the profile. This patch setups the mask earlier: it reduces the window during which a SIGKILL can end the computation prematurely. This fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1850940 , where a profiled firefox was encountering several: LLVM Profile Error: Failed to write file "default_*.profraw": Broken pipe Co-authored-by:
serge-sans-paille <sguelton@mozilla.com>
-
Piotr Zegar authored
Update documentation.
-
Chengji Yao authored
This is the 1st PR of [Mesh sharding RFC](https://discourse.llvm.org/t/open-mlir-meeting-9-28-2023-rfc-sharding-framework-design-for-device-mesh/73695), includes Includes: - mesh.cluster op - mesh.shard op (the mesh.annotate op in the RFC slides, the name is modified a bit from @stellaraccident 's advice, which I think might be a bit more concise) - MeshSharding attribute
-
Balaji V. Iyer authored
This commit causes the following issue with sanitizers: `include/c++/v1/__debug_utils/strict_weak_ordering_check.h:52: assertion !__comp(*(__first + __b), *(__first + __a)) failed: Your comparator is not a valid strict-weak ordering` probably due to an invalid sort(). Revert "[MLIR][Transforms] Fix Mem2Reg removal order to respect dominance (#68687)" This reverts commit be81f42b.
-
James Y Knight authored
Previously, libcxx forced all strings created during constant evaluation to point to allocated memory. That was done due to implementation difficultites, but it turns out not to be necessary. This patch permits the use of SSO strings during constant evaluation, and also simplifies the implementation. This does have a downside in terms of enabling users to accidentally write non-portable code, however, which I've documented in UsingLibcxx.rst. In particular, whether `constinit std::string x = "...";` will successfully compile now depends on whether the string is smaller than the SSO capacity -- in libc++, up to 22 bytes on 64-bit platforms, and up to 10 bytes on 32-bit platforms. By comparison, libstdc++ and MSVC have an SSO capacity of 15 bytes, except that in libstdc++, constant-initialized strings cannot be used as function-locals because the object contains a pointer to itself. Closes #68434
-
Nitin John Raj authored
We lower G_PTR_ADD to G_ADD before selection. We choose to do this here and not post-legalization because G_PTR_ADD can still be combined with other instructions during selection.
-
Nitin John Raj authored
We use tablegen patterns to select for G_ICMP. There are existing SelectionDAG patterns for selecting G_LOAD, G_STORE and G_ZEXTLOAD with XLenVT type data. We introduce GIAddrRegImm to successfully import those patterns. For pointer and i32 loads and stores, we introduce new patterns, since these are not legal types in SelectionDAG.
-
Nitin John Raj authored
Calls to variadic functions do not seem to require any special handling.
-
LLVM GN Syncbot authored
-
Konstantin Varlamov authored
To allow for a smoother transition, keep the safe mode working as is in the LLVM 18 release (the first release that aims to make hardening available), then deprecate it in LLVM 19.
-
JP Lehr authored
We observe intermittent failures of that test and need some time to investigate. Hence, for now, we disable it.
-
Louis Dionne authored
We do not define anything beyond the C Library's limits.h, so it shouldn't be needed. This removes the need for a GCC-specific workaround, see [1]. [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107795 Differential Revision: https://reviews.llvm.org/D138384
-
Joseph Huber authored
Summary: The implementation of `assert` has an if statement so that only the first thread in the warp prints the assertion. On modern NVPTX architecture, this can be printed out of order with the abort call. This would lead to only a portion of the message being printed and then exiting the program. By adding a mandatory warp sync we force the full string to be printed before we continue to the abort.
-
Sergei Barannikov authored
There are no 64-bit variants of these ALU / SETHI instructions in V9. Remove these instruction definitions and add patterns to match DAG nodes to the generic instructions defined in SparcInstrInfo.td. This is not strictly NFC because of the changes in `2011-01-11-FrameAddr.ll` test. The reason is that Sparc delay slot filler pass handled ADDrr but not ADDXrr, which are now the same instruction.
-
Jonas Devlieghere authored
Rename DSYMUTIL_REPRODUCER_PATH to LLVM_DIAGNOSTIC_DIR as the latter is more generic and already set in our downstream build.
-
Valentin Clement authored
-
Valentin Clement (バレンタイン クレメン) authored
Add support for assumed shape arrays in lowering of the copy region of the firstprivate recipe. Information is passed in block arguments as it is done for the reduction recipe.
-
Florian Hahn authored
Extend the logic in addInfoForInductions to support decrementing inductions with a step of -1. Fixes #64881.
-
Sergey Kachkov authored
In some cases clobbering store can be safely skipped if it can only must or no alias with memory location and it writes the same value. This patch supports simple case when the value from memory location was loaded in the same basic block before the store and there are no modifications between them.
-