Lines Matching defs:SelectLike

127   /// SelectLike is an abstraction over SelectInst and other operations that can
130 class SelectLike {
142 SelectLike(Instruction *I, bool Inverted = false, unsigned CondIdx = 0)
152 /// Return the true value for the SelectLike instruction. Note this may not
153 /// exist for all SelectLike instructions. For example, for `or(zext(c), x)`
169 /// Return the false value for the SelectLike instruction. For example the
225 SmallVector<SelectLike, 2> Selects;
270 bool isSelectHighlyPredictable(const SelectLike SI);
283 SmallDenseMap<const Instruction *, SelectLike, 2>
295 Scaled64 getMispredictionCost(const SelectLike SI, const Scaled64 CondCost);
299 const SelectLike SI);
302 bool isSelectKindSupported(const SelectLike SI);
481 SelectOptimizeImpl::SelectLike &SI, bool isTrue,
561 for (SelectLike &SI : ASI.Selects) {
610 SelectLike &SI = ASI.Selects.front();
611 SelectLike &LastSI = ASI.Selects.back();
728 for (SelectLike &SI : ASI.Selects) {
753 for (SelectLike &SI : ASI.Selects)
781 // Check if the instruction is SelectLike or might be part of SelectLike
980 for (SelectLike &SI : ASI.Selects) {
1006 const SelectLike &SI = ASI.Selects.front();
1068 static bool extractBranchWeights(const SelectOptimizeImpl::SelectLike SI,
1094 for (SelectLike SI : ASI.Selects) {
1196 bool SelectOptimizeImpl::isSelectHighlyPredictable(const SelectLike SI) {
1361 SmallDenseMap<const Instruction *, SelectOptimizeImpl::SelectLike, 2>
1363 SmallDenseMap<const Instruction *, SelectLike, 2> SImap;
1365 for (const SelectLike &SI : ASI.Selects)
1374 for (const SelectLike &SI : ASI.Selects)
1389 SelectOptimizeImpl::getMispredictionCost(const SelectLike SI,
1416 const SelectLike SI) {
1436 bool SelectOptimizeImpl::isSelectKindSupported(const SelectLike SI) {