Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:Or

153 /// CanEvaluateTruncated or CanEvaluateSExtd returns true for, actually
158 C = ConstantExpr::getIntegerCast(C, Ty, isSigned /*Sext or ZExt*/);
174 case Instruction::Or:
248 // We don't want to form an inttoptr or ptrtoint that converts to an integer
275 // idiom where each element of the extended vector is either zero or all ones.
292 // The first cast (CSrc) is eliminable so we need to fix up or replace
344 // We can't extend or shrink something that has multiple uses: doing so would
354 case Instruction::Or:
356 // These operators can all arbitrarily be extended or truncated.
482 // type, then zero extend or truncate to the result.
663 // We can't extend or shrink something that has multiple uses: doing so would
671 case Instruction::Trunc: // zext(trunc(x)) -> trunc(x) or zext(x)
674 case Instruction::Or:
687 // If the operation is an AND/OR/XOR and the bits to clear are zero in the
690 (Opc == Instruction::And || Opc == Instruction::Or ||
802 // will be smaller than A or C, but don't know the relation between A and C.
836 if (SrcI && SrcI->getOpcode() == Instruction::Or) {
837 // zext (or icmp, icmp) --> or (zext icmp), (zext icmp) if at least one
846 return BinaryOperator::Create(Instruction::Or, LCast, RCast);
912 // have an equality comparison with zero or a power of 2, we can transform
942 // At this point "In" is either 1 or 0. Subtract 1 to turn
1009 // We can't extend or shrink something that has multiple uses: doing so would
1016 case Instruction::Trunc: // sext(trunc(x)) -> trunc(x) or sext(x)
1019 case Instruction::Or:
1304 // trunc or zext to the intptr_t type, then inttoptr of it. This allows the
1380 // do a ptrtoint to intptr_t then do a trunc or zext. This allows the cast
1399 /// is being zero extended or truncated to the specified vector type. Try to
1406 // element size, or the input is a multiple of the output element size.
1424 // shuffle to use, which depends on whether we're increasing or decreasing the
1468 /// This returns false if the pattern can't be matched or true if it can,
1493 // Figure out the # elements this provides, and bitcast it or slice it up
1537 case Instruction::Or:
1557 /// OptimizeIntegerToVectorInsertions - If the input is an 'or' instruction, we
1567 /// %ins35 = or i64 %tmp33, %tmp38
1582 // or
1713 // is a trunc or zext of a bitcast from vector. If so, we can replace all
1724 // If the input is an 'or' instruction, we may be doing shifts and ors to