Skip to content

Commit 6068cd0

Browse files
committed
Make foldableSelect a static function
Signed-off-by: John Lu <[email protected]>
1 parent 25181fc commit 6068cd0

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10641,6 +10641,19 @@ static bool optimizeSCC(MachineInstr *SCCValid, MachineInstr *SCCRedefine,
1064110641
return true;
1064210642
}
1064310643

10644+
static bool foldableSelect(MachineInstr *Def) {
10645+
if (Def->getOpcode() == AMDGPU::S_CSELECT_B32 ||
10646+
Def->getOpcode() == AMDGPU::S_CSELECT_B64) {
10647+
bool Op1IsNonZeroImm =
10648+
Def->getOperand(1).isImm() && Def->getOperand(1).getImm() != 0;
10649+
bool Op2IsZeroImm =
10650+
Def->getOperand(2).isImm() && Def->getOperand(2).getImm() == 0;
10651+
if (Op1IsNonZeroImm && Op2IsZeroImm)
10652+
return true;
10653+
}
10654+
return false;
10655+
}
10656+
1064410657
bool SIInstrInfo::optimizeCompareInstr(MachineInstr &CmpInstr, Register SrcReg,
1064510658
Register SrcReg2, int64_t CmpMask,
1064610659
int64_t CmpValue,
@@ -10660,19 +10673,6 @@ bool SIInstrInfo::optimizeCompareInstr(MachineInstr &CmpInstr, Register SrcReg,
1066010673
if (!Def || Def->getParent() != CmpInstr.getParent())
1066110674
return false;
1066210675

10663-
const auto foldableSelect = [](MachineInstr *Def) -> bool {
10664-
if (Def->getOpcode() == AMDGPU::S_CSELECT_B32 ||
10665-
Def->getOpcode() == AMDGPU::S_CSELECT_B64) {
10666-
bool Op1IsNonZeroImm =
10667-
Def->getOperand(1).isImm() && Def->getOperand(1).getImm() != 0;
10668-
bool Op2IsZeroImm =
10669-
Def->getOperand(2).isImm() && Def->getOperand(2).getImm() == 0;
10670-
if (Op1IsNonZeroImm && Op2IsZeroImm)
10671-
return true;
10672-
}
10673-
return false;
10674-
};
10675-
1067610676
// For S_OP that set SCC = DST!=0, do the transformation
1067710677
//
1067810678
// s_cmp_lg_* (S_OP ...), 0 => (S_OP ...)

0 commit comments

Comments
 (0)