reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
331 assert(needsPromotionToI32(I.getOperand(0)->getType()) && 334 IRBuilder<> Builder(&I); 335 Builder.SetCurrentDebugLocation(I.getDebugLoc()); 337 Type *I32Ty = getI32Ty(Builder, I.getOperand(0)->getType()); 342 if (I.isSigned()) { 343 ExtOp0 = Builder.CreateSExt(I.getOperand(0), I32Ty); 344 ExtOp1 = Builder.CreateSExt(I.getOperand(1), I32Ty); 346 ExtOp0 = Builder.CreateZExt(I.getOperand(0), I32Ty); 347 ExtOp1 = Builder.CreateZExt(I.getOperand(1), I32Ty); 349 NewICmp = Builder.CreateICmp(I.getPredicate(), ExtOp0, ExtOp1); 351 I.replaceAllUsesWith(NewICmp); 352 I.eraseFromParent();