Esempio n. 1
0
        public FenceInst CreateFence(AtomicOrdering Ordering, SyncScopeID SSID, ReadOnlySpan <char> Name)
        {
            var handle = Handle.BuildFence((LLVMAtomicOrdering)Ordering, SSID == SyncScopeID.SingleThread, Name);

            return(Context.GetOrCreate <FenceInst>(handle));
        }
Esempio n. 2
0
        public AtomicRMWInst CreateAtomicRMW(AtomicRMWInst.BinOp Op, Value Ptr, Value Val, AtomicOrdering Ordering, SyncScopeID SSID = SyncScopeID.System)
        {
            var handle = Handle.BuildAtomicRMW((LLVMAtomicRMWBinOp)Op, Ptr.Handle, Val.Handle, (LLVMAtomicOrdering)Ordering, SSID == SyncScopeID.SingleThread);

            return(Context.GetOrCreate <AtomicRMWInst>(handle));
        }
Esempio n. 3
0
 public FenceInst CreateFence(AtomicOrdering Ordering, SyncScopeID SSID = SyncScopeID.System, string Name = "") => CreateFence(Ordering, SSID, Name.AsSpan());