summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCMachOStreamer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* MC/Mach-O: Silently ignore .file directives instead of error'ing out onDaniel Dunbar2010-07-191-2/+8
| | | | | | | them. They aren't important enough to abort the entire assembly, and failing early makes testing more annoying. llvm-svn: 108747
* MC: Add WinCOFFStreamer implementation and merge common code from MachOMichael J. Spencer2010-07-191-44/+12
| | | | | | | | into MCObjectStreamer. Origonal Windows COFF implementation by Nathan Jedffords. llvm-svn: 108678
* Added the darwin .weak_def_can_be_hidden directive.Kevin Enderby2010-07-081-0/+4
| | | | llvm-svn: 107886
* MC/Mach-O: Rewrite atom association to be a final pass we do in Finish(), ↵Daniel Dunbar2010-06-161-33/+46
| | | | | | | | instead of tracking as part of emission. - This allows sharing more code with the MCObjectStreamer. llvm-svn: 106143
* MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol.Daniel Dunbar2010-06-161-2/+2
| | | | llvm-svn: 106142
* MC: Lift SwitchSection() and Finish() into MCObjectStreamer.Daniel Dunbar2010-06-161-40/+21
| | | | llvm-svn: 106141
* MC: Factor out an MCObjectStreamer class, which will be shared by the concreteDaniel Dunbar2010-06-161-29/+26
| | | | | | object file format writers. llvm-svn: 106140
* MC: When running with -mc-relax-all, we can eagerly relax instructions and ↵Daniel Dunbar2010-05-261-16/+18
| | | | | | avoid creating unnecessary MCInstFragments. llvm-svn: 104736
* MC/Mach-O: Factor out EmitInstTo{Fragment,Data} for emitting MCInst's as ↵Daniel Dunbar2010-05-261-34/+46
| | | | | | MCInstFragments or appending onto an MCDataFragment. llvm-svn: 104735
* MC: Eliminate an unnecessary copy.Daniel Dunbar2010-05-261-9/+4
| | | | llvm-svn: 104709
* MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query itDaniel Dunbar2010-05-261-1/+1
| | | | | | before encoding. llvm-svn: 104707
* MC: Eliminate MCAsmFixup, replace with MCFixup.Daniel Dunbar2010-05-261-8/+6
| | | | llvm-svn: 104699
* MC: Use accessors for access to MCAsmFixup.Daniel Dunbar2010-05-261-1/+1
| | | | llvm-svn: 104697
* Expand on comment.Eric Christopher2010-05-211-1/+2
| | | | llvm-svn: 104396
* Implement EmitTBSSSymbol for MachOStreamer.Eric Christopher2010-05-181-5/+7
| | | | | | Fixes build failure as well. llvm-svn: 104059
* MC/Mach-O: Implement support for setting indirect symbol table offset in ↵Daniel Dunbar2010-05-181-0/+1
| | | | | | | | section header. Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better. llvm-svn: 104033
* MC/Mach-O: Fail faster/harder when we see .file, which isn't yet supported.Daniel Dunbar2010-05-181-2/+2
| | | | llvm-svn: 104031
* MC/Mach-O: Reverse order of SymbolData scanning when emitting instructions.Daniel Dunbar2010-05-171-1/+1
| | | | | | | - This fixes a string table mismatch with 'as' when two new symbols are defined in a single instruction. llvm-svn: 103979
* MC/Mach-O: Fix some differences in symbol flag handling.Daniel Dunbar2010-05-171-2/+15
| | | | | | | | | | | | | - 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. llvm-svn: 103964
* Add AsmParser support for darwin tbss directive.Eric Christopher2010-05-141-0/+7
| | | | | | Nothing uses this yet. llvm-svn: 103757
* MC: Move MCAlignFragment::EmitNops value out of the constructor.Daniel Dunbar2010-05-121-6/+5
| | | | llvm-svn: 103665
* MC: Eliminate MCZeroFillFragment, it is no longer needed.Daniel Dunbar2010-05-121-1/+1
| | | | llvm-svn: 103664
* MC: Drop support for alignment in ZeroFill fragment, we can just useDaniel Dunbar2010-05-121-1/+6
| | | | | | MCAlignFragments for this. llvm-svn: 103661
* MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, ↵Daniel Dunbar2010-05-101-8/+36
| | | | | | for each fragment (not yet used). llvm-svn: 103438
* break coff symbol definition stuff out into proper MCStreamer callbacks,Chris Lattner2010-05-081-0/+12
| | | | | | patch by Nathan Jeffords! llvm-svn: 103346
* Fix i386 relocations to Weak Definitions. The relocation entries should beKevin Enderby2010-05-071-19/+1
| | | | | | | external and the item to be relocated should not have the address of the symbol added in. llvm-svn: 103302
* MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support forDaniel Dunbar2010-05-051-1/+0
| | | | | | | writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code llvm-svn: 103112
* MC: Reject attempts to define a variable symbol.Daniel Dunbar2010-05-051-4/+2
| | | | llvm-svn: 103111
* MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.Daniel Dunbar2010-05-051-1/+1
| | | | llvm-svn: 103095
* llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always needDaniel Dunbar2010-03-251-2/+8
| | | | | | | exactly two passes in that case, and don't ever need to recompute any layout, so this is a nice baseline for relaxation performance. llvm-svn: 99563
* MC: Switch to using MCInst fragments to do relaxation.Daniel Dunbar2010-03-231-0/+28
| | | | | | Also, both MCMachOStreamer and MCAssembler are now target independent! llvm-svn: 99256
* MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a ↵Daniel Dunbar2010-03-231-4/+11
| | | | | | particular instruction + fixups might need relaxation. llvm-svn: 99249
* MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target ↵Daniel Dunbar2010-03-231-2/+1
| | | | | | dependencies in MCMachOStreamer and MCAssembler. llvm-svn: 99248
* MC: Add MCInstFragment, not used yet.Daniel Dunbar2010-03-221-0/+3
| | | | llvm-svn: 99229
* MC/Mach-O: Factor out getOrCreateDataFragment().Daniel Dunbar2010-03-221-16/+18
| | | | llvm-svn: 99204
* MC: Sink code emitter into MCAssembler.Daniel Dunbar2010-03-191-6/+2
| | | | llvm-svn: 98953
* MC: Fix a crash on invalid, attempting to evaluate undefined symbols.Daniel Dunbar2010-03-141-1/+1
| | | | llvm-svn: 98464
* MC: Add MCAssembler::addFixup, which enforces that fixups are added in order.Daniel Dunbar2010-03-121-6/+4
| | | | llvm-svn: 98379
* MC: Provide MCAssembler with a TargetAsmBackend.Daniel Dunbar2010-03-111-5/+6
| | | | llvm-svn: 98222
* MC: Move the backend section and symbol data maps to MCAssembler.Daniel Dunbar2010-03-101-30/+11
| | | | llvm-svn: 98186
* Remove unneeded includes.Daniel Dunbar2010-03-101-1/+0
| | | | llvm-svn: 98167
* This is the first patch to put the needed bits in place to eventually allow codeKevin Enderby2010-02-231-1/+16
| | | | | | | | | | | 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: Remove non-sensical comment, and add a missing AddValueSymbols call.Daniel Dunbar2010-02-221-3/+1
| | | | llvm-svn: 96809
* MC/Mach-O: Start emitting fixups/relocations for instructions.Daniel Dunbar2010-02-131-2/+13
| | | | llvm-svn: 96095
* MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.Daniel Dunbar2010-02-131-1/+2
| | | | llvm-svn: 96094
* MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill ↵Daniel Dunbar2010-02-131-1/+17
| | | | | | fragment. llvm-svn: 96091
* MC: First cut at MCFixup, for getting fixup/relocation information out of an ↵Daniel Dunbar2010-02-091-1/+2
| | | | | | MCCodeEmitter. llvm-svn: 95708
* add scaffolding for target-specific MCExprs.Chris Lattner2010-02-081-0/+1
| | | | llvm-svn: 95559
* MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.Daniel Dunbar2010-02-021-2/+2
| | | | llvm-svn: 95135
* mcstreamerize gprel32 emission.Chris Lattner2010-01-251-4/+3
| | | | llvm-svn: 94452
OpenPOWER on IntegriCloud