summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCMachOStreamer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* mcstreamerize .file and .file. This also fixes an issue where theChris Lattner2010-01-251-0/+8
| | | | | | | normal form of .file would fail if the filename had a weird character in it. llvm-svn: 94437
* add symbol attribute support for the ELF .type directive.Chris Lattner2010-01-251-0/+6
| | | | llvm-svn: 94435
* emit the .size directive for global variables on ELF throughChris Lattner2010-01-251-0/+3
| | | | | | mcstreamer. llvm-svn: 94416
* mcize lcomm, simplify .comm, extend both to support 64-bit sizes.Chris Lattner2010-01-231-2/+5
| | | | llvm-svn: 94299
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-32/+20
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* mcstreamerize .no_dead_strip and .reference for static ctors/dtors.Chris Lattner2010-01-231-0/+1
| | | | llvm-svn: 94290
* Generalize mcasmstreamer data emission APIs to take an address spaceChris Lattner2010-01-191-5/+6
| | | | | | identifier. There is no way to work around it. llvm-svn: 93896
* Add a note for the macho streamer and remove a used of the mangler from the ↵Nate Begeman2010-01-171-0/+2
| | | | | | soon to be defunct machowriter pass. llvm-svn: 93670
* Pass StringRef by value.Daniel Dunbar2009-11-061-2/+2
| | | | llvm-svn: 86251
* MC: Set symbol values in MachO MCStreamer.Daniel Dunbar2009-10-161-1/+3
| | | | llvm-svn: 84236
* MC: Switch assembler API to using MCExpr instead of MCValue.Daniel Dunbar2009-10-161-12/+2
| | | | llvm-svn: 84234
* MC: Remove unneeded context argument to MCExpr::Evaluate*.Daniel Dunbar2009-10-161-2/+1
| | | | llvm-svn: 84233
* llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.Daniel Dunbar2009-08-311-16/+20
| | | | llvm-svn: 80578
* llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').Daniel Dunbar2009-08-311-5/+2
| | | | llvm-svn: 80577
* llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar2009-08-311-2/+27
| | | | | | Also, use MCInst::print instead of custom code in MCAsmPrinter. llvm-svn: 80575
* llvm-mc: Make MCSymbolData symbol member const.Daniel Dunbar2009-08-311-1/+1
| | | | llvm-svn: 80573
* llvm-mc: Add MCContext to MCAssembler.Daniel Dunbar2009-08-311-1/+1
| | | | llvm-svn: 80572
OpenPOWER on IntegriCloud