diff gen/statements.cpp @ 365:bfb9d28f045a trunk

[svn r386] Fixed broken DtoBoolean. Some code cleanup.
author lindquist
date Tue, 15 Jul 2008 00:17:03 +0200
parents 8014dbd24605
children 71a40b62b408
line wrap: on
line diff
--- a/gen/statements.cpp	Mon Jul 14 22:48:03 2008 +0200
+++ b/gen/statements.cpp	Tue Jul 15 00:17:03 2008 +0200
@@ -967,12 +967,12 @@
     LLValue* done = 0;
     LLValue* load = DtoLoad(keyvar);
     if (op == TOKforeach) {
-        done = new llvm::ICmpInst(llvm::ICmpInst::ICMP_ULT, load, niters, "tmp", p->scopebb());
+        done = p->ir->CreateICmpULT(load, niters, "tmp");
     }
     else if (op == TOKforeach_reverse) {
-        done = new llvm::ICmpInst(llvm::ICmpInst::ICMP_UGT, load, zerokey, "tmp", p->scopebb());
-        load = llvm::BinaryOperator::createSub(load,llvm::ConstantInt::get(keytype, 1, false),"tmp",p->scopebb());
-        new llvm::StoreInst(load, keyvar, p->scopebb());
+        done = p->ir->CreateICmpUGT(load, zerokey, "tmp");
+        load = p->ir->CreateSub(load, llvm::ConstantInt::get(keytype, 1, false), "tmp");
+        DtoStore(load, keyvar);
     }
     llvm::BranchInst::Create(bodybb, endbb, done, p->scopebb());