HomePhabricator

[LangRef] Clarify semantics of volatile operations.

Authored by efriedma on Jan 21 2019, 4:42 PM.

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

llvm-svn: 351772

Details

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