Lines Matching +full:check +full:- +full:docs +full:- +full:build
21 * Add `// CHECK` lines to match against the verified assembly.
26 // CHECK-LABEL: test_add:
31 // CHECK: movl ExternInt(%rip), %eax
32 // CHECK: addl %eax
33 // CHECK: ret
40 [LLVM's Filecheck](https://llvm.org/docs/CommandGuide/FileCheck.html)
41 is used to test the generated assembly against the `// CHECK` lines
43 linked above for information on how to write `CHECK` directives.
48 correctness. `CHECK` directives don't have to match on the exact next line
50 bits of assembly. ([`CHECK-NEXT`](https://llvm.org/docs/CommandGuide/FileCheck.html#the-check-next-…
53 * The tests are compiled with `-O3 -g0`. So we're only testing the
61 `<build-directory>/test/<test-name>.s`
63 * Filecheck supports using [`CHECK` prefixes](https://llvm.org/docs/CommandGuide/FileCheck.html#cmd…
65 The Benchmark tests use `CHECK-CLANG` and `CHECK-GNU` for lines that
67 `CHECK` lines match against all compilers. (Note: `CHECK-NOT` and
68 `CHECK-LABEL` are NOT prefixes. They are versions of non-prefixed
69 `CHECK` lines)
72 makes them easier to name in the `CHECK` lines.
77 Writing tests which check the code generated by a compiler are
78 inherently non-portable. Different compilers and even different compiler
83 …g using regular expressions](https://llvm.org/docs/CommandGuide/FileCheck.html#filecheck-pattern-m…
84 …ing the creation of [named variables](https://llvm.org/docs/CommandGuide/FileCheck.html#filecheck-…
85 … later matching, and [checking non-sequential matches](https://llvm.org/docs/CommandGuide/FileChec…
95 // CHECK-LABEL: test_div_no_op_into_shr:
101 // CHECK: movl $2, [[DEST:.*]]
102 // CHECK: idivl [[DEST]]
103 // CHECK: ret
114 <!-- {% raw %} -->
119 // CHECK-LABEL: test_store_point:
124 // CHECK: movl ExternInt(%rip), %eax
125 // CHECK: movl %eax, -{{[0-9]+}}(%rsp)
126 // CHECK: movl %eax, -{{[0-9]+}}(%rsp)
127 // CHECK: movl %eax, -{{[0-9]+}}(%rsp)
128 // CHECK: ret
131 <!-- {% endraw %} -->
136 build machine. Otherwise the tests will be disabled.
139 inherently non-portable. Currently the tests are limited to:
145 tests to other architectures and compilers (using `CHECK` prefixes).
148 that modify code generation, including `--coverage` or `-fsanitize=`.