HomePhabricator

[LangRef] Clarify semantics of volatile operations.

Description

[LangRef] Clarify semantics of volatile operations.

Specifically, clarify the following:

  1. Volatile load and store may access addresses that are not memory.
  2. Volatile load and store do not modify arbitrary memory.
  3. Volatile load and store do not trap.

Prompted by recent volatile discussion on llvmdev.

Currently, there's sort of a split in the source code about whether
volatile operations are allowed to trap; this resolves that dispute in
favor of not allowing them to trap.

Differential Revision: https://reviews.llvm.org/D53184

Details

Committed
efriedmaJan 21 2019, 4:42 PM
Differential Revision
D53184: [LangRef] Clarify semantics of volatile operations.
Parents
rL351771: [safestack] Fix NetBSD build
Branches
Unknown
Tags
Unknown

Event Timeline

There's a typo in the first new paragraph: "adresses"