Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions scripts/fuzz_opt.py
Original file line number Diff line number Diff line change
Expand Up @@ -921,7 +921,7 @@ def can_run(self, wasm):
if random.random() < 0.5:
return False
# wasm2c doesn't support most features
return all_disallowed(['exception-handling', 'simd', 'threads', 'bulk-memory', 'nontrapping-float-to-int', 'tail-call', 'sign-ext', 'reference-types', 'multivalue', 'gc', 'custom-descriptors', 'relaxed-atomics', 'wide-arithmetic'])
return all_disallowed(['exception-handling', 'simd', 'threads', 'bulk-memory', 'nontrapping-float-to-int', 'tail-call', 'sign-ext', 'reference-types', 'multivalue', 'gc', 'custom-descriptors', 'acquire-release-atomics', 'wide-arithmetic'])

@override
def run(self, wasm):
Expand Down Expand Up @@ -1252,7 +1252,7 @@ def can_run_on_wasm(self, wasm):
# implement wasm suspending using JS async/await.
if JSPI:
return False
return all_disallowed(['exception-handling', 'simd', 'threads', 'bulk-memory', 'nontrapping-float-to-int', 'tail-call', 'sign-ext', 'reference-types', 'multivalue', 'gc', 'multimemory', 'memory64', 'custom-descriptors', 'relaxed-atomics', 'wide-arithmetic'])
return all_disallowed(['exception-handling', 'simd', 'threads', 'bulk-memory', 'nontrapping-float-to-int', 'tail-call', 'sign-ext', 'reference-types', 'multivalue', 'gc', 'multimemory', 'memory64', 'custom-descriptors', 'acquire-release-atomics', 'wide-arithmetic'])


