| Index: include/llvm/IR/NaClAtomicIntrinsics.h
|
| diff --git a/include/llvm/IR/NaClAtomicIntrinsics.h b/include/llvm/IR/NaClAtomicIntrinsics.h
|
| index 680c6440249210d2d1d043b5bd6e5df31d077dd2..5a8352a57d8a304a1b7b92226ac641f31f1ec833 100644
|
| --- a/include/llvm/IR/NaClAtomicIntrinsics.h
|
| +++ b/include/llvm/IR/NaClAtomicIntrinsics.h
|
| @@ -100,6 +100,14 @@ enum MemoryOrder {
|
| MemoryOrderRelease,
|
| MemoryOrderAcquireRelease,
|
| MemoryOrderSequentiallyConsistent,
|
| + // The following memory order is specific to PNaCl and is used to
|
| + // support non-C11/C++11 legacy code which uses the __sync_synchronize
|
| + // GCC-style builtin and the asm("":::"memory") compiler fence
|
| + // idiom. It's equivalent to MemoryOrderSequentiallyConsistent
|
| + // surrounded by compiler barriers, which means that in practice is
|
| + // should prevent reordering of memory accesses to objects which may
|
| + // escape.
|
| + MemoryOrderSequentiallyConsistentAll,
|
| MemoryOrderNum // Invalid, keep last.
|
| };
|
|
|
|
|