LLVM check has meta llvm.loop.unroll.enable and
llvm.loop.unroll.disable or not.
If llvm.loop.unroll.disable and llvm.loop.unroll.enable are both set,
llvm.loop.unroll.disable will override llvm.loop.unroll.enable.
---
 backend/src/llvm/llvm_unroll.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/backend/src/llvm/llvm_unroll.cpp b/backend/src/llvm/llvm_unroll.cpp
index 8a492d6..6a7b164 100644
--- a/backend/src/llvm/llvm_unroll.cpp
+++ b/backend/src/llvm/llvm_unroll.cpp
@@ -108,8 +108,10 @@ namespace gbe {
         LLVMContext &Context = L->getHeader()->getContext();
 #if LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 6
         SmallVector<Metadata *, 2> forceUnroll;
-        forceUnroll.push_back(MDString::get(Context, 
"llvm.loop.unroll.enable"));
-        
forceUnroll.push_back(ConstantAsMetadata::get(ConstantInt::get(Type::getInt1Ty(Context),
 enable)));
+        if (enable)
+          forceUnroll.push_back(MDString::get(Context, 
"llvm.loop.unroll.enable"));
+        else
+          forceUnroll.push_back(MDString::get(Context, 
"llvm.loop.unroll.disable"));
         MDNode *forceUnrollNode = MDNode::get(Context, forceUnroll);
         SmallVector<Metadata *, 4> Vals;
         Vals.push_back(NULL);
-- 
2.7.4

_______________________________________________
Beignet mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to