MC: Eliminate an unnecessary copy.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 26 May 2010 17:50:16 +0000 (17:50 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 26 May 2010 17:50:16 +0000 (17:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104709 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCMachOStreamer.cpp

index 50348e4ea3ea85c421885e5146de04812878b6b1..6c738aa4a85f7ed4b30536f1b8bb65f50fc91146 100644 (file)
@@ -434,11 +434,6 @@ void MCMachOStreamer::EmitInstruction(const MCInst &Inst) {
   Assembler.getEmitter().EncodeInstruction(Inst, VecOS, Fixups);
   VecOS.flush();
 
-  // FIXME: Eliminate this copy.
-  SmallVector<MCFixup, 4> AsmFixups;
-  for (unsigned i = 0, e = Fixups.size(); i != e; ++i)
-    AsmFixups.push_back(Fixups[i]);
-
   // See if we might need to relax this instruction, if so it needs its own
   // fragment.
   //
@@ -461,16 +456,16 @@ void MCMachOStreamer::EmitInstruction(const MCInst &Inst) {
     // FIXME: Revisit this design decision when relaxation is done, we may be
     // able to get away with not storing any extra data in the MCInst.
     IF->getCode() = Code;
-    IF->getFixups() = AsmFixups;
+    IF->getFixups() = Fixups;
 
     return;
   }
 
   // Add the fixups and data.
   MCDataFragment *DF = getOrCreateDataFragment();
-  for (unsigned i = 0, e = AsmFixups.size(); i != e; ++i) {
-    AsmFixups[i].setOffset(AsmFixups[i].getOffset() + DF->getContents().size());
-    DF->addFixup(AsmFixups[i]);
+  for (unsigned i = 0, e = Fixups.size(); i != e; ++i) {
+    Fixups[i].setOffset(Fixups[i].getOffset() + DF->getContents().size());
+    DF->addFixup(Fixups[i]);
   }
   DF->getContents().append(Code.begin(), Code.end());
 }