Mercurial > projects > ldc
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());