Lines Matching refs:Identity

78                         Value *const Identity) const;
80 Value *const Identity) const;
81 Value *buildShiftRight(IRBuilder<> &B, Value *V, Value *const Identity) const;
85 Value *const Identity, Value *V, Instruction &I,
407 Value *const Identity) const { in buildReduction()
418 {Identity, V, B.getInt32(DPP::ROW_XMASK0 | 1 << Idx), in buildReduction()
452 Value *Identity) const { in buildScan()
462 {Identity, V, B.getInt32(DPP::ROW_SHR0 | 1 << Idx), in buildScan()
470 {Identity, V, B.getInt32(DPP::BCAST15), B.getInt32(0xa), in buildScan()
475 {Identity, V, B.getInt32(DPP::BCAST31), B.getInt32(0xc), in buildScan()
489 UpdateDPP, {Identity, PermX, B.getInt32(DPP::QUAD_PERM_ID), in buildScan()
499 UpdateDPP, {Identity, Lane31, B.getInt32(DPP::QUAD_PERM_ID), in buildScan()
511 Value *Identity) const { in buildShiftRight()
519 {Identity, V, B.getInt32(DPP::WAVE_SHR1), B.getInt32(0xf), in buildShiftRight()
531 {Identity, V, B.getInt32(DPP::ROW_SHR0 + 1), in buildShiftRight()
560 IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *const Identity, Value *V, in buildScanIteratively() argument
574 Accumulator->addIncoming(Identity, EntryBB); in buildScanIteratively()
741 Value *Identity = getIdentityValueForAtomicOp(Ty, ScanOp); in optimizeAtomic() local
757 B.CreateIntrinsic(Intrinsic::amdgcn_set_inactive, Ty, {V, Identity}); in optimizeAtomic()
762 NewV = buildReduction(B, ScanOp, NewV, Identity); in optimizeAtomic()
764 NewV = buildScan(B, ScanOp, NewV, Identity); in optimizeAtomic()
766 ExclScan = buildShiftRight(B, NewV, Identity); in optimizeAtomic()
780 std::tie(ExclScan, NewV) = buildScanIteratively(B, ScanOp, Identity, V, I, in optimizeAtomic()
945 LaneOffset = B.CreateSelect(Cond, Identity, V); in optimizeAtomic()