// attribute may be documented under multiple categories, more than one
// Documentation entry may be listed.
list<Documentation> Documentation;
bit PrettyPrintSpelling = 1;
}
/// Used to define a set of mutually exclusive attributes.
@@ -3495,6 +3497,447 @@ def InitSeg : Attr {
}];
}
def LoopId : Attr {
// #pragma clang loop id(loopname)
// This exists only to make ClangAttrEmitter emit a printPretty(OS, Policy) function which prints "#pragma" and then calls printPrettyPragma(OS, Policy)
// This exists only to make ClangAttrEmitter emit a printPretty(OS, Policy) function which prints "#pragma" and then calls printPrettyPragma(OS, Policy)
let Spellings = [Pragma<"", "reverse">];
let PrettyPrintSpelling = 0;
let Args = [StringArgument<"ApplyOn">, StringArgument<"ReversedId">];
// This exists only to make ClangAttrEmitter emit a printPretty(OS, Policy) function which prints "#pragma" and then calls printPrettyPragma(OS, Policy)
let Spellings = [Pragma<"", "unrolling">];
let PrettyPrintSpelling = 0;
let Args = [StringArgument<"ApplyOn">, ExprArgument<"Factor">, BoolArgument<"Full">];
// This exists only to make ClangAttrEmitter emit a printPretty(OS, Policy) function which prints "#pragma" and then calls printPrettyPragma(OS, Policy)
let Spellings = [Pragma<"", "unrollingandjam">];
let PrettyPrintSpelling = 0;
let Args = [VariadicStringArgument<"ApplyOn">, ExprArgument<"Factor">, BoolArgument<"Full">, VariadicStringArgument<"UnrolledIds">, ];
// This exists only to make ClangAttrEmitter emit a printPretty(OS, Policy) function which prints "#pragma" and then calls printPrettyPragma(OS, Policy)
let Spellings = [Pragma<"", "parallelize_thread">];