# Returns the wat for a wasm file. If it is already wat, it just returns that
Expand Down
4 changes: 2 additions & 2 deletions src/binaryen-c.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -505,8 +505,8 @@ BinaryenFeatures BinaryenFeatureBulkMemoryOpt(void) {
BinaryenFeatures BinaryenFeatureCallIndirectOverlong(void) {
return static_cast<BinaryenFeatures>(FeatureSet::CallIndirectOverlong);
}
BinaryenFeatures BinaryenFeatureRelaxedAtomics(void) {
return static_cast<BinaryenFeatures>(FeatureSet::RelaxedAtomics);
BinaryenFeatures BinaryenFeatureAcquireReleaseAtomics(void) {
return static_cast<BinaryenFeatures>(FeatureSet::AcquireReleaseAtomics);
}
BinaryenFeatures BinaryenFeatureMultibyte(void) {
return static_cast<BinaryenFeatures>(FeatureSet::Multibyte);
Expand Down
2 changes: 1 addition & 1 deletion src/binaryen-c.h
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ BINARYEN_API BinaryenFeatures BinaryenFeatureSharedEverything(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureFP16(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureBulkMemoryOpt(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureCallIndirectOverlong(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureRelaxedAtomics(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureAcquireReleaseAtomics(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureMultibyte(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureCustomPageSizes(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureWideArithmetic(void);
Expand Down
2 changes: 1 addition & 1 deletion src/js/binaryen.js-post.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ function initializeConstants() {
'FP16',
'BulkMemoryOpt',
'CallIndirectOverlong',
'RelaxedAtomics',
'AcquireReleaseAtomics',
'CustomPageSizes',
'WideArithmetic',
'CompactImports',
Expand Down
2 changes: 1 addition & 1 deletion src/passes/SafeHeap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ struct SafeHeap : public Pass {
// load funcs
Load load;
std::vector<MemoryOrder> memoryOrdersToGenerate(
features.hasRelaxedAtomics()
features.hasAcquireReleaseAtomics()
? std::initializer_list<MemoryOrder>{MemoryOrder::Unordered,
MemoryOrder::AcqRel,
MemoryOrder::SeqCst}
Expand Down
2 changes: 1 addition & 1 deletion src/tools/fuzzing/fuzzing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ std::vector<Type> getLoggableTypes(const FeatureSet& features) {
}

std::vector<MemoryOrder> getMemoryOrders(const FeatureSet& features) {
return features.hasRelaxedAtomics()
return features.hasAcquireReleaseAtomics()
? std::vector{MemoryOrder::AcqRel, MemoryOrder::SeqCst}
: std::vector{MemoryOrder::SeqCst};
}
Expand Down
2 changes: 1 addition & 1 deletion src/tools/tool-options.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ struct ToolOptions : public Options {
.addFeature(FeatureSet::CustomDescriptors,
"custom descriptors (RTTs) and exact references")
.addFeature(FeatureSet::Multibyte, "multibyte array loads and stores")
.addFeature(FeatureSet::RelaxedAtomics,
.addFeature(FeatureSet::AcquireReleaseAtomics,
"acquire/release atomic memory operations")
.addFeature(FeatureSet::CustomPageSizes, "custom page sizes")
.addFeature(FeatureSet::WideArithmetic, "wide arithmetic")
Expand Down
2 changes: 1 addition & 1 deletion src/wasm-binary.h
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,7 @@ extern const char* FP16Feature;
extern const char* BulkMemoryOptFeature;
extern const char* CallIndirectOverlongFeature;
extern const char* CustomDescriptorsFeature;
extern const char* RelaxedAtomicsFeature;
extern const char* AcquireReleaseAtomicsFeature;
extern const char* MultibyteFeature;
extern const char* CustomPageSizesFeature;
extern const char* WideArithmeticFeature;
Expand Down
14 changes: 9 additions & 5 deletions src/wasm-features.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ struct FeatureSet {
// it does nothing. Binaryen always accepts LEB call-indirect encodings.
CallIndirectOverlong = 1 << 20,
CustomDescriptors = 1 << 21,
RelaxedAtomics = 1 << 22,
AcquireReleaseAtomics = 1 << 22,
CustomPageSizes = 1 << 23,
Multibyte = 1 << 24,
WideArithmetic = 1 << 25,
Expand Down Expand Up @@ -113,8 +113,8 @@ struct FeatureSet {
return "call-indirect-overlong";
case CustomDescriptors:
return "custom-descriptors";
case RelaxedAtomics:
return "relaxed-atomics";
case AcquireReleaseAtomics:
return "acquire-release-atomics";
case CustomPageSizes:
return "custom-page-sizes";
case Multibyte:
Expand Down Expand Up @@ -183,7 +183,9 @@ struct FeatureSet {
bool hasCustomDescriptors() const {
return (features & CustomDescriptors) != 0;
}
bool hasRelaxedAtomics() const { return (features & RelaxedAtomics) != 0; }
bool hasAcquireReleaseAtomics() const {
return (features & AcquireReleaseAtomics) != 0;
}
bool hasCustomPageSizes() const { return (features & CustomPageSizes) != 0; }
bool hasMultibyte() const { return (features & Multibyte) != 0; }
bool hasWideArithmetic() const { return (features & WideArithmetic) != 0; }
Expand Down Expand Up @@ -214,7 +216,9 @@ struct FeatureSet {
void setFP16(bool v = true) { set(FP16, v); }
void setBulkMemoryOpt(bool v = true) { set(BulkMemoryOpt, v); }
void setCustomDescriptors(bool v = true) { set(CustomDescriptors, v); }
void setRelaxedAtomics(bool v = true) { set(RelaxedAtomics, v); }
void setAcquireReleaseAtomics(bool v = true) {
set(AcquireReleaseAtomics, v);
}
void setMultibyte(bool v = true) { set(Multibyte, v); }
void setWideArithmetic(bool v = true) { set(WideArithmetic, v); }
void setCompactImports(bool v = true) { set(CompactImports, v); }
Expand Down
9 changes: 5 additions & 4 deletions src/wasm/wasm-binary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1594,8 +1594,8 @@ void WasmBinaryWriter::writeFeaturesSection() {
return BinaryConsts::CustomSections::CallIndirectOverlongFeature;
case FeatureSet::CustomDescriptors:
return BinaryConsts::CustomSections::CustomDescriptorsFeature;
case FeatureSet::RelaxedAtomics:
return BinaryConsts::CustomSections::RelaxedAtomicsFeature;
case FeatureSet::AcquireReleaseAtomics:
return BinaryConsts::CustomSections::AcquireReleaseAtomicsFeature;
case FeatureSet::CustomPageSizes:
return BinaryConsts::CustomSections::CustomPageSizesFeature;
case FeatureSet::WideArithmetic:
Expand Down Expand Up @@ -5618,8 +5618,9 @@ void WasmBinaryReader::readFeatures(size_t sectionPos, size_t payloadLen) {
feature = FeatureSet::FP16;
} else if (name == BinaryConsts::CustomSections::CustomDescriptorsFeature) {
feature = FeatureSet::CustomDescriptors;
} else if (name == BinaryConsts::CustomSections::RelaxedAtomicsFeature) {
feature = FeatureSet::RelaxedAtomics;
} else if (name ==
BinaryConsts::CustomSections::AcquireReleaseAtomicsFeature) {
feature = FeatureSet::AcquireReleaseAtomics;
} else if (name == BinaryConsts::CustomSections::CustomPageSizesFeature) {
feature = FeatureSet::CustomPageSizes;
} else if (name == BinaryConsts::CustomSections::WideArithmeticFeature) {
Expand Down
20 changes: 10 additions & 10 deletions src/wasm/wasm-validator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1220,10 +1220,10 @@ void FunctionValidator::visitLoad(Load* curr) {
}
switch (curr->order) {
case MemoryOrder::AcqRel: {
shouldBeTrue(getModule()->features.hasRelaxedAtomics(),
shouldBeTrue(getModule()->features.hasAcquireReleaseAtomics(),
curr,
"Acquire/release operations require relaxed atomics "
"[--enable-relaxed-atomics]");
"[--enable-acquire-release-atomics]");
break;
}
case MemoryOrder::Unordered:
Expand Down Expand Up @@ -1265,10 +1265,10 @@ void FunctionValidator::visitStore(Store* curr) {
}
switch (curr->order) {
case MemoryOrder::AcqRel: {
shouldBeTrue(getModule()->features.hasRelaxedAtomics(),
shouldBeTrue(getModule()->features.hasAcquireReleaseAtomics(),
curr,
"Acquire/release operations require relaxed atomics "
"[--enable-relaxed-atomics]");
"[--enable-acquire-release-atomics]");
break;
}
case MemoryOrder::Unordered:
Expand Down Expand Up @@ -1310,10 +1310,10 @@ void FunctionValidator::visitAtomicRMW(AtomicRMW* curr) {

switch (curr->order) {
case MemoryOrder::AcqRel: {
shouldBeTrue(getModule()->features.hasRelaxedAtomics(),
shouldBeTrue(getModule()->features.hasAcquireReleaseAtomics(),
curr,
"Acquire/release operations require relaxed atomics "
"[--enable-relaxed-atomics]");
"[--enable-acquire-release-atomics]");
break;
}
// Unordered RMW should be impossible unless there's a bug in the parser.
Expand Down Expand Up @@ -1351,10 +1351,10 @@ void FunctionValidator::visitAtomicCmpxchg(AtomicCmpxchg* curr) {

switch (curr->order) {
case MemoryOrder::AcqRel: {
shouldBeTrue(getModule()->features.hasRelaxedAtomics(),
shouldBeTrue(getModule()->features.hasAcquireReleaseAtomics(),
curr,
"Acquire/release operations require relaxed atomics "
"[--enable-relaxed-atomics]");
"[--enable-acquire-release-atomics]");
break;
}
// Unordered cmpxchg should be impossible unless there's a bug in the
Expand Down Expand Up @@ -1449,10 +1449,10 @@ void FunctionValidator::visitAtomicFence(AtomicFence* curr) {
"Atomic operations require threads [--enable-threads]");
switch (curr->order) {
case MemoryOrder::AcqRel: {
shouldBeTrue(getModule()->features.hasRelaxedAtomics(),
shouldBeTrue(getModule()->features.hasAcquireReleaseAtomics(),
curr,
"Acquire/release operations require relaxed atomics "
"[--enable-relaxed-atomics]");
"[--enable-acquire-release-atomics]");
break;
}
case MemoryOrder::SeqCst:
Expand Down
2 changes: 1 addition & 1 deletion src/wasm/wasm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ const char* FP16Feature = "fp16";
const char* BulkMemoryOptFeature = "bulk-memory-opt";
const char* CallIndirectOverlongFeature = "call-indirect-overlong";
const char* CustomDescriptorsFeature = "custom-descriptors";
const char* RelaxedAtomicsFeature = "relaxed-atomics";
const char* AcquireReleaseAtomicsFeature = "acquire-release-atomics";
const char* MultibyteFeature = "multibyte";
const char* CustomPageSizesFeature = "custom-page-sizes";
const char* WideArithmeticFeature = "wide-arithmetic";
Expand Down
4 changes: 2 additions & 2 deletions test/binaryen.js/kitchen-sink.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ function test_features() {
console.log("Features.ExtendedConst: " + binaryen.Features.ExtendedConst);
console.log("Features.Strings: " + binaryen.Features.Strings);
console.log("Features.MultiMemory: " + binaryen.Features.MultiMemory);
console.log("Features.RelaxedAtomics: " + binaryen.Features.RelaxedAtomics);
console.log("Features.AcquireReleaseAtomics: " + binaryen.Features.AcquireReleaseAtomics);
console.log("Features.CustomPageSizes: " + binaryen.Features.CustomPageSizes);
console.log("Features.WideArithmetic: " + binaryen.Features.WideArithmetic);
console.log("Features.CompactImports: " + binaryen.Features.CompactImports);
Expand Down Expand Up @@ -1295,7 +1295,7 @@ function test_relaxed_atomics() {
fence,
], binaryen.auto);

module.addFunction("relaxed-atomics", binaryen.none, binaryen.none, [], body);
module.addFunction("acquire-release-atomics", binaryen.none, binaryen.none, [], body);

console.log(module.emitText());
module.dispose();
Expand Down
4 changes: 2 additions & 2 deletions test/binaryen.js/kitchen-sink.js.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Features.RelaxedSIMD: 4096
Features.ExtendedConst: 8192
Features.Strings: 16384
Features.MultiMemory: 32768
Features.RelaxedAtomics: 4194304
Features.AcquireReleaseAtomics: 4194304
Features.CustomPageSizes: 8388608
Features.WideArithmetic: 33554432
Features.CompactImports: 67108864
Expand Down Expand Up @@ -2887,7 +2887,7 @@ Fence memory order: 2
(type $0 (func))
(memory $0 1 1)
(export "memory" (memory $0))
(func $relaxed-atomics (type $0)
(func $acquire-release-atomics (type $0)
(block $body
(drop
(i32.atomic.load acqrel
Expand Down
6 changes: 3 additions & 3 deletions test/example/c-api-kitchen-sink.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,8 +374,8 @@ void test_features() {
printf("BinaryenFeatureRelaxedSIMD: %d\n", BinaryenFeatureRelaxedSIMD());
printf("BinaryenFeatureExtendedConst: %d\n", BinaryenFeatureExtendedConst());
printf("BinaryenFeatureStrings: %d\n", BinaryenFeatureStrings());
printf("BinaryenFeatureRelaxedAtomics: %d\n",
BinaryenFeatureRelaxedAtomics());
printf("BinaryenFeatureAcquireReleaseAtomics: %d\n",
BinaryenFeatureAcquireReleaseAtomics());
printf("BinaryenFeatureCustomPageSizes: %d\n",
BinaryenFeatureCustomPageSizes());
printf("BinaryenFeatureMultibyte: %d\n", BinaryenFeatureMultibyte());
Expand Down Expand Up @@ -2384,7 +2384,7 @@ void test_relaxed_atomics() {
BinaryenTypeAuto());

BinaryenFunctionRef tiny = BinaryenAddFunction(module,
"relaxed-atomics",
"acquire-release-atomics",
BinaryenTypeNone(),
BinaryenTypeNone(),
NULL,
Expand Down
4 changes: 2 additions & 2 deletions test/example/c-api-kitchen-sink.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ BinaryenFeatureMemory64: 2048
BinaryenFeatureRelaxedSIMD: 4096
BinaryenFeatureExtendedConst: 8192
BinaryenFeatureStrings: 16384
BinaryenFeatureRelaxedAtomics: 4194304
BinaryenFeatureAcquireReleaseAtomics: 4194304
BinaryenFeatureCustomPageSizes: 8388608
BinaryenFeatureMultibyte: 16777216
BinaryenFeatureWideArithmetic: 33554432
Expand Down Expand Up @@ -3106,7 +3106,7 @@ Fence memory order: 2
(type $0 (func))
(memory $0 1 1)
(export "memory" (memory $0))
(func $relaxed-atomics (type $0)
(func $acquire-release-atomics (type $0)
(block $body
(drop
(i32.atomic.load acqrel
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-as.test
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-ctor-eval.test
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,10 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-dis.test
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,10 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-emscripten-finalize.test
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,10 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-merge.test
Original file line number Diff line number Diff line change
Expand Up @@ -171,10 +171,10 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic memory
;; CHECK-NEXT: operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-metadce.test
Original file line number Diff line number Diff line change
Expand Up @@ -821,10 +821,10 @@
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads
;; CHECK-NEXT: and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic
;; CHECK-NEXT: memory operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic
;; CHECK-NEXT: memory operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
4 changes: 2 additions & 2 deletions test/lit/help/wasm-opt.test
Original file line number Diff line number Diff line change
Expand Up @@ -857,10 +857,10 @@
;; CHECK-NEXT: --disable-multibyte Disable multibyte array loads
;; CHECK-NEXT: and stores
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-relaxed-atomics Enable acquire/release atomic
;; CHECK-NEXT: --enable-acquire-release-atomics Enable acquire/release atomic
;; CHECK-NEXT: memory operations
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-relaxed-atomics Disable acquire/release atomic
;; CHECK-NEXT: --disable-acquire-release-atomics Disable acquire/release atomic
;; CHECK-NEXT: memory operations
;; CHECK-NEXT:
;; CHECK-NEXT: --enable-custom-page-sizes Enable custom page sizes
Expand Down
Loading
Loading