================
@@ -44,23 +44,19 @@ MDNode *LoopInfo::createPipeliningMetadata(const 
LoopAttributes &Attrs,
   else if (Attrs.PipelineInitiationInterval != 0)
     Enabled = true;
 
+  SmallVector<Metadata *, 4> Args;
+  Args.append(LoopProperties.begin(), LoopProperties.end());
+
   if (Enabled != true) {
-    SmallVector<Metadata *, 4> NewLoopProperties;
     if (Enabled == false) {
-      NewLoopProperties.append(LoopProperties.begin(), LoopProperties.end());
----------------
Meinersbur wrote:

I think this is due to the regex `.*` being too greedy, so e.g. 
`![[ISVECTORIZED:.*]]` consumes multiple metadata nodes. A better one would be 
`[_a-zA-Z0-9.]+`. In principle `![[ISVECTORIZED]] = 
{!"llvm.loop.isvectorized"}` (or `UNROLL_8`) should be verified somewhere, 
which would then fail if it matched more than one node.

IMHO there are lots of problems with FileCheck on LLVM-IR, and this is just one 
of them. Another one is that by default `CHECK: car sale` will match `carpet 
sale`.

https://github.com/llvm/llvm-project/pull/131985
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to