diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-11-23 05:49:35 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-11-23 05:49:35 +0000 |
commit | 0e11dfc4a6f7e3a3d3bc0365e1da43bc2fa0aac2 (patch) | |
tree | df4f6520b3356bdd23640994f46ee9626ea77e9d /include/llvm/MC/MCAsmLayout.h | |
parent | cafe0b4e1fec183f26e0ae374c09bad77388820a (diff) | |
download | external_llvm-0e11dfc4a6f7e3a3d3bc0365e1da43bc2fa0aac2.zip external_llvm-0e11dfc4a6f7e3a3d3bc0365e1da43bc2fa0aac2.tar.gz external_llvm-0e11dfc4a6f7e3a3d3bc0365e1da43bc2fa0aac2.tar.bz2 |
Reuse data fragments while lowering. Patch by David Meyer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119999 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCAsmLayout.h')
-rw-r--r-- | include/llvm/MC/MCAsmLayout.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/llvm/MC/MCAsmLayout.h b/include/llvm/MC/MCAsmLayout.h index b9565ba..6feacf5 100644 --- a/include/llvm/MC/MCAsmLayout.h +++ b/include/llvm/MC/MCAsmLayout.h @@ -59,8 +59,15 @@ public: /// the delta from the old size. void UpdateForSlide(MCFragment *F, int SlideAmount); - /// \brief Update the layout because a fragment has been replaced. - void FragmentReplaced(MCFragment *Src, MCFragment *Dst); + /// \brief Update the layout, replacing Src with Dst. The contents + /// of Src and Dst are not modified, and must be copied by the caller. + /// Src will be removed from the layout, but not deleted. + void ReplaceFragment(MCFragment *Src, MCFragment *Dst); + + /// \brief Update the layout to coalesce Src into Dst. The contents + /// of Src and Dst are not modified, and must be coalesced by the caller. + /// Src will be removed from the layout, but not deleted. + void CoalesceFragments(MCFragment *Src, MCFragment *Dst); /// \brief Perform a full layout. void LayoutFile(); |