summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-05-13 08:43:31 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-05-13 08:43:31 +0000
commitaa0d350fe54b0bf13947cdb08d8e76e4ec233d6f (patch)
tree4985cb8ccea2d767f3f9d0a5d64e984de3ce7a44 /lib
parent93ca7b60bf55c58f0e47cefd5ecccd12c0637784 (diff)
downloadllvm-aa0d350fe54b0bf13947cdb08d8e76e4ec233d6f.tar.gz
llvm-aa0d350fe54b0bf13947cdb08d8e76e4ec233d6f.tar.bz2
llvm-aa0d350fe54b0bf13947cdb08d8e76e4ec233d6f.tar.xz
MC: Add MCAsmLayout::FragmentReplaced() helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103709 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/MC/MCAssembler.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp
index e62296f35d..de36c52c68 100644
--- a/lib/MC/MCAssembler.cpp
+++ b/lib/MC/MCAssembler.cpp
@@ -73,6 +73,11 @@ void MCAsmLayout::UpdateForSlide(MCFragment *F, int SlideAmount) {
getAssembler().LayoutSection(*this, i);
}
+void MCAsmLayout::FragmentReplaced(MCFragment *Src, MCFragment *Dst) {
+ Dst->Offset = Src->Offset;
+ Dst->EffectiveSize = Src->EffectiveSize;
+}
+
uint64_t MCAsmLayout::getFragmentAddress(const MCFragment *F) const {
assert(F->getParent() && "Missing section()!");
return getSectionAddress(F->getParent()) + getFragmentOffset(F);
@@ -818,13 +823,10 @@ void MCAssembler::FinishLayout(MCAsmLayout &Layout) {
SD.getFragmentList().insert(it2, DF);
// Update the data fragments layout data.
- //
- // FIXME: Add MCAsmLayout utility for this.
DF->setParent(IF->getParent());
DF->setAtom(IF->getAtom());
DF->setOrdinal(IF->getOrdinal());
- Layout.setFragmentOffset(DF, Layout.getFragmentOffset(IF));
- Layout.setFragmentEffectiveSize(DF, Layout.getFragmentEffectiveSize(IF));
+ Layout.FragmentReplaced(IF, DF);
// Copy in the data and the fixups.
DF->getContents().append(IF->getCode().begin(), IF->getCode().end());