diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-05-13 08:43:31 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-05-13 08:43:31 +0000 |
commit | e8845ef4dbdd4adb8e6889fd4dfa8f03b02ffa5f (patch) | |
tree | d352c9a6769e8a5ef226ca41cb72b9bf62386ecb /llvm/lib/MC/MCAssembler.cpp | |
parent | 01f21ad97cf4d7074dec4401c66bcf43a0360844 (diff) | |
download | bcm5719-llvm-e8845ef4dbdd4adb8e6889fd4dfa8f03b02ffa5f.tar.gz bcm5719-llvm-e8845ef4dbdd4adb8e6889fd4dfa8f03b02ffa5f.zip |
MC: Add MCAsmLayout::FragmentReplaced() helper function.
llvm-svn: 103709
Diffstat (limited to 'llvm/lib/MC/MCAssembler.cpp')
-rw-r--r-- | llvm/lib/MC/MCAssembler.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp index e62296f35d1..de36c52c680 100644 --- a/llvm/lib/MC/MCAssembler.cpp +++ b/llvm/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()); |