Lines Matching defs:CombineResult
14975 struct CombineResult;
15233 using CombineToTry = std::function<std::optional<CombineResult>(
15519 /// anything. Instead they produce an optional CombineResult that if not None,
15521 /// \see CombineResult::materialize.
15529 struct CombineResult {
15542 CombineResult(unsigned TargetOpcode, SDNode *Root,
15581 /// CombineResult will feature the zext result.
15583 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15585 static std::optional<CombineResult>
15591 return CombineResult(NodeExtensionHelper::getZExtOpcode(Root->getOpcode()),
15595 return CombineResult(NodeExtensionHelper::getSExtOpcode(Root->getOpcode()),
15599 return CombineResult(NodeExtensionHelper::getFPExtOpcode(Root->getOpcode()),
15609 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15611 static std::optional<CombineResult>
15622 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15624 static std::optional<CombineResult>
15629 return CombineResult(
15638 return CombineResult(
15642 return CombineResult(
15650 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15652 static std::optional<CombineResult>
15662 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15664 static std::optional<CombineResult>
15674 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15676 static std::optional<CombineResult>
15686 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
15688 static std::optional<CombineResult>
15695 return CombineResult(NodeExtensionHelper::getSUOpcode(Root->getOpcode()),
15784 SmallVector<CombineResult> CombinesToApply;
15824 std::optional<CombineResult> Res =
15855 for (CombineResult Res : CombinesToApply) {