[PATCH] D50530: Added LLVM metadata to generated IR to increase vectorization width

Emmett Neyman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 9 14:58:46 PDT 2018


emmettneyman updated this revision to Diff 160016.
emmettneyman added a comment.

Rebased and ready to land


Repository:
  rC Clang

https://reviews.llvm.org/D50530

Files:
  clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp


Index: clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp
===================================================================
--- clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp
+++ clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp
@@ -15,6 +15,7 @@
 
 #include "loop_proto_to_llvm.h"
 #include "cxx_loop_proto.pb.h"
+#include "../handle-llvm/input_arrays.h"
 
 // The following is needed to convert protos in human-readable form
 #include <google/protobuf/text_format.h>
@@ -135,7 +136,11 @@
             << x.statements()
             << "%ctnew = add i64 %ct, 1\n"
             << "%j = icmp eq i64 %ctnew, %s\n"
-            << "br i1 %j, label %end, label %loop\n}\n";
+            << "br i1 %j, label %end, label %loop, !llvm.loop !0\n}\n"
+            << "!0 = distinct !{!0, !1, !2}\n"
+            << "!1 = !{!\"llvm.loop.vectorize.enable\", i1 true}\n"
+            << "!2 = !{!\"llvm.loop.vectorize.width\", i32 " << kArraySize
+            << "}\n";
 }
 
 // ---------------------------------


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50530.160016.patch
Type: text/x-patch
Size: 1042 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180809/17cd825e/attachment.bin>


More information about the cfe-commits mailing list