search for: notatom

Displaying 4 results from an estimated 4 matches for "notatom".

Did you mean: noatom
2011 Sep 17
2
[LLVMdev] Invalid STOREATOMIC Record
The second equality here: (in lib/Bitcode/Reader/BitcodeReader.cpp) AtomicOrdering Ordering = GetDecodedOrdering(Record[OpNum+2]); if (Ordering == NotAtomic || Ordering == Release || Ordering == AcquireRelease) return Error("Invalid STOREATOMIC record"); Is failing on this assembly, which was generated by Clang: store atomic i32 0, i32* @mutex release, align 4 Is this a typo or is there some reason why this assembly i...
2011 Sep 17
0
[LLVMdev] Invalid STOREATOMIC Record
On Sat, Sep 17, 2011 at 1:00 PM, David Meyer <pdox at google.com> wrote: > The second equality here: (in lib/Bitcode/Reader/BitcodeReader.cpp) > >      AtomicOrdering Ordering = GetDecodedOrdering(Record[OpNum+2]); >      if (Ordering == NotAtomic || Ordering == Release || >          Ordering == AcquireRelease) >        return Error("Invalid STOREATOMIC record"); > > Is failing on this assembly, which was generated by Clang: > >  store atomic i32 0, i32* @mutex release, align 4 > > Is this a typo or is the...
2018 Sep 14
5
RFC: Adding a !thread.private metadata
...transforms we could implement for thread private locations (e.g. replace an atomicrmw on a thread private with a load, op, store sequence), but I'm not sure these are actually worth implementing at the moment. We could extend the memory model with a weaker access type.  I think our current NotAtomic is a good default, but we could consider adding a ThreadPrivate specifier which is weaker than the existing NotAtomic in exactly the same way that the metadata implies.  This is a reasonable implementation strategy, but might be a bit more work than I can practically commit to at the moment....
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...this is a cmpxchg from a volatile memory @@ -496,13 +501,20 @@ public: DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value); /// Set the ordering constraint on this cmpxchg. - void setOrdering(AtomicOrdering Ordering) { + void setSuccessOrdering(AtomicOrdering Ordering) { assert(Ordering != NotAtomic && "CmpXchg instructions can only be atomic."); - setInstructionSubclassData((getSubclassDataFromInstruction() & 3) | + setInstructionSubclassData((getSubclassDataFromInstruction() & ~0x1c) | (Ordering << 2)); }...