mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
emit attribute for readonly non-pure inline assembly
This commit is contained in:
@@ -553,6 +553,7 @@ enum class LLVMRustMemoryEffects {
|
||||
None,
|
||||
ReadOnly,
|
||||
InaccessibleMemOnly,
|
||||
ReadOnlyNotPure,
|
||||
};
|
||||
|
||||
extern "C" LLVMAttributeRef
|
||||
@@ -568,6 +569,10 @@ LLVMRustCreateMemoryEffectsAttr(LLVMContextRef C,
|
||||
case LLVMRustMemoryEffects::InaccessibleMemOnly:
|
||||
return wrap(Attribute::getWithMemoryEffects(
|
||||
*unwrap(C), MemoryEffects::inaccessibleMemOnly()));
|
||||
case LLVMRustMemoryEffects::ReadOnlyNotPure:
|
||||
return wrap(Attribute::getWithMemoryEffects(
|
||||
*unwrap(C),
|
||||
MemoryEffects::readOnly() | MemoryEffects::inaccessibleMemOnly()));
|
||||
default:
|
||||
report_fatal_error("bad MemoryEffects.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user