Subzero: Allow builds with assertions disabled.
1. Setting command-line make variable NOASSERT=1 adds -DNDEBUG and builds in a separate directory. By default, we still get Release+Asserts.
2. Add "(void)foo;" as necessary when foo is only used in an assert(), to remove warnings.
3. Minimize inclusion of llvm/Support/Timer.h because it adds warnings.
4. Call validateLiveness() only when asserts are enabled, because it's relatively expensive.
BUG= none
R=jvoung@chromium.org
Review URL: https://codereview.chromium.org/623493002
diff --git a/src/assembler_ia32.cpp b/src/assembler_ia32.cpp
index 3dce9b7..3775cc8 100644
--- a/src/assembler_ia32.cpp
+++ b/src/assembler_ia32.cpp
@@ -91,6 +91,7 @@
EmitFixup(DirectCallRelocation::create(this, FK_PcRel_4, label));
EmitInt32(-4);
assert((buffer_.GetPosition() - call_start) == kCallExternalLabelSize);
+ (void)call_start;
}
void AssemblerX86::pushl(GPRRegister reg) {
@@ -1749,6 +1750,7 @@
void AssemblerX86::bswap(Type Ty, GPRRegister reg) {
AssemblerBuffer::EnsureCapacity ensured(&buffer_);
assert(Ty == IceType_i32);
+ (void)Ty;
EmitUint8(0x0F);
EmitUint8(0xC8 | reg);
}
@@ -2145,6 +2147,7 @@
GPRRegister shifter) {
AssemblerBuffer::EnsureCapacity ensured(&buffer_);
assert(shifter == RegX8632::Encoded_Reg_ecx);
+ (void)shifter;
EmitUint8(0xD3);
EmitOperand(rm, Operand(operand));
}