mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 05:00:26 +00:00
Added 2x Debug statements to ObjCARC that log when we handle the two undefined pointer-to-weak-pointer is NULL cases by replacing the given call inst with an undefined value.
The reason that there are two cases is that the first case handles the unary cases and the second the binary cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171672 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be0ffd1e5a
commit
e549492c36
@ -2361,7 +2361,13 @@ void ObjCARCOpt::OptimizeIndividualCalls(Function &F) {
|
||||
new StoreInst(UndefValue::get(cast<PointerType>(Ty)->getElementType()),
|
||||
Constant::getNullValue(Ty),
|
||||
CI);
|
||||
CI->replaceAllUsesWith(UndefValue::get(CI->getType()));
|
||||
llvm::Value *NewValue = UndefValue::get(CI->getType());
|
||||
DEBUG(dbgs() << "ObjCARCOpt::OptimizeIndividualCalls: A null "
|
||||
"pointer-to-weak-pointer is undefined behavior.\n"
|
||||
" Old = " << *CI <<
|
||||
"\n New = " <<
|
||||
*NewValue << "\n");
|
||||
CI->replaceAllUsesWith(NewValue);
|
||||
CI->eraseFromParent();
|
||||
continue;
|
||||
}
|
||||
@ -2377,7 +2383,15 @@ void ObjCARCOpt::OptimizeIndividualCalls(Function &F) {
|
||||
new StoreInst(UndefValue::get(cast<PointerType>(Ty)->getElementType()),
|
||||
Constant::getNullValue(Ty),
|
||||
CI);
|
||||
CI->replaceAllUsesWith(UndefValue::get(CI->getType()));
|
||||
|
||||
llvm::Value *NewValue = UndefValue::get(CI->getType());
|
||||
DEBUG(dbgs() << "ObjCARCOpt::OptimizeIndividualCalls: A null "
|
||||
"pointer-to-weak-pointer is undefined behavior.\n"
|
||||
" Old = " << *CI <<
|
||||
"\n New = " <<
|
||||
*NewValue << "\n");
|
||||
|
||||
CI->replaceAllUsesWith(NewValue);
|
||||
CI->eraseFromParent();
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user