[MC] Write padding into fragments when -mc-relax-all flag is used
authorPetr Hosek <phosek@chromium.org>
Sun, 12 Apr 2015 23:42:25 +0000 (23:42 +0000)
committerPetr Hosek <phosek@chromium.org>
Sun, 12 Apr 2015 23:42:25 +0000 (23:42 +0000)
commit054db7df5b72680d943897a4b7c63afd9607f62f
tree74f6c47b8d6391b5367dd696260c630b87d022cf
parent138418f22adaf6ae60d694b81cac9a6761b6d17a
[MC] Write padding into fragments when -mc-relax-all flag is used

Summary:
When instruction bundling is enabled and the -mc-relax-all flag is
set, we can write bundle padding directly into fragments and avoid
creating large number of fragments significantly reducing LLVM MC
memory usage.

Test Plan: Regression test attached

Reviewers: eliben

Subscribers: jfb, mseaborn

Differential Revision: http://reviews.llvm.org/D8072

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234714 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/MC/MCAsmLayout.h
include/llvm/MC/MCAssembler.h
include/llvm/MC/MCELFStreamer.h
include/llvm/MC/MCObjectStreamer.h
lib/MC/MCAssembler.cpp
lib/MC/MCELFStreamer.cpp
lib/MC/MCObjectStreamer.cpp
test/MC/X86/AlignedBundling/bundle-group-too-large-error.s
test/MC/X86/AlignedBundling/different-sections.s
test/MC/X86/AlignedBundling/labeloffset.s
test/MC/X86/AlignedBundling/long-nop-pad.s
test/MC/X86/AlignedBundling/nesting.s
test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s
test/MC/X86/AlignedBundling/pad-bundle-groups.s
test/MC/X86/AlignedBundling/relax-at-bundle-end.s
test/MC/X86/AlignedBundling/relax-in-bundle-group.s
test/MC/X86/AlignedBundling/single-inst-bundling.s