Skip to content

Missed optimization: fold icmp sgt (fptosi %x), -1 -> fcmp ogt %x, -1.0 #154242

@zxt5

Description

@zxt5
define i1 @src(float %arg0) {
  %v0 = fptosi float %arg0 to i32
  %v1 = icmp sgt i32 %v0, -1
  ret i1 %v1
}

define i1 @tgt(float %arg0) {
  %v0 = fcmp ogt float %arg0, -1.0
  ret i1 %v0
}

Alive2: https://alive2.llvm.org/ce/z/XtQS6H
Godbolt: https://godbolt.org/z/xnr4dWM8q

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions