summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Let asm parser query asm syntax dialect.Devang Patel2012-01-101-0/+1
| | | | llvm-svn: 147880
* This is the matching change for the data structure name changes for theKevin Enderby2012-01-102-21/+21
| | | | | | | functional change in r147860 to use DW_TAG_label's instead TAG_subprogram's. This only changes names and updates comments. No functional change. llvm-svn: 147877
* Fix some leftover control reaches end of non-void function warnings.Benjamin Kramer2012-01-101-6/+5
| | | | llvm-svn: 147874
* Add 'llvm_unreachable' to passify GCC's understanding of the constraintsChandler Carruth2012-01-101-0/+2
| | | | | | | | of several newly un-defaulted switches. This also helps optimizers (including LLVM's) recognize that every case is covered, and we should assume as much. llvm-svn: 147861
* Various crash reporting tools have a problem with the dwarf generated forKevin Enderby2012-01-101-17/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assembly source when it generates the TAG_subprogram dwarf debug info for the labels that have nothing between them as in this bit of assembly source: % cat ZeroLength.s _func1: _func2: nop One solution would be to not emit the subsequent labels with the same address and use the next label with a different address or the end of the section for the AT_high_pc value of the TAG_subprogram. Turns out in llvm-mc it is not possible in all cases to determine of two symbols have the same value at the point we put out the TAG_subprogram dwarf debug info. So we will have llvm-mc instead of putting out TAG_subprogram's put out DW_TAG_label's. And the DW_TAG_label does not have a AT_high_pc value which avoids the problem. This commit is only the functional change to make the diffs clear as to what is really being changed. The next commit will be to clean up the names of such things like MCGenDwarfSubprogramEntry to something like MCGenDwarfLabelEntry. rdar://10666925 llvm-svn: 147860
* Remove unnecessary default cases in switches that cover all enum values.David Blaikie2012-01-104-8/+0
| | | | llvm-svn: 147855
* Remove the logging streamer.Rafael Espindola2012-01-102-258/+0
| | | | llvm-svn: 147820
* Don't print an unused label before .cfi_endproc.Rafael Espindola2012-01-093-7/+22
| | | | llvm-svn: 147763
* Remove MCELFStreamer.h.Rafael Espindola2012-01-072-143/+121
| | | | llvm-svn: 147745
* Don't print a label before .cfi_startproc when we don't need to. This makesRafael Espindola2012-01-073-9/+19
| | | | | | the produce assembly when using CFI just a bit more readable. llvm-svn: 147743
* Split Finish into Finish and FinishImpl to have a common place to do end ofRafael Espindola2012-01-0710-19/+26
| | | | | | | | file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. llvm-svn: 147717
* Implement cfi_restore. Patch by Brian Anderson!Rafael Espindola2011-12-293-0/+34
| | | | llvm-svn: 147356
* Rename Remember and Restore to RememberState and RestoreState for consistency.Rafael Espindola2011-12-292-4/+4
| | | | llvm-svn: 147354
* Implement .cfi_escape. Patch by Brian Anderson!Rafael Espindola2011-12-293-0/+40
| | | | llvm-svn: 147352
* Section relative fixups are a coff concept, not a x86 one. Replace theRafael Espindola2011-12-242-4/+6
| | | | | | x86 specific reloc_coff_secrel32 with a generic FK_SecRel_4. llvm-svn: 147252
* Move x86 specific bits of the COFF writer to lib/Target/X86.Rafael Espindola2011-12-241-39/+17
| | | | llvm-svn: 147231
* Define trivial destructor inline.Rafael Espindola2011-12-241-3/+0
| | | | llvm-svn: 147230
* Make GetRelocType pure virtual.Rafael Espindola2011-12-241-8/+0
| | | | llvm-svn: 147229
* Move all the dependencies on X86FixupKinds.h to a single method in preparationRafael Espindola2011-12-221-27/+34
| | | | | | to moving it to lib/Target/X86. llvm-svn: 147190
* Kill the monstrosity that was ELFObjectWriter.h.Rafael Espindola2011-12-222-361/+331
| | | | llvm-svn: 147136
* Misc cleanups.Rafael Espindola2011-12-222-76/+58
| | | | llvm-svn: 147135
* Move the Mips only bits of the ELF writer to lib/Target/Mips.Rafael Espindola2011-12-222-124/+1
| | | | llvm-svn: 147133
* Move the MBlaze ELF writer bits to lib/Target/MBlaze.Rafael Espindola2011-12-222-62/+1
| | | | llvm-svn: 147129
* Move PPC bits to lib/Target/PowerPC.Rafael Espindola2011-12-223-93/+8
| | | | llvm-svn: 147124
* Local dynamic TLS model for direct object output. Create the correct TLS MIPSAkira Hatanaka2011-12-222-0/+27
| | | | | | | | ELF relocations. Patch by Jack Carter. llvm-svn: 147118
* Move the ARM specific parts of the ELF writer to Target/ARM.Rafael Espindola2011-12-223-273/+19
| | | | llvm-svn: 147115
* getEFlags is const.Rafael Espindola2011-12-222-5/+5
| | | | llvm-svn: 147114
* Switch from WriteEFlags to getEFlags in preparation for moving itRafael Espindola2011-12-212-9/+8
| | | | | | to Target/. llvm-svn: 147087
* Move the X86 specific bits of the ELF writer to the Target/X86 directory.Rafael Espindola2011-12-213-208/+19
| | | | | | Other targets will follow shortly. llvm-svn: 147060
* Reduce the exposure of Triple::OSType in the ELF object writer. This willRafael Espindola2011-12-212-7/+3
| | | | | | | avoid including ADT/Triple.h in many places when the target specific bits are moved. llvm-svn: 147059
* Small refactoring so that RelocNeedsGOT can stay in the target independentRafael Espindola2011-12-212-24/+16
| | | | | | side when the target specific bits are moved to the Target directory. llvm-svn: 147053
* Unweaken vtables as per ↵David Blaikie2011-12-203-0/+18
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Add back the MC bits of 126425. Original patch by Nathan Jeffords. I added theRafael Espindola2011-12-177-0/+51
| | | | | | asm parsing and testcase. llvm-svn: 146801
* Re-re-enable compact unwind after fixing a failure in ↵Bill Wendling2011-12-151-2/+1
| | | | | | SingleSource/Benchmarks/Shootout-C++/except.cpp and friends. It was encoding the stored registers in the wrong order. llvm-svn: 146617
* Another improvement to the implementation of .incbin directive by avoiding aKevin Enderby2011-12-151-5/+2
| | | | | | buffer copy. Suggestion by Chris Lattner! llvm-svn: 146614
* Improve the implementation of .incbin directive by replacing a loop by usingKevin Enderby2011-12-141-4/+4
| | | | | | getStreamer().EmitBytes. Suggestion by Benjamin Kramer! llvm-svn: 146599
* Add the .incbin directive which takes the binary data from a file and emitsKevin Enderby2011-12-141-0/+49
| | | | | | it to the streamer. rdar://10383898 llvm-svn: 146592
* Disable to review some failures.Bill Wendling2011-12-141-1/+2
| | | | llvm-svn: 146545
* Relocation against a symbol, instead of against section. We had some extremeAkira Hatanaka2011-12-131-2/+2
| | | | | | | | | | | test cases where there were a lot of relocations applied relative to a large rodata section. Gas would create a symbol for each of these whereas we would be relative to the beginning of the rodata section. This change mimics what gas does. Patch by Jack Carter. llvm-svn: 146468
* LLVMBuild: Introduce a common section which currently has a list of theDaniel Dunbar2011-12-121-0/+3
| | | | | | | | | | | subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. llvm-svn: 146436
* LLVMBuild: Remove trailing newline, which irked me.Daniel Dunbar2011-12-122-2/+0
| | | | llvm-svn: 146409
* Add support for gnu_indirect_function.Roman Divacky2011-12-123-3/+7
| | | | llvm-svn: 146377
* Handle reloc_signed_4byte in here. Not doing so was a regression from myRafael Espindola2011-12-091-0/+1
| | | | | | | previous commit. It is strange that we see it in 32 bits. We already have a fixme about it. llvm-svn: 146273
* The second part of support for generating dwarf for assembly source files. ThisKevin Enderby2011-12-094-0/+356
| | | | | | | | | | generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each non-temporary label. The next part will be to get the clang driver to enable this when assembling a .s file. rdar://9275556 llvm-svn: 146262
* Handle the case of the magical _GLOBAL_OFFSET_TABLE_ showing up in aRafael Espindola2011-12-091-7/+18
| | | | | | | | symbol difference. This matches gas behavior and fixes PR11513. We still don't handle _GLOBAL_OFFSET_TABLE_ in data sections. llvm-svn: 146238
* Darwin assembler improved relocs when w/o subsections_via_symbols.Jim Grosbach2011-12-071-1/+6
| | | | | | | | When the file isn't being built with subsections-via-symbols, symbol differences involving non-local symbols can be resolved more aggressively. Needed for gas compatibility. llvm-svn: 146054
* Add a few moreLocal/Global R_MIPS_GOT related fixups andBruno Cardoso Lopes2011-12-071-1/+2
| | | | | | | | make the addend fixup code a bit more generic Patch by Jack Carter. llvm-svn: 145998
* Re-enable compact unwind. It seems to work now. <rdar://problem/10441838>Bill Wendling2011-12-061-4/+1
| | | | llvm-svn: 145977
* Explicit symbols for gnu mimicing relocations. Patch by Jack CarterBruno Cardoso Lopes2011-12-062-0/+20
| | | | llvm-svn: 145911
* Move target-specific logic out of generic MCAssembler.Jim Grosbach2011-12-061-5/+2
| | | | | | | | Whether a fixup needs relaxation for the associated instruction is a target-specific function, as the FIXME indicated. Create a hook for that and use it. llvm-svn: 145881
OpenPOWER on IntegriCloud