- Jun 01, 2023
-
-
-
Peter Klausler authored
Extend the definability and procedure characteristics checking infrastructure in semantics to check for context-dependent CUDA object definability violations and problems with CUDA attribute incompatibility in procedure interfaces. Depends on https://reviews.llvm.org/D150159, https://reviews.llvm.org/D150161, & https://reviews.llvm.org/D150162. Differential Revision: https://reviews.llvm.org/D150163
-
Ellis Hoag authored
Add support for printing the passes run for LTO. Both ELF and COFF have `--lto-debug-pass-manager` (`-ltodebugpassmanager`) to print the compiler passes run during LTO. This is useful to check that a certain compiler pass is run in a test, e.g., https://reviews.llvm.org/D151589 Reviewed By: #lld-macho, MaskRay, int3 Differential Revision: https://reviews.llvm.org/D151746
-
Alan Zhao authored
The previous code incorrectly assumed that we would never call warnBracedScalarInit(...) with a EK_ParenAggInitMember. This patch fixes the bug by warning when a scalar member is initialized via a braced-init list when performing a parentehsized aggregate initialization. This behavior is consistent with parentehsized list aggregate initialization. Fixes #63008 Reviewed By: shafik Differential Revision: https://reviews.llvm.org/D151763
-
Vitaly Buka authored
This reverts commit 605b9c76.
-
Dimple Prajapati authored
This change adds op to support printf instruction from OpenCL extensions set. This op helps writing out debug details from SPIRV kernel in a given format. Patch By: drprajap Reviewed By: antiagainst, kuhar Differential Revision: https://reviews.llvm.org/D151731
-
Kelvin Li authored
VectorTypeAsFortran is added for writing PPC vector types to modules. Coauthor: @tislam Differential Revision: https://reviews.llvm.org/D151757
-
Chia-hung Duan authored
Release pages for large block (size greater than a page) is faster than the small blocks. Besides, larger blocks are supposed not to be used so often like smaller blocks which means we may hold several pages used by large block and rarely get chance to release them if there's no explicit M_PURGE call. Therefore, relax the release-interval condition for large block. This also fixes the assumption that FORCE_ALL should always try page release. Differential Revision: https://reviews.llvm.org/D151290
-
Arthur Eubanks authored
-
Kazu Hirata authored
The last use was removed by: commit 146ec74a Author: Jan Svoboda <jan_svoboda@apple.com> Date: Fri Sep 10 10:24:16 2021 +0200 Once I remove the function, RestoreCWD is always true, so this patch removes the variable and propagates the constant. Differential Revision: https://reviews.llvm.org/D151786
-
Arthur Eubanks authored
And also set the SHF_X86_64_LARGE section flag. gcc only uses the "l" prefix and SHF_X86_64_LARGE in the medium code model for data larger than -mlarge-data-threshold. But it seems more consistent to use it in the large code model as well in case separate parts of the binary aren't compiled with the large code model and also have a .data/.bss/.rodata section. Reviewed By: MaskRay, tkoeppe Differential Revision: https://reviews.llvm.org/D148836
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D150813
-
Louis Dionne authored
-
Yaxun (Sam) Liu authored
LLVM IR already allows floating point type in atomicrmw. Update clang atomic fetch max/min builtins to accept floating point type like we did for fetch add/sub. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D150985 Fixes: SWDEV-401056
-
Francis Visoiu Mistrih authored
RenderFrame now strips `wrap_`.
-
Jan Svoboda authored
This is a prep patch that enables removal of some calls to the deprecated `{File,Directory}Entry::getName()`. -
Jan Svoboda authored
This is a prep patch that enables removal of some calls to the deprecated `{File,Directory}Entry::getName()`. -
serge-sans-paille authored
This is a follow-up to https://reviews.llvm.org/D148723 and fixes the bug reported by @mstorsjo. Differential Revision: https://reviews.llvm.org/D151783
-
Tue Ly authored
Update implementation status table for Date and Time Functions to include different targets. Reviewed By: jeffbailey Differential Revision: https://reviews.llvm.org/D151809
-
Craig Topper authored
These used to contain multiple patterns, but that was simplified when we moved to using ComplexPattern for load/store address matching.
-
David Green authored
Given an insert of a scalar load into a vector shuffle with mask u,0,1,2,3,4,5,6 or 1,2,3,4,5,6,7,u (depending on the insert index), it can be more profitable to convert to a single load and avoid the shuffles. This adds a DAG combine for it, providing the new load is still fast. Differential Revision: https://reviews.llvm.org/D151029
-
Francis Visoiu Mistrih authored
RenderFrame now strips `wrap_`.
-
Igor Kirillov authored
Code generated with -Ofast and -O3 -ffp-contract=fast (add -ffinite-math-only to enable vectorization) can differ significantly. Code compiled with -O3 can be deinterleaved using patterns as the instruction order is preserved. However, with the -Ofast flag, there can be multiple changes in the computation sequence, and even the real and imaginary parts may not be calculated in parallel. For more details, refer to llvm/test/CodeGen/AArch64/complex-deinterleaving-*-fast.ll and llvm/test/CodeGen/AArch64/complex-deinterleaving-*-contract.ll tests. This patch implements a more general approach and enables handling most -Ofast cases. Differential Revision: https://reviews.llvm.org/D148558
-
Slava Zakharin authored
I tried this patch, first. Some tests failed because of the extra finalizations for the temporary LHSs: when LHS component is a derived type with final subprograms, the finalizations might be detected by counting/printing in the final subprograms and treated as errors in the tests, because they are not expected. So I also tried to reuse the StructureConstructor code lowering to FIR followed by AsExprOp to produce the HLFIR "value". Unfortunately, this did not resolve the finalization issues, because AsExprOp may end up being bufferized into AssignOp as well. So the extra finalizations are inherent problem for AssignOp, and it has to be resolved separately. Thus, I decided to proceed with a "cleaner" direct lowering to HLFIR (the initial patch). I am thinking about adding an extra flag for AssignOp that would indicate that the LHS is a compiler generated temporary, so we could use something like AssignTemporary() in HLFIR-to-FIR converter. Reviewed By: tblah Differential Revision: https://reviews.llvm.org/D151752
-
Arthur Eubanks authored
This reverts commit 395a614d. Causes some bots to break, e.g. https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8779560688633165361/overview
-
Diego Caballero authored
This reverts commit a53cd03d. This commit is exposing some implementation gaps in other patterns. Reverting for now.
-
Jin Xin Ng authored
This matches behaviour of asan. sanitizer_common/TestCases/malloc_hook.cpp should've caught this- but hwasan was on XFAIL. Differential Revision: https://reviews.llvm.org/D151580
-
Dmitri Gribenko authored
Reviewed By: xazax.hun Differential Revision: https://reviews.llvm.org/D151818
-
Craig Topper authored
-
Nick Desaulniers authored
I made a series of changes to LLVM's demangle in: - D148348 - D148353 - D148363 - D148375 and so did Fangrui in 3ece37b3 and Ashay in D149061. I didn't notice the banner about there being two copies of this in tree and was modifying the downstream versions. Copy these changes back to the upstream version. Oops! Reviewed By: MaskRay, #libc_abi, ldionne, phosek Differential Revision: https://reviews.llvm.org/D148566
-
Peiming Liu authored
[mlir][sparse] fix crashes when generation conv_2d_nchw_fchw with Compressed Dense Compressed Dense sparse encoding. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D151773
-
Dave Lee authored
Change the type of the `name` parameter from `char *` to `StringRef`. Follow up to D151615. Differential Revision: https://reviews.llvm.org/D151810
-
Daniel Thornburgh authored
-
Jessica Clarke authored
Such symbols may be undefined at link time and thus resolve to 0, which may be further than 2GiB away from PC, causing the immediate to be out of range for PC-relative addressing. Using the GOT avoids this, and is the approach taken by AArch64. Reviewed By: asb, MaskRay, arichardson Differential Revision: https://reviews.llvm.org/D107280
-
Jessica Clarke authored
This mirrors lla and is always GOT-relative, allowing an explicit request to use the GOT without having to expand the instruction. This then means la is just defined in terms of lla and lga in the assembler, based on whether PIC is enabled, and at the codegen level we replace la entirely with lga since we only ever use la there when we want to load from the GOT (and assert that to be the case). See https://github.com/riscv-non-isa/riscv-asm-manual/issues/50 Reviewed By: asb, MaskRay Differential Revision: https://reviews.llvm.org/D107278
-
Jessica Clarke authored
Reviewed By: asb, MaskRay Differential Revision: https://reviews.llvm.org/D107279
-
rikhuijzer authored
As discussed in https://github.com/llvm/llvm-project/issues/59714#issuecomment-1369518768, the folder for the remainder operations should be resillient when the rhs is 0. The file `IndexOps.cpp` was already checking for multiple divisions by zero, so I tried to stick to the code style from those checks. Fixes #59714. As a side note, is it correct that remainder operations are never optimized away? I would expect that the following code ``` func.func @remu_test() -> index { %c3 = index.constant 2 %c0 = index.constant 1 %0 = index.remu %c3, %c0 return %0 : index } ``` would be optimized to ``` func.func @remu_test() -> index { return index.constant 0 : index } ``` when called with `mlir-opt --convert-scf-to-openmp temp.mlir`, but maybe I'm misunderstanding something. Reviewed By: Mogball Differential Revision: https://reviews.llvm.org/D151476
-
Peter Klausler authored
Implements checks for CUDA Fortran attributes on objects, types, and subprograms. Includes a couple downgrades of existing errors into warnings that were exposed during testing. Depends on https://reviews.llvm.org/D150159 & https://reviews.llvm.org/D150161. Differential Revision: https://reviews.llvm.org/D150162
-
David Green authored
See D151029
-
Krzysztof Drewniak authored
Fixes https://github.com/llvm/llvm-project/issues/62856 Reviewed By: jlebar Differential Revision: https://reviews.llvm.org/D151754
-