The needNewBTI is a state that only valid for the current candidate.
So need to reset to default value for each candidate.

This fix the regression in opencv 3.0:
./opencv_perf_objdetect 
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier

Signed-off-by: Ruiling Song <[email protected]>
---
 backend/src/llvm/llvm_gen_backend.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backend/src/llvm/llvm_gen_backend.cpp 
b/backend/src/llvm/llvm_gen_backend.cpp
index 0fbf941..b3eb8c8 100644
--- a/backend/src/llvm/llvm_gen_backend.cpp
+++ b/backend/src/llvm/llvm_gen_backend.cpp
@@ -3351,10 +3351,10 @@ handle_write_image:
     std::vector<Value*> candidates;
     candidates.push_back(pointer);
     std::set<Value*> processed;
-    bool needNewBTI = true;
 
     while (idx < candidates.size()) {
       bool isPrivate = false;
+      bool needNewBTI = true;
       p = candidates[idx];
 
       while (dyn_cast<User>(p) && !dyn_cast<GlobalVariable>(p)) {
-- 
1.7.10.4

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

Reply via email to