<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54679>54679</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
missing colon in CHECK directives
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
msebor
</td>
</tr>
</table>
<pre>
A typo in my own test -- a missing a colon between a `CHECK` directive and the pattern that follows -- prompted me to look for other similar mistakes using the script below. It turned up a few hits that might be worth reviewing to make sure they are either intended or to correct. (There are also a few others with the `CHECK-NEXT` and `CHECK-NOT` variants.)
```
$ find llvm/test -name "*.ll" | xargs grep -E "; *CHECK +[^:]")
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_lower_bound (DW_OP_push_object_address, DW_OP_plus_uconst 0x80, DW_OP_deref)
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_upper_bound (DW_OP_push_object_address, DW_OP_plus_uconst 0xa8, DW_OP_deref)
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_byte_stride (DW_OP_push_object_address, DW_OP_plus_uconst 0xa0, DW_OP_deref, DW_OP_lit4, DW_OP_mul)
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_lower_bound (DW_OP_push_object_address, DW_OP_plus_uconst 0xb0, DW_OP_deref)
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_upper_bound (DW_OP_push_object_address, DW_OP_plus_uconst 0xd8, DW_OP_deref)
llvm/test/DebugInfo/X86/dwarfdump-over.ll:; CHECK DW_AT_byte_stride (DW_OP_push_object_address, DW_OP_plus_uconst 0xd0, DW_OP_deref, DW_OP_lit4, DW_OP_mul)
llvm/test/CodeGen/NVPTX/lower-byval-args.ll:; CHECK st.global.u32 [[[result_addr_g]]], [[value]];
llvm/test/CodeGen/NVPTX/lower-byval-args.ll:; CHECK st.global.u32 [[[result_addr_g]]], [[value]];
llvm/test/CodeGen/NVPTX/lower-byval-args.ll:; CHECK st.global.u32 [[[result_addr_g]]], [[value]];
llvm/test/CodeGen/Thumb2/bti-outliner-1.ll:; CHECK bti
llvm/test/CodeGen/X86/text-section-prefix.ll:;; CHECK hot section name
llvm/test/CodeGen/X86/text-section-prefix.ll:;; CHECK unlikely section name
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{if.then:.*5 = MemoryDef(4).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,label="{bb2:.*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{if.else:.*6 = MemoryDef(4).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{if.end:.*10 = MemoryPhi({bb2,5},{if.else,6})/*MemoryUse(2).*MemoryUse(10).*MemoryUse(1).*7 = MemoryDef(10).*MemoryUse(10).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{if.then2:.*MemoryUse(10).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{bb3:.*8 = MemoryDef(7).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{if.end3:.*9 = MemoryPhi({if.end,7},{bb3,8}).*}"]}}
llvm/test/Analysis/MemorySSA/print-dot-cfg-mssa.ll:; CHECK {{[shape=record,style=filled, fillcolor=lightpink,label="{bb4:.*MemoryUse(2).*MemoryUse(7).*}"]}}
llvm/test/Analysis/ScalarEvolution/trivial-phis.ll:; CHECK %add.lcssa.wide = phi i64 [ %indvars.iv.next, %do.body ]
llvm/test/Transforms/InstCombine/double-float-shrink-2.ll:; CHECK platforms.
llvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll:; CHECK bb4:
llvm/test/Transforms/SCCP/clang-arc-rv.ll:; CHECK call void (...) @llvm.objc.clang.arc.noop.use(i8* %[[R]])
llvm/test/Transforms/LoopFusion/cannot_fuse.ll:; CHECK that the two candidates for fusion are placed into separate candidate
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[EC1]] = !{!"function_entry_count", i64 24108}
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[PROF1]] = !{!"branch_weights", i32 1, i32 30124}
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[PROF2]] = !{!"branch_weights", i32 30177, i32 29579}
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[EC2]] = !{!"function_entry_count", i64 0}
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[PROF3]] = !{!"branch_weights", i32 1, i32 1}
llvm/test/Transforms/SampleProfile/gcc-simple.ll:; CHECK ![[PROF4]] = !{!"branch_weights", i32 1, i32 20238}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWN1z4yYQ_2vkF0YaGfnzwQ-ObLc3_bjMJW3vzYMEkmgQaPiw4_--C7KTNM410-TS5jr1aAwssPvbXRYWCkUPiyWyh04hLlF7QGovkWXGojhGiKCWG8NlDbVSCSVRweyeMQntaJLm36_zH6BElGtWWr5jiEiKbMNQR6xlGlg1xKJKCaH2xrPstGo7yyhqGbIKCaVuoFsjBZM0Mrzlgmgv1ZIbZpALwj1DU2reWZAPnBKEPlhknZbAyHUApmJ71HBrenktrxs_FO2Vtg3SbMfZPjBSqAW-yDjNPNcDIlBhPAjn0jJJgSPAgYGl0l6pBEV4dg39LIwlwqijvADZoD3MDghPBol_Xn--9lbxtrgnfgy0HdGcSGuSCM8RitJVlC6Bfvz6Jh6hisNcIXZthDe9NyQBi0UYR3iZCAEVFE1zdEt0bVCtWYfidejOLqBYBplQuYjG8K2jbBmNV2H2vBfygDcUK1a4-oOsFNQ_zybwT_dEV9S1Xax2THuJwAJ494wRWv22XV5vwRdMbwvlJI3SORgKyB8vt50zzVYVv4P5toRSzYyJcI6OncKZrSuVBK3S21l630PByNVXRui67pUIyextERYHy7bGak7ZSxGe2_DUFNyO7lutE-9uARTvfgHQd78A6OsXQK4o-45JqP386-X1ZyiDa-PisCMi9rvMGXxjk1qogojEZRi0CVuN_wCqEz3obe33nf4DFH0_cHTsSMwu_kfzUjTXjWsL2NI3heWxclZwCaiG5-ss_GDQX7Pr16xltzY2_jRXMu5gLfHbO4b3PBtl0XEQ8ifT1-PspOA3TByeZb-URBwMh6DY_MRapQ9XV3B0bjoN53hMlY3Lqo5bY8hje0TTC_-NL0xDOhZlKzjmlabgA2MPwhMqLgTzBORrPvHRQBU-q-i4vIEOQSARAZo_UqcXvEogAZAgBY715RhBB-oxrXwsziAC574nmoYJ4Npp-P4Zrf6MtYAV0-P8d9C8wsZMGHbEPnlnNn6NVnAw9UoN0wdaXTYctDo6DOfjoFf-wBA4nwQanBgbmNzP-sV3zPDRFg9pw_Qp4pE2PTPn08PTb9XIPjxP6_4_oFFRZEdlZmeem36TGvWBcNJq_lQgHGMF59O7WPB2wPmsj4NvT-miGD2xJp-K3pc59aokcJte75Rw_ij1YzTfcUhauoafJy3hF-ExJCeJKL0F9pCTBlfAeMQnI5-k-BFwO4WLrEn4LpFwqof0BY-pSgpFD8jDewLYtSbSwF2_9dA-QOaaq7aAlMUnysoVgsWVUARShAZccRPjx_g6QWyYnjzL_Ueluiurmaxt84lRV3ohBqzBZR1XpLRKx1yWqu1Anj107LGs3jPPyrnK80soSkGAL9FlrHePOYFQgXaKU_-OkCTh3h-NUs80gey-TMLkBCYnElAnLvibw51j6W3aZ4WfTmnik7n7meobZ3p3l0RKZbcVMH2MKzyU-GcLu1cAUlJOCfALjzFVmB_eO8DoJaP-bURBRtYRDYPuhz9vINJ2gl1qBQHhfVCXZWy4p51FFx72uq7zYa9tWHieDEEH_xhXToaUcMuk1YdtCXc6G9408rA28WiYzr4QFK8Fdfnp4-ZLsArgXTbbPfNxbk6AIO0fnipZOsSjN0SG_y4yADSdnhp4Pp7O3wjdOv8Stmecmb6hubIXO3L4hqhGL0aFU5zdL_y718QBXWR0ns3JwHIr2OL0lNs_5HJ5BHH3dmsGTotFY21nPEqfVW5qbhtXJLBT-ltvr7Mv4P6m_MsENIGrY17v8WgynQ-axbgk82pejNNJkdGCjHFZVlmaUjqdDaE1GYRD0CyC6qsBXwB-nGbZcDjJZsMsSccYRmZlOS0o1CrYLVlLuEj6PVPXA70IGApXG7-VcmPNfScBLWvJ2Ik_cbZRetEaVig9CGgXAeoft50PXw">