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)); }