forked from OSchip/llvm-project
[MCAssembler] Allow backend to finalize layout post-relaxation.
Differential revision: http://reviews.llvm.org/D19429 llvm-svn: 267796
This commit is contained in:
parent
0bec2fef8e
commit
485d905510
|
@ -126,6 +126,10 @@ public:
|
||||||
/// \return - True on success.
|
/// \return - True on success.
|
||||||
virtual bool writeNopData(uint64_t Count, MCObjectWriter *OW) const = 0;
|
virtual bool writeNopData(uint64_t Count, MCObjectWriter *OW) const = 0;
|
||||||
|
|
||||||
|
/// Give backend an opportunity to finish layout after relaxation
|
||||||
|
virtual void finishLayout(MCAssembler const &Asm,
|
||||||
|
MCAsmLayout &Layout) const {}
|
||||||
|
|
||||||
/// Handle any target-specific assembler flags. By default, do nothing.
|
/// Handle any target-specific assembler flags. By default, do nothing.
|
||||||
virtual void handleAssemblerFlag(MCAssemblerFlag Flag) {}
|
virtual void handleAssemblerFlag(MCAssemblerFlag Flag) {}
|
||||||
|
|
||||||
|
|
|
@ -914,4 +914,5 @@ void MCAssembler::finishLayout(MCAsmLayout &Layout) {
|
||||||
for (unsigned int i = 0, n = Layout.getSectionOrder().size(); i != n; ++i) {
|
for (unsigned int i = 0, n = Layout.getSectionOrder().size(); i != n; ++i) {
|
||||||
Layout.getFragmentOffset(&*Layout.getSectionOrder()[i]->rbegin());
|
Layout.getFragmentOffset(&*Layout.getSectionOrder()[i]->rbegin());
|
||||||
}
|
}
|
||||||
|
getBackend().finishLayout(*this, Layout);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue