Lines Matching refs:CHECK
7 source file. They begin with prefix "/// CHECK" or "## CHECK", respectively,
11 passes. Each group of check lines therefore must start with a 'CHECK-START'
19 - CHECK: Must match an output line which appears in the output group
23 - CHECK-DAG: Must match an output line which appears in the output group
27 - CHECK-NOT: Must not match any output line which appears in the output group
32 - CHECK-NEXT: Must match the output line which comes right after the line which
33 matched the previous check. Can only be used after a CHECK or
34 another CHECK-NEXT.
35 - CHECK-EVAL: Specifies a Python expression which must evaluate to 'True'.
53 /// CHECK-START: int MyClass.MyMethod() constant_folding (after)
54 /// CHECK: <<ID:i\d+>> IntConstant {{11|22}}
55 /// CHECK: Return [<<ID>>]
62 Of the language constructs above, 'CHECK-EVAL' lines support only referencing of
66 /// CHECK-START: int MyClass.MyMethod() liveness (after)
67 /// CHECK: InstructionA liveness:<<VarA:\d+>>
68 /// CHECK: InstructionB liveness:<<VarB:\d+>>
69 /// CHECK-EVAL: <<VarA>> != <<VarB>>
73 after the 'CHECK-START' keyword. The previous example can be updated to run for
77 /// CHECK-START-ARM64: int MyClass.MyMethod() constant_folding (after)
78 /// CHECK: <<ID:i\d+>> IntConstant {{11|22}}
79 /// CHECK: Return [<<ID>>]
82 'CHECK-START' keyword. Any listed architecture will match in that case,
86 /// CHECK-START-{X86_64,ARM,ARM64}: int MyClass.MyMethod() constant_folding (after)
90 - CHECK-IF:
91 - CHECK-ELIF:
92 - CHECK-ELSE:
93 - CHECK-FI:
95 CHECK-IF and CHECK-ELIF take a Python expression as input that will be evaluated by `eval`.
102 /// CHECK-START-ARM64: int other.TestByte.testDotProdComplex(byte[], byte[]) disassembly (after)
103 /// CHECK: VecDotProd
104 /// CHECK-IF: isaHasFeature("dotprod")
105 /// CHECK: sdot
106 /// CHECK-ELSE:
107 /// CHECK-NOT: sdot
108 /// CHECK-FI:
110 Like CHECK-EVAL, CHECK-IF and CHECK-ELIF support only referencing of variables, defining new
112 to Python's `eval` as is. CHECK-ELSE and CHECK-FI must not have any input.
115 /// CHECK-START: int MyClass.MyMethod() constant_folding (after)
116 /// CHECK: {{i\d+}} IntConstant <<MyConst:(0|1|2)>>
117 /// CHECK-IF: <<MyConst>> == 0
118 /// CHECK-NEXT: FooBar01
119 /// CHECK-ELIF: <<MyConst>> == 1
120 /// CHECK-NOT: FooBar01
121 /// CHECK-FI:
123 Branch blocks can contain any statement, including CHECK-NEXT and CHECK-DAG.
124 Notice the CHECK-NEXT statement within the IF branch. When a CHECK-NEXT is encountered,
125 Checker expects that the previously executed statement was either a CHECK or a CHECK-NEXT.
131 block defined by the CHECK-START statement. The absence of lexical scoping for Checker variables
135 /// CHECK-START: void MyClass.FooBar() liveness (after)
136 /// CHECK-IF: os.environ.get('ART_READ_BARRIER_TYPE') != 'TABLELOOKUP'
137 /// CHECK: <<MyID:i\d+>> IntConstant 3
138 /// CHECK-ELSE:
139 /// CHECK: <<MyID:i\d+>> IntConstant 5
140 /// CHECK-FI:
141 /// CHECK-NEXT: Return [<<MyID>>]