[llvm-dev] funnel shift, select, and poison

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 25 11:30:32 PST 2019


On 2/25/2019 1:24 PM, John Regehr via llvm-dev wrote:
> 
> This is a sound transformation only if foo() returns poison when it is 
> called with poison as an argument.

Then how do you interpret "poison has to propagate through calls"?

A typical analysis of a function will either see a call or the inlined 
body. If "call(poison)" cannot be assumed to be a poison, then a call 
effectively stops the propagation of a poison.

-Krzysztof


More information about the llvm-dev mailing list