llvm-project
c47023dc - [clang][CodeGen] Make pragma-loop test more rboust (NFC) (#133707)

Commit
1 year ago
[clang][CodeGen] Make pragma-loop test more rboust (NFC) (#133707) pragma-loop.cpp contains tests for loop metadata generated by pragma directives. These tests didn't work as (perhaps) expected. This is because the regex `.*` consumes multiple elements in the metadata. For example, there was a check directive like this. ``` // CHECK: ![[LOOP_9]] = distinct !{![[LOOP_9]], ![[WIDTH_8:.*]], ![[FIXED_VEC]], ...} ``` In the above case, `[[WIDTH_8]]` would have been expected to match a node like `[[WIDTH_8]] = !{!"llvm.loop.vectorize.width", i32 8}`. However, since there is no check directive to verify the contents of `[[WIDTH_8]]`, the regex `.*` consumed more than one element. There were other similar cases. This patch fixes the problem by not using regex matcher in the metadata content (except for follow-up metadata). Instead, it uses string variables whose contents are validated elsewhere. Related: https://github.com/llvm/llvm-project/pull/131985#discussion_r2014369699
Author
Parents
Loading