Meinersbur added a comment.

[serious] Need to update docs.

I'd expect `predicate` to be an option of another transformation. For 
vectorization, by convention the #pragma name would be `vectorize_predicate` 
and the metadata `llvm.loop.vectorize.predicate`. As a standalone, it is not 
clear what it is supposed to do (docs missing) and I am against mixing similar 
semantics of options of different loop transformations.

I am currently trying to update the semantics of loop transformations such that 
a transformation order can be defined. An option without transformation it 
belongs to does not fit well into that. E.g. what happends with 
`llvm.loop.predicate` after 
unrolling/vectorization/distribution/interchange/unroll-and-jam/fusion?

Michael



================
Comment at: clang/lib/CodeGen/CGLoopInfo.cpp:426
+  MDNode *N = createPredicateMetadata(Attrs, LoopProperties, 
HasUserTransforms);
+  if(N)
+    LoopProperties.push_back(N);
----------------
[nit] run clang-format over your patch


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64744/new/

https://reviews.llvm.org/D64744



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to