Lines Matching full:poison
3716 // These operations all propagate poison unconditionally. Note that poison
3717 // is not any particular value, so xor or subtraction of poison with
3718 // itself still yields poison, not zero.
3724 // multiple output bits. A replicated poison bit is still poison.
3728 // Left shift *by* a poison value is poison. The number of
3730 // possible there. Left shift by zero places preserves poison. So
3731 // it only remains to consider left shift of poison by a positive
3736 // make the poison operand violate that flag, yielding a fresh full-poison
3743 // A multiplication by zero yields a non-poison zero result, so we need to
3751 // Multiplication by 1 preserves poison. If the multiplication has a
3752 // no-wrap flag, then we can make the poison operand violate that flag
3758 // A ConstantInt cannot yield poison, so we can assume that it is
3759 // the other operand that is poison.
3772 // these operations are implicitly no-signed-wrap so poison is propagated
3807 // We currently only look for uses of poison values within the same basic
3816 // Set of instructions that we have proved will yield poison if PoisonI
3830 // Mark poison that propagates from I through uses of I.