The bitcast case is not needed here: instcombine turns icmp(bitcast(x), null) -> icmp(x, null) already.

llvm-svn: 82935
This commit is contained in:
Chris Lattner 2009-09-27 21:42:46 +00:00
parent 1f71578e0d
commit b2e88cd01c
1 changed files with 7 additions and 24 deletions

View File

@ -6289,19 +6289,6 @@ Instruction *InstCombiner::visitICmpInst(ICmpInst &I) {
!I.isTrueWhenEqual()));
}
break;
case Instruction::BitCast:
// If we have (malloc != null), and if the malloc has a single use, we
// can assume it is successful and remove the malloc.
CallInst* CI = extractMallocCallFromBitCast(LHSI);
if (CI && CI->hasOneUse() && LHSI->hasOneUse()
&& isa<ConstantPointerNull>(RHSC)) {
Worklist.Add(LHSI);
Worklist.Add(CI);
return ReplaceInstUsesWith(I,
ConstantInt::get(Type::getInt1Ty(*Context),
!I.isTrueWhenEqual()));
}
break;
}
}
@ -9536,18 +9523,14 @@ static unsigned EnforceKnownAlignment(Value *V,
Align = PrefAlign;
}
}
} else if (AllocationInst *AI = dyn_cast<AllocationInst>(V)) {
// If there is a requested alignment and if this is an alloca, round up. We
// don't do this for malloc, because some systems can't respect the request.
if (isa<AllocaInst>(AI)) {
if (AI->getAlignment() >= PrefAlign)
Align = AI->getAlignment();
else {
AI->setAlignment(PrefAlign);
Align = PrefAlign;
}
} else if (AllocaInst *AI = dyn_cast<AllocaInst>(V)) {
// If there is a requested alignment and if this is an alloca, round up.
if (AI->getAlignment() >= PrefAlign)
Align = AI->getAlignment();
else {
AI->setAlignment(PrefAlign);
Align = PrefAlign;
}
// No alignment changes are possible for malloc calls
}
return Align;