summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm-mc: Support .zerofill emission.Daniel Dunbar2009-08-282-4/+85
| | | | | | - I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences. llvm-svn: 80347
* llvm-mc: Tweak section alignment and size computation to match 'as' closer.Daniel Dunbar2009-08-281-20/+42
| | | | llvm-svn: 80345
* llvm-mc: Factor getSectionData out of SwitchSection.Daniel Dunbar2009-08-281-7/+11
| | | | llvm-svn: 80344
* llvm-mc: Emit .lcomm as .zerofill.Daniel Dunbar2009-08-283-10/+6
| | | | llvm-svn: 80343
* llvm-mc: Add const to EmitZeroFill section argument.Daniel Dunbar2009-08-283-5/+5
| | | | llvm-svn: 80341
* llvm-mc: Fix thinko in emitting values.Daniel Dunbar2009-08-281-1/+1
| | | | llvm-svn: 80340
* llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.Daniel Dunbar2009-08-271-5/+24
| | | | | | - No relocations yet, of course. llvm-svn: 80235
* llvm-mc: Print encodings after the instruction, and only when we have an asmDaniel Dunbar2009-08-271-17/+18
| | | | | | printer. llvm-svn: 80233
* Add {MCInst,MCOperand}::{print,dump}Daniel Dunbar2009-08-272-0/+53
| | | | llvm-svn: 80231
* Update CMakeDaniel Dunbar2009-08-271-0/+1
| | | | llvm-svn: 80195
* llvm-mc: Tweak MCCodeEmitter skeleton.Daniel Dunbar2009-08-271-0/+18
| | | | llvm-svn: 80193
* Sketch TargetRegistry support for MCCodeEmitter abstract interface.Daniel Dunbar2009-08-271-4/+27
| | | | | | - Of course, nothing actually can provide this interface yet. llvm-svn: 80188
* Try to make MSVC just a little happier.Daniel Dunbar2009-08-271-2/+2
| | | | llvm-svn: 80187
* llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.Daniel Dunbar2009-08-262-1/+8
| | | | | | | | - I moved section creation back into AsmParser. I think policy decisions like this should be pushed higher, not lower, when possible (in addition the assembler has flags which change this behavior, for example). llvm-svn: 80162
* llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.Daniel Dunbar2009-08-262-10/+29
| | | | llvm-svn: 80144
* llvm-mc/Mach-O: Add support for relocations.Daniel Dunbar2009-08-261-13/+225
| | | | | | | | | | - I haven't really tried to find the "right" way to store the fixups or apply them, yet. This works, but isn't particularly elegant or fast. - Still no evaluation support, so we don't actually ever not turn a fixup into a relocation entry. llvm-svn: 80089
* llvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.Daniel Dunbar2009-08-261-21/+13
| | | | llvm-svn: 80088
* llvm-mc: Add symbol entries for undefined symbols used in .fill and .org.Daniel Dunbar2009-08-261-2/+10
| | | | llvm-svn: 80086
* llvm-mc: Change MCContext value table to take const MCSymbol*s.Daniel Dunbar2009-08-261-4/+4
| | | | llvm-svn: 80079
* llvm-mc/Mach-O: Add section padding where needed (to align the next section).Daniel Dunbar2009-08-261-39/+45
| | | | | | Also, simplify some of Mach-O writer code which can now use section addresses. llvm-svn: 80067
* llvm-mc/Mach-O: Set addresses for symbols.Daniel Dunbar2009-08-262-10/+32
| | | | llvm-svn: 80065
* llvm-mc: Improve indirect symbol support (add the indirect index table).Daniel Dunbar2009-08-262-11/+59
| | | | llvm-svn: 80059
* Revert last patch. We need to put this into TargetLowering. There will be a lotBill Wendling2009-08-252-2/+0
| | | | | | of EH stuff going into there, so we can wait to add them all then. llvm-svn: 80036
* llvm-mc: Add statistic for number of fragments emitted by the assembler.Daniel Dunbar2009-08-251-0/+6
| | | | llvm-svn: 80033
* Add the #include here.Bill Wendling2009-08-251-0/+1
| | | | llvm-svn: 80032
* Add a target asm info hook to specify that particular bits of data in the FDEBill Wendling2009-08-252-0/+2
| | | | | | | | | | should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants these bits to be 64-bits (.quad). However, other platforms may disagree. This is just the info right now and is part of a work-in-progress which needs this. We'll add the actual *use* of this soon. llvm-svn: 80024
* llvm-mc/Mach-O: Preliminary support for indirect symbols.Daniel Dunbar2009-08-242-17/+96
| | | | | | | | | - 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. llvm-svn: 79910
* llvm-mc/Mach-O: Support symbol attributes.Daniel Dunbar2009-08-242-6/+88
| | | | | | | | - 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). llvm-svn: 79899
* llvm-mc: Tweak undefined symbol handling.Daniel Dunbar2009-08-241-4/+3
| | | | llvm-svn: 79898
* 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
* Update CMake build, unbreak linux build.Benjamin Kramer2009-08-221-0/+3
| | | | llvm-svn: 79779
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-225-19/+19
| | | | llvm-svn: 79777
* rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin.Chris Lattner2009-08-222-3/+3
| | | | llvm-svn: 79773
* move the MCAsmInfo .cpp/.h files into the right Chris Lattner2009-08-223-0/+209
| | | | | | directories and rename them. llvm-svn: 79768
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-224-10/+10
| | | | llvm-svn: 79763
* prune some redundant #includes.Chris Lattner2009-08-221-10/+9
| | | | llvm-svn: 79746
* tweak #includesChris Lattner2009-08-221-5/+2
| | | | llvm-svn: 79744
* llvm-mc/Mach-O: Improve symbol table support:Daniel Dunbar2009-08-222-37/+164
| | | | | | | | | | | | - 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-222-36/+240
| | | | | | | | | | | - 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: Clean up some handling of symbol/section association to be more correctDaniel Dunbar2009-08-223-12/+14
| | | | | | | | | (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. llvm-svn: 79733
* llvm-mc/Mach-O: Support .o emission for .org and .align.Daniel Dunbar2009-08-212-17/+91
| | | | llvm-svn: 79684
* llvm-mc/Mach-O: Support byte and fill value emission.Daniel Dunbar2009-08-212-27/+140
| | | | llvm-svn: 79652
* Update CMakeLists.Benjamin Kramer2009-08-211-0/+3
| | | | llvm-svn: 79617
* llvm-mc: Start MCAssembler and MCMachOStreamer.Daniel Dunbar2009-08-212-0/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* fix asmstreaming of 2/4 byte elements with pow-2 alignments.Chris Lattner2009-08-191-1/+8
| | | | llvm-svn: 79408
* switch asmprinter to emit alignments through OutStreamer.Chris Lattner2009-08-191-14/+29
| | | | llvm-svn: 79406
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-0/+1
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* null streamer needs to maintain the current section as well.Chris Lattner2009-08-181-1/+3
| | | | llvm-svn: 79343
OpenPOWER on IntegriCloud