mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-12 05:40:30 +00:00
The bitcast case is not needed here: instcombine turns icmp(bitcast(x), null) -> icmp(x, null) already.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82935 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4dd68242f1
commit
42ebefae8e
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user