llvm/llvm-project

missed fold, sext(fptosi x to i32) => fptosi x to i64

Open

#85,268 opened on 2024年3月14日

GitHub で見る
 (13 comments) (0 reactions) (1 assignee)C++ (10,782 forks)batch import
floating-pointgood first issuellvm:codegenmissed-optimization

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (平均マージ 1d 2h) (30d で 1,000 merged PRs)

説明

https://alive2.llvm.org/ce/z/bFW9vZ online Alive timed out for this one, you'll need local alive2 with larger smt-to.

define i64 @src(float %0) {
if.end27:
%1 = fptosi float %0 to i32
%2 = sext i32 %1 to i64
ret i64 %2

sink: ; No predecessors!
unreachable
}

define i64 @tgt(float %0) {
if.end27:
%1 = fptosi float %0 to i64
ret i64 %1

sink: ; No predecessors!
unreachable
}

no brainer, same pattern applies to fptoui.

コントリビューターガイド