diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-21 03:47:03 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-21 03:47:03 +0000 |
commit | a9f810b6b528c157c2e595f32cbef9c7102ef1f8 (patch) | |
tree | b1bd112e8dcde45c9b689842514b103a8d4b8b80 /llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | |
parent | d82a2ce3a08f1f67143e68547828f0963b333e7a (diff) | |
download | bcm5719-llvm-a9f810b6b528c157c2e595f32cbef9c7102ef1f8.tar.gz bcm5719-llvm-a9f810b6b528c157c2e595f32cbef9c7102ef1f8.zip |
Add a function to get the segment name of a section.
On MachO, sections also have segment names. When a tool looking at a .o file
prints a segment name, this is what they mean. In reality, a .o has only one
anonymous, segment.
This patch adds a MachO only function to fetch that segment name. I named it
getSectionFinalSegmentName since the main use for the name seems to be inform
the linker with segment this section should go to.
The patch also changes MachOObjectFile::getSectionName to return just the
section name instead of computing SegmentName,SectionName.
The main difference from the previous patch is that it doesn't use
InMemoryStruct. It is extremely dangerous: if the endians match it returns
a pointer to the file buffer, if not, it returns a pointer to an internal buffer
that is overwritten in the next API call.
We should change all of this code to use
support::detail::packed_endian_specific_integral like ELF, but since these
functions only handle strings, they work with big and little endian machines
as is.
I have tested this by installing ubuntu 12.10 ppc on qemu, that is why it took
so long :-)
llvm-svn: 170838
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorize.cpp')
0 files changed, 0 insertions, 0 deletions