Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add assembler dialect attribute in asm parser which lets target specific asm ↵ | Devang Patel | 2012-01-31 | 1 | -2/+14 | |
| | | | | | | parser change dialect on the fly. llvm-svn: 149396 | |||||
* | Silence GCC's -Wreturn-type warning. | Benjamin Kramer | 2012-01-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 149179 | |||||
* | Small improvement to the recursion detection logic from the previous commit. | Rafael Espindola | 2012-01-28 | 1 | -1/+3 | |
| | | | | llvm-svn: 149175 | |||||
* | Handle recursive variable definitions directly. This gives us better error | Rafael Espindola | 2012-01-28 | 1 | -11/+15 | |
| | | | | | | messages and allows us to fix PR11865. llvm-svn: 149174 | |||||
* | Source information in 'expected relocatable expression' diagnostic. | Jim Grosbach | 2012-01-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 149105 | |||||
* | Better diagnostic for malformed .org assembly directive. | Jim Grosbach | 2012-01-27 | 5 | -12/+18 | |
| | | | | | | Provide source line number information. llvm-svn: 149101 | |||||
* | Tidy up. | Jim Grosbach | 2012-01-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 149096 | |||||
* | Add simple support for keeping MCFixup source information. | Jim Grosbach | 2012-01-26 | 1 | -0/+19 | |
| | | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. llvm-svn: 149092 | |||||
* | Add SourceMgr to MCContext for backend diagnostics. | Jim Grosbach | 2012-01-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 149090 | |||||
* | Add support for the R_ARM_TARGET1 relocation, which should be given to ↵ | James Molloy | 2012-01-26 | 1 | -1/+3 | |
| | | | | | | | | relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057 | |||||
* | Properly emit ctors / dtors with priorities into desired sections | Anton Korobeynikov | 2012-01-25 | 1 | -7/+1 | |
| | | | | | | | | and let linker handle the rest. This finally fixes PR5329 llvm-svn: 148990 | |||||
* | ARM Darwin symbol ref differences w/o subsection-via-symbols. | Jim Grosbach | 2012-01-24 | 1 | -1/+2 | |
| | | | | | | | | When not using subsections via symbols, the assembler can resolve symbol differences (including pcrel references) to non-local labels at assembly time, not just those in the same atom. llvm-svn: 148865 | |||||
* | Add support for .cfi_signal_frame. Fixes pr11762. | Rafael Espindola | 2012-01-23 | 4 | -7/+48 | |
| | | | | llvm-svn: 148733 | |||||
* | More dead code removal (using -Wunreachable-code) | David Blaikie | 2012-01-20 | 5 | -8/+2 | |
| | | | | llvm-svn: 148578 | |||||
* | Add missing breaks to switch. | Benjamin Kramer | 2012-01-20 | 1 | -13/+25 | |
| | | | | | | Found by the clang static analyzer. llvm-svn: 148543 | |||||
* | Remove a bunch of unused variable assignments. | Benjamin Kramer | 2012-01-20 | 1 | -9/+2 | |
| | | | | | | Found by the clang static analyzer. llvm-svn: 148541 | |||||
* | Add a dump() implementation for sub-instruction MCOperands. | Owen Anderson | 2012-01-19 | 1 | -0/+2 | |
| | | | | llvm-svn: 148493 | |||||
* | MCAssembler tweak for determining when a symbol difference is resolved. | Jim Grosbach | 2012-01-18 | 1 | -1/+2 | |
| | | | | | | | | | | | | If the two fragments are in the same Atom, then the difference expression is resolvable at compile time. Previously we were checking that they were in the same fragment, but that breaks down in the presence of instruction relaxation which has multiple fragments in the same atom. rdar://10711829 llvm-svn: 148423 | |||||
* | Tidy up. MCAsmBackend naming conventions. | Jim Grosbach | 2012-01-18 | 3 | -10/+10 | |
| | | | | llvm-svn: 148400 | |||||
* | Move some ARM specific MCAssmebler bits into the ARMAsmBackend. | Jim Grosbach | 2012-01-18 | 1 | -9/+2 | |
| | | | | llvm-svn: 148364 | |||||
* | MC tweak symbol difference resolution for non-local symbols. | Jim Grosbach | 2012-01-17 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | When the non-local symbol in the expression is in the same fragment as the second symbol, the assembler can still evaluate the expression without needing a relocation. For example, on ARM: _foo: ldr lr, (_foo - 4) rdar://10348687 llvm-svn: 148341 | |||||
* | The error check for using -g with a .s file already containing dwarf .file | Kevin Enderby | 2012-01-11 | 1 | -4/+4 | |
| | | | | | | | directives was in the wrong place and getting triggered incorectly with a cpp .file directive. This change fixes that and adds a test case. llvm-svn: 147951 | |||||
* | Let asm parser query asm syntax dialect. | Devang Patel | 2012-01-10 | 1 | -0/+1 | |
| | | | | llvm-svn: 147880 | |||||
* | This is the matching change for the data structure name changes for the | Kevin Enderby | 2012-01-10 | 2 | -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 Kramer | 2012-01-10 | 1 | -6/+5 | |
| | | | | llvm-svn: 147874 | |||||
* | Add 'llvm_unreachable' to passify GCC's understanding of the constraints | Chandler Carruth | 2012-01-10 | 1 | -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 for | Kevin Enderby | 2012-01-10 | 1 | -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 Blaikie | 2012-01-10 | 4 | -8/+0 | |
| | | | | llvm-svn: 147855 | |||||
* | Remove the logging streamer. | Rafael Espindola | 2012-01-10 | 2 | -258/+0 | |
| | | | | llvm-svn: 147820 | |||||
* | Don't print an unused label before .cfi_endproc. | Rafael Espindola | 2012-01-09 | 3 | -7/+22 | |
| | | | | llvm-svn: 147763 | |||||
* | Remove MCELFStreamer.h. | Rafael Espindola | 2012-01-07 | 2 | -143/+121 | |
| | | | | llvm-svn: 147745 | |||||
* | Don't print a label before .cfi_startproc when we don't need to. This makes | Rafael Espindola | 2012-01-07 | 3 | -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 of | Rafael Espindola | 2012-01-07 | 10 | -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 Espindola | 2011-12-29 | 3 | -0/+34 | |
| | | | | llvm-svn: 147356 | |||||
* | Rename Remember and Restore to RememberState and RestoreState for consistency. | Rafael Espindola | 2011-12-29 | 2 | -4/+4 | |
| | | | | llvm-svn: 147354 | |||||
* | Implement .cfi_escape. Patch by Brian Anderson! | Rafael Espindola | 2011-12-29 | 3 | -0/+40 | |
| | | | | llvm-svn: 147352 | |||||
* | Section relative fixups are a coff concept, not a x86 one. Replace the | Rafael Espindola | 2011-12-24 | 2 | -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 Espindola | 2011-12-24 | 1 | -39/+17 | |
| | | | | llvm-svn: 147231 | |||||
* | Define trivial destructor inline. | Rafael Espindola | 2011-12-24 | 1 | -3/+0 | |
| | | | | llvm-svn: 147230 | |||||
* | Make GetRelocType pure virtual. | Rafael Espindola | 2011-12-24 | 1 | -8/+0 | |
| | | | | llvm-svn: 147229 | |||||
* | Move all the dependencies on X86FixupKinds.h to a single method in preparation | Rafael Espindola | 2011-12-22 | 1 | -27/+34 | |
| | | | | | | to moving it to lib/Target/X86. llvm-svn: 147190 | |||||
* | Kill the monstrosity that was ELFObjectWriter.h. | Rafael Espindola | 2011-12-22 | 2 | -361/+331 | |
| | | | | llvm-svn: 147136 | |||||
* | Misc cleanups. | Rafael Espindola | 2011-12-22 | 2 | -76/+58 | |
| | | | | llvm-svn: 147135 | |||||
* | Move the Mips only bits of the ELF writer to lib/Target/Mips. | Rafael Espindola | 2011-12-22 | 2 | -124/+1 | |
| | | | | llvm-svn: 147133 | |||||
* | Move the MBlaze ELF writer bits to lib/Target/MBlaze. | Rafael Espindola | 2011-12-22 | 2 | -62/+1 | |
| | | | | llvm-svn: 147129 | |||||
* | Move PPC bits to lib/Target/PowerPC. | Rafael Espindola | 2011-12-22 | 3 | -93/+8 | |
| | | | | llvm-svn: 147124 | |||||
* | Local dynamic TLS model for direct object output. Create the correct TLS MIPS | Akira Hatanaka | 2011-12-22 | 2 | -0/+27 | |
| | | | | | | | | ELF relocations. Patch by Jack Carter. llvm-svn: 147118 | |||||
* | Move the ARM specific parts of the ELF writer to Target/ARM. | Rafael Espindola | 2011-12-22 | 3 | -273/+19 | |
| | | | | llvm-svn: 147115 | |||||
* | getEFlags is const. | Rafael Espindola | 2011-12-22 | 2 | -5/+5 | |
| | | | | llvm-svn: 147114 | |||||
* | Switch from WriteEFlags to getEFlags in preparation for moving it | Rafael Espindola | 2011-12-21 | 2 | -9/+8 | |
| | | | | | | to Target/. llvm-svn: 147087 |