Add support for undef values in ICE IR. Undef values represent an
arbitrary bit pattern and are lowered to a zero constant.
IceOperand.h: Introduce a new ConstantUndef subclass of
Constant. Add a getConstantZero() method.
IceGlobalContext.h / IceGlobalContext.cpp: Implement pooling for
ConstantUndefs.
IceTargetLoweringX8632.cpp: Legalize ConstantUndefs to constant
zeros.
llvm2ice.cpp: Translate LLVM Undefs into ConstantUndefs.
undef.ll: Test that undef values are recognized and legalized to
zero.
BUG=none
R=jvoung@chromium.org, stichnot@chromium.org
Review URL: https://codereview.chromium.org/339783002
6 files changed