DescriptionAdd 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
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=d8f4a7d
Patch Set 1 #
Total comments: 8
Patch Set 2 : Lower undefs to constant 0 #
Total comments: 2
Patch Set 3 : Clarify that we expect backends to lower undef to 0 #
Total comments: 1
Patch Set 4 : Add comment about lowering to uninitialized registers #Patch Set 5 : Comment on uninitialized registers #Patch Set 6 : Comment about uninitialized registers #
Messages
Total messages: 16 (0 generated)
|