[PATCH] D47747: [LangRef] Clarify "undefined" for various instructions.

Nuno Lopes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 5 07:46:09 PDT 2018


nlopes added a comment.

Eli, thanks a lot for kicking off the discussion. I think this patch is a bit too big since there are a few things that are not trivial.
For example, I would rather not introduce more functions returning undef, but rather return poison instead. If there's no good motivation for undef, poison should be used by default from now on, since it's much easier to handle than undef.
This patch also introduces a lot of UB with metadata tags, which is a departure from how we handle things like nsw/nuw which make the instructions yield poison instead of UB. Why is it more important to preserve nsw when hoisting an add than preserving !nonnull when hoisting a load?  I really don't know; hence I'm asking.
I think it would help to split this patch a bit.


Repository:
  rL LLVM

https://reviews.llvm.org/D47747





More information about the llvm-commits mailing list