summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAssembler.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* prune the #includes in raw_ostream.h by moving a Chris Lattner2009-08-241-0/+1
| | | | | | | member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
* tweak #includesChris Lattner2009-08-221-5/+2
| | | | llvm-svn: 79744
* llvm-mc/Mach-O: Improve symbol table support:Daniel Dunbar2009-08-221-36/+156
| | | | | | | | | | | | - 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). llvm-svn: 79740
* llvm-mc/Mach-O: Sketch symbol table support.Daniel Dunbar2009-08-221-32/+207
| | | | | | | | | | | - 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. llvm-svn: 79739
* llvm-mc/Mach-O: Move more logic for writing the Mach-O file into the writerDaniel Dunbar2009-08-221-27/+40
| | | | | | class, and kill off MCSectionData::FileOffset. llvm-svn: 79735
* llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (theDaniel Dunbar2009-08-221-15/+9
| | | | | | section offset). llvm-svn: 79734
* llvm-mc/Mach-O: Support .o emission for .org and .align.Daniel Dunbar2009-08-211-16/+88
| | | | llvm-svn: 79684
* llvm-mc/Mach-O: Support byte and fill value emission.Daniel Dunbar2009-08-211-23/+130
| | | | llvm-svn: 79652
* llvm-mc: Start MCAssembler and MCMachOStreamer.Daniel Dunbar2009-08-211-0/+228
- 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. llvm-svn: 79612
OpenPOWER on IntegriCloud