llvm/llvm-project
Missing FP optimization opportunities for fcmp ord operations
已关闭
#49,175 创建于 2021年4月4日
bugzillafloating-pointgood first issuellvm:optimizationsmissed-optimization
仓库指标
- 星标
- (26,378 个星标)
- PR 合并指标
- (平均合并 1天 2小时) (30 天内合并 1,000 个 PR)
描述
| Bugzilla Link | 49831 |
| Version | trunk |
| OS | All |
| Blocks | llvm/llvm-project#49274 |
| CC | @RKSimon,@rotateright |
Extended Description
; Excerpted from llvm/test/Transforms/InstCombine/and-fcmp.ll
define i1 @_commute_logical(i1 %z, float %c, float %d) {
%ord1 = fcmp ninf ord float %c, 0.0
%and = select i1 %ord1, i1 %z, i1 false
%ord2 = fcmp ninf reassoc ord float %d, 0.0
%r = select i1 %ord2, i1 %and, i1 false
ret i1 %r
}
This can be optimized to
%c.fr = freeze float %c
%ord1 = fcmp ord float %c.fr, %d
%r = select i1 %ord1, i1 %z, i1 false
Alive2 link: https://alive2.llvm.org/ce/z/QfkJak