public ValueReference CreateMemoryBarrier( MemoryBarrierKind kind) { return(Append(new MemoryBarrier( Context, BasicBlock, kind))); }
/// <summary> /// Constructs a new memory barrier. /// </summary> /// <param name="context">The parent IR context.</param> /// <param name="basicBlock">The parent basic block.</param> /// <param name="kind">The barrier kind.</param> internal MemoryBarrier( IRContext context, BasicBlock basicBlock, MemoryBarrierKind kind) : base( basicBlock, ImmutableArray <ValueReference> .Empty, ComputeType(context)) { Kind = kind; }
/// <summary> /// Creates a memory barrier. /// </summary> /// <param name="location">The current location.</param> /// <param name="kind">The type of the memory barrier.</param> /// <returns>A node that represents the memory barrier.</returns> public ValueReference CreateMemoryBarrier( Location location, MemoryBarrierKind kind) => Append(new MemoryBarrier( GetInitializer(location), kind));
public MemoryBarrierIntrinsicAttribute(MemoryBarrierKind intrinsicKind) { IntrinsicKind = intrinsicKind; }
public static string GetMemoryBarrier(MemoryBarrierKind kind) => MemoryBarrierOperations[(int)kind];