[AttributeFuncs] Consider `noundef` in `typeIncompatible`
authorJohannes Doerfert <johannes@jdoerfert.de>
Tue, 8 Sep 2020 15:13:11 +0000 (10:13 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Tue, 6 Oct 2020 04:23:06 +0000 (23:23 -0500)
commitef48436e62732e61cea5dde9b35b63b3ce8126f7
treea905f987a82bf835bdc39ac2d320519ba71c6ef9
parent2a078c3072043541ee0595aea6c8d7909f94c6f9
[AttributeFuncs] Consider `noundef` in `typeIncompatible`

Drop `noundef` for return values that are replaced by void and make it
illegal to put `noundef` on a void value.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87306
llvm/lib/IR/Attributes.cpp
llvm/test/Transforms/DeadArgElim/returned.ll
llvm/test/Verifier/align.ll
llvm/test/Verifier/noundef.ll [new file with mode: 0644]