Lines Matching defs:FormatElement

112   static bool classof(const FormatElement *fe) {
190 FunctionalTypeDirective(FormatElement *inputs, FormatElement *results)
193 FormatElement *getInputs() const { return inputs; }
194 FormatElement *getResults() const { return results; }
198 FormatElement *inputs, *results;
204 TypeDirective(FormatElement *arg) : arg(arg) {}
206 FormatElement *getArg() const { return arg; }
217 FormatElement *arg;
228 OIListElement(std::vector<FormatElement *> &&literalElements,
229 std::vector<std::vector<FormatElement *>> &&parsingElements)
235 return llvm::map_range(literalElements, [](FormatElement *el) {
242 ArrayRef<std::vector<FormatElement *>> getParsingElements() const {
254 getUnitVariableParsingElement(ArrayRef<FormatElement *> pelement) {
271 std::vector<FormatElement *> literalElements;
283 std::vector<std::vector<FormatElement *>> parsingElements;
359 void genElementParser(FormatElement *element, MethodBody &body,
380 void genElementPrinter(FormatElement *element, MethodBody &body, Operator &op,
384 std::vector<FormatElement *> elements;
811 static StringRef getTypeListName(FormatElement *arg,
856 static void genElementParserStorage(FormatElement *element, const Operator &op,
859 ArrayRef<FormatElement *> elements = optional->getThenElements();
864 FormatElement *elidedAnchorElement = nullptr;
867 for (FormatElement *childElement : elements)
870 for (FormatElement *childElement : optional->getElseElements())
874 for (ArrayRef<FormatElement *> pelement : oilist->getParsingElements()) {
876 for (FormatElement *element : pelement)
881 for (FormatElement *paramElement : custom->getArguments())
963 static void genCustomParameterParser(FormatElement *param, MethodBody &body) {
1036 for (FormatElement *param : dir->getArguments()) {
1065 FormatElement *input = dir->getArg();
1088 for (FormatElement *param : dir->getArguments()) {
1102 for (FormatElement *param : dir->getArguments()) {
1388 for (FormatElement *element : elements)
1396 for (FormatElement *element : elements)
1411 void OperationFormat::genElementParser(FormatElement *element, MethodBody &body,
1416 auto genElementParsers = [&](FormatElement *firstElement,
1417 ArrayRef<FormatElement *> elements,
1421 FormatElement *elidedAnchorElement = nullptr;
1447 for (FormatElement *childElement : elements)
1453 ArrayRef<FormatElement *> thenElements =
1458 FormatElement *firstElement = thenElements.front();
1507 ArrayRef<FormatElement *> elseElements =
1524 ArrayRef<FormatElement *> pelement = std::get<1>(clause);
1546 for (FormatElement *el : pelement)
1658 TypeSwitch<FormatElement *>(dir->getArg())
1845 elements, [](FormatElement *elt) { return isa<RegionsDirective>(elt); });
1863 bool hasAllSuccessors = llvm::any_of(elements, [](FormatElement *elt) {
2150 static void genCustomDirectiveParameterPrinter(FormatElement *element,
2207 for (FormatElement *param : customDir->getArguments()) {
2232 static MethodBody &genTypeOperandPrinter(FormatElement *arg, const Operator &op,
2316 static void genOptionalGroupPrinterAnchor(FormatElement *anchor,
2319 TypeSwitch<FormatElement *>(anchor)
2352 [&](FormatElement *child) {
2362 void collect(FormatElement *element,
2364 TypeSwitch<FormatElement *>(element)
2367 for (FormatElement *arg : ele->getArguments())
2371 for (FormatElement *arg : ele->getThenElements())
2373 for (FormatElement *arg : ele->getElseElements())
2381 for (ArrayRef<FormatElement *> arg : oilist->getParsingElements())
2382 for (FormatElement *arg : arg)
2387 void OperationFormat::genElementPrinter(FormatElement *element,
2409 FormatElement *anchor = optional->getAnchor();
2419 ArrayRef<FormatElement *> thenElements = optional->getThenElements();
2420 ArrayRef<FormatElement *> elseElements = optional->getElseElements();
2421 FormatElement *elidedAnchorElement = nullptr;
2428 auto genElementPrinters = [&](ArrayRef<FormatElement *> elements) {
2429 for (FormatElement *childElement : elements) {
2456 ArrayRef<FormatElement *> pelement = std::get<1>(clause);
2459 for (FormatElement *el : pelement)
2463 TypeSwitch<FormatElement *>(var)
2499 for (FormatElement *element : pelement)
2660 for (FormatElement *element : elements)
2688 LogicalResult verify(SMLoc loc, ArrayRef<FormatElement *> elements) override;
2692 ArrayRef<FormatElement *> arguments) override;
2695 ArrayRef<FormatElement *> elements,
2696 FormatElement *anchor) override;
2697 LogicalResult verifyOptionalGroupElement(SMLoc loc, FormatElement *element,
2700 LogicalResult markQualified(SMLoc loc, FormatElement *element) override;
2703 FailureOr<FormatElement *> parseVariableImpl(SMLoc loc, StringRef name,
2706 FailureOr<FormatElement *>
2719 LogicalResult verifyAttributes(SMLoc loc, ArrayRef<FormatElement *> elements);
2723 ArrayRef<FormatElement *> elements);
2726 ArrayRef<FormatElement *> elements);
2745 ArrayRef<FormatElement *> elements);
2768 FailureOr<FormatElement *> parsePropDictDirective(SMLoc loc, Context context);
2769 FailureOr<FormatElement *> parseAttrDictDirective(SMLoc loc, Context context,
2771 FailureOr<FormatElement *> parseFunctionalTypeDirective(SMLoc loc,
2773 FailureOr<FormatElement *> parseOIListDirective(SMLoc loc, Context context);
2774 LogicalResult verifyOIListParsingElement(FormatElement *element, SMLoc loc);
2775 FailureOr<FormatElement *> parseOperandsDirective(SMLoc loc, Context context);
2776 FailureOr<FormatElement *> parseRegionsDirective(SMLoc loc, Context context);
2777 FailureOr<FormatElement *> parseResultsDirective(SMLoc loc, Context context);
2778 FailureOr<FormatElement *> parseSuccessorsDirective(SMLoc loc,
2780 FailureOr<FormatElement *> parseTypeDirective(SMLoc loc, Context context);
2781 FailureOr<FormatElement *> parseTypeDirectiveOperand(SMLoc loc,
2807 ArrayRef<FormatElement *> elements) {
2858 ArrayRef<FormatElement *> elements) {
2884 static bool isOptionallyParsed(FormatElement *el) {
2914 FormatElement *base,
2915 function_ref<bool(FormatElement *, FormatElement *)> isInvalid,
2916 iterator_range<ArrayRef<FormatElement *>::iterator> elementRange,
2917 FormatElement *optionalGuard = nullptr) {
2918 for (FormatElement *element : elementRange) {
2954 static FailureOr<FormatElement *> verifyAdjacentElements(
2955 function_ref<bool(FormatElement *)> isBase,
2956 function_ref<bool(FormatElement *, FormatElement *)> isInvalid,
2957 ArrayRef<FormatElement *> elements) {
2960 FormatElement *base;
2966 FailureOr<FormatElement *> thenResult = verifyAdjacentElements(
2970 FailureOr<FormatElement *> elseResult = verifyAdjacentElements(
2998 ArrayRef<FormatElement *> elements) {
2999 auto isBase = [](FormatElement *el) {
3009 auto isInvalid = [&](FormatElement *base, FormatElement *el) {
3025 ArrayRef<FormatElement *> elements) {
3026 auto isBase = [](FormatElement *el) {
3031 auto isInvalid = [&](FormatElement *base, FormatElement *el) {
3179 ArrayRef<FormatElement *> elements) {
3182 for (FormatElement *it : elements) {
3275 FailureOr<FormatElement *>
3359 FailureOr<FormatElement *>
3391 FailureOr<FormatElement *>
3413 FailureOr<FormatElement *>
3431 SMLoc loc, ArrayRef<FormatElement *> arguments) {
3432 for (FormatElement *argument : arguments) {
3436 // TODO: FormatElement should have location info attached.
3450 FailureOr<FormatElement *>
3457 FailureOr<FormatElement *> inputs, results;
3470 FailureOr<FormatElement *>
3485 FailureOr<FormatElement *>
3503 FailureOr<FormatElement *>
3511 FailureOr<FormatElement *>
3530 FailureOr<FormatElement *>
3535 std::vector<FormatElement *> literalElements;
3536 std::vector<std::vector<FormatElement *>> parsingElements;
3538 FailureOr<FormatElement *> lelement = parseLiteral(context);
3543 std::vector<FormatElement *> &currParsingElements = parsingElements.back();
3546 FailureOr<FormatElement *> pelement = parseElement(context);
3566 LogicalResult OpFormatParser::verifyOIListParsingElement(FormatElement *element,
3572 TypeSwitch<FormatElement *, LogicalResult>(elem)
3607 .Default([&](FormatElement *) {
3618 FailureOr<FormatElement *> OpFormatParser::parseTypeDirective(SMLoc loc,
3624 FailureOr<FormatElement *> operand;
3635 LogicalResult OpFormatParser::markQualified(SMLoc loc, FormatElement *element) {
3636 return TypeSwitch<FormatElement *, LogicalResult>(element)
3648 FailureOr<FormatElement *>
3650 FailureOr<FormatElement *> result = parseElement(TypeDirectiveContext);
3654 FormatElement *element = *result;
3698 SMLoc loc, ArrayRef<FormatElement *> elements, FormatElement *anchor) {
3699 for (FormatElement *element : elements) {
3707 FormatElement *element,
3709 return TypeSwitch<FormatElement *, LogicalResult>(element)
3766 for (FormatElement *child : ele->getArguments()) {
3777 [&](FormatElement *) {
3783 .Default([&](FormatElement *) {
3807 FailureOr<std::vector<FormatElement *>> elements = parser.parse();