diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2025-10-05 16:15:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-05 16:15:51 +0800 |
commit | ca5ece89394f64ab814032d9562b2e4770160523 (patch) | |
tree | a6f694ec382c9d2cac9b060b54290d8797a5e6b0 /lldb/test/API/linux/add-symbols | |
parent | 0338350ccb506020529259427ec1c66ca6569749 (diff) | |
download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 |
This patch simplifies an fcmp into true/false if it is implied by a
dominating fcmp.
As an initial support, it only handles two cases:
+ `fcmp pred1, X, Y -> fcmp pred2, X, Y`: use set operations.
+ `fcmp pred1, X, C1 -> fcmp pred2, X, C2`: use `ConstantFPRange` and
set operations.
Note: It doesn't fix https://github.com/llvm/llvm-project/issues/70985,
as the second fcmp in the motivating case is not dominated by the edge.
We may need to adjust JumpThreading to handle this case.
Comptime impact (~+0.1%):
https://llvm-compile-time-tracker.com/compare.php?from=a728f213c863e4dd19f8969a417148d2951323c0&to=8ca70404fb0d66a824f39d83050ac38e2f1b25b9&stat=instructions:u
IR diff: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2848
Diffstat (limited to 'lldb/test/API/linux/add-symbols')
0 files changed, 0 insertions, 0 deletions