mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +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:
		| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user