summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAssembler.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* MC/Mach-O: Tweak .dump() formatting.Daniel Dunbar2010-03-091-4/+4
| | | | llvm-svn: 98028
* MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just ↵Daniel Dunbar2010-03-091-5/+1
| | | | | | pad the address. llvm-svn: 98027
* MC/Macho-O: Align the zerofill section itself to the maximum alignment.Daniel Dunbar2010-03-081-0/+10
| | | | llvm-svn: 97991
* MC/Mach-O: Fix address compution for zero fill sections.Daniel Dunbar2010-03-081-2/+2
| | | | llvm-svn: 97984
* MC/Mach-O: Error out instead of crashing on invalid scattered relocation ↵Daniel Dunbar2010-03-081-2/+11
| | | | | | expressions. llvm-svn: 97983
* This is the second patch to allow x86 code to be aligned with optimal nops.Kevin Enderby2010-02-231-2/+47
| | | | | | | | | | With the compiler changed to use EmitCodeAlignment() it does change the functionality. But X86 assembly code assembled with llvm-mc does not change its output. For that we will eventually change the assembler frontend to detect a '.align x, 0x90' when used in a section that 'hasInstructions' and use EmitCodeAlignment, but will wait until we have better target hooks. llvm-svn: 96988
* This is the first patch to put the needed bits in place to eventually allow codeKevin Enderby2010-02-231-0/+23
| | | | | | | | | | | 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). llvm-svn: 96963
* MC/Mach-O: Update fixup values for change to X86 offsets.Daniel Dunbar2010-02-171-6/+4
| | | | llvm-svn: 96532
* Pacify gcc-4.5, which warns (correctly) that these switches haveDuncan Sands2010-02-171-2/+2
| | | | | | cases that are not part of the enum. llvm-svn: 96477
* MCAssembler: Fix pcrel relocations. Oh and,Daniel Dunbar2010-02-131-2/+23
| | | | | | | | | -- ddunbar@ozzy:tmp$ clang -m32 -integrated-as hello.c && ./a.out hello world! -- llvm-svn: 96096
* MC/Mach-O: Start emitting fixups/relocations for instructions.Daniel Dunbar2010-02-131-0/+7
| | | | llvm-svn: 96095
* MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.Daniel Dunbar2010-02-131-8/+20
| | | | llvm-svn: 96094
* MCAssembler: Sink fixup list into MCDataFragment.Daniel Dunbar2010-02-131-15/+18
| | | | llvm-svn: 96093
* MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic ↵Daniel Dunbar2010-02-131-47/+5
| | | | | | expressions can always be emitted as data + fixups. llvm-svn: 96092
* MCAssembler: Start applying fixups in the data section.Daniel Dunbar2010-02-131-1/+19
| | | | llvm-svn: 96090
* MCAssembler: Add assorted dump() methods.Daniel Dunbar2010-02-131-0/+144
| | | | llvm-svn: 96089
* MC: Move assembler-backend's fixup list into the fragment.Daniel Dunbar2010-02-111-40/+22
| | | | llvm-svn: 95926
* MC: Move MCSectionData::Fixup out to MCAsmFixup.Daniel Dunbar2010-02-111-8/+7
| | | | llvm-svn: 95925
* llvm-mc: Add --show-fixups option, for displaying the instruction fixup ↵Daniel Dunbar2010-02-091-4/+4
| | | | | | information in the asm comments. llvm-svn: 95710
* MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.Daniel Dunbar2010-02-021-2/+7
| | | | llvm-svn: 95135
* Add a new top-level MachO.h file for manifest constants, fixing Chris Lattner2010-02-021-3/+3
| | | | | | a layering violation from MC -> Target. llvm-svn: 95113
* Remove this fixme, looking at the linker source, all targets pad to 4 bytes.Nate Begeman2010-01-191-2/+0
| | | | llvm-svn: 93835
* Pass StringRef by value.Daniel Dunbar2009-11-061-1/+1
| | | | llvm-svn: 86251
* Minor formatting tweaks.Daniel Dunbar2009-10-161-24/+24
| | | | llvm-svn: 84235
* MC: Switch assembler API to using MCExpr instead of MCValue.Daniel Dunbar2009-10-161-19/+39
| | | | llvm-svn: 84234
* llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).Daniel Dunbar2009-09-011-2/+2
| | | | llvm-svn: 80652
* llvm-mc: Make MCSymbolData symbol member const.Daniel Dunbar2009-08-311-5/+5
| | | | llvm-svn: 80573
* llvm-mc: Add MCContext to MCAssembler.Daniel Dunbar2009-08-311-3/+2
| | | | llvm-svn: 80572
* llvm-mc: Support .comm emission.Daniel Dunbar2009-08-281-12/+34
| | | | llvm-svn: 80351
* llvm-mc: Support .zerofill emission.Daniel Dunbar2009-08-281-3/+64
| | | | | | - 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: Fix thinko in emitting values.Daniel Dunbar2009-08-281-1/+1
| | | | llvm-svn: 80340
* 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-261-0/+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-261-9/+21
| | | | 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/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-261-10/+31
| | | | llvm-svn: 80065
* llvm-mc: Improve indirect symbol support (add the indirect index table).Daniel Dunbar2009-08-261-11/+57
| | | | llvm-svn: 80059
* llvm-mc: Add statistic for number of fragments emitted by the assembler.Daniel Dunbar2009-08-251-0/+6
| | | | llvm-svn: 80033
* llvm-mc/Mach-O: Preliminary support for indirect symbols.Daniel Dunbar2009-08-241-13/+85
| | | | | | | | | - 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-241-3/+8
| | | | | | | | - 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
* 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
OpenPOWER on IntegriCloud