HomePhabricator

[LangRef] Clarify semantics of load metadata.

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

Details

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