| /llvm-project/llvm/include/llvm/ADT/ |
| H A D | DenseMapInfoVariant.h | 25 using Variant = std::variant<Ts...>; 26 using FirstT = std::variant_alternative_t<0, Variant>; 28 static inline Variant getEmptyKey() { 29 return Variant(std::in_place_index<0>, DenseMapInfo<FirstT>::getEmptyKey()); 32 static inline Variant getTombstoneKey() { 33 return Variant(std::in_place_index<0>, 37 static unsigned getHashValue(const Variant &Val) { 49 static bool isEqual(const Variant &LHS, const Variant &RHS) {
|
| /llvm-project/lldb/source/Plugins/Trace/intel-pt/ |
| H A D | PerfContextSwitchDecoder.cpp | 103 case Variant::Complete: in GetLowestKnownTSC() 105 case Variant::OnlyStart: in GetLowestKnownTSC() 107 case Variant::OnlyEnd: in GetLowestKnownTSC() 109 case Variant::HintedEnd: in GetLowestKnownTSC() 111 case Variant::HintedStart: in GetLowestKnownTSC() 118 case Variant::Complete: in GetStartTSC() 120 case Variant::OnlyStart: in GetStartTSC() 122 case Variant::OnlyEnd: in GetStartTSC() 124 case Variant::HintedEnd: in GetStartTSC() 126 case Variant::HintedStart: in GetStartTSC() [all …]
|
| /llvm-project/llvm/lib/DebugInfo/PDB/Native/ |
| H A D | NativeSymbolEnumerator.cpp | 76 Variant NativeSymbolEnumerator::getValue() const { in getValue() 87 return Variant{static_cast<int8_t>(N)}; in getValue() 89 return Variant{static_cast<int16_t>(N)}; in getValue() 91 return Variant{static_cast<int32_t>(N)}; in getValue() 93 return Variant{static_cast<int64_t>(N)}; in getValue() 103 return Variant{static_cast<uint8_t>(U)}; in getValue() 105 return Variant{static_cast<uint16_t>(U)}; in getValue() 107 return Variant{static_cast<uint32_t>(U)}; in getValue() 109 return Variant{static_cast<uint64_t>(U)}; in getValue() 116 return Variant{static_cast<bool>(U)}; in getValue() [all …]
|
| /llvm-project/llvm/test/Analysis/ScalarEvolution/ |
| H A D | cycled_phis.ll | 11 ; CHECK-NEXT: --> %phi_1 U: [0,31) S: [0,31) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 13 ; CHECK-NEXT: --> %phi_2 U: [0,31) S: [0,31) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 15 ; CHECK-NEXT: --> %cond U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 41 ; CHECK-NEXT: --> %outer_phi U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %outer_loop: Variant, %inner_loop: Invariant } 43 ; CHECK-NEXT: --> %inner_phi U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner_loop: Variant, %outer_loop: Variant } 45 ; CHECK-NEXT: --> %inner_load U: [2000,3000) S: [2000,3000) Exits: <<Unknown>> LoopDispositions: { %inner_loop: Variant, %outer_loop: Variant } 47 ; CHECK-NEXT: --> %inner_cond U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner_loop: Variant, %outer_loop: Variant } [all...] |
| H A D | pr58402-large-number-of-zext-exprs.ll | 8 …ECK-NEXT: --> %d.0 U: [0,65) S: [0,65) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 12 …(sext i1 %cmp to i32) U: [-1,1) S: [-1,1) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 14 …> (zext i1 %cmp to i32) U: [0,2) S: [0,2) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 16 …o i32) /u 2))<nuw><nsw> U: [0,1) S: [0,1) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 18 …))<nuw><nsw>)<nuw><nsw> U: [4,5) S: [4,5) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 20 …><nsw> /u 2))<nuw><nsw> U: [4,5) S: [4,5) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 22 …))<nuw><nsw>)<nuw><nsw> U: [8,9) S: [8,9) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 24 …><nsw> /u 2))<nuw><nsw> U: [8,9) S: [8,9) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 26 …uw><nsw>)<nuw><nsw> U: [12,13) S: [12,13) Exits: <<Unknown>> LoopDispositions: { %header: Variant } 28 …w> /u 2))<nuw><nsw> U: [12,13) S: [12,13) Exits: <<Unknown>> LoopDispositions: { %header: Variant } [all …]
|
| H A D | incorrect-exit-count.ll | 20 …3,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %for.cond6: Computable, %outer.loop: Variant } 22 …3,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %for.cond6: Computable, %outer.loop: Variant } 24 …036854775807) Exits: <<Unknown>> LoopDispositions: { %for.cond6: Computable, %outer.loop: Variant } 26 …-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond6: Variant, %outer.loop: Variant } 36 …-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond6: Variant, %outer.loop: Variant } 38 …2,3) S: [2,3) Exits: <<Unknown>> LoopDispositions: { %for.cond6: Computable, %outer.loop: Variant } 44 …,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %inner.loop: Computable, %outer.loop: Variant } 46 …,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %inner.loop: Computable, %outer.loop: Variant } 48 …36854775807) Exits: <<Unknown>> LoopDispositions: { %inner.loop: Computable, %outer.loop: Variant } 50 …set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner.loop: Variant, %outer.loop: Variant } [all …]
|
| H A D | becount-invalidation.ll | 12 …ull-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2.header: I… 14 …ull-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2.header: I… 16 … full-set Exits: <<Unknown>> LoopDispositions: { %loop2.header: Computable, %loop.header: Variant } 18 … S: [0,1) Exits: <<Unknown>> LoopDispositions: { %loop2.header: Computable, %loop.header: Variant } 20 … full-set Exits: <<Unknown>> LoopDispositions: { %loop2.header: Computable, %loop.header: Variant } 22 … S: full-set Exits: <<Unknown>> LoopDispositions: { %loop2.header: Variant, %loop.header: Variant } 24 … full-set Exits: <<Unknown>> LoopDispositions: { %loop2.header: Computable, %loop.header: Variant } 26 … S: [1,2) Exits: <<Unknown>> LoopDispositions: { %loop2.header: Computable, %loop.header: Variant } 28 …ull-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2.header: I…
|
| H A D | addrec-computed-during-addrec-calculation.ll | 13 …ull-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2: Invarian… 15 …-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop2: Computable, %loop.header: Variant } 17 …-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop2: Computable, %loop.header: Variant } 19 …ull-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop2: Variant, %loop.header: Variant } 21 …7483648,2147483648) Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2: Computab… 23 …(sext i32 {%iv,+,1}<%loop2> to i64) LoopDispositions: { %loop3: Computable, %loop.header: Variant } 25 …i32 {%iv,+,1}<%loop2> to i64))<nsw> LoopDispositions: { %loop3: Computable, %loop.header: Variant } 27 …: full-set Exits: <<Unknown>> LoopDispositions: { %loop.header: Variant, %loop2: Variant, %loop3: …
|
| H A D | outer_phi.ll | 10 …83647) S: [0,-2147483647) Exits: <<Unknown>> LoopDispositions: { %outer: Variant, %inner: Invarian… 12 …48) S: [0,-2147483648) Exits: <<Unknown>> LoopDispositions: { %inner: Computable, %outer: Variant } 14 …47) S: [1,-2147483647) Exits: <<Unknown>> LoopDispositions: { %inner: Computable, %outer: Variant } 16 …d U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner: Variant, %outer: Variant } 18 …d U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %outer: Variant, %inner: Invarian… 72 …v U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %outer: Variant, %inner: Invarian… 74 …: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner: Computable, %outer: Variant } 76 …: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner: Computable, %outer: Variant } 78 …d U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %inner: Variant, %outer: Variant } 80 …d U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %outer: Variant, %inner: Invarian…
|
| H A D | shift-recurrences.ll | 8 ; CHECK-NEXT: --> %iv.lshr U: [0,1024) S: [0,1024) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 10 ; CHECK-NEXT: --> (%iv.lshr /u 2) U: [0,512) S: [0,512) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 31 ; CHECK-NEXT: --> %iv.lshr U: [0,1024) S: [0,1024) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 33 ; CHECK-NEXT: --> (%iv.lshr /u 16) U: [0,64) S: [0,64) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 54 ; CHECK-NEXT: --> %iv.ashr U: [0,1024) S: [0,1024) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 56 ; CHECK-NEXT: --> %iv.ashr.next U: [0,512) S: [0,512) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 76 ; CHECK-NEXT: --> %iv.ashr U: [-1023,0) S: [-1023,0) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 78 ; CHECK-NEXT: --> %iv.ashr.next U: [-512,0) S: [-512,0) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 99 ; CHECK-NEXT: --> %iv.ashr U: [-1023,0) S: [-1023,0) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 101 ; CHECK-NEXT: --> %iv.ashr.next U: [-512,0) S: [-512,0) Exits: <<Unknown>> LoopDispositions: { %loop: Variant } [all...] |
| H A D | load.ll | 15 …K-NEXT: --> %sum.04 U: full-set S: full-set Exits: 2450 LoopDispositions: { %for.body: Variant } 21 ; CHECK-NEXT: --> %0 U: full-set S: full-set Exits: 50 LoopDispositions: { %for.body: Variant } 25 ; CHECK-NEXT: --> %1 U: full-set S: full-set Exits: 0 LoopDispositions: { %for.body: Variant } 27 … --> (%0 + %sum.04) U: full-set S: full-set Exits: 2500 LoopDispositions: { %for.body: Variant } 29 …-> (%1 + %0 + %sum.04) U: full-set S: full-set Exits: 2500 LoopDispositions: { %for.body: Variant } 71 …ECK-NEXT: --> %sum.02 U: full-set S: full-set Exits: 10 LoopDispositions: { %for.body: Variant } 73 …K-NEXT: --> %n.01 U: full-set S: full-set Exits: @node1 LoopDispositions: { %for.body: Variant } 75 …n.01)<nuw> U: [4,0) S: [4,0) Exits: (4 + @node1)<nuw><nsw> LoopDispositions: { %for.body: Variant } 77 ; CHECK-NEXT: --> %0 U: full-set S: full-set Exits: 0 LoopDispositions: { %for.body: Variant } 79 …T: --> (%0 + %sum.02) U: full-set S: full-set Exits: 10 LoopDispositions: { %for.body: Variant } [all …]
|
| H A D | symbolic_max_exit_count.ll | 16 …: --> %loop_cond U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 62 …EXT: --> %fake_1 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 64 …check umin %fake_1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 68 …EXT: --> %fake_2 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 70 …check umin %fake_2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 74 …: --> %loop_cond U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 124 …EXT: --> %fake_1 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 126 …check umin %fake_1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 130 …EXT: --> %fake_2 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } 132 …check umin %fake_2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant } [all …]
|
| H A D | add-expr-pointer-operand-sorting.ll | 33 …NEXT: --> %1 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 35 … ptr %1 to i64) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 37 …ptr %1 to i64)) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 39 …305843009213693952,2305843009213693952) Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 41 …+ %sub.ptr.div) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 43 …NEXT: --> %2 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant } 45 … %2 to i32) U: [-128,128) S: [-128,128) Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
|
| /llvm-project/llvm/include/llvm/DebugInfo/PDB/ |
| H A D | PDBTypes.h | 349 Variant = 27, enumerator 411 struct Variant { struct 412 Variant() = default; 414 explicit Variant(bool V) : Type(PDB_VariantType::Bool) { Value.Bool = V; } in Variant() argument 415 explicit Variant(int8_t V) : Type(PDB_VariantType::Int8) { Value.Int8 = V; } in Variant() argument 416 explicit Variant(int16_t V) : Type(PDB_VariantType::Int16) { in Variant() argument 419 explicit Variant(int32_t V) : Type(PDB_VariantType::Int32) { in Variant() argument 422 explicit Variant(int64_t V) : Type(PDB_VariantType::Int64) { in Variant() function 425 explicit Variant(float V) : Type(PDB_VariantType::Single) { in Variant() function 428 explicit Variant(double V) : Type(PDB_VariantType::Double) { in Variant() function [all …]
|
| /llvm-project/clang-tools-extra/clangd/index/ |
| H A D | YAMLSerialization.cpp | 407 static void mapping(IO &IO, VariantEntry &Variant) { in mapping() 408 if (IO.mapTag("!Symbol", Variant.Symbol.has_value())) { in mapping() 410 Variant.Symbol.emplace(); in mapping() 411 MappingTraits<Symbol>::mapping(IO, *Variant.Symbol); in mapping() 412 } else if (IO.mapTag("!Refs", Variant.Refs.has_value())) { in mapping() 414 Variant.Refs.emplace(); in mapping() 415 MappingTraits<RefBundle>::mapping(IO, *Variant.Refs); in mapping() 416 } else if (IO.mapTag("!Relations", Variant.Relation.has_value())) { in mapping() 418 Variant.Relation.emplace(); in mapping() 419 MappingTraits<Relation>::mapping(IO, *Variant.Relation); in mapping() [all …]
|
| /llvm-project/llvm/tools/llvm-exegesis/lib/ |
| H A D | SerialSnippetGenerator.cpp | 85 InstructionTemplate Variant, in getExecutionModes() 101 CT.Instructions.push_back(std::move(Variant)); in appendCodeTemplates() 114 Variant.getInstr(), Variant.getInstr(), ForbiddenRegisters); in appendCodeTemplates() 118 // instance, hence twice Variant in the following call. in appendCodeTemplates() 119 setRandomAliasing(SelfAliasing, Variant, Variant); in appendCodeTemplates() 123 CT.Instructions.push_back(std::move(Variant)); in appendCodeTemplates() 128 const Instruction &Instr = Variant.getInstr(); in appendCodeTemplates() 135 InstructionTemplate ThisIT(Variant); in appendCodeTemplates() 94 appendCodeTemplates(const LLVMState & State,InstructionTemplate Variant,const BitVector & ForbiddenRegisters,ExecutionMode ExecutionModeBit,StringRef ExecutionClassDescription,std::vector<CodeTemplate> & CodeTemplates) appendCodeTemplates() argument 168 generateCodeTemplates(InstructionTemplate Variant,const BitVector & ForbiddenRegisters) const generateCodeTemplates() argument [all...] |
| H A D | SnippetGenerator.cpp | 42 const InstructionTemplate &Variant, std::vector<BenchmarkCode> &Benchmarks, in generateConfigurations() argument 48 if (Variant.getInstr().hasMemoryOperands()) { in generateConfigurations() 59 for (const auto &Op : Variant.getInstr().Operands) { in generateConfigurations() 68 if (auto E = generateCodeTemplates(Variant, ForbiddenRegs)) { in generateConfigurations() 156 generateSelfAliasingCodeTemplates(InstructionTemplate Variant, in generateSelfAliasingCodeTemplates() 159 Variant.getInstr(), Variant.getInstr(), ForbiddenRegisters); in generateSelfAliasingCodeTemplates() 170 // instance, hence twice Variant in the following call. in generateUnconstrainedCodeTemplates() 171 setRandomAliasing(SelfAliasing, Variant, Variant); in generateUnconstrainedCodeTemplates() 147 generateSelfAliasingCodeTemplates(InstructionTemplate Variant,const BitVector & ForbiddenRegisters) generateSelfAliasingCodeTemplates() argument 169 generateUnconstrainedCodeTemplates(const InstructionTemplate & Variant,StringRef Msg) generateUnconstrainedCodeTemplates() argument [all...] |
| H A D | SnippetGenerator.h | 38 generateSelfAliasingCodeTemplates(InstructionTemplate Variant, 43 generateUnconstrainedCodeTemplates(const InstructionTemplate &Variant, 65 Error generateConfigurations(const InstructionTemplate &Variant, 80 generateCodeTemplates(InstructionTemplate Variant,
|
| /llvm-project/clang/test/SemaCXX/ |
| H A D | specialization-diagnose-crash.cpp | 14 template <class T1, class T2, class = void> struct Variant { struct 15 Variant() = delete; // expected-note {{deleted here}} 19 struct Variant<T1, T2, void_t<decltype(X<T2>{T1()})>> {}; struct 22 Variant<V1, V1>(); in f() 23 Variant<V1, V2>(); // expected-error {{call to deleted constructor}} in f()
|
| H A D | crashes.cpp | 88 class Variant; 92 class Variant { class 95 void Write(const Variant& __v); 97 Variant x;
|
| /llvm-project/clang/test/CodeGenCXX/ |
| H A D | union-dtor.cpp | 23 struct Variant { struct 24 Variant() {} in Variant() argument 25 ~Variant() {} in ~Variant() argument 33 Variant variant; argument
|
| /llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZ.td | 71 int Variant = 0; 73 // Variant name. 78 int Variant = 1; 80 // Variant name. 91 int Variant = 0; 95 int Variant = 1;
|
| /llvm-project/llvm/lib/Target/VE/AsmParser/ |
| H A D | VEAsmParser.cpp | 77 VEMCExpr::VariantKind &Variant); 1046 VEMCExpr::VariantKind &Variant) { 1048 Variant = VEMCExpr::VK_VE_None; in extractModifierFromExpr() 1061 Variant = VEMCExpr::VK_VE_REFLONG; in extractModifierFromExpr() 1064 Variant = VEMCExpr::VK_VE_HI32; in extractModifierFromExpr() 1067 Variant = VEMCExpr::VK_VE_LO32; in extractModifierFromExpr() 1070 Variant = VEMCExpr::VK_VE_PC_HI32; in extractModifierFromExpr() 1073 Variant = VEMCExpr::VK_VE_PC_LO32; in extractModifierFromExpr() 1076 Variant = VEMCExpr::VK_VE_GOT_HI32; in extractModifierFromExpr() 1079 Variant in extractModifierFromExpr() 1049 extractModifierFromExpr(const MCExpr * E,VEMCExpr::VariantKind & Variant) extractModifierFromExpr() argument 1192 VEMCExpr::VariantKind Variant; parseExpression() local [all...] |
| /llvm-project/llvm/test/Transforms/LoopRotate/ |
| H A D | pr51981-scev-problem.ll | 21 … Exits: <<Unknown>> LoopDispositions: { %loop.outer.header: Variant, %loop.inner: Inv… 23 … Exits: <<Unknown>> LoopDispositions: { %loop.outer.header: Variant, %loop.inner: Inv… 25 …to i16)))) LoopDispositions: { %loop.inner: Computable, %loop.outer.header: Variant } 31 … Exits: <<Unknown>> LoopDispositions: { %loop.inner.ph: Variant, %loop.inner: Inv… 33 … Exits: <<Unknown>> LoopDispositions: { %loop.inner.ph: Variant, %loop.inner: Inv… 35 …de2 to i16)))) LoopDispositions: { %loop.inner: Computable, %loop.inner.ph: Variant }
|
| /llvm-project/llvm/test/Transforms/LICM/ |
| H A D | update-scev-after-hoist.ll | 8 ; SCEV-EXPR-NEXT: --> %mul U: [0,-15) S: [-32768,32753) Exits: 4096 LoopDispositions: { %loop: Variant } 10 ; SCEV-EXPR-NEXT: --> %div U: [-2048,-32768) S: [-2048,-32768) Exits: 7 LoopDispositions: { %loop: Variant } 12 ; SCEV-EXPR-NEXT: --> (8 * %mul) U: [0,-7) S: [-32768,32761) Exits: -32768 LoopDispositions: { %loop: Variant } 14 ; SCEV-EXPR-NEXT: --> %div.n U: [-16384,16384) S: [-16384,16384) Exits: 3 LoopDispositions: { %loop: Variant } 16 ; SCEV-EXPR-NEXT: --> %div.n.1 U: [-8192,8192) S: [-8192,8192) Exits: 1 LoopDispositions: { %loop: Variant } 18 ; SCEV-EXPR-NEXT: --> %div.n.2 U: [-4096,4096) S: [-4096,4096) Exits: 0 LoopDispositions: { %loop: Variant } 20 ; SCEV-EXPR-NEXT: --> (16 * %mul) U: [0,-15) S: [-32768,32753) Exits: 0 LoopDispositions: { %loop: Variant } 22 ; SCEV-EXPR-NEXT: --> %div.n.3 U: [-2048,2048) S: [-2048,2048) Exits: 0 LoopDispositions: { %loop: Variant }
|