HomePhabricator

[DAGCombiner] Fold SETCC(FREEZE(x),const) to FREEZE(SETCC(x,const)) if SETCC is…

Authored by aqjune on Jul 2 2021, 5:00 AM.

Description

[DAGCombiner] Fold SETCC(FREEZE(x),const) to FREEZE(SETCC(x,const)) if SETCC is used by BRCOND

This patch adds a peephole optimization SETCC(FREEZE(x),const) => FREEZE(SETCC(x,const))
if the SETCC is only used by BRCOND.

Combined with BRCOND(FREEZE(X)) => BRCOND(X), this leads to a nice improvement in the generated assembly when x is a masked loaded value.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D105344