Skip to content

Missed optimization: fold x*a == b -> x == b/a #153991

@zxt5

Description

@zxt5
define i1 @src(float %v1) {
 %v2 = fmul float %v1, 5.000000e-01
  %v3 = fcmp olt float %v2, 8.000000e+00
  ret i1 %v3
}

define i1 @tgt(float %v1) {
  %v2 = fcmp olt float %v1, 1.600000e+01
  ret i1 %v2
}

Alive2: https://alive2.llvm.org/ce/z/b6iVdH
Godbolt: https://godbolt.org/z/WPMbTh7GP

Pattern found in https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/ffmpeg/optimized/af_arnndn.ll

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions