Index: src/IceTargetLowering.cpp |
diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp |
index 22f698acd6d8d0874c42241c415a9fad64b5a2d2..d0929a01ec56bd9c99f8aca4fbaa39b4e26e3be6 100644 |
--- a/src/IceTargetLowering.cpp |
+++ b/src/IceTargetLowering.cpp |
@@ -234,6 +234,30 @@ InstCall *TargetLowering::makeHelperCall(const IceString &Name, Variable *Dest, |
return Call; |
} |
+void TargetLowering::emitWithoutPrefix(const ConstantRelocatable *C) const { |
+ if (!ALLOW_DUMP) |
+ return; |
+ Ostream &Str = Ctx->getStrEmit(); |
+ if (C->getSuppressMangling()) |
+ Str << C->getName(); |
+ else |
+ Str << Ctx->mangleName(C->getName()); |
+ RelocOffsetT Offset = C->getOffset(); |
+ if (Offset) { |
+ if (Offset > 0) |
+ Str << "+"; |
+ Str << Offset; |
+ } |
+} |
+ |
+void TargetLowering::emit(const ConstantRelocatable *C) const { |
+ if (!ALLOW_DUMP) |
+ return; |
+ Ostream &Str = Ctx->getStrEmit(); |
+ Str << getConstantPrefix(); |
+ emitWithoutPrefix(C); |
+} |
+ |
std::unique_ptr<TargetDataLowering> |
TargetDataLowering::createLowering(GlobalContext *Ctx) { |
TargetArch Target = Ctx->getFlags().getTargetArch(); |