[PATCH] D64744: Loop #pragma tail_predicate

2019-07-16 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks for taking a look and your suggestions! I noticed your comment here after I replied to the list. As I wrote there, and long story short, I thought I could kill 2 birds with 1 stone, but that doesn't seem to be the case. I agree that for the vectorizer an opt

[PATCH] D64744: Loop #pragma tail_predicate

2019-07-15 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment. IMHO, this loops like an option of a particular transformation, not an independent pragma. E.g. #pragma clang loop vectorize(enable) vectorize_remainder(predicated) There could be multiple choices for how to execute remainder iterations, e.g. instead of an epilogu

[PATCH] D64744: Loop #pragma tail_predicate

2019-07-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. https://reviews.llvm.org/D64744 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Parse/Parser.h clang/lib/CodeGen/CGLoopInfo.cpp clang/lib/CodeGen/CGLoopInfo.h clang/lib/Parse/ParsePragma.cpp clang/lib/Sema/SemaStmtAttr.cpp clang/test/