[llvm-dev] funnel shift, select, and poison (original) (raw)

John Regehr via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 25 11:35:57 PST 2019


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.

Sorry that I was unclear.

What I am trying to say is that calls and returns (like loads and stores) are transparent with respect to poison.

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.

John



More information about the llvm-dev mailing list