- Mar 10, 2023
-
-
Chia-hung Duan authored
Instead of going through all those trailing blocks, just count the number and increase the counter at once. Reviewed By: cferris Differential Revision: https://reviews.llvm.org/D145419
-
- Mar 09, 2023
-
-
Philip Reames authored
This only covers the common load/store case. There will be further patches required for masked load/store and some of the fast-path optimization cases. Differential Revision: https://reviews.llvm.org/D145175
-
zhongyunde authored
Fix the last runtime issue as some sequent comparisons need be spilted. For the origin equal comparisons chain, the new spilted Icmp chain will still be end with equal, while for the new not-equal comparisons chain, the new spilted Icmp chain will still be end with equal, so should address this carefully, see detail wih case partial_sequent_ne. Thanks for @glandium and @ayzhao report the runtime issue and carefully examine. Fix https://github.com/llvm/llvm-project/issues/59740. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D141188
-
Timm Bäder authored
We are not mutating the descriptors here.
-
Valentin Clement authored
Only apply the change made in D145604 for derived-type. zero-sized character for example are supposed to give a false result Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145675
-
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
-