- Sep 29, 2023
-
-
Shafik Yaghmour authored
CheckDefaultArgumentVisitor::Visit(...) assumes that the children of Expr will not be NULL. This is not a valid assumption and when we have a CXXFoldExpr the children can be NULL and this causes a crash. Fixes: https://github.com/llvm/llvm-project/issues/67395
-
Alex Langford authored
The LLVM implementation of DWARFDebugAbbrev does not have a way of listing all the DW_FORM values that have been parsed but are unsupported or otherwise unknown. AFAICT this functionality does not exist in LLVM at all. Since my primary goal is to unify the implementations and not judge the usefulness or completeness of this functionality, I decided to move it out of LLDB's implementation of DWARFDebugAbbrev for the time being.
-
Hans Wennborg authored
The new implementation was brought in with the gtest update in a866ce78, but it crashes when building with rpmalloc, see https://github.com/llvm/llvm-project/pull/65823#issuecomment-1739820534 Comment out the new implementation basically gives us the code before the gtest update.
-
Jon Phillips authored
[clang-format] Disable OuterScope lambda indentation behaviour for constructor initializers (#66755) By default, OuterScope aligns lambdas to the beginning of the current line. This makes sense for most types of statements within code blocks but leads to unappealing and misleading indentation for lambdas within constructor initializers.
-
Leonard Chan authored
This uses a custom size class map and primary allocator arena size that allows us to run all bringup tests on riscv64 with asan instrumentation reliabely. Differential Revision: https://reviews.llvm.org/D151157
-
Alexey Bataev authored
This reverts commit c88c281c to fix the crash revealed by https://lab.llvm.org/buildbot/#/builders/230/builds/19353.
-
Yingwei Zheng authored
This patch canonicalizes the pattern `and(zext(A), B)` into `select A, B & 1, 0`. Thus, we can reuse transforms `select B == even, B & 1, 0 -> 0` and `select B == odd, B & 1, 0 -> zext(B == odd)` in `InstCombine`. It is an alternative to #66676. Alive2: https://alive2.llvm.org/ce/z/598phE Fixes #66733. Fixes #66606. Fixes #28612.
-
Aart Bik authored
Add CSC, but also adds BSR as a future format. Coming soon!
-
Noah Goldstein authored
The middle end canonicalizes: `(and (zext c), X)` -> `(select c, (and X, 1), 0)` But the `and` + `zext` form gets better codegen. -
Noah Goldstein authored
[X86][AArch64][RISCV] Add tests for combining `(select c, (and X, 1), 0)` -> `(and (zext c), X)`; NFC
-
prabhukr authored
Adding support for X86_64 UEFI target to begin with. Reviewed By: phosek, MaskRay Differential Revision: https://reviews.llvm.org/D152206
-
Ian Anderson authored
Including select builtin headers in system modules is a workaround for module cycles, primarily in Apple's Darwin module that includes all of its C standard library headers. The workaround is problematic because it doesn't include all of the builtin headers (inttypes.h is notably absent), and it also doesn't include C++ headers. The straightforward for for this is to make top level modules for all of the C standard library headers and unwind.h in C++, clang, and the OS. However, doing so in clang before the OS modules are ready re-introduces the module cycles. Add a -fbuiltin-headers-in-system-modules option to control if the special builtin headers belong to system modules or builtin modules. Pass the option by default for Apple. Reviewed By: ChuanqiXu, Bigcheese, benlangmuir Differential Revision: https://reviews.llvm.org/D159483
-
Louis Dionne authored
This NFC change was reverted as part of 880fa7fa, but the change is really good regardless of the associated Clang patch.
-
Alexey Bataev authored
Need to add NumSrcElts param to is..Mask functions in ShuffleVectorInstruction class for better mask analysis. Mask.size() not always matches the sizes of the permuted vector(s). Allows to better estimate the cost in SLP and fix uses of the functions in other cases. Differential Revision: https://reviews.llvm.org/D158449
-
Peiming Liu authored
…semble Pack/Unpack are overridden in many other places, rename the operations to avoid confusion.
-
Yingwei Zheng authored
This patch simplifies the overflow check of unsigned addition. `a + b <u a` implies `a + b <u b` `a + b >=u a` implies `a + b >=u b` Alive2: https://alive2.llvm.org/ce/z/H8oK8n Fixes #65863.
-
Lang Hames authored
-
Timm Bäder authored
This was never doing anything ever since it was introduced.
-
Timm Bäder authored
-
Lang Hames authored
The *Policy suffix came from the earlier MemAllocPolicy type, where it was included to distinguish the type from a memory-allocation operation. MemLifetime is a noun already, so the *Policy suffix is just dead weight now.
-
Matthias Springer authored
Add the `BufferizableOpInterface` implementation of `scf.index_switch`.
-
Peiming Liu authored
-
Raghu Maddhipatla authored
[Flang] [OpenMP] [Semantics] Add semantic support for IS_DEVICE_PTR nd HAS_DEVICE_ADDR clauses on OMP TARGET directive and add more semantic checks for OMP TARGET. (#67290) Summary of this patch - Add semantic support for HAS_DEVICE_ADDR and IS_DEVICE_PTR clauses. - A list item that appears in an IS_DEVICE_PTR clause must be a valid device pointer for the device data environment. - A list item may not be specified in both an IS_DEVICE_PTR clause and a HAS_DEVICE_ADDR clauses on the directive. - A list item that appears in an IS_DEVICE_PTR or a HAS_DEVICE_ADDR clauses must not be specified in any data-sharing attribute clause on the same target construct.
-
Rafael Auler authored
Previously we would crash with an assertion failure (unreachable code) whenever we had an error in JITLink. Change this to use JITLink API correctly and let it print the error to output, so we can read and more easily diagnose what's happening. Before this patch: unexpected abandoned allocation UNREACHABLE executed at... After this patch: BOLT-ERROR: JITLink failed: In graph in-memory object file, section .local.foo: relocation target .text + 0x1 at address 0xa7c00000 is out of range of BranchPCRel32 fixup at 0x132d40f1 (bar, 0x132d40f0 + 0x1)
-
Hiroshi Yamauchi authored
[AArch64][Win] Emit SEH instructions for the swift async context-related instructions in the prologue and the epilogue. (#66967) This fixes an error from checkARM64Instructions() in MCWin64EH.cpp.
-
Alexey Bataev authored
Need to consider the length of the original vector for extractelements, not the length, matched number of the scalars. It fixes 2 issues: 1) improves cost estimation; 2) Fixes crashes after D158449.
-
Jan Svoboda authored
This patch adopts `FileEntryRef` in the `HeaderFileInfo`-writing part of `ASTWriter`. First, this patch removes the loop over `FileManager::VirtualFileEntries`. It's redundant, since all virtual file entries are also present in `SeenFileEntries` and thus already in `UIDToFiles`. Second, since we now no longer rely on `FileEntry::getLastRef()`/`FileEntry::getName()`, this patch takes care to establish which path gets used for each UID by picking the `FileEntryRef` with the most "`<`" name (instead of just relying on the `StringMap` iteration order). Note that which `FileEntry`/`FileEntryRef` objects we pick for each UID for serialization into the `llvm::OnDiskChainedHashTable` doesn't really matter. The hash function only includes the file size and modification time. The file name only plays role during resolution of hash collisions, in which case it goes through `FileManager` and resolves to a `FileEntry` that gets pointer-compared with the queried `FileEntry`. (Reincarnation of [D143414](https://reviews.llvm.org/D143414) and [D142780](https://reviews.llvm.org/D142780).)
-
Joseph Huber authored
Summary: We use these image wrappers to do runtime specifica registration of variables and to load the device image that was compiled. This was intended to support multiple of these running at the same time, e.g. you can have a CUDA instance running with OpenMP and they should both function so long as you do not share state between the two. However, because we did not use a unique name for this file it would cause conflicts when included. This patch names the image based off of the language runtime it's using so that they remain separate. Fixes: https://github.com/llvm/llvm-project/issues/67583
-
David Green authored
This is failing in a few buildbots to link due to missing references to undefined reference to llvm::Triple::Triple from DataLayoutTest_UEFI_Test. Attempt to fix them by adding the TargetParser lib for IR unit tests.
-
Thurston Dang authored
HWAddressSanitizerPass::run sanitizes functions one by one. The sanitization of each function - which may split blocks via insertShadowTagCheck - may result in some cached analyses are invalid. This matters because sanitizeFunction(F', FAM) may indirectly call the global stack safety analysis, hence we need to make sure the analyses of F are up to date. Bug report: https://github.com/llvm/llvm-project/issues/66934
-
Manna, Soumi authored
Reviewed By: tahonermann Differential Revision: https://reviews.llvm.org/D159474
-
jeanPerier authored
When a MODULE SUBROUTINE or MODULE FUNCTION is implemented in the same scope as its interface and appears in a generic with the same name, the parse::Name of the implementation was not correctly reset and remained the SubprogramNameDetails symbol after semantics, causing a crash in lowering that picks up the procedure symbols on the parser names. Reset the parser::Name symbol before the new symbol is created.
-
- Sep 28, 2023
-
-
Corentin Jabot authored
Theses tests were part of https://reviews.llvm.org/D140184, which is no longer necessary but preserving the tests seems useful. Thanks to Richard Trieu for providing these tests and the work on this PR.
-
Arjun P authored
-
Akash Banerjee authored
This patch adds the OutlineableOpenMPOpInterface to omp.target. This prevents other operations inside the target region such as WSLoop from hoisting new allocas outside the region.
-
Valentin Clement (バレンタイン クレメン) authored
Assumed shape array are using descriptor and must be handled differently than known shape arrays. This patch adds support to generate the `init` and `combiner` region for the reduction recipe operation with assumed shape array by using the descriptor and the HLFIR lowering path. `createTempFromMold` function is moved from `flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp` to `flang/include/flang/Optimizer/Builder/HLFIRTools.h` to be reused to create the private copy.
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/56794 And see https://github.com/llvm/llvm-project/issues/67582 for a detailed backgrond for the issue. As required by the Itanium ABI, the module units have to generate the initialization function. However, the importers are allowed to elide the call to the initialization function if they are sure the initialization function doesn't do anything. This patch implemented this semantics.
-
Nick Desaulniers authored
Splitting up patches for #20571. I found these comments generally useful to add and not predicated on those changes. Hopefully they help future travelers.
-
Nikita Popov authored
Check the result of constant folding here, as I'm not confident that no constant expressions can make it in here.
-