[llvm-dev] Use case of undef

LYU YH via llvm-dev llvm-dev at lists.llvm.org
Sun Dec 4 15:22:30 PST 2016


Hello Sean,

I read several LLVM undef materials[1][2][3] but still have some questions
of it. I can understand "add %X, undef -> undef". But why the equation "and
%X, undef -> 0" is valid? In LLVM Language Reference Manual, the
explanation of such equation is that it is safe to assume that all bits of
the ‘undef‘ could be 0. If so, why can't we assume all bits of the 'undef'
is 0 in the former equation. Therefore we can get "add %X, 0 -> %X" instead?

By the way, is there any document that describe how 'undef' should be
handled with other LLVM value? Is the 'undef' in LLVM the same as the
UNDEF[4] (the top element in lattice) in constant propagation?

[1] http://www.nondot.org/sabre/LLVMNotes/UndefinedValue.txt
[2] https://www.cs.utah.edu/~regehr/llvm-ub.pdf
[3] http://sunfishcode.github.io/blog/2014/07/14/undef-introduction.html
[4] http://infolab.stanford.edu/~ullman/dragon/w06/lectures/cp.pdf

Thanks for your reply
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161205/1ed86f37/attachment.html>


More information about the llvm-dev mailing list