diff options
author | Shoreshen <372660931@qq.com> | 2025-04-17 17:03:32 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-17 17:03:32 +0800 |
commit | 121cd7c6f0270540ce976b98061ba765edc1675d (patch) | |
tree | 394195bb76227d18bef5c1b8a63896de166f4d46 /llvm/lib/IR/Function.cpp | |
parent | 2ee7fc04568f835be00629cb4130171b14b2e7df (diff) | |
download | llvm-121cd7c6f0270540ce976b98061ba765edc1675d.zip llvm-121cd7c6f0270540ce976b98061ba765edc1675d.tar.gz llvm-121cd7c6f0270540ce976b98061ba765edc1675d.tar.bz2 |
Re apply 130577 narrow math for and operand (#133896)
Re-apply https://github.com/llvm/llvm-project/pull/130577
Which is reverted in https://github.com/llvm/llvm-project/pull/133880
The old application failed in address sanitizer due to
`tryNarrowMathIfNoOverflow` was called after `I.eraseFromParent();` in
`AMDGPUCodeGenPrepareImpl::visitBinaryOperator`, it create a use after
free failure.
To fix this, `tryNarrowMathIfNoOverflow` will be called before and
directly return if `tryNarrowMathIfNoOverflow` result in true.
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions