diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-04-15 20:51:13 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-04-15 20:51:13 +0000 |
commit | 33ae80bff75a1f973b772e542c42fff92a3a8b07 (patch) | |
tree | e5c82a660f1f730d717d4a11cb0067ea9ea89772 /llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp | |
parent | 5b0a0629a3f0bb1f83a286274202e307e77cc9aa (diff) | |
download | bcm5719-llvm-33ae80bff75a1f973b772e542c42fff92a3a8b07.tar.gz bcm5719-llvm-33ae80bff75a1f973b772e542c42fff92a3a8b07.zip |
reapply r101364, which has been backed out in r101368
with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101397
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp b/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp index 836bda36937..e50d0bce8fa 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp @@ -404,7 +404,7 @@ Instruction *InstCombiner::visitLShr(BinaryOperator &I) { isPowerOf2_32(BitWidth) && Log2_32(BitWidth) == Op1C->getZExtValue()){ bool isCtPop = II->getIntrinsicID() == Intrinsic::ctpop; Constant *RHS = ConstantInt::getSigned(Op0->getType(), isCtPop ? -1:0); - Value *Cmp = Builder->CreateICmpEQ(II->getOperand(1), RHS); + Value *Cmp = Builder->CreateICmpEQ(II->getOperand(0), RHS); return new ZExtInst(Cmp, II->getType()); } } |