[llvm-dev] funnel shift, select, and poison
John Regehr via llvm-dev
llvm-dev at lists.llvm.org
Mon Feb 25 12:08:54 PST 2019
> I'm in favor of a set of simple rules regarding the propagation of
> poison, so I lean towards the "one answer" you proposed in the first
> email, i.e.
> > One answer might be "only select and phi stop poison"
> except augmented to include calls and invokes.
This is already explicit and clear in the LangRef:
- Function arguments depend on the corresponding actual argument values
in the dynamic callers of their functions.
- Call instructions depend on the ret instructions that dynamically
transfer control back to them.
- Invoke instructions depend on the ret, resume, or exception-throwing
call instructions that dynamically transfer control back to them.
More information about the llvm-dev