LLVM Flang Feature Enabled Drop 6.0.0 rocm-afar-7450-drop-5.3.0 (31-Mar-2025) Packages: https://repo.radeon.com/rocm/misc/flang wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7450-drop-6.0.0-rhel.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7450-drop-6.0.0-sles.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7450-drop-6.0.0-ubu.tar.bz2 wget https://repo.radeon.com/rocm/misc/flang//rocm-afar-7450-drop-6.0.0-alma.tar.bz2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 Patches of interest: (9bc88280931e...765254bc3179 + CP) 374a5bea522f [Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA https://github.com/llvm/llvm-project/pull/133232 9296caf18f3d [flang][OpenMP] Skip multi-block `teams` regions when processing `loop` directives https://github.com/llvm/llvm-project/pull/132687 a1c16cd241c3 [flang][OpenMP] Hoist reduction info from nested `loop` ops to parent `teams` ops https://github.com/llvm/llvm-project/pull/132003 765254bc3179 [MLIR][OpenMP] Improve omp.map.info verification https://github.com/llvm/llvm-project/pull/132066 123eb75cd43a [Flang] Do not emit numeric_storage_size into object file https://github.com/llvm/llvm-project/pull/131463 eb8d777720d2 [NFC][OpenMP][MLIR] Refactor code related to collecting privatizer info into a shared util https://github.com/llvm/llvm-project/pull/131582 134e3f64b01d [flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device https://github.com/llvm/llvm-project/pull/132165 3b052d27759a [flang][OpenMP] Translate OpenMP scopes when compiling for target device https://github.com/llvm/llvm-project/pull/130078 f23a6ef54c10 [flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device https://github.com/llvm/llvm-project/pull/132165 b231f6f86237 [MLIR][OpenMP] Improve omp.map.info verification https://github.com/llvm/llvm-project/pull/132066 ff3341ca35fe [MLIR][OpenMP] Simplify OpenMP to LLVM dialect conversion https://github.com/llvm/llvm-project/pull/132009 68180d8d16f0 [flang][OpenMP] Use OmpDirectiveSpecification in standalone directives https://github.com/llvm/llvm-project/pull/131163 ac9e4e9b3320 [Flang][OpenMP] Simplify entry block creation for BlockArgOpenMPOpInterface ops, NFC https://github.com/llvm/llvm-project/pull/132036 cd26dd55959c [flang][OpenMP] Use OmpDirectiveSpecification in simple directives https://github.com/llvm/llvm-project/pull/131162 57ce7791c3be [MLIR][OpenMP] Add Lowering support for implicitly linking to default declare mappers https://github.com/llvm/llvm-project/pull/131006 b7eb01b3a15d [NFC][OpenMP][MLIR] Refactor code related to collecting privatizer info into a shared util https://github.com/llvm/llvm-project/pull/131582 e737b846b4a3 [flang][OpenMP] Translate OpenMP scopes when compiling for target device https://github.com/llvm/llvm-project/pull/130078 e295f5dd119b [OpenMP][IRBuilder] Don't initialize `kmp_dep_info` instances in alloc regions https://github.com/llvm/llvm-project/pull/131795 cbc5c11feca0 [MLIR][OpenMP] Add Lowering support for implicitly linking to default declare mappers https://github.com/llvm/llvm-project/pull/131006 83658ddb1b58 [flang][OpenMP] Enable delayed privatization by default for `omp.distribute` https://github.com/llvm/llvm-project/pull/131574 1094ffcafbc9 [flang][fir] Add MLIR op for `do concurrent` https://github.com/llvm/llvm-project/pull/130893 49b8d8472f98 [OpenMP][MLIR] Support LLVM translation for `distribute` with delayed privatization https://github.com/llvm/llvm-project/pull/131564 6085f3f6a80d [OpenMP] Address __kmp_dist_for_static_init issue https://github.com/llvm/llvm-project/pull/129902 72b8744aa530 [MLIR][OpenMP] Reduce overhead of target compilation https://github.com/llvm/llvm-project/pull/130945 bddf24ddbdb2 [Flang] Add omp_lib dependency to check-flang https://github.com/llvm/llvm-project/pull/130975 b003face11fa [flang][OpenMP] Add `OutlineableOpenMPOpInterface` to `omp.teams` https://github.com/llvm/llvm-project/pull/131109 28ffa7f6a4d6 [flang][OpenMP] Fix missing missing inode issue https://github.com/llvm/llvm-project/pull/130798 237a9108190d [MLIR][OpenMP] Remove the ReductionClauseInterface, NFC https://github.com/llvm/llvm-project/pull/130978 6ff33edf4d59 [MLIR][OpenMP] Minor improvements to BlockArgOpenMPOpInterface, NFC https://github.com/llvm/llvm-project/pull/130789 d3255474be3e Reapply "[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-*" https://github.com/llvm/llvm-project/pull/130274 95d28fe503cc [Premerge] Add flang-rt https://github.com/llvm/llvm-project/pull/128678 f4fc2d731c1b [flang][OpenMP] Map ByRef if size/alignment exceed that of a pointer https://github.com/llvm/llvm-project/pull/130832 45c6d0dd3a96 [Flang-RT] Environment introspection for quadmath.h https://github.com/llvm/llvm-project/pull/130411 cf68c9378b0c [Flang][OpenMP] Move declare mapper sym creation outside loop, NFC https://github.com/llvm/llvm-project/pull/130794 032f83b743b7 [MLIR][OpenMP] Enable BlockArgOpenMPOpInterface accessing operands https://github.com/llvm/llvm-project/pull/130769 7341753a2e23 [Flang-RT] Environment introspection for quadmath.h https://github.com/llvm/llvm-project/pull/130411 5ba7a3bd4c0e [flang][OpenMP] Parse cancel-directive-name as clause https://github.com/llvm/llvm-project/pull/130146 4e453d52920b [flang][OpenMP] Accept old FLUSH syntax in METADIRECTIVE https://github.com/llvm/llvm-project/pull/130122 d67947162f4b [flang][OpenMP] Implement HAS_DEVICE_ADDR clause https://github.com/llvm/llvm-project/pull/128568 f1178815d243 [Flang][OpenMP][MLIR] Implement close, present and ompx_hold modifiers for Flang maps https://github.com/llvm/llvm-project/pull/129586 90f45a15abbd [flang][OpenMP] Implement OmpDirectiveName, use in OmpDirectiveSpecif… https://github.com/llvm/llvm-project/pull/130121 e296fb8ff625 Revert "[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-*" https://github.com/llvm/llvm-project/pull/130274 68578b38cf22 [Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-* https://github.com/llvm/llvm-project/pull/129692 f929f34f56da [flang][OpenMP] Update all `lastprivate` symbols, not just in clauses https://github.com/llvm/llvm-project/pull/125628 9543e9e9270e [flang][OpenMP] Handle pre-detemined `lastprivate` for `simd` https://github.com/llvm/llvm-project/pull/129507 e15545cad829 [Flang][OpenMP] Allow copyprivate and nowait on the directive clauses https://github.com/llvm/llvm-project/pull/127769 44c6a23789b3 [flang][OpenMP][AMDGPU] Allow REAL(10) to compile on AMDGPU https://github.com/llvm/llvm-project/pull/129742 0ae1f0a31062 [flang] Rely on global initialization for simpler derived types https://github.com/llvm/llvm-project/pull/114002 e27b8b2eda76 [flang][debug] Improve handling of cyclic derived types with classes. https://github.com/llvm/llvm-project/pull/129588 8f971ca1d939 [flang] Move DumpEvaluateExpr from Lower to Semantics https://github.com/llvm/llvm-project/pull/128723 9573c6211477 [flang][OpenMP] Accept modern syntax of FLUSH construct https://github.com/llvm/llvm-project/pull/128975 273fca94d4c4 [MLIR][OpenMP] - Fix translation of omp.target when private variables need cleaning up https://github.com/llvm/llvm-project/pull/129205 e0c690990de9 [flang][OpenMP] Add `reduction` clause support to `loop` directive https://github.com/llvm/llvm-project/pull/128849 4a7c389af94a [flang][OpenMP][debug] Add DIOp expression for declare target variables. https://github.com/ROCm/llvm-project/commit/4a7c389af94a c3b3352f7346 [MLIR][ROCDL] Add conversion of math.erfc to AMD GPU library calls https://github.com/llvm/llvm-project/pull/128899 5c26cda513e2 [OMPIRBuilder] Fix for SWDEV 503141 `target .. nowait` https://github.com/ROCm/llvm-project/commit/5c26cda513e2 326638bac19f [Flang] Generate math.erfc op for non-precise erfc interinsic calls https://github.com/llvm/llvm-project/pull/128897 55f26dc32fcf [MLIR][OpenMP] Remove sinking of loop index allocas https://github.com/ROCm/llvm-project/commit/55f26dc32fcf f6262fa035d8 [flang] Extend `omp loop` semantic checks for `reduction` https://github.com/llvm/llvm-project/pull/128823 a9eec8ca2661 [flang][OMPIRBuilder] Improve debug info for OpenMP target region. https://github.com/ROCm/llvm-project/commit/a9eec8ca2661 25c19eb1178a [Flang][OpenMP] Allow host evaluation of loop bounds for distribute https://github.com/llvm/llvm-project/pull/127822 29e14958090c [MLIR][OpenMP] Support target SPMD https://github.com/llvm/llvm-project/pull/127821 56975b4ecd18 [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC https://github.com/llvm/llvm-project/pull/127820 446899e7bed5 [MLIR][OpenMP] Host lowering of distribute-parallel-do/for https://github.com/llvm/llvm-project/pull/127819 88163ca79cab [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs https://github.com/llvm/llvm-project/pull/127818 7ff87af533a7 [MLIR][OpenMP] Host lowering of standalone distribute https://github.com/llvm/llvm-project/pull/127817 ff7790e6dde7 [MLIR][OpenMP] Simplify definition of the BlockArgOpenMPOpInterface, NFC https://github.com/llvm/llvm-project/pull/128198 cebb8f72b793 [OpenMPIRBuilder] Add support for distribute constructs https://github.com/llvm/llvm-project/pull/127816 c83bdc7c111f [MLIR][OpenMP] Normalize lowering of omp.loop_nest https://github.com/llvm/llvm-project/pull/127217 9b52d9e18662 [MLIR][OpenMP] Prevent loop wrapper translation crashes https://github.com/llvm/llvm-project/pull/115475 3ce2a7dc32a6 [flang][OpenMP] Support `parallel loop` construct. https://github.com/llvm/llvm-project/pull/127588 bff6b926e2a4 [flang][OpenMP] Map `teams loop` to `teams distribute` when required. https://github.com/llvm/llvm-project/pull/127489 2b5ef6c12643 [MLIR][OpenMP] Add LLVM translation support for OpenMP UserDefinedMappers https://github.com/llvm/llvm-project/pull/124746 8ea3392e935a [MLIR][OpenMP] Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper https://github.com/llvm/llvm-project/pull/121005 092a3d796efc [MLIR][OpenMP] Add Lowering support for OpenMP custom mappers in map clause https://github.com/llvm/llvm-project/pull/121001 d607ed777ed7 [MLIR][OpenMP] Add OMP Mapper field to MapInfoOp https://github.com/llvm/llvm-project/pull/120994 160da73b8583 [Flang] Check if two ArrayConstructor's are Equal https://github.com/llvm/llvm-project/pull/121181 99aea2176ba2 [Flang][OpenMP] Skip threadprivate HostAssoc symbols for default privatization https://github.com/llvm/llvm-project/pull/127754 785a5b4676e7 [MLIR][OpenMP] Add LLVM translation support for OpenMP UserDefinedMappers https://github.com/llvm/llvm-project/pull/124746 d6ab12c7cc70 [MLIR][OpenMP] Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper https://github.com/llvm/llvm-project/pull/121005 886b2edfbeea [MLIR][OpenMP] Add Lowering support for OpenMP custom mappers in map clause https://github.com/llvm/llvm-project/pull/121001 ee17955dfe45 [MLIR][OpenMP] Add OMP Mapper field to MapInfoOp https://github.com/llvm/llvm-project/pull/120994 7b89c41e41ce [offload] Remove redundant checks in MappingInfoTy::lookupMapping https://github.com/llvm/llvm-project/pull/127638 9905728e2fb4 [MLIR][OpenMP] Add Lowering support for OpenMP Declare Mapper directive https://github.com/llvm/llvm-project/pull/117046 0e960f12dccc [MLIR][OpenMP] Add OMP Declare Mapper MLIR Op definition https://github.com/llvm/llvm-project/pull/117045 8806311bb7c2 [MLIR][Math] Add erfc to math dialect https://github.com/llvm/llvm-project/pull/126439 c5ea469f4daf [OMPIRBuilder] - Fix emitTargetTaskProxyFunc to not generate empty functions https://github.com/llvm/llvm-project/pull/126958 919e72f2513d [flang][OpenMP] Support `bind` clause for `teams loop` https://github.com/llvm/llvm-project/pull/127021 4c4fc4650fa6 [Flang-RT] Build libflang_rt.so https://github.com/llvm/llvm-project/pull/121782 b55f7512a76f [Flang] LLVM_ENABLE_RUNTIMES=flang-rt https://github.com/llvm/llvm-project/pull/110217 54f37133b7b0 [Flang][NFC] Move runtime library files to flang-rt https://github.com/llvm/llvm-project/pull/110298 8a3d7cedb72a [Flang][OpenMP] Per-sym checks to introduce barriers https://github.com/llvm/llvm-project/pull/127074 f63e3b15f90e [Flang] Generate math ops for non-precise calls to acosh, asin, asinh and atanh intrinsic calls https://github.com/llvm/llvm-project/pull/126932 bfd3e25fdddd [flang][debug] Allow variable from non-entry blocks. https://github.com/llvm/llvm-project/pull/125692 f13aea1d87c8 [Flang][OpenMP] Update semantics checks for 'teams' nesting https://github.com/llvm/llvm-project/pull/126922 32faf438785e [flang][OpenMP] Handle fixed length `charater`s in delayed privatization https://github.com/llvm/llvm-project/pull/126704 196a1acc7d27 [OMPIRBuilder][debug] Fix debug info for variables in target region. https://github.com/llvm/llvm-project/pull/118314 5c8c2b3db543 [Flang] Rename libFortranRuntime.a to libflang_rt.runtime.a https://github.com/llvm/llvm-project/pull/122341 e6e8ac59ba45 [Flang] Optionally do not compile the runtime in-tree https://github.com/llvm/llvm-project/pull/122336 98e118ca435d [Flang] Don't use FortranDecimal for runtime https://github.com/llvm/llvm-project/pull/121997 02fa340711d9 [Flang] Promote FortranEvaluateTesting library https://github.com/llvm/llvm-project/pull/124417 dcb124e820b2 [flang][OpenMP] Enable delayed privatization by default `omp.wsloop` https://github.com/llvm/llvm-project/pull/125732 b815a3942a0b [Flang] Move non-common headers to FortranSupport https://github.com/llvm/llvm-project/pull/124416 5f7acf7259ec [flang][OMPIRbuilder] Set debug loc on terminator created by splitBB. https://github.com/llvm/llvm-project/pull/125897 e151b1d1f678 [MLIR][OpenMP] Use correct DebugLoc in target construct callbacks. https://github.com/llvm/llvm-project/pull/125856 25f29ee377b1 [flang][OpenMP] Update all `lastprivate` symbols, not just in clauses https://github.com/llvm/llvm-project/pull/125628 7ece824b6fa9 [flang][debug] Improve check for global variable detection. https://github.com/llvm/llvm-project/pull/118326 e8100c399b37 [flang][OpenMP] Handle directive arguments in OmpDirectiveSpecifier https://github.com/llvm/llvm-project/pull/124278 6dfe20dbbd65 [flang][OpenMP] Parse METADIRECTIVE in specification part https://github.com/llvm/llvm-project/pull/123397 ab77db03ce28 [flang][Lower] Move getHashValue and isEqual implementations to Utils… https://github.com/llvm/llvm-project/pull/125513 fe8b323f5983 [flang][OpenMP] Semantic checks for context selectors https://github.com/llvm/llvm-project/pull/123243 205b0bddcd8b [OpenMP][IRBuilder] Handle `target` directives with both `if` & `nowait` https://github.com/llvm/llvm-project/pull/125029 2428b6ec40bc [Flang][MLIR][OpenMP] Fix Target Data if (present(...)) causing LLVM-IR branching error https://github.com/llvm/llvm-project/pull/123771 4186805060bb [Flang][MLIR] Extend DataLayout utilities to have basic GPU Module support https://github.com/llvm/llvm-project/pull/123149 15ab7be2e049 [flang][OpenMP] Parse WHEN, OTHERWISE, MATCH clauses plus METADIRECTIVE https://github.com/llvm/llvm-project/pull/121817 c8593239a3b5 [flang][OpenMP] Make parsing of trait properties more context-sensitive https://github.com/llvm/llvm-project/pull/122900 e0054e984cac [MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results https://github.com/llvm/llvm-project/pull/124604 afa4681ce443 [flang][debug] Add support for common blocks. https://github.com/llvm/llvm-project/pull/112398 83433d936195 [OpenMP][IRBuilder] Handle `target ... nowait` when codegen targets host https://github.com/llvm/llvm-project/pull/124720 ba789c6f82a9 [Flang] Add semantics checks for CrayPointer usage in DSA list https://github.com/llvm/llvm-project/pull/123171 2e5a5237daf8 [flang][debug] Avoid redundant debug data generation for derived types. https://github.com/llvm/llvm-project/pull/124473 1e2d5f7943d0 [NFC][mlir][OpenMP] Remove mentions of `target` from generic `loop` rewrite https://github.com/llvm/llvm-project/pull/124528 d7e561b913d2 [flang][OpenMP] Support `bind` clause code-gen for standalone `loop`s https://github.com/llvm/llvm-project/pull/122674 f61d93ffc456 [Flang] Generate math.acos op for non-precise acos intrinsic calls https://github.com/llvm/llvm-project/pull/123641 ff55c9bc63dd [llvm][amdgpu] Handle indirect refs to LDS GVs during LDS lowering https://github.com/llvm/llvm-project/pull/124089 937cbce14c9a Revert "[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` (#122471)" https://github.com/llvm/llvm-project/pull/123324 8f5df8891840 [Flang][Semantics] Allow declare target to be used on functions external to the declare targets scope https://github.com/llvm/llvm-project/pull/122546 6b6c6d0dcc3c [NFC] Remove unnecessary changes from the trunk https://github.com/ROCm/llvm-project/commit/6b6c6d0dcc3c 29f7392c73dc [flang][OpenMP] Rewrite standalone `loop` (without `bind`) directives to `simd` https://github.com/llvm/llvm-project/pull/122632 c2aa11d14867 [Flang] Add LLVM lowering support for UNTIED clause in Task https://github.com/llvm/llvm-project/pull/121052 0ec153b9fde7 [flang][debug] Remove an unused function to fix build. https://github.com/llvm/llvm-project/pull/123602 af91372b7561 [flang][debug] Improve handling of cyclic derived types. https://github.com/llvm/llvm-project/pull/122770 d7e48fbf205a [llvm][OpenMP] Add implicit cast to omp.atomic.read https://github.com/llvm/llvm-project/pull/114659 a0406ce823e8 [flang][OpenMP] Add `hostIsSource` paramemter to `copyHostAssociateVar` https://github.com/llvm/llvm-project/pull/123162 6b3ba6677d64 [flang][OpenMP] Unconditionally create `after_alloca` block in `allocatePrivateVars` https://github.com/llvm/llvm-project/pull/123168 6f82408bb53f [flang][OpenMP] Enable delayed privatization by default `omp.wsloop` https://github.com/llvm/llvm-project/pull/122471 990774ab8e1f [Flang] Add semantic checks for cray pointer usage in DSA list https://github.com/llvm/llvm-project/pull/121028 1d890b06eedf [Flang, OpenMP] Add LLVM lowering support for PRIORITY in TASK https://github.com/llvm/llvm-project/pull/120710 a32c45631b69 [flang][OpenMP] Generalize fixing `alloca` IP pre-condition for `private` ops https://github.com/llvm/llvm-project/pull/122866