LLVM Flang Feature Enabled Drop 6.2.0 rocm-afar-7992-drop-6.2.0 (11-Jun-2025) Packages: https://repo.radeon.com/rocm/misc/flang wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7992-drop-6.2.0-rhel.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7992-drop-6.2.0-sles.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7992-drop-6.2.0-ubuntu.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7992-drop-6.2.0-alma.tar.bz2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drop 6.2.0 new functionality since Drop 6.0.0: - Additional alias analysis to enable better code optimization - Improves rush-larsen launch performance by ~2X - Fixes to allow GenASiS to run with HSA_XNACK=1 and USM mode on MI300A - Support for user defined and implicit declare mapper - Additional support for debug in target regions - Generate correct present checks for implicit maps of optional allocatables - Map improvements for derived types and allocatables - Support for alternate OpenMP clause spelllings Drop 6.1.0 new functionality since Drop 6.0.0: - Compiler must now be invoked via 'flang' or 'amdflang'. - Using 'flang-new' or 'amdflang-new' will report an error. - UMT will now run correctly on device, see: https://github.com/ROCm/aomp/blob/aomp-dev/bin/run_umt.sh https://github.com/ROCm/aomp/blob/aomp-dev/bin/patches/UMT-amdflang-mods.patch - AlmaLinux OS build is now available - SLES 15 SP5 systems must use rocm-afar-7702-drop-6.1.0-alma.tar.bz2 - SLES 15 SP6 systems can use rocm-afar-7702-drop-6.1.0-sles.tar.bz2 Drop 6.0.0 new functionality since Drop 5.3.0: - Library changes (if linking explicitly to any of these) - The host runtime libraries in 5.3.0: llvm/lib/libFortranRuntime.a llvm/lib/libFortranDecimal.a have been replaced with: llvm/lib/libflang_rt.runtime.a llvm/lib/libflang_rt.quadmath.a (only needed if app uses 128-bit FP) - The device runtime library in 5.3.0: llvm/lib/libFortranRuntimeHostDevice.a has been replaced with: llvm/lib/libflang_rt.hostdevice.a - AlmaLinux OS build is now available - SLES 15 SP5 systems must use rocm-afar-7450-drop-6.0.0-alma.tar.bz2 - SLES 15 SP6 systems can use rocm-afar-7450-drop-6.0.0-sles.tar.bz2 - hipfort is now included in the drop, modules built only for llvm-flang - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6.2.0 Patches of interest: (e42c601943cd...a521d43ae224) e44a65ed98ad [flang][OpenMP] Map basic `local` specifiers to `private` clauses https://github.com/llvm/llvm-project/pull/142735 937be177528d [flang] Enable delayed localization by default for `do concurrent` https://github.com/llvm/llvm-project/pull/142567 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 57500cd6a013 [utils][TableGen] Clarify usage of ClauseVal, rename to EnumVal https://github.com/llvm/llvm-project/pull/141761 95ea4366dbac [clang][docs] Add docs for CCC_OVERRIDE_OPTIONS. https://github.com/llvm/llvm-project/pull/142396 3374263a08d1 [flang] Harden testcase by changing variable name. https://github.com/llvm/llvm-project/pull/142363 fd66fa56c428 [flang] Retrieve shape from selector when generating assoc sym type https://github.com/llvm/llvm-project/pull/137117 de38c4eaf527 [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. https://github.com/llvm/llvm-project/pull/140556 99ae675fb795 [NFC][OpenMP] Move the default declare mapper name suffix to OMPConstants.h https://github.com/llvm/llvm-project/pull/141964 f5d3470d425f [flang][OpenMP] Allow structure component in `task depend` clauses https://github.com/llvm/llvm-project/pull/141923 798ae823997b [flang][OpenMP] Verify that arguments to COPYPRIVATE are variables https://github.com/llvm/llvm-project/pull/141823 4811c67d62b8 [flang][OpenMP] Treat ClassType as BoxType in COPYPRIVATE https://github.com/llvm/llvm-project/pull/141844 f8dcb059ae06 [flang][fir][OpenMP] Refactor privtization code into shared location https://github.com/llvm/llvm-project/pull/141767 7e9887a50df2 [flang] Generlize names of delayed privatization CLI flags https://github.com/llvm/llvm-project/pull/138816 e33cd9690fe1 [flang][fir] Basic PFT to MLIR lowering for do concurrent locality specifiers https://github.com/llvm/llvm-project/pull/138534 a8d8af3bfa13 [OpenMP][OMPIRBuilder] Collect users of a value before replacing them in target outlined function https://github.com/llvm/llvm-project/pull/139064 59b7b5b6b5c0 [OpenMP][Flang] Fix semantic check and scoping for declare mappers https://github.com/llvm/llvm-project/pull/140560 18e4417351c9 [Flang][OpenMP] Fix GenASiS failure for HSA_XNACK=1 and USM mode https://github.com/ROCm/llvm-project/commit/18e4417351c9 ddec74cd9006 [Flang][OpenMP] Fix GenASiS failure for HSA_XNACK=1 https://github.com/ROCm/llvm-project/commit/ddec74cd9006 fbb11b4c4e97 [OpenMP][Flang] Fix OOB access for derived type mapping https://github.com/llvm/llvm-project/pull/140948 70f9a8163fb9 [utils][TableGen] Clean up code in DirectiveEmitter https://github.com/llvm/llvm-project/pull/140772 46ab684bddc8 [utils][TableGen] Unify name qualifications in DirectiveEmitter https://github.com/llvm/llvm-project/pull/140606 0baacd1a5842 [flang][OpenMP] Support MLIR lowering of linear clause for omp.wsloop https://github.com/llvm/llvm-project/pull/139385 eb4fde9a4e7e Revert "[Flang] Turn on alias analysis for locally allocated objects" https://github.com/llvm/llvm-project/pull/140202 927309150299 [clang][OpenMP] Improve handling of non-C/C++ directives https://github.com/llvm/llvm-project/pull/139961 8e2ac7d61944 [llvm][OpenMP] Add "SourceLanguages" property to Directive https://github.com/llvm/llvm-project/pull/139960 0cd7e8aa911d [MLIR][OpenMP] Assert on map translation functions, NFC https://github.com/llvm/llvm-project/pull/137199 30b094632635 [Flang][MLIR][OpenMP] Improve use_device_* handling https://github.com/llvm/llvm-project/pull/137198 41fcd7e78be0 [ADT] Add operator! to BitmaskEnum https://github.com/llvm/llvm-project/pull/139958 3dfd08718cb3 merge main into amd-staging https://github.com/ROCm/llvm-project/commit/3dfd08718cb3 e06363f80f95 [flang][OpenMP] Verify uses of OmpCancellationConstructTypeClause https://github.com/llvm/llvm-project/pull/139743 3abd77ac157f [clang][OpenMP] Treat "workshare" as unknown OpenMP directive https://github.com/llvm/llvm-project/pull/139793 cf16c97bfa14 [Flang] Turn on alias analysis for locally allocated objects https://github.com/llvm/llvm-project/pull/139682 7e8b3fea43f1 [Flang] Add missing dependent dialects to MLIR passes https://github.com/llvm/llvm-project/pull/139260 8a9e767fa690 [Flang][MLIR] - Handle the mapping of subroutine arguments when they are subsequently used inside the region of an `omp.target` Op https://github.com/llvm/llvm-project/pull/134967 e61d8fe51dd1 [Flang] Turn on alias analysis for locally allocated objects https://github.com/ROCm/llvm-project/commit/e61d8fe51dd1 f687ed9ff717 [Flang][OpenMP] Initial defaultmap implementation https://github.com/llvm/llvm-project/pull/135226 98eadc8ae602 [flang] Add CMake missing dependencies needed for FortranSupport https://github.com/ROCm/llvm-project/commit/98eadc8ae602 7aed77ef954f [flang][OpenMP] Add implicit casts for omp.atomic.capture https://github.com/llvm/llvm-project/pull/138163 2cc8734c4505 [flang][fir] Basic lowering `fir.do_concurrent` locality specs to `fir.do_loop ... unordered` https://github.com/llvm/llvm-project/pull/138512 b291cfcad481 [Flang][OpenMP] Generate correct present checks for implicit maps of optional allocatables https://github.com/llvm/llvm-project/pull/138210 4923cffc1d33 [Flang] Add missing dependency to AddDebugInfo pass https://github.com/llvm/llvm-project/pull/139099 3b9b377f6df7 [Flang] [OpenMP] Add semantic checks for detach clause in task https://github.com/llvm/llvm-project/pull/119172 b6a1c3aa9b8d [flang][OpenMP] Update `do concurrent` mapping pass to use `fir.do_concurrent` op https://github.com/llvm/llvm-project/pull/138489 227e1ff73b6c [flang][fir] Add locality specifiers modeling to `fir.do_concurrent.loop` https://github.com/llvm/llvm-project/pull/138506 1f37a9fa0e70 [NFC][flang][OpenMP] Add utils for mapping or cloning region outsiders and mapping temporary values to target https://github.com/ROCm/llvm-project/commit/1f37a9fa0e70 5b290588b52c [LLVM][OpenMP] Add older versions to llvm::omp::getOpenMPVersions https://github.com/llvm/llvm-project/pull/138967 7a2d074b2504 [Flang][Runtime] Add support for pooled memory allocator https://github.com/ROCm/llvm-project/commit/7a2d074b2504 a83bb35e9989 [flang][fir] Add `fir.local` op for locality specifiers https://github.com/llvm/llvm-project/pull/138505 2fb288d4b8e0 [flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` https://github.com/llvm/llvm-project/pull/137928 e1fed24034fe [flang][OpenMP] Fix fir.convert in omp.atomic.update region https://github.com/llvm/llvm-project/pull/138397 304c7a87d01b [flang][Evaluate] Restrict ConstantBase constructor overload https://github.com/llvm/llvm-project/pull/138456 96e09302f9e6 [flang][Evaluate] Fix AsGenericExpr for Relational https://github.com/llvm/llvm-project/pull/138455 52c62364e76b [OpenMP] Remove "alternativeName" from Clause and Directive classes https://github.com/llvm/llvm-project/pull/138179 760bba4666d6 [flang][OpenMP] Allow UPDATE clause to not have any arguments https://github.com/llvm/llvm-project/pull/137521 35c76eb19599 [flang][OpenMP] Always set "openmp_flags" https://github.com/llvm/llvm-project/pull/138153 c61746650178 [flang][llvm][OpenMP] Add implicit casts to omp.atomic https://github.com/llvm/llvm-project/pull/131603 bfa6d6057627 [Flang][mlir][OpenMP] - Add support for firstprivate when translating omp.target ops from MLIR to LLVMIR https://github.com/llvm/llvm-project/pull/131213 04aa5a88d17f [OMPIRBuilder] Don't discard the debug record from entry block. https://github.com/llvm/llvm-project/pull/135161 b62afbccc8da [mlir][OpenMP] Add __atomic_store to AtomicInfo https://github.com/llvm/llvm-project/pull/121055 9ea5254f77ae [flang][OpenACC][OpenMP] Separate implementations of ATOMIC constructs https://github.com/llvm/llvm-project/pull/137517 642453c6bab8 [flang][OpenMP] Mark atomic clauses as unique https://github.com/llvm/llvm-project/pull/137460 58430692fc15 [CodeExtractor] Improve debug info for input values. https://github.com/llvm/llvm-project/pull/136016