Lines Matching refs:II

25 static bool readsThreadIndex(const IntrinsicInst *II) {  in readsThreadIndex()  argument
26 switch (II->getIntrinsicID()) { in readsThreadIndex()
35 static bool readsLaneId(const IntrinsicInst *II) { in readsLaneId() argument
36 return II->getIntrinsicID() == Intrinsic::nvvm_read_ptx_sreg_laneid; in readsLaneId()
40 static bool isNVVMAtomic(const IntrinsicInst *II) { in isNVVMAtomic() argument
41 switch (II->getIntrinsicID()) { in isNVVMAtomic()
96 if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(I)) { in isSourceOfDivergence() local
98 if (readsThreadIndex(II) || readsLaneId(II)) in isSourceOfDivergence()
102 if (isNVVMAtomic(II)) in isSourceOfDivergence()
116 static Instruction *simplifyNvvmIntrinsic(IntrinsicInst *II, InstCombiner &IC) { in simplifyNvvmIntrinsic() argument
172 const SimplifyAction Action = [II]() -> SimplifyAction { in simplifyNvvmIntrinsic()
173 switch (II->getIntrinsicID()) { in simplifyNvvmIntrinsic()
347 DenormalMode Mode = II->getFunction()->getDenormalMode( in simplifyNvvmIntrinsic()
357 SmallVector<Value *, 4> Args(II->args()); in simplifyNvvmIntrinsic()
360 Type *Tys[] = {II->getArgOperand(0)->getType()}; in simplifyNvvmIntrinsic()
362 Intrinsic::getDeclaration(II->getModule(), *Action.IID, Tys), Args); in simplifyNvvmIntrinsic()
367 return BinaryOperator::Create(*Action.BinaryOp, II->getArgOperand(0), in simplifyNvvmIntrinsic()
368 II->getArgOperand(1), II->getName()); in simplifyNvvmIntrinsic()
372 return CastInst::Create(*Action.CastOp, II->getArgOperand(0), II->getType(), in simplifyNvvmIntrinsic()
373 II->getName()); in simplifyNvvmIntrinsic()
383 Instruction::FDiv, ConstantFP::get(II->getArgOperand(0)->getType(), 1), in simplifyNvvmIntrinsic()
384 II->getArgOperand(0), II->getName()); in simplifyNvvmIntrinsic()
390 NVPTXTTIImpl::instCombineIntrinsic(InstCombiner &IC, IntrinsicInst &II) const { in instCombineIntrinsic()
391 if (Instruction *I = simplifyNvvmIntrinsic(&II, IC)) { in instCombineIntrinsic()