[PATCH] D19924: Representing bundle locked groups as fragments in MCAssembler
Colin LeMahieu via llvm-commits
llvm-commits at lists.llvm.org
Tue May 24 16:29:07 PDT 2016
colinl set the repository for this revision to rL LLVM.
colinl updated this revision to Diff 58351.
colinl added a comment.
Running the memory tests pointed out poor usage due to having a bundle lock/unlock fragment for each instruction fragment.
I added a BundleLocked bit to MCFragment to represent a fragment being bundle locket to the next fragment. This means only 1 bit per fragment is needed instead of 2 objects.
I added a vector of bundle alignments to MCSection to represent bundle alignment changes throughout the section. Rather than storing the bundle alignment in each fragment we look up the bounding alignment in this vector.
I have a separate machine that runs the go file and gnuplot and I'll report the results for the redesign.
Repository:
rL LLVM
http://reviews.llvm.org/D19924
Files:
include/llvm/MC/MCAsmLayout.h
include/llvm/MC/MCAssembler.h
include/llvm/MC/MCELFStreamer.h
include/llvm/MC/MCFragment.h
include/llvm/MC/MCObjectStreamer.h
include/llvm/MC/MCSection.h
lib/MC/MCAssembler.cpp
lib/MC/MCELFStreamer.cpp
lib/MC/MCFragment.cpp
lib/MC/MCObjectStreamer.cpp
lib/MC/MCSection.cpp
test/MC/X86/AlignedBundling/misaligned-bundle-group.s
test/MC/X86/AlignedBundling/misaligned-bundle.s
test/MC/X86/AlignedBundling/nesting.s
test/MC/X86/AlignedBundling/relax-in-bundle-group.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19924.58351.patch
Type: text/x-patch
Size: 50636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160524/2f9b22e2/attachment-0001.bin>
More information about the llvm-commits
mailing list