llvm/llvm-project

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

Open

#85.268 aperta il 14 mar 2024

Vedi su GitHub
 (13 commenti) (0 reazioni) (1 assegnatario)C++ (10.782 fork)batch import
floating-pointgood first issuellvm:codegenmissed-optimization

Metriche repository

Star
 (26.378 star)
Metriche merge PR
 (Merge medio 1g 2h) (1000 PR mergiate in 30 g)

Descrizione

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.

Guida contributor