Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Show First 20 Lines • Show All 745 Lines • ▼ Show 20 Lines | public: | ||||
bool matchSelectToLogical(MachineInstr &MI, BuildFnTy &MatchInfo); | bool matchSelectToLogical(MachineInstr &MI, BuildFnTy &MatchInfo); | ||||
bool matchCombineFMinMaxNaN(MachineInstr &MI, unsigned &Info); | bool matchCombineFMinMaxNaN(MachineInstr &MI, unsigned &Info); | ||||
/// Transform G_ADD(x, G_SUB(y, x)) to y. | /// Transform G_ADD(x, G_SUB(y, x)) to y. | ||||
/// Transform G_ADD(G_SUB(y, x), x) to y. | /// Transform G_ADD(G_SUB(y, x), x) to y. | ||||
bool matchAddSubSameReg(MachineInstr &MI, Register &Src); | bool matchAddSubSameReg(MachineInstr &MI, Register &Src); | ||||
bool matchBuildVectorIdentityFold(MachineInstr &MI, Register &MatchInfo); | |||||
bool matchTruncBuildVectorFold(MachineInstr &MI, Register &MatchInfo); | |||||
/// \returns true if it is possible to simplify a select instruction \p MI | /// \returns true if it is possible to simplify a select instruction \p MI | ||||
/// to a min/max instruction of some sort. | /// to a min/max instruction of some sort. | ||||
bool matchSimplifySelectToMinMax(MachineInstr &MI, BuildFnTy &MatchInfo); | bool matchSimplifySelectToMinMax(MachineInstr &MI, BuildFnTy &MatchInfo); | ||||
private: | private: | ||||
/// Given a non-indexed load or store instruction \p MI, find an offset that | /// Given a non-indexed load or store instruction \p MI, find an offset that | ||||
/// can be usefully and legally folded into it as a post-indexing operation. | /// can be usefully and legally folded into it as a post-indexing operation. | ||||
/// | /// | ||||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |