189f7983fb300357712689733f65dde9e3658a14 |
|
07-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Fix a FIXME, on darwin all virtual sections have a zerofill type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
df39be6cb4eb44011db3d3e86f8fe463f81ce127 |
|
17-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for subsections to the ELF assembler. Fixes PR8717. Differential Revision: http://llvm-reviews.chandlerc.com/D598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
5da3665cc501ed8928e63678254357214ec0b9eb |
|
01-Feb-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Give the MCStreamer class hierarchy LLVM RTTI facilities for use with isa<> and dyn_cast<>. In several places, code is already hacking around the absence of this, and there seem to be several interfaces that might be lifted and/or devirtualized using this. This change was based on a discussion with Jim Grosbach about how best to handle testing for specific MCStreamer subclasses. He said that this was the correct end state, and everything else was too hacky so I decided to just make it so. No functionality should be changed here, this is just threading the kind through all the constructors and setting up the classof overloads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a94c33942373cb504b6e64c95415165907a89d34 |
|
18-Jan-2013 |
Daniel Dunbar <daniel@zuster.org> |
[MC/Mach-O] Add support for linker options in Mach-O files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
030f63a397edc20f8f661bac62f7b90cb5cf57bc |
|
14-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Expose an InitToTextSection through MCStreamer. The aim of this patch is to fix the following piece of code in the platform-independent AsmParser: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.SwitchSection(Ctx.getMachOSection( "__TEXT", "__text", MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS, 0, SectionKind::getText())); } } This was added for the "-n" option of llvm-mc. The proposed fix adds another virtual method to MCStreamer, called InitToTextSection. Conceptually, it's similar to the existing InitSections which initializes all common sections and switches to text. The new method is implemented by each platform streamer in a way that it sees fit. So AsmParser can now do this: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.InitToTextSection(); } } Which is much more reasonable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2c3a4641a7785da78839caf574277df9cd93b52c |
|
16-Dec-2012 |
Reed Kotler <rkotler@mips.com> |
This patch is needed to make c++ exceptions work for mips16. Mips16 is really a processor decoding mode (ala thumb 1) and in the same program, mips16 and mips32 functions can exist and can call each other. If a jal type instruction encounters an address with the lower bit set, then the processor switches to mips16 mode (if it is not already in it). If the lower bit is not set, then it switches to mips32 mode. The linker knows which functions are mips16 and which are mips32. When relocation is performed on code labels, this lower order bit is set if the code label is a mips16 code label. In general this works just fine, however when creating exception handling tables and dwarf, there are cases where you don't want this lower order bit added in. This has been traditionally distinguished in gas assembly source by using a different syntax for the label. lab1: ; this will cause the lower order bit to be added lab2=. ; this will not cause the lower order bit to be added In some cases, it does not matter because in dwarf and debug tables the difference of two labels is used and in that case the lower order bits subtract each other out. To fix this, I have added to mcstreamer the notion of a debuglabel. The default is for label and debug label to be the same. So calling EmitLabel and EmitDebugLabel produce the same result. For various reasons, there is only one set of labels that needs to be modified for the mips exceptions to work. These are the "$eh_func_beginXXX" labels. Mips overrides the debug label suffix from ":" to "=." . This initial patch fixes exceptions. More changes most likely will be needed to DwarfCFException to make all of this work for actual debugging. These changes will be to emit debug labels in some places where a simple label is emitted now. Some historical discussion on this from gcc can be found at: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
64d9a3233476553fc950f0f2fc6a2cdd2a4c05cf |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Refactor MCInstFragment and MCDataFragment to adhere to a common interface, which removes code duplication and prepares the ground for future additions. Full discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121203/158233.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ef76b273f96d99a4a260f3dcadde8fbb96256cf3 |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Lift EmitAssignment into MCObjectStreamer which gets rid of at least three duplicate implementations in format-specific streamers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e660fc15fe1f1b8a19488f39d0ec09acc79bed0d |
|
04-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Hoist some grossly duplicated code from the COFF/ELF/MachO streamers into MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
b4316028b3978e65cc2b97042292637857dfad49 |
|
02-Oct-2012 |
Jim Grosbach <grosbach@apple.com> |
MachO: direct-to-object attribute for data-in-code markers. The target backend can support data-in-code load commands even when the assembler doesn't, or vice-versa. Allow targets to opt-in for direct-to-object. PR13973. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
39646d96e76aea5d20bffb386233a0dbb5932a21 |
|
07-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
MC: Overhaul handling of .lcomm - Darwin lied about not supporting .lcomm and turned it into zerofill in the asm parser. Push the zerofill-conversion down into macho-specific code. - This makes the tri-state LCOMMType enum superfluous, there are no targets without .lcomm. - Do proper error reporting when trying to use .lcomm with alignment on a target that doesn't support it. - .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2. - Fixes PR13755 (.lcomm crashes on ELF). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
c90a1fcf9f44858b20e0f5f7e0b98049aec7a1e0 |
|
22-Jun-2012 |
Evan Cheng <evan.cheng@apple.com> |
EmitZerofill should take a 64-bit size or else it's chopping off large zero-filled global. rdar://11729134 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
3e96531186ba574b0c25a4be62d24b8b7d752c9f |
|
18-May-2012 |
Jim Grosbach <grosbach@apple.com> |
Refactor data-in-code annotations. Use a dedicated MachO load command to annotate data-in-code regions. This is the same format the linker produces for final executable images, allowing consistency of representation and use of introspection tools for both object and executable files. Data-in-code regions are annotated via ".data_region"/".end_data_region" directive pairs, with an optional region type. data_region_directive := ".data_region" { region_type } region_type := "jt8" | "jt16" | "jt32" | "jta32" end_data_region_directive := ".end_data_region" The previous handling of ARM-style "$d.*" labels was broken and has been removed. Specifically, it didn't handle ARM vs. Thumb mode when marking the end of the section. rdar://11459456 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
858143816d43e58b17bfd11cb1b57afbd7f0f893 |
|
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ec3433852dd11e8ff60c9610b4c84468e5935f2b |
|
18-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. MCAsmBackend naming conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2bd335470f8939782f3df7f6180282d3825d4f09 |
|
10-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary default cases in switches that cover all enum values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
99b4237c1647156f0e1d3d7e03efdab23ed79778 |
|
07-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Split Finish into Finish and FinishImpl to have a common place to do end of file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
4544da484d5b8488d1827340b4187654bec28818 |
|
29-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
Remove obsolete FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 |
|
02-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't drop alignment info on local common symbols. - On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
bd27f5adbd8f3b8ab8def5aa43fbc406ac9b8cbe |
|
27-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Support .code32 and .code64 in X86 assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
78c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5c |
|
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8bcf9496d0d372245776a4eb2f4757335b4de0e1 |
|
25-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Add a missing enumerator to this switch. Currently its in the assert-path code, as previously we would have fallen off the end of the function, but please review and let me know if this should go somewhere else. This fixes a Clang warning: lib/MC/MCMachOStreamer.cpp:201:11: error: enumeration value 'MCSA_IndirectSymbol' not handled in switch [-Werror,-Wswitch-enum] switch (Attribute) { ^ 1 error generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f2a35fbd60fbb86465ad2fb4d801cd5c240decd7 |
|
25-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Move some ELF directives into ELF asm parser. The .local, .hidden, .internal, and .protected are not legal for all supported file formats (in particular, they're invalid for MachO). Move the parsing for them into the ELF assembly parser since that's the format they're for. Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing to the COFF and ELF asm parsers. Previously, using any of these directives on Darwin would result in an assertion failure in the parser; now we get a diagnostic as we should. rdar://9827089 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
672b93a3324cc1da6d374eed4c75c050a9cad7be |
|
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Unfortunately several files in MC are badly violating layering rule by using TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
c25dad8750083829d9a8935ce40d0734e5488f8e |
|
10-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some code into a new EmitFrames method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
450a5a120789b67b27f92631e0acaf754ee99d9e |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add r130623 back now that ELF has been fixed to work with -fno-dwarf2-cfi-asm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2b3e12d0cb1ad98abaa79353c3ab69d9b06d9ded |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert the previous patch while I figure out how to make llvm-gcc less agressive about disabling cfi on linux :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
89fc9e8f5eb74d5607bed7759628775b564a5383 |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Enable CFI on OS X. Currently the output should be almost identical to the one produced by CodeGen to make the transition easier. The only two differences I know of are: * Some files get an extra advance loc of size 0. This will be fixed when relaxations are enabled. * The optimization of declaring an EH symbol as an external variable is not implemented. This is a subset of adding the nounwind attribute, so we if really this at -O0 we should probably do it at the IL level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
97f7f4e43d2df00253b794d936be65d2afa78716 |
|
30-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle PrivateExtern eh symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8bca4106dfc2945723251db10e340183f3e372dd |
|
28-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Mark the EH symbol global or weak if the corresponding function is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f754f50805fee2bb4d461a9b41107122a22cd6f6 |
|
25-Feb-2011 |
Cameron Zwarich <zwarich@apple.com> |
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f410608271b6318bfc9e26c0d199f185d5a89ccb |
|
24-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Enable DebugInfo support for COFF object files. Patch by Nathan Jeffords! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
7768a9dce14431018133cd586f5c8ce3e057f069 |
|
16-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for pushsection and popsection. Patch by Joerg Sonnenberger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
b2624eda5ad0ead99ec5ab7ead47b586c96d1109 |
|
29-Dec-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O/Thumb: Set the thumb bit in the symbol table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
475002078848d102b6577fe7283464c039b38af6 |
|
14-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM Fixups relative to thumb functions need to have the low bit of the value set for interworking to work properly. rdar://8755956 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
89b9372605db2ce3b0085c84089e389f7bc1fbdd |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed version of 121434 with no new memory leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f7fd4aa2610f46467369de07f3ec669561d79be0 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert my previous patch to make the valgrind bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
1c952b9cc98e84b28f68f0f6cf11197263f89863 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initial support for the cfi directives. This is just enough to get f: .cfi_startproc nop .cfi_endproc assembled (on ELF). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
5be6d2af38c29e3653998978345220974cc40c01 |
|
08-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Let target asm backends see assembler flags as they go by. Use that to handle thumb vs. arm mode differences in WriteNopData(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
85f2ecc697a8ca6c8cf08093054cbbb9d2060ccf |
|
07-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Sorry for such a large commit. The summary is that only MachO cares about the actuall addresses in a .o file, so it is better to let the MachO writer compute it. This is good for two reasons. First, areas that shouldn't care about addresses now don't have access to it. Second, the layout of each section is independent. I should use this in a subsequent commit to speed it up. Most of the patch is just removing the section address computation. The two interesting parts are the change on how we handle padding in the end of sections and how MachO can get the address of a-b when a and b are in different sections. Since now the expression evaluation normally doesn't know the section address, it will think that a-b needs relocation and let the MachO writer know. Once it has computed the section addresses, it calls back the expression evaluation with the section addresses to resolve these expressions. The remaining problem is the handling of padding. Currently it will create a special alignment fragment at the end. Since that fragment doesn't update the alignment of the section, it needs the real address to be computed. Since now the layout will not compute a-b with a and b in different sections, the only effect that the special alignment fragment has is update the address size of the section. This can also be done by the MachO writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
32a006e606742b1c5401e49607e33717bb5441f0 |
|
03-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Try to resolve symbol differences early, and if successful create a plain data fragment. This reduces the time to assemble the test in 8711 from 60s to 54s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e23930543c0de0adcfec00cd18e9243ad812a167 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValueToOffset to the ObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
dedb045c3296c831962c4ae101531c38c273ba89 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add EmitInstToFragment to the generic object streamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
6f95023a7f27075011a6eb7b84e03732b00a785b |
|
29-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValue to MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ea4afa91eb453323948588ad1e1706d842fb9007 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed verson of r120245. Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ba210243ef7d325ef6954d459091edf580a241f9 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert previous patch while I debug the darwin bootstrap failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f90a2de72c25e24f26577b0dd8145ac21fe10f5e |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
3e03211625bba5bbb70a193c140ebf4dd8388bb7 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid code duplication in the many unsupported EmitGPRel32Value implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e04ed7e45f194f14a7b28bbf3f55694d8e2bcf80 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Define generic 1, 2 and 4 byte pc relative relocations. They are common and at least the 4 byte one will be needed to implement the .cfi_* directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e8e98d7f2eaa0613442ce21ab6a040c0f04f5b4d |
|
19-Nov-2010 |
Kevin Enderby <enderby@apple.com> |
Added support for the Mach-O .symbol_resolver directive. rdar://8673046 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
195a0ce484cd12a5adae9184188f6d0fb52b84c0 |
|
19-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change some methods in MCDwarf.cpp to be able to handle an arbitrary MCStreamer instead of just MCObjectStreamer. Address changes cannot be as efficient as we have to use DW_LNE_set_addres, but at least most of the logic is shared. This will be used so that, with CodeGen still using EmitDwarfLocDirective, llvm-gcc is able to produce debug_line sections without needing an assembler that supports .loc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
af6b5808756d6ce335df9eb158efa33894b401c4 |
|
16-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add .loc methods to the streamer. Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e13a0ff8ac6c86a04397801061e1a702d4e0eab1 |
|
13-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Parse and record the gnu_unique_object type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ba21957cbd7b25e3d25a3e9befe6151000242853 |
|
05-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add '.code 32' assembler directive to MC streamers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ce79299f78bb04e76e1860ab119b85d69f3a19c7 |
|
05-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
MC'ize the '.code 16' and '.thumb_func' ARM directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
41ed3ca19d406b6eef47c01ea16453f3080f32e8 |
|
05-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
syntaxunified directive is a no-op for MachO writing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f89671d994ba27e2816a7e49eb8bbc1b43d2a147 |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8c9aa922a94bd788ea061be7555fb5b1db3a5312 |
|
02-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
This adds a Darwin x86_64 relocation encoding for a subtraction expression where both symbols are "local", that is non-external symbols, and there is no "base" for the symbols used in the expression, that is the section has no non-temporary symbols. This case looks like this: % cat local_reloc_A-B.s .long 0 LB: .long 1 .long LA - LB - 4 .long 2 LA: .long 3 which llvm-mc will not encode without this patch, generates a "unsupported local relocations in difference" error, but the Darwin assembler will encode with relocation entries like this: % otool -rv a.out l.out a.out: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long False SUB False 1 (__TEXT,__text) 00000008 False long False UNSIGND False 1 (__TEXT,__text) which is very similar to what is encoded when the symbols don't have the leading 'L' and they are not temporary symbols. Which llvm-mc and the Darwin assembler will encoded like this: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long True SUB False B 00000008 False long True UNSIGND False A This is the missing relocation encoding needed to allow the Mach-O x86 Dwarf file and line table to be emitted. So this patch also removes the TODO from the if() statement in MCMachOStreamer::Finish() that didn't call MCDwarfFileTable::Emit() for 64-bit targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
c095793b4ab027181605c79c9808df12afe45d63 |
|
30-Sep-2010 |
Kevin Enderby <enderby@apple.com> |
This is the last major patch to implement support for the .loc directive and output the dwarf line number tables. This contains the code to emit and encode the dwarf line tables from the previously gathered information in the MCLineSection objects. This contains all the details to encode the line and address deltas into the dwarf line table. To do this an MCDwarfLineAddrFragment has been added. Also this moves the interface code out of Mach-O streamer into MCDwarf so it should be useable by other object file formats. There is now one call to be made from an MCObjectStreamer EmitInstruction() method: MCLineEntry::Make(this, getCurrentSection()); to create a line entry after each instruction is assembled. And one call call to be made from an MCObjectStreamer Finish() method: MCDwarfFileTable::Emit(this, DwarfLineSection); when getContext().hasDwarfFiles() is true and is passed a object file specific MCSection where to emit the dwarf file and the line tables. This appears to now be correct for 32-bit targets, at least x86. But the relocation entries for 64-bit Darwin needs some further work which is next up to work on. So for now the 64-bit Mach-O target does not output the dwarf file and line tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
5c0d472b6ebc4408b97d12e1e545cafdcbd50adf |
|
30-Sep-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Silence a GCC warning about not handling all flags in this switch, we specifically assert on unexpected flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
59ff3c913449402ad5447bbe3ae6338402fb84b0 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid some Mach-O specific alignment being done on ELF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d80781b98b771d370730ab7c630018f23e202b57 |
|
15-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a InitSections method to the streamer interface. The ELF implementation now creates text, data and bss to match the gnu as behavior. The text streamer still has the old MachO specific behavior since the testsuite checks that it will error when a directive is given before a setting the current section for example. A nice benefit is that -n is not required anymore when producing ELF files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
7d49f2b1bf8df7be6a91f51bfda9543c6d8718b9 |
|
03-Sep-2010 |
Bill Wendling <isanbard@gmail.com> |
Get rid of "passing signed into unsigned parameter" warning on PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
232ab949d5ed04c4ab45c763e0597fc3fc3fa5bc |
|
01-Sep-2010 |
Kevin Enderby <enderby@apple.com> |
This is the second of three patches to implement support for the .loc directive and output the dwarf line number tables. This takes the current loc info after an instruction is assembled and saves the needed info into an object that has vector and for each section. These objects will be used for the final patch to build and emit the encoded dwarf line number tables. Again for now this is only in the Mach-O streamer but at some point will move to a more generic place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
b07ce60981368f816af4caa3257e1e4ebf059133 |
|
10-Aug-2010 |
Kevin Enderby <enderby@apple.com> |
Next bit of support for the dwarf .file directive. This patch takes the previously collected info from the .file directives and outputs the encoded bytes for it. For now this is only in the Mach-O streamer but at some point will move to a more generic place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
96749678c9d4cf73d8cbc108a2f2f4872e4e4413 |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Silently ignore .file directives instead of error'ing out on them. They aren't important enough to abort the entire assembly, and failing early makes testing more annoying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8067adc271d7ccfcd28a238d73942b21a5e2bc62 |
|
19-Jul-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
MC: Add WinCOFFStreamer implementation and merge common code from MachO into MCObjectStreamer. Origonal Windows COFF implementation by Nathan Jedffords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f59cac5ed36360b4c462781051f996b3499d7e0f |
|
08-Jul-2010 |
Kevin Enderby <enderby@apple.com> |
Added the darwin .weak_def_can_be_hidden directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a86de1050889b61df2cd42cdc2acc5f9796b7f0c |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Rewrite atom association to be a final pass we do in Finish(), instead of tracking as part of emission. - This allows sharing more code with the MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
843aa1f15b06fc3c2b39740ffb5bffd2fa6827ce |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
83b467178a8295048f3ee7b44ff9c7ea244a96cc |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Lift SwitchSection() and Finish() into MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8dc68ab931e0f0a7c5caf9cd341b2ec855733863 |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Factor out an MCObjectStreamer class, which will be shared by the concrete object file format writers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
83194de76a34e240927cf45c0debf12efe845c9b |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: When running with -mc-relax-all, we can eagerly relax instructions and avoid creating unnecessary MCInstFragments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2ac0c453b2de1029f35d9ccb933c1ef303be00a2 |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Factor out EmitInstTo{Fragment,Data} for emitting MCInst's as MCInstFragments or appending onto an MCDataFragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
dae5b9f804019a127e941f8f889297d5d62b81fb |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Eliminate an unnecessary copy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
84882528551bd816464a0657ad581c1fed0ac865 |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query it before encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
c90e30aa6f3792a460202017523171f435e2ba34 |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Eliminate MCAsmFixup, replace with MCFixup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
482ad802f1b1885542ea8a30e144a228a1526912 |
|
26-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Use accessors for access to MCAsmFixup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
070c1abbc9b78fd8eef9365c5e776a13b64b9631 |
|
22-May-2010 |
Eric Christopher <echristo@apple.com> |
Expand on comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
011c3f110bca748db66e437924f936a62f1969bf |
|
18-May-2010 |
Eric Christopher <echristo@apple.com> |
Implement EmitTBSSSymbol for MachOStreamer. Fixes build failure as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2ae4bfd76905fb6d5be2bf03eaca51da2f9a4d81 |
|
18-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Implement support for setting indirect symbol table offset in section header. Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ca1212de598f1c6fbc169c0ae1dfc829db10f4c0 |
|
18-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Fail faster/harder when we see .file, which isn't yet supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
db9014dd8b7b0b2581d10357b305f99f1b529316 |
|
17-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Reverse order of SymbolData scanning when emitting instructions. - This fixes a string table mismatch with 'as' when two new symbols are defined in a single instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
b18d2dd115d8ff3fd75bbaa90849473266236dc3 |
|
17-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Fix some differences in symbol flag handling. - Don't clear weak reference flag, 'as' was only "trying" to do this, it wasn't actually succeeding. - Clear the "lazy bound" bit when we mark something external. This corresponds roughly to the lazy clearing of the bit that 'as' implements in symbol_table_lookup. - The exact meaning of these flags appears pretty loose, since 'as' isn't very consistent. For now we just try to match 'as', we will clean this up one day hopefully. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
482eba054ab3543ee0e1f453d3d6441092f4b76d |
|
14-May-2010 |
Eric Christopher <echristo@apple.com> |
Add AsmParser support for darwin tbss directive. Nothing uses this yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
1c15413ebc8f4a35545a381a789a718627396d03 |
|
13-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Move MCAlignFragment::EmitNops value out of the constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
4e544870c4c3f81b150e4c3b38a18d629d706b74 |
|
13-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Eliminate MCZeroFillFragment, it is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e73d49eda2cb4fc30b52c4a241acf69c8af98302 |
|
13-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Drop support for alignment in ZeroFill fragment, we can just use MCAlignFragments for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
071f73db4a0c3f7f00ef14d38af17f3c8d69827a |
|
11-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, for each fragment (not yet used). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
b54b9ddaaf2d258767d360583642ed1b91075fc9 |
|
08-May-2010 |
Chris Lattner <sabre@nondot.org> |
break coff symbol definition stuff out into proper MCStreamer callbacks, patch by Nathan Jeffords! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a6eeb6e226d7d86d04e34e3b6464f66e0a052f43 |
|
07-May-2010 |
Kevin Enderby <enderby@apple.com> |
Fix i386 relocations to Weak Definitions. The relocation entries should be external and the item to be relocated should not have the address of the symbol added in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2d7fd61e94e2db0586ad9d5d26c1e7c5510a006d |
|
05-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
c304718fd8fa25f3f36f47f3de0e0cfe7578bc9e |
|
05-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Reject attempts to define a variable symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
08a408a4b3224627db07eb27e174085d8e1d2426 |
|
05-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ac2884a717daf3ad2aa8425320795d661e8a980b |
|
25-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need exactly two passes in that case, and don't ever need to recompute any layout, so this is a nice baseline for relaxation performance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d8036fb0deb7daff7959b0a5407c8a45acb5e603 |
|
23-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Switch to using MCInst fragments to do relaxation. Also, both MCMachOStreamer and MCAssembler are now target independent! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
337055e62f28f18a9a8c4a090633cae1c2256ae1 |
|
23-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8f9b80e5df12779a56d763ebf20864dad2bc72da |
|
23-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
3f4dcd92daef80f87919507b6baf2a97d4bfaa2e |
|
23-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Add MCInstFragment, not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f70f477024a23408d3a535920e6d4750478ac9ae |
|
22-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Factor out getOrCreateDataFragment(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
cf871e5abff63a53f9e97ff9e37fb7297d0cb847 |
|
19-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Sink code emitter into MCAssembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d3da36286f9ffe6951abec67b82837e432c858cf |
|
14-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Fix a crash on invalid, attempting to evaluate undefined symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8315a357e48f2eeb4fa929168d3cb65924d9893e |
|
12-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Add MCAssembler::addFixup, which enforces that fixups are added in order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
1f3e445184e5ca2aa4295c2a77f2a4e0b957fea1 |
|
11-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Provide MCAssembler with a TargetAsmBackend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
46836a783ab29f9cb49655d8b9cb8f5538a626fe |
|
10-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Move the backend section and symbol data maps to MCAssembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
0965200ac21fb481557f256c86d057df13bbb55e |
|
10-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
Remove unneeded includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
6e72048add2a6464e038121c6c275da37528aa0a |
|
23-Feb-2010 |
Kevin Enderby <enderby@apple.com> |
This is the first patch to put the needed bits in place to eventually allow code to be aligned with optimal nops. This patch does not change any functionality and when the compiler is changed to use EmitCodeAlignment() it should also not change the resulting output. Once the compiler change is made and everything looks good the next patch with the table of optimal X86 nops will be added to WriteNopData() changing the output. There are many FIXMEs in this patch which will be removed when we have better target hooks (coming soon I hear). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
40ebe2473a2032356daccf05d4e5ffe39f437c8d |
|
22-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f6346769b344f9b134f0661e8bd2b4245f6490ea |
|
13-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Start emitting fixups/relocations for instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2be2fd073003c0988723d2894dfb117ad90be11b |
|
13-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
45f48746110f5e6f7e65af7de239333dbd45d1d1 |
|
13-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
73c557458c0e28899f37c557bcaf36c2b6701260 |
|
09-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
5d917a8952c09a345180ec36f0df4ee5dd5eddea |
|
08-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
add scaffolding for target-specific MCExprs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e1ec617c6abf0b9dc1eecbbfe483bda3bb2b7795 |
|
02-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
718fb59801320b8cb22363d115b5fc5ec40dc1f5 |
|
25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
mcstreamerize gprel32 emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a6594fc7156c0afbe6fd5a6aab9b099aaf950c53 |
|
25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
mcstreamerize .file and .file. This also fixes an issue where the normal form of .file would fail if the filename had a weird character in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ed0ab15170f0f8fc4269d58757378bc8726b56a1 |
|
25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
add symbol attribute support for the ELF .type directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
99328add833807f12a4950c7de29fb2a5df04703 |
|
25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
emit the .size directive for global variables on ELF through mcstreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
9eb158d5b4cd4f6fc80912e2dd77bdf13c3ca0e7 |
|
23-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
mcize lcomm, simplify .comm, extend both to support 64-bit sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a5ad93a10a5435f21090b09edb6b3a7e44967648 |
|
23-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move the various directive enums out of the MCStreamer class into a new MCDirectives.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
3a9be0ee36fe2143f514d28315f3dc1bda132b2e |
|
23-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
mcstreamerize .no_dead_strip and .reference for static ctors/dtors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
aaec205b87637cd0d59d4f11630db603686eb73d |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Generalize mcasmstreamer data emission APIs to take an address space identifier. There is no way to work around it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
6f24a0a603d7edba4995153092ff841703df6824 |
|
17-Jan-2010 |
Nate Begeman <natebegeman@mac.com> |
Add a note for the macho streamer and remove a used of the mangler from the soon to be defunct machowriter pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
2928c83b010f7cfdb0f819199d806f6942a7d995 |
|
06-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a4d8667c870759a70aa9bea99e64b7f7e938b1a1 |
|
16-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
MC: Set symbol values in MachO MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
1253a6fa3b0d79dc6ea25f2578f6473219d40047 |
|
16-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
MC: Switch assembler API to using MCExpr instead of MCValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e00b011e6a2597fcc3da88da91a8ffda6eebfcda |
|
16-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
MC: Remove unneeded context argument to MCExpr::Evaluate*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
821e3334ed3390d931f497300e6a5f1dc21bcfb3 |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e2ace509fc1205bed97a5114b13534610d4dbf5e |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Simplify EmitAssignment ('.set' is identical to '='). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8c2eebe4074ef218b30d94358f6b2e45c079605c |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue. Also, use MCInst::print instead of custom code in MCAsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
cb579b3338fe8d9e4424b138f597a4696cb89de3 |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Make MCSymbolData symbol member const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a03a368acca1c5ea7eb7de7a4164cbd22308c82f |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Add MCContext to MCAssembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
7092c7e1dcf9d05741b400dd54bbd7d3419773b2 |
|
30-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now. - Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8c3eaf46a1fb69004723ce78aaa82965d6474175 |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: .lsym is more unsupported than unimplemented, pending a use case appearing. Also, all one of the file level flags are implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8f4d146c340c9423271ebd7bb3fd32b880000bc9 |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Support .comm emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d5a8e98ef627a35284c9b5989664514f8f163968 |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Support .zerofill emission. - I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
0f5fa6955199cc7e0964524d73c8a9820d8f78c1 |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Factor getSectionData out of SwitchSection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
e6cdbf2f92a753ad547e3287e279bf47585b228d |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Emit .lcomm as .zerofill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8751b94ffbd9c49df8949a37f78d6bd0be87b256 |
|
28-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Add const to EmitZeroFill section argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
4fac74950a1ff08b995b366bfb84369c1507faef |
|
27-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions. - No relocations yet, of course. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
6009db486e7fba448ccb28dff676c012efade8f0 |
|
26-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Set .subsections_via_symbols flag properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
a421de11df9d2a07b9f95a1ad817467af426803a |
|
26-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Add symbol entries for undefined symbols used in .fill and .org. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
5e835967dd5dda294d0ef3392f4c1d4a2260f532 |
|
26-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Set addresses for symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
ad7c3d55932f949e6bd428232999088a53f54a4f |
|
26-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Improve indirect symbol support (add the indirect index table). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
0c7761b3f98fee270d73f5b9c440fe15e82af263 |
|
24-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Preliminary support for indirect symbols. - The indirect table itself isn't being filled in yet. - This isn't factored properly and is rather FIXMEd, but at the moment I'm more focused on figuring out what it needs to do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213 |
|
24-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Support symbol attributes. - This is mostly complete, the main thing missing is .indirect_symbol support (which would be straight-forward, except that the way it is implemented in 'as' makes getting an exact .o match interesting). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
cda7f78233b889772e1454a1246130c576681bb8 |
|
22-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
prune some redundant #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
3edd9bb7a3da8526eb2f4a5dae2962a987d3d566 |
|
22-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Improve symbol table support: - Honor .globl. - Set symbol type and section correctly ('nm' now works), and order symbols appropriately. - Take care to the string table so that the .o matches 'as' exactly (for ease of testing). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
f3d2ef0c9712381a105118336975adcfbf733db0 |
|
22-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Sketch symbol table support. - The only .s syntax this honors right now is emitting labels, and some parts of the symbol table generation are wrong or faked. - This is enough to get nm to report such symbols... incorrectly, but still. Also, fixed byte emission to extend the previous fragment if possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
8906ff1b9dfde28f1ff00706643ca10843b26e01 |
|
22-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Clean up some handling of symbol/section association to be more correct (external was really undefined and there wasn't an explicit representation for absolute symbols). - This still needs some cleanup to how the absolute "pseudo" section is dealt with, but I haven't figured out the nicest approach yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
d6f761e0eb610936a6b8495360b62696dcd85164 |
|
22-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Support .o emission for .org and .align. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
0705fbf52fcaade0c6b9d5d33bec163ee4c2daf4 |
|
21-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Support byte and fill value emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|
fb4a6b397665df011348ade24a8e38d2219f095a |
|
21-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Start MCAssembler and MCMachOStreamer. - Together these form the (Mach-O) back end of the assembler. - MCAssembler is the actual assembler backend, which is designed to have a reasonable API. This will eventually grow to support multiple object file implementations, but for now its Mach-O/i386 only. - MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API, e.g. converting the various directives into fragments, managing state like the current section, and so on. - llvm-mc will use the new backend via '-filetype=obj', which may eventually be, but is not yet, since I hear that people like assemblers which actually assemble. - The only thing that works at the moment is changing sections. For the time being I have a Python Mach-O dumping tool in test/scripts so this stuff can be easily tested, eventually I expect to replace this with a real LLVM tool. - More doxyments to come. I assume that since this stuff doesn't touch any of the things which are part of 2.6 that it is ok to put this in not so long before the freeze, but if someone objects let me know, I can pull it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCMachOStreamer.cpp
|