| Index: src/IceFixups.cpp
|
| diff --git a/src/IceFixups.cpp b/src/IceFixups.cpp
|
| index 27d6eab4ce8312116038ccc22b2cb8b1b7974eea..3d3b1b437c7dbb405c390a4ec668316ad2e37629 100644
|
| --- a/src/IceFixups.cpp
|
| +++ b/src/IceFixups.cpp
|
| @@ -31,7 +31,7 @@ RelocOffsetT AssemblerFixup::offset() const {
|
| return addend_;
|
| }
|
|
|
| -IceString AssemblerFixup::symbol() const {
|
| +GlobalString AssemblerFixup::symbol() const {
|
| assert(!isNullSymbol());
|
| assert(!ValueIsSymbol);
|
| const Constant *C = ConstValue;
|
| @@ -41,10 +41,7 @@ IceString AssemblerFixup::symbol() const {
|
| // NOTE: currently only float/doubles are put into constant pools. In the
|
| // future we may put integers as well.
|
| assert(llvm::isa<ConstantFloat>(C) || llvm::isa<ConstantDouble>(C));
|
| - std::string Buffer;
|
| - llvm::raw_string_ostream Str(Buffer);
|
| - C->emitPoolLabel(Str);
|
| - return Str.str();
|
| + return C->getLabelName();
|
| }
|
|
|
| size_t AssemblerFixup::emit(GlobalContext *Ctx, const Assembler &Asm) const {
|
| @@ -53,17 +50,17 @@ size_t AssemblerFixup::emit(GlobalContext *Ctx, const Assembler &Asm) const {
|
| return FixupSize;
|
| Ostream &Str = Ctx->getStrEmit();
|
| Str << "\t.long ";
|
| - IceString Symbol;
|
| + std::string Symbol;
|
| if (isNullSymbol()) {
|
| Str << "__Sz_AbsoluteZero";
|
| } else {
|
| - Symbol = symbol();
|
| + Symbol = symbol().toString();
|
| Str << Symbol;
|
| assert(!ValueIsSymbol);
|
| if (const auto *CR = llvm::dyn_cast<ConstantRelocatable>(ConstValue)) {
|
| if (!Asm.fixupIsPCRel(kind()) &&
|
| GlobalContext::getFlags().getUseNonsfi() &&
|
| - CR->getName() != GlobalOffsetTable) {
|
| + CR->getName().toString() != GlobalOffsetTable) {
|
| Str << "@GOTOFF";
|
| }
|
| }
|
|
|