- Mar 09, 2023
-
-
Valentin Clement authored
Allocatable intent(out) are deallocated at the beginning of a function/subroutine. For polyrmophic entities, the dynamic type need to be reseted to the declared type. This patch makes sure this is done when the dummy argument is optional and present. Depends on D145674 Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145679
-
Valentin Clement authored
Restore the behavior changed in D145384 and add proper unit tests. Unallocated unlimited poymorphic allocatable and disassociated unlimited polymorphic pointer should return false. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145674
-
ManuelJBrito authored
Ignoring freeze(undef) if it has multiple uses in LowerAVXCONCAT_VECTORS causes the custom INSERT_SUBVECTOR for vector widening to be ignored. Differential Revision: https://reviews.llvm.org/D144903
-
Aaron Ballman authored
This silences a GCC conversion diagnostic about assigning `1` to a 1-bit signed bit-field changing the value from `1` to `-1`. Co-authored-by:Igor Kushnir <igorkuo@gmail.com>
-
Valery Pykhtin authored
The function makes liveness tests for the entire live register set for every instruction it passes by. This becomes very slow on high RP regions such as ASAN enabled code. Instead only uses of last tracked instruction should be tested and this greatly improves compilation time. This patch revealed few bugs in SIFormMemoryClauses and PreRARematStage::sinkTriviallyRematInsts which should be fixed first. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D136267
-
Kiran Chandramohan authored
The outer context private check for reduction variables was firing for all constructs. This check is not applicable to non-worksharing constructs. OpenMP 5.2: Section 5.5.8 A list item that appears in a reduction clause on a worksharing construct must be shared in the parallel region to which a correspodning worksharing region binds. Reviewed By: peixin Differential Revision: https://reviews.llvm.org/D144824
-
Diana Picus authored
-
Peter Steinfeld authored
We were failing tests where an ALLOCATE statement that allocated an array had a non-character scalar MOLD argument. I fixed this by merging the code for ALLOCATE statements with MOLD and SOURCE arguments. Differential Revision: https://reviews.llvm.org/D145418
-
Dylan Fleming authored
The patch adds the lowering from Flang parse-tree to FIR+OpenMP. The conversion code is also added in MLIR. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D133442 Co-authored-by:
Kiran Chandramohan <kiran.chandramohan@arm.com>
-
Joseph Huber authored
Summary: We passed `-fopenmp-target=` when we compiled the bitcode, which isn't necessary since the 15 release. Also adjust an error message.
-
Krasimir Georgiev authored
After commit 0a4aa8a1 we see failures like: optional:722:7: error: missing '#include <__type_traits/conjunction.h>'; '_And' must be declared before it is used and: optional:683:46: error: missing '#include <__type_traits/disjunction.h>'; '_Or' must be declared before it is used using __check_constructible_from_opt = _Or< Adding these here fixes that. I'm not familiar with the libcxx codebase, will ask the author to take a look too.
-
Ed Maste authored
-
Aaron Ballman authored
This reverts commit 24b82355. These changes broke the PPC build bot.
-
Aaron Ballman authored
This reverts commit d4fcc692. (This change removed all test coverage from a previous change, also to be reverted.)
-
Joseph Huber authored
Summray: Forgot to do this in the last patch
-
Joseph Huber authored
This function mimics the std::atomic_thread_fence function from <atomic>. This has no uses in source currently, but this will be used by the proposed RPC client for the GPU mode support. There is varying support for direct memory ordering for the GPU atomics on shared memory resources. So the implementation will use relaxed atomics and explicit memory fences. Some additional work may need to be done to map this to `NVPTX` system level fences. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D145608
-
Simon Pilgrim authored
This really should be in shuffle combining, but we're still struggling to handle mismatched vector sizes
-
Advenam Tacet authored
This revision adds: - New test allocator, which cleans memory during allocation and deallocation, - tests using that allocator to vector. This patch is part of our efforts to add support for ASan annotations with every allocator. This commit adds a new allocator for testing purposes only. The safe allocator ensures that memory is cleand (zeroed) during allocation and deallocation, and is intendted to test ASan annotations for every allocator in std::vector. Check: D136765 Those tests should work correctly, even if support for every allocator in std::vector is not yet available. Support in ASan API was added here: rGdd1b7b79 Reviewed By: philnik, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D145597
-
Sacha Ballantyne authored
fir.if currently isn't treated as a 'proper' conditional, so passes are unable to determine which regions are executed at times. This patch gives fir.if this interface, which shouldn't do too much on its own but should allow future changes to take advantage for various purposes Reviewed By: vzakhari Differential Revision: https://reviews.llvm.org/D145165
-
Simon Pilgrim authored
[X86] Add test case showing failure to fold concat_v32i8(trunc_v16i16(x),trunc_v16i16(y)) -> trunc_v32i16(concat_v16i16(x,y)) We have similar tests but nothing that should only fold on BWI targets
-
Nikita Popov authored
This canonicalization just makes the implicit sext/trunc explicit, and does not affect the inbounds-ness of the GEP.
-
Nikita Popov authored
This file used CRLF newlines.
-
ManuelJBrito authored
This reverts commit e2817933.
-
Nikita Popov authored
This reverts commit d14e7ee3. Makes clang_format_diff.py always fail with: Traceback (most recent call last): File "/home/npopov/repos/llvm-project/clang/tools/clang-format/clang-format-diff.py", line 177, in <module> main() File "/home/npopov/repos/llvm-project/clang/tools/clang-format/clang-format-diff.py", line 174, in main process_subprocess_result(proc, args) File "/home/npopov/repos/llvm-project/clang/tools/clang-format/clang-format-diff.py", line 42, in process_subprocess_result with open(filename) as f: ^^^^^^^^ NameError: name 'filename' is not defined
-
Markus Mützel authored
When linking a shared library with Flang on MinGW, the functions from the Flang runtime are exported from the shared library. When trying to link an executable to that library using Flang, the linker errors out because the functions from the runtime conflict with the functions exported from the shared library. Add the Flang runtime libraries to the list of libraries for which no symbols are exported. Reapplying the patch with the git author name corrected. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D145389
-
Martin Storsjö authored
This reverts commit 04fc67bf. The patch was applied with the wrong git author name (forgot to amend in the right user name after applying the patch); I'll reapply it with the right author name.
-
Simon Pilgrim authored
-
Martin Storsjö authored
When linking a shared library with Flang on MinGW, the functions from the Flang runtime are exported from the shared library. When trying to link an executable to that library using Flang, the linker errors out because the functions from the runtime conflict with the functions exported from the shared library. Add the Flang runtime libraries to the list of libraries for which no symbols are exported. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D145389
-
ManuelJBrito authored
Ignoring freeze(undef) if it has multiple uses in LowerAVXCONCAT_VECTORS causes the custom INSERT_SUBVECTOR for vector widening to be ignored. Differential Revision: https://reviews.llvm.org/D144903
-
Balázs Kéri authored
The code was difficult to maintain (big internal class definitions with long inline functions, other functions of the same class at different location far away, irregular ordering of classes and function definitions). It is now improved to some extent. New functions are added to RangeConstraint to remove code repetition, these are useful for planned new features too. Comments are improved. Reviewed By: Szelethus Differential Revision: https://reviews.llvm.org/D143751
-
Haojian Wu authored
-
Sven van Haastregt authored
Add an emitter to produce something similar to opencl-c.h from the OpenCL builtin descriptions in OpenCLBuiltins.td This only adds the emitter, without any direct use of it. This allows opencl-c.h additions to be generated from the builtin descriptions by manually invoking `clang-tblgen -gen-clang-opencl-builtin-header`. Differential Revision: https://reviews.llvm.org/D104040
-
Petar Avramovic authored
Values in SGPR and VGPR register are treated as unsigned by hardware. When value in 32-bit SGPR or VGPR base can be negative calculate offset using 32-bit add instructions, otherwise use sgpr(unsigned) + vgpr(unsigned) + offset. LoopStrengthReduce.cpp changes offsets to negative and in some iterations value in SGPR or VGPR register could be negative. Differential Revision: https://reviews.llvm.org/D144957
-
Petar Avramovic authored
Values in VGPR register are treated as unsigned by hardware. When value in 32-bit VGPR base can be negative calculate offset using 32-bit add instruction, otherwise use vgpr base(unsigned) + offset. Does not affect case where whole offset comes from VGPR register (immediate offset is 0). LoopStrengthReduce.cpp changes offsets to negative and in some iterations value in VGPR register could be negative. Differential Revision: https://reviews.llvm.org/D144956
-
Petar Avramovic authored
Values in SGPR register are treated as unsigned by hardware. When value in 32-bit SGPR base can be negative calculate offset using 32-bit add instruction, otherwise use sgpr base(unsigned) + offset. Does not affect case where whole offset comes from SGPR register (immediate offset is 0). LoopStrengthReduce.cpp changes offsets to negative and in some iterations value in SGPR register could be negative. Differential Revision: https://reviews.llvm.org/D144955
-
Yeting Kuo authored
[IR][DAG][RISCV] Allow scalable vector ISD::STRICT_FP_EXTEND and RISC-V supports for vector ISD::STRICT_FP_EXTEND. The patch mainly does two things. The first is allowing scalable vector ISD::STRICT_FP_EXTEND. The second is making RISC-V customized lower strict_fpextend to riscv_strict_fpextend_vl, the strict version of riscv_fpextend_vl. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D145548
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/61065. We will avoid writing the names from external AST naturally. But currently its check is often false positive since we may have already marked the declarations as external but DeclContext::hasNeedToReconcileExternalVisibleStorage would be false after reconciling. Tested with libcxx's modular build. This patch can improve 8% compilation time in an internal workloads.
-
Nikita Popov authored
Since https://reviews.llvm.org/D141386 !range violations return poison instead of causing immediate undefined behavior. As such, it is fine for IPSCCP to infer !range even if the value might be poison. (The value cannot be undef as this would promote undef to poison, but this is already checked separately.) This basically undoes the late change done to D83952, restoring it to its original version (which is now valid). Differential Revision: https://reviews.llvm.org/D144467
-
Nikita Popov authored
Use the memory() spelling in a few places that were using the old syntax. The documented attributes for llvm.type.checked.load don't match the actual attributes, I've raised this here: https://reviews.llvm.org/D21121#inline-1406792
-
Han Zhu authored
Fix a crash when compiling Skia. See https://reviews.llvm.org/D143225#4180342 for more details
-