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

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


On 2/25/2019 1:35 PM, John Regehr via llvm-dev wrote:
> It is definitely unsound to assume call(poison) == poison, because not 
> every function returns a value that is poison-dependent on the 
> function's arguments.

That's exactly the same as for a "select".

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.


-Krzysztof


More information about the llvm-dev mailing list