summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed version of 122160 (the previous one would fold undefined symbols).Rafael Espindola2010-12-191-50/+52
| | | | llvm-svn: 122167
* Revert 122160 while I debug it.Rafael Espindola2010-12-191-44/+50
| | | | llvm-svn: 122165
* Move all folding to AttemptToFoldSymbolOffsetDifference.Rafael Espindola2010-12-191-50/+44
| | | | llvm-svn: 122160
* Add support for lexing single quotes like 'c'.Roman Divacky2010-12-181-0/+37
| | | | | | This fixed 8615. llvm-svn: 122150
* Merge isAbsolute into IsSymbolRefDifferenceFullyResolved.Rafael Espindola2010-12-185-40/+30
| | | | llvm-svn: 122148
* Remove the MCObjectFormat class.Rafael Espindola2010-12-186-38/+20
| | | | llvm-svn: 122147
* Add a FIXME and explain a hack.Rafael Espindola2010-12-181-1/+4
| | | | llvm-svn: 122144
* Fix the note.Rafael Espindola2010-12-181-1/+1
| | | | llvm-svn: 122139
* Revert 122011, 122012, 122013, 122023 adding back an important optimization.Rafael Espindola2010-12-182-20/+60
| | | | | | I added a note, but suggestions on how to add a test are really welcome. llvm-svn: 122138
* Move some data to the TargetWriter.Rafael Espindola2010-12-182-80/+59
| | | | llvm-svn: 122134
* Thumb's forced-PC-alignment requirement applies to the _total_ displacement, ↵Owen Anderson2010-12-171-2/+2
| | | | | | | | | not just to the fragment relative portion. While the fragment boundary is usually already aligned, it is possible for it not to be, which would lead to a non-aligned final displacement. llvm-svn: 122091
* Store and free the TargetObjectWriter.Rafael Espindola2010-12-171-13/+26
| | | | llvm-svn: 122070
* Stub out explicit MCELFObjectTargetWriter interface.Rafael Espindola2010-12-173-1/+21
| | | | llvm-svn: 122067
* Move createELFObjectWriter to its own header.Rafael Espindola2010-12-171-0/+1
| | | | llvm-svn: 122064
* Use getFixupKindInfo to implement isFixupKindPCRel, ELF version.Rafael Espindola2010-12-171-40/+8
| | | | llvm-svn: 122050
* MC/Expr: Implemnt more aggressive folding during symbol evaluation usingDaniel Dunbar2010-12-171-8/+44
| | | | | | | | | | | | | | | | IsSymbolRefDifferenceFullyResolved(). For example, we will now fold away something like: -- _a: ... L0: ... L1: ... .long (L1 - L0) / 2 -- llvm-svn: 122043
* MC/Mach-O: On second thought, use a custom hook for enabling aggressiveDaniel Dunbar2010-12-172-2/+7
| | | | | | | | | | IsSymbolRefDifferenceFullyResolved, it turns out this does change behavior on enough cases for x86-32 that I would rather wait a bit on it. - In practice, we will want to change this eventually because it only means we generate less relocations (it also eliminates the need for the horrible '.set' hack that Darwin requires in some places). llvm-svn: 122042
* MC/Mach-O: Implement IsSymbolRefDifferenceFullyResolved.Daniel Dunbar2010-12-171-0/+25
| | | | | | | | - Unlike for fixups, we always do the "reliable" thing (not just for x86_64). - Since Darwin 'as' would typically reject things that using this will allow, we don't need to worry about compatibility. llvm-svn: 122038
* MC/ObjectWriter: Add a new IsSymbolRefDifferenceFullyResolved target format ↵Daniel Dunbar2010-12-173-2/+25
| | | | | | | | specific hook. - Currently just has stub implementations for Mach-O, ELF, and COFF. llvm-svn: 122037
* MC/Assembler: Strip out object writer arguments, now that it is always availableDaniel Dunbar2010-12-174-52/+39
| | | | | | -- and remove FIXME asking for the same! llvm-svn: 122032
* MC/Assembler: Make the MCObjectWriter available through the lifetime of theDaniel Dunbar2010-12-172-25/+17
| | | | | | assembler. llvm-svn: 122031
* MC/Target: Remove HasScatteredSymbols target hook variable, which has beenDaniel Dunbar2010-12-172-7/+1
| | | | | | superceded and was effectively dead. llvm-svn: 122024
* MC/Expr: Simplify.Daniel Dunbar2010-12-171-8/+0
| | | | llvm-svn: 122023
* MC: Remove another dead MCAssembler argument, and update clients.Daniel Dunbar2010-12-172-25/+5
| | | | llvm-svn: 122013
* MC: Remove dead MCAssembler argument -- Rafael, can you check the FIXME I addedDaniel Dunbar2010-12-171-12/+9
| | | | | | here? llvm-svn: 122012
* MC: Simplify (remove unnecessary MCAssembler argument, obsoleted by containmentDaniel Dunbar2010-12-171-12/+8
| | | | | | in MCAsmLayout). llvm-svn: 122011
* Write => in a more normal form.Daniel Dunbar2010-12-171-1/+2
| | | | llvm-svn: 122009
* MC/Expr: Simplify (and add a FIXME).Daniel Dunbar2010-12-171-10/+16
| | | | llvm-svn: 122008
* "Fix" FDE alignment to match what gas does.Rafael Espindola2010-12-171-9/+17
| | | | llvm-svn: 122006
* MC/Expr: Add a doxyment.Daniel Dunbar2010-12-161-0/+14
| | | | llvm-svn: 121988
* MC/Mach-O: Lift some MachObjectWriter arguments into the target specificDaniel Dunbar2010-12-162-32/+32
| | | | | | interface. llvm-svn: 121981
* MC/Mach-O: Stub out explicit MCMachObjectTargetWriter interface.Daniel Dunbar2010-12-163-16/+42
| | | | llvm-svn: 121973
* MC/Mach-O: Move createMachObjectWriter into MCMachObjectWriter.h.Daniel Dunbar2010-12-161-0/+1
| | | | llvm-svn: 121971
* MC/Mach-O: Use fixup info instead of hard coded list.Daniel Dunbar2010-12-161-21/+19
| | | | llvm-svn: 121970
* MC: Move target specific fixup info descriptors to TargetAsmBackend instead ofDaniel Dunbar2010-12-164-19/+22
| | | | | | | the MCCodeEmitter, which seems like a better organization. - Also, cleaned up some magic constants while in the area. llvm-svn: 121953
* 1. ARM/MC/ELF: A few more ELF relocs for .oJason W Kim2010-12-162-3/+18
| | | | | | | 2. Fixed EmitLocalCommonSymbol for ELF (Yes, they exist. :) Test added. llvm-svn: 121951
* MC: Make TargetAsmBackend available to the AsmStreamer.Daniel Dunbar2010-12-161-7/+11
| | | | | | - Treaty talks on the non-proliferation of MC objects broke down. llvm-svn: 121949
* Better fix for opt buildMatt Beaumont-Gay2010-12-151-3/+2
| | | | llvm-svn: 121910
* Fix opt -Werror buildMatt Beaumont-Gay2010-12-151-0/+1
| | | | llvm-svn: 121904
* Fix typo in r121875.Owen Anderson2010-12-151-1/+1
| | | | llvm-svn: 121880
* Implement cleanups suggested by Daniel.Owen Anderson2010-12-151-7/+11
| | | | llvm-svn: 121875
* Relax alignment fragments.Rafael Espindola2010-12-151-29/+26
| | | | | | | | | | | With this we don't need the EffectiveSize field anymore. Without that field LayoutFragment only updates offsets and we don't need to invalidate the current fragment when it is relaxed (only the ones following it). This is also a very small improvement in the accuracy of the layout info as we now use the after relaxation size immediately. llvm-svn: 121857
* Patch by David Meyer to avoid a O(N^2) behaviour when relaxing fragments.Rafael Espindola2010-12-151-2/+5
| | | | | | | Since we now don't update addresses so early, we might relax a bit more than we need to. This is simillar to the issue in PR8467. llvm-svn: 121856
* Generalize an assert.Rafael Espindola2010-12-151-1/+2
| | | | llvm-svn: 121851
* ARM Fixups relative to thumb functions need to have the low bit of the valueJim Grosbach2010-12-142-0/+14
| | | | | | set for interworking to work properly. rdar://8755956 llvm-svn: 121778
* First cut of ARM/MC/ELF PIC relocations.Jason W Kim2010-12-131-7/+25
| | | | | | Test has fixme, to move to .s -> .o test when AsmParser works better. llvm-svn: 121732
* Thumb unconditional branch binary encoding. rdar://8754994Jim Grosbach2010-12-101-0/+1
| | | | llvm-svn: 121496
* Fixed version of 121434 with no new memory leaks.Rafael Espindola2010-12-1010-80/+305
| | | | llvm-svn: 121471
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-1010-302/+80
| | | | llvm-svn: 121461
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-0910-80/+302
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
OpenPOWER on IntegriCloud