LLVM Flang Feature Enabled Drop 7.0.0 rocm-afar-8248-drop-7.0.0 (16-Jul-2025) Packages: https://repo.radeon.com/rocm/misc/flang wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-8248-drop-7.0.0-rhel.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-8248-drop-7.0.0-sles.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-8248-drop-7.0.0-ubuntu.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-8248-drop-7.0.0-alma.tar.bz2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drop 7.0.0 new functionality: - Support for complex math intrinsics in target offload regions - Reduction support for do concurrent - Mapping improvements - Add canonical loop operations - Allow `cycle` in `target teams distribute [simd]` - Additional support for debug in target regions - Improved alias analysis - Support directive spellings introduced in OpenMP 6.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Patches of interest: (a521d43ae224...66678bec03ef) 6acc6991f834 [STLForwardCompat] Improve category handling in transformOptional https://github.com/llvm/llvm-project/pull/149539 73d4cea68cce [flang][OpenMP] Generalize isOpenMPPrivatizingConstruct https://github.com/llvm/llvm-project/pull/148654 ff5784bb9094 [flang][OpenMP] Move extractOmpDirective to Utils.cpp, NFC https://github.com/llvm/llvm-project/pull/148653 661cbd5a5254 [utils][TableGen] Make some non-bitmask enums iterable https://github.com/llvm/llvm-project/pull/148647 dbb12109b947 [OpenMP] Add TargetAMDGPU support for Complex argument and return types https://github.com/llvm/llvm-project/pull/144924 fc114e4d931a [MLIR] Add ComplexTOROCDLLibraryCalls pass https://github.com/llvm/llvm-project/pull/144926 1742966c0df0 [Flang] Force lowering to Complex for AMDGPU https://github.com/llvm/llvm-project/pull/144927 51b6f64b892b [flang][OpenMP] Avoid unnecessary parsing of OpenMP constructs https://github.com/llvm/llvm-project/pull/148629 face93e724f4 [Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC https://github.com/llvm/llvm-project/pull/148644 ec2e21a14d36 [LangRef] No target-specific size limit for atomics https://github.com/llvm/llvm-project/pull/136864 a716cc0961d1 [flang] Support `do concurrent ... reduce` for associating names https://github.com/llvm/llvm-project/pull/148597 61a9d2c22dfe [flang][OpenMP] Use OmpDirectiveSpecification in DISPATCH https://github.com/llvm/llvm-project/pull/148008 638943b27e17 [flang][OpenMP] Convert AST node for ALLOCATORS to use Block as body https://github.com/llvm/llvm-project/pull/148005 96bc07d49221 [MLIR][OpenMP] Add canonical loop LLVM-IR lowering https://github.com/llvm/llvm-project/pull/147069 7b91df386820 [OMPIRBuilder] Don't use invalid debug loc in reduction functions. https://github.com/llvm/llvm-project/pull/147950 ab1c4905f4dc [flang][do concurrent] Extned `getAllocaBlock()` and emit yields correctly https://github.com/llvm/llvm-project/pull/146853 0e9b7b054cee [flang][OpenMP] Basic mapping of `do concurrent ... reduce` to OpenMP https://github.com/llvm/llvm-project/pull/146033 a510e75949a4 [flang][fir] Small clean-up in `fir_DoConcurrentLoopOp`'s defintion https://github.com/llvm/llvm-project/pull/146028 7c8a197918a0 [NFC][flang] Move `ReductionProcessor` to `Lower/Support`. https://github.com/llvm/llvm-project/pull/146025 eba35cc1c0e4 [flang][do concurrent] Re-model `reduce` to match reductions are modelled in OpenMP and OpenACC https://github.com/llvm/llvm-project/pull/145837 9b0ae6ccd6bc [flang][OpenMP] Issue a warning when parsing future directive spelling https://github.com/llvm/llvm-project/pull/147765 75f81ded8f9d [Flang][FlangRT][Runtime] Add RT_OFFLOAD_API_GROUP_BEGIN to missing symbols on AMDGPU https://github.com/llvm/llvm-project/pull/147612 628c7350108d [MLIR][OpenMP] Add canonical loop operations https://github.com/llvm/llvm-project/pull/147061 2546c6d3f739 [flang][OpenMP] Recognize remaining OpenMP 6.0 spellings in parser https://github.com/llvm/llvm-project/pull/147723 d2adfcaa9e78 [flang][OpenMP] Handle multiple spellings in OmpDirectiveNameParser https://github.com/llvm/llvm-project/pull/147722 4be3e95284a0 [Flang-RT][Offload] Always use LLVM-built GTest https://github.com/llvm/llvm-project/pull/143682 b81ebd167a68 [flang] Extend localization support for `do concurrent` (`init` regions) https://github.com/llvm/llvm-project/pull/142564 1a1a11f7096d [clang][OpenMP] Issue a warning when parsing future directive spelling https://github.com/llvm/llvm-project/pull/146933 3d6407965d5a [clang][OpenMP] Use DirectiveNameParser to parse directive names https://github.com/llvm/llvm-project/pull/146779 19afd27eb8ef [Flang] Fix ACOSD and ASIND (fixes issue #145593) https://github.com/llvm/llvm-project/pull/145656 fd5ed046fdca [Flang][OpenMP][NFC] Remove flag toggling deprecated no hlfir flow in map-types-and-sizes.f90 https://github.com/llvm/llvm-project/pull/146995 a4f31ccfa0ef [mlir-tblgen] Emit named operand indices https://github.com/llvm/llvm-project/pull/146839 3e78afff0d8e [flang] Fix Windows bot failure caused by #146667 https://github.com/llvm/llvm-project/pull/147002 8c9e0c6c61f6 [flang][OpenMP] Allocate `reduction` init temps on the stack for GPUs https://github.com/llvm/llvm-project/pull/146667 795b17d0b821 [Frontend][OpenMP] Implement directive name parser https://github.com/llvm/llvm-project/pull/146776 d56c06e6c9f0 [flang][debug] Generate DISubprogramAttr for omp::TargetOp. https://github.com/llvm/llvm-project/pull/146532 bd6cd92984e7 [MLIR][OpenMP][NFC] Use header guards for tblgen'd definitions https://github.com/llvm/llvm-project/pull/146684 b1774222c761 [flang] Emit `fir.global` in the global address space https://github.com/llvm/llvm-project/pull/146653 ba116a8bed9a [flang][OpenMP] Split check-omp-structure.cpp into smaller files, NFC https://github.com/llvm/llvm-project/pull/146359 86077c41a789 [flang][OpenMP] Rewrite min/max with more than 2 arguments https://github.com/llvm/llvm-project/pull/146423 4c7d3e9315a5 [STLForwardCompat] Implement llvm::type_identity https://github.com/llvm/llvm-project/pull/146390 344b5b7f9e5b [flang][OpenMP] Move lowering of ATOMIC to separate file, NFC https://github.com/llvm/llvm-project/pull/146225 91f10df794d3 [Flang][OpenMP] Skip implicit mapping of named constants https://github.com/llvm/llvm-project/pull/145966 232c2921e19a Reland [mlir][OpenMP] Use correct debug location with link clause. https://github.com/llvm/llvm-project/pull/145889 4233ca1e4e53 [OMPIRBuilder] Fix use of uninitialized variable. https://github.com/llvm/llvm-project/pull/145883 b4f4af7ebb91 [flang][OpenMP] Verify that N in -fopenmp-version=N is valid https://github.com/llvm/llvm-project/pull/145725 77a3ae5845da [flang][OpenMP] Remove recognition of versions 3.0 and older https://github.com/llvm/llvm-project/pull/145708 d7b936b633f3 [OpenMP] Add directive spellings introduced in OpenMP 6.0 https://github.com/llvm/llvm-project/pull/141772 8231dd71cb7d [flang][OpenMP] Skip runtime mapping with no offload targets https://github.com/llvm/llvm-project/pull/145594 3a71884ab1a5 [flang][OpenMP] Map device pointers on host device as well https://github.com/llvm/llvm-project/pull/145562 9aebfde1e70c [flang] Allow `cycle` in `target teams distribute [simd]` https://github.com/llvm/llvm-project/pull/145462 fb209929e1b1 [flang][OpenMP] Set isNewBlock directly on OpenMP constructs https://github.com/llvm/llvm-project/pull/144593 349f8d67d4ee [flang][OpenMP] Skip runtime mapping with no offload targets https://github.com/llvm/llvm-project/pull/144534 e970f59e6b20 [flang][OpenMP] Reintroduce TODO for FIR lowering of linear clause https://github.com/llvm/llvm-project/pull/144883 8650c801381d [flang][OpenMP] Do not skip privatization of linear variable if it is OmpPreDetermined https://github.com/llvm/llvm-project/pull/144315 e5559ca45f21 [flang][OpenMP] Move lowering of ATOMIC to separate file, NFC https://github.com/llvm/llvm-project/pull/144960 936c5566db01 [flang][OpenMP] Handle REQUIRES ADMO in lowering https://github.com/llvm/llvm-project/pull/144362 4084ffcf1e69 [flang] Show types in DumpEvExpr https://github.com/llvm/llvm-project/pull/143743 5d502aeddf2a [flang][OpenMP] Clarify confusing error message https://github.com/llvm/llvm-project/pull/144707 4b2ab1494bc0 [flang][OpenMP] Don't crash on iterator modifier in declare mapper https://github.com/llvm/llvm-project/pull/144359 59d6fbb8ffe0 [flang][fir] Provide allocation block for `fir.local` when required https://github.com/llvm/llvm-project/pull/144521 ef0ce24a920f [OMPIRBuilder] - Make offloading input data persist for deferred target tasks https://github.com/llvm/llvm-project/pull/133499 5f841a628490 [flang][OpenMP] Set _OPENMP macro for version 6.0 https://github.com/llvm/llvm-project/pull/144410 2c90ebf3a79e [OMPIRBuilder][debug] Don't drop debug info for loop constructs. https://github.com/llvm/llvm-project/pull/144393 2dc58e02cbce [flang][OpenMP] Add symbol table scopes for `teams` and `parallel` https://github.com/llvm/llvm-project/pull/144015 7caeec599998 [NFC][flang][OpenMP] Unify `genSectionsOp`'s prototype to match other `genXXXOp` functions https://github.com/llvm/llvm-project/pull/144013 404597061f97 [OMPIRBuilder] - Make offloading input data persist for deferred target tasks https://github.com/llvm/llvm-project/pull/133499 eba63cd76f7b [flang][OpenMP] Improve handling of REQUIRES ATOMIC_DEFAULT_MEM_ORDER https://github.com/llvm/llvm-project/pull/143917 7e0bb2b0b9f6 [flang][fir] Extend locality specs lowering to support `init` and `dealloc` regions https://github.com/llvm/llvm-project/pull/144027 4268360003e2 [Flang] [OpenMP] Allow any type as argument to the FlushOp https://github.com/llvm/llvm-project/pull/143844 73ec5927bdb6 Refactor how IsAMapping is checked in https://github.com/AMD-Lightning-Internal/llvm-project/pull/2279 https://github.com/ROCm/llvm-project/commit/73ec5927bdb6 282e471018d2 [flang] Erase `fir.local` ops before lowering `fir` to `llvm` https://github.com/llvm/llvm-project/pull/143687 e64f8e043cdf [flang][Driver] Guard check for pic/pie settings without driver flags https://github.com/llvm/llvm-project/pull/143530 141d390dcb6c [flang][OpenMP] Overhaul implementation of ATOMIC construct https://github.com/llvm/llvm-project/pull/137852 2dd88c405d77 [flang][OpenMP] Extend locality spec to OMP claues (`init` and `dealloc` regions) https://github.com/llvm/llvm-project/pull/142795 e44a65ed98ad [flang][OpenMP] Map basic `local` specifiers to `private` clauses https://github.com/llvm/llvm-project/pull/142735 f993f362ef58 [Flang][OpenMP] - When mapping a `fir.boxchar`, map the underlying data pointer as a member https://github.com/llvm/llvm-project/pull/141715 007d29e30c6e [Flang] Turn on alias analysis for locally allocated objects https://github.com/llvm/llvm-project/pull/143489 e295b0ce757e [flang][OpenMP] Fix detecting nested OpenMP constructs https://github.com/llvm/llvm-project/pull/143383 bf1fe6eb3312 [mlir][OpenMP] Reintroduce TODO for translation of linear clause https://github.com/llvm/llvm-project/pull/143531 7b2aa02a33df [utils][TableGen] Handle versions on clause/directive spellings https://github.com/llvm/llvm-project/pull/143021 839591289592 [Flang] - Handle `BoxCharType` in `fir.box_offset` op https://github.com/llvm/llvm-project/pull/141713 4dcc159485e6 [utils][TableGen] Implement clause aliases as alternative spellings https://github.com/llvm/llvm-project/pull/141765 463a2bd1596a [utils][TableGen] Treat clause aliases equally with names https://github.com/llvm/llvm-project/pull/141763 2b3e07f4852d [utils][TableGen] Unify converting names to upper-camel case https://github.com/llvm/llvm-project/pull/141762 bac4aa440c12 [flang] Extend localization support for `do concurrent` (`init` regions) https://github.com/llvm/llvm-project/pull/142564