Lines Matching defs:CombineResult
14238 struct CombineResult;
14481 using CombineToTry = std::function<std::optional<CombineResult>(
14736 /// anything. Instead they produce an optional CombineResult that if not None,
14738 /// \see CombineResult::materialize.
14746 struct CombineResult {
14759 CombineResult(unsigned TargetOpcode, SDNode *Root,
14798 /// CombineResult will feature the zext result.
14800 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14802 static std::optional<CombineResult>
14808 return CombineResult(NodeExtensionHelper::getZExtOpcode(Root->getOpcode()),
14812 return CombineResult(NodeExtensionHelper::getSExtOpcode(Root->getOpcode()),
14816 return CombineResult(NodeExtensionHelper::getFPExtOpcode(Root->getOpcode()),
14826 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14828 static std::optional<CombineResult>
14839 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14841 static std::optional<CombineResult>
14846 return CombineResult(
14855 return CombineResult(
14859 return CombineResult(
14867 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14869 static std::optional<CombineResult>
14879 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14881 static std::optional<CombineResult>
14891 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14893 static std::optional<CombineResult>
14903 /// \returns std::nullopt if the pattern doesn't match or a CombineResult that
14905 static std::optional<CombineResult>
14912 return CombineResult(NodeExtensionHelper::getSUOpcode(Root->getOpcode()),
14997 SmallVector<CombineResult> CombinesToApply;
15032 std::optional<CombineResult> Res =
15061 for (CombineResult Res : CombinesToApply) {