Index: src/IceTargetLoweringX8632.cpp |
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
index ebfc4d2da1ea6eaa5e0d5f728ad959b13808bc90..449c427273aa2e6f04ded7523ddf0567492cf370 100644 |
--- a/src/IceTargetLoweringX8632.cpp |
+++ b/src/IceTargetLoweringX8632.cpp |
@@ -4589,17 +4589,34 @@ void TargetX8632::makeRandomRegisterPermutation( |
} |
} |
+template <> |
+void ConstantInteger32::emitWithoutDollar(GlobalContext *Ctx) const { |
+ if (!ALLOW_DUMP) |
+ return; |
+ Ostream &Str = Ctx->getStrEmit(); |
+ Str << (int32_t)getValue(); |
+} |
+ |
template <> void ConstantInteger32::emit(GlobalContext *Ctx) const { |
if (!ALLOW_DUMP) |
return; |
Ostream &Str = Ctx->getStrEmit(); |
- Str << "$" << (int32_t)getValue(); |
+ Str << "$"; |
+ emitWithoutDollar(Ctx); |
+} |
+ |
+template <> void ConstantInteger64::emitWithoutDollar(GlobalContext *) const { |
+ llvm_unreachable("Not expecting to emitWithoutDollar 64-bit integers"); |
} |
template <> void ConstantInteger64::emit(GlobalContext *) const { |
llvm_unreachable("Not expecting to emit 64-bit integers"); |
} |
+template <> void ConstantFloat::emitWithoutDollar(GlobalContext *) const { |
+ llvm_unreachable("Not expecting to emitWithoutDollar floats"); |
+} |
+ |
template <> void ConstantFloat::emit(GlobalContext *Ctx) const { |
if (!ALLOW_DUMP) |
return; |
@@ -4607,6 +4624,10 @@ template <> void ConstantFloat::emit(GlobalContext *Ctx) const { |
emitPoolLabel(Str); |
} |
+template <> void ConstantDouble::emitWithoutDollar(GlobalContext *) const { |
+ llvm_unreachable("Not expecting to emitWithoutDollar doubles"); |
+} |
+ |
template <> void ConstantDouble::emit(GlobalContext *Ctx) const { |
if (!ALLOW_DUMP) |
return; |
@@ -4614,6 +4635,10 @@ template <> void ConstantDouble::emit(GlobalContext *Ctx) const { |
emitPoolLabel(Str); |
} |
+void ConstantUndef::emitWithoutDollar(GlobalContext *) const { |
+ llvm_unreachable("Not expecting to emitWithoutDollar undef"); |
+} |
+ |
void ConstantUndef::emit(GlobalContext *) const { |
llvm_unreachable("undef value encountered by emitter."); |
} |