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