[LLVMdev] Invalid STOREATOMIC Record

Eli Friedman eli.friedman at gmail.com
Sat Sep 17 13:34:22 PDT 2011


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 there some reason why this assembly is invalid?

Typo; that should read "Ordering == NotAtomic || Ordering == Acquire
|| Ordering == AcquireRelease".  I'll commit a fix soon.

-Eli




More information about the llvm-dev mailing list