[all-commits] [llvm/llvm-project] 3701eb: AtomicExpand: Fix expanding atomics into unconstra...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Tue Jul 11 15:58:56 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3701ebe76b998a55993f605c2fb323c25cc0086b
https://github.com/llvm/llvm-project/commit/3701ebe76b998a55993f605c2fb323c25cc0086b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-07-11 (Tue, 11 Jul 2023)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
Log Message:
-----------
AtomicExpand: Fix expanding atomics into unconstrained FP in strictfp functions
Ideally the normal fadd/fmin/fmax this was creating would fail the verifier.
It's probably also necessary to force off FP exception handlers in the cmpxchg
loop but we don't have a generic way to do that now.
Note strictfp builder is broken in the minnum/maxnum case
https://reviews.llvm.org/D154993
Commit: 14c3ab945be9c49964dbf79f13d8ff8df1ff7b72
https://github.com/llvm/llvm-project/commit/14c3ab945be9c49964dbf79f13d8ff8df1ff7b72
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-07-11 (Tue, 11 Jul 2023)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
Log Message:
-----------
IRBuilder: Fix not handling strictfp minnum/maxnum
Removing the rounding mode arguments seems like more trouble than
it's worth. minimum and maximum are still broken.
https://reviews.llvm.org/D154994
Compare: https://github.com/llvm/llvm-project/compare/b59022b42e0b...14c3ab945be9
More information about the All-commits
mailing list