aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/CGExpr.cpp19
1 files changed, 3 insertions, 16 deletions
diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp
index 722ec868f5..47d2ee96d8 100644
--- a/lib/CodeGen/CGExpr.cpp
+++ b/lib/CodeGen/CGExpr.cpp
@@ -1078,23 +1078,10 @@ LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E) {
= getContext().getAsConstantArrayType(DRE->getType())) {
llvm::APInt Size = CAT->getSize();
llvm::BasicBlock *Cont = createBasicBlock("cont");
- if (IdxSigned) {
- Builder.CreateCondBr(Builder.CreateICmpSGE(Idx,
- llvm::ConstantInt::get(Idx->getType(), 0)),
- Cont, getAbortBB());
- EmitBlock(Cont);
- Cont = createBasicBlock("cont");
- Builder.CreateCondBr(Builder.CreateICmpSLT(Idx,
+ Builder.CreateCondBr(Builder.CreateICmpULT(Idx,
llvm::ConstantInt::get(Idx->getType(), Size)),
- Cont, getAbortBB());
- EmitBlock(Cont);
- } else {
- llvm::BasicBlock *Cont = createBasicBlock("cont");
- Builder.CreateCondBr(Builder.CreateICmpULT(Idx,
- llvm::ConstantInt::get(Idx->getType(), Size)),
- Cont, getAbortBB());
- EmitBlock(Cont);
- }
+ Cont, getAbortBB());
+ EmitBlock(Cont);
}
}
}