summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* Add support for parsing the ELF .type assembler directive.Matt Fleming2010-05-212-0/+50
| | | | llvm-svn: 104316
* Grammar fix. This is a test commit.Matt Fleming2010-05-201-1/+1
| | | | llvm-svn: 104264
* Reduce string trashing.Benjamin Kramer2010-05-201-2/+2
| | | | llvm-svn: 104223
* Partial code for emitting thread local bss data.Eric Christopher2010-05-202-0/+2
| | | | llvm-svn: 104197
* fix rdar://7986634 - match instruction opcodes case insensitively.Chris Lattner2010-05-191-1/+6
| | | | llvm-svn: 104183
* Implement EmitTBSSSymbol for MachOStreamer.Eric Christopher2010-05-181-5/+7
| | | | | | Fixes build failure as well. llvm-svn: 104059
* Make EmitTBSSSymbol take a section argument so that we can find it later.Eric Christopher2010-05-183-9/+15
| | | | | | Fix up callers and users. llvm-svn: 104057
* Incorporate Daniel's suggestion and use !isdigit(CurPtr[0]) and notKevin Enderby2010-05-181-1/+1
| | | | | | | CurPtr[0] == '\n' when testing the character after a "0b" when looking to see if it part of a something like "jmp 0b". llvm-svn: 104039
* Fixed the problem with a branch to "0b" that was not parsed by llvm-mcKevin Enderby2010-05-181-1/+0
| | | | | | | correctly. The Lexer was incorrectly eating the newline casusing it to branch to address 0. Updated the test case to use a "0:" label and a branch to "0b". llvm-svn: 104038
* MC/Mach-O: Implement support for setting indirect symbol table offset in ↵Daniel Dunbar2010-05-182-3/+15
| | | | | | | | section header. Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better. llvm-svn: 104033
* MC/Mach-O: Remove some FIXMEs.Daniel Dunbar2010-05-181-7/+3
| | | | llvm-svn: 104032
* MC/Mach-O: Fail faster/harder when we see .file, which isn't yet supported.Daniel Dunbar2010-05-181-2/+2
| | | | llvm-svn: 104031
* Simplify MCContext::(Next|Get)InstanceBenjamin Kramer2010-05-181-24/+8
| | | | | | | - Allocate MCLabels in the context so they don't leak. - Avoid duplicated densemap lookup. llvm-svn: 104020
* Added support in MC for Directional Local Labels.Kevin Enderby2010-05-175-9/+117
| | | | llvm-svn: 103989
* More data/parsing support for tls directives. Add a few more testcasesEric Christopher2010-05-171-0/+10
| | | | | | and cleanup comments as well. llvm-svn: 103985
* MC/Mach-O/x86: Optimal nop sequences should only be used for the .text ↵Daniel Dunbar2010-05-171-8/+13
| | | | | | sections, not all sections in the text segment. llvm-svn: 103981
* MC: Add dyn_cast support to MCSection.Daniel Dunbar2010-05-171-1/+1
| | | | | | - Of questionable utility, since in general anything which wants to do this should probably be within a target specific hook, which can rely on the sections being of the appropriate type. However, it can be useful for short term hacks. llvm-svn: 103980
* 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
* Add some section and constant support for darwin TLS.Eric Christopher2010-05-171-1/+8
| | | | llvm-svn: 103974
* 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
* llvm-mc: Support reassignment of variables in one special case, when theDaniel Dunbar2010-05-171-1/+8
| | | | | | | | variable has not yet been used in an expression. This allows us to support a few cases that show up in real code (mostly because gcc generates it for Objective-C on Darwin), without giving up a reasonable semantic model for assignment. llvm-svn: 103950
* Assume that we'll handle mangling the symbols earlier and just put theEric Christopher2010-05-172-11/+6
| | | | | | symbol to the file as we have it. Simplifies out tbss handling. llvm-svn: 103928
* MC/Mach-O/x86_64: Darwin's special "signed_N" relocation types should only beDaniel Dunbar2010-05-141-23/+23
| | | | | | used to replace a normal relocation, not a reference to a GOT entry. llvm-svn: 103789
* Add AsmParser support for darwin tbss directive.Eric Christopher2010-05-144-1/+84
| | | | | | Nothing uses this yet. llvm-svn: 103757
* Fix a couple of typos.Eric Christopher2010-05-141-2/+2
| | | | llvm-svn: 103756
* MC: Switch to completely lazy layout.Daniel Dunbar2010-05-141-19/+35
| | | | | | - The eliminates the last major algorithmic problem with MC. llvm-svn: 103754
* MC: Extend MCAsmLayout to explicitly track which fragments have been layed ↵Daniel Dunbar2010-05-141-10/+44
| | | | | | out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order. llvm-svn: 103753
* MC: Implicitly assign section addresses when the previous fragment is layed out.Daniel Dunbar2010-05-141-1/+11
| | | | llvm-svn: 103752
* MC: Switch MCFragment to storing the layout order index, not its index in ↵Daniel Dunbar2010-05-141-13/+14
| | | | | | the file. llvm-svn: 103751
* MC: Change LayoutSection() to only do the section initializiation.Daniel Dunbar2010-05-141-25/+13
| | | | | | Also, elimminate MCAsmLayout::set*, which are no longer needed. llvm-svn: 103750
* MC: Move Layout{Fragment,Section} into MCAsmLayout, and add LayoutFile().Daniel Dunbar2010-05-131-26/+27
| | | | llvm-svn: 103738
* MC: Factor out MCAssembler::ComputeFragmentSize.Daniel Dunbar2010-05-131-36/+44
| | | | llvm-svn: 103724
* MC: Add section layout order indices to MCSectionData.Daniel Dunbar2010-05-131-0/+4
| | | | llvm-svn: 103715
* MC: Move ordinal calculation, to make sure fragments synthesized for layout ↵Daniel Dunbar2010-05-131-21/+21
| | | | | | get assigned ordinals properly. llvm-svn: 103711
* MC: Create dummy fragments to avoid ever having empty sections, which ↵Daniel Dunbar2010-05-131-8/+9
| | | | | | simplifies layout. llvm-svn: 103710
* MC: Add MCAsmLayout::FragmentReplaced() helper function.Daniel Dunbar2010-05-131-4/+6
| | | | llvm-svn: 103709
* Fix -Asserts warning.Daniel Dunbar2010-05-131-4/+2
| | | | llvm-svn: 103697
* MC: Eliminate MCSectionData::{,Address,File}Size, which can now be computed byDaniel Dunbar2010-05-131-42/+28
| | | | | | utility functions. llvm-svn: 103695
* MC: Switch to using explicit MCAlignFragments with OnlyAlignAddress bit insteadDaniel Dunbar2010-05-131-22/+31
| | | | | | | | of manually doing padding/editing layout in LayoutSection(). - This probably seems like six-of-one and half-dozen of another, but there is a method to my madness. llvm-svn: 103693
* MC: Add MCAlignFragment::OnlyAlignAddress bit. This is a bit of magic that ↵Daniel Dunbar2010-05-131-1/+17
| | | | | | says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment. llvm-svn: 103690
* MC: Add MCSectionData::AddressSize, which is the size of the address space ↵Daniel Dunbar2010-05-131-6/+15
| | | | | | consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction). llvm-svn: 103689
* fix rdar://7965971 and a fixme: use ParseIdentifier inChris Lattner2010-05-131-13/+9
| | | | | | | | ParseDirectiveDarwinZerofill instead of hard coding the check for identifier. This allows quoted symbol names to be used. llvm-svn: 103682
* MC: Move MCAlignFragment::EmitNops value out of the constructor.Daniel Dunbar2010-05-122-7/+6
| | | | llvm-svn: 103665
* MC: Eliminate MCZeroFillFragment, it is no longer needed.Daniel Dunbar2010-05-122-24/+2
| | | | llvm-svn: 103664
* MC: Explicitly check that only virtual fragments appear in virtual sections.Daniel Dunbar2010-05-121-0/+23
| | | | llvm-svn: 103663
* MC: Switch MCFillFragment to storing total fill size instead of a count. ↵Daniel Dunbar2010-05-121-3/+3
| | | | | | This allows using ValueSize==0 to represent a virtual fill. llvm-svn: 103662
* MC: Drop support for alignment in ZeroFill fragment, we can just useDaniel Dunbar2010-05-122-12/+10
| | | | | | MCAlignFragments for this. llvm-svn: 103661
* Simplify.Daniel Dunbar2010-05-121-5/+3
| | | | llvm-svn: 103651
* MC: Factor out MCAssembler::LayoutFragmentDaniel Dunbar2010-05-121-74/+78
| | | | llvm-svn: 103649
* MC: Tweak section layout to not relying on accumulating address value.Daniel Dunbar2010-05-121-7/+13
| | | | llvm-svn: 103648
OpenPOWER on IntegriCloud