HomePhabricator

[LangRef] Clarify semantics of load metadata.

Authored by efriedma on Jul 17 2018, 1:38 PM.

Description

[LangRef] Clarify semantics of load metadata.

We need to explicitly state what happens when an invariant promised by
load metadata is violated at runtime, since it's come up repeatedly.

It's possible we want to specify that the result of the load is poison
in some cases, rather than undefined behavior, if the constraint is
violated. That would allow preserving the metadata when the load is
hoisted, but doesn't allow propagating metadata based on control flow.
We currently do transforms based on control flow for nonnull metadata
(in PromoteMemToReg).

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

llvm-svn: 337325

Details

Committed
efriedmaJul 17 2018, 1:38 PM
Differential Revision
D47854: [LangRef] Clarify semantics of load metadata.
Parents
rG061b4af998fc: [libFuzzer] Mutation tracking and logging implemented.
Branches
Unknown
Tags
Unknown