summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86AsmBackend.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 generally.NAKAMURA Takumi2011-02-171-1/+1
| | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way. llvm-svn: 125747
* Patches to build EFI with Clang/LLVM. By Carl Norum.Evan Cheng2011-02-011-2/+8
| | | | llvm-svn: 124639
* Remove more duplicated code.Rafael Espindola2011-01-231-1/+1
| | | | llvm-svn: 124056
* Add support for the same encodings of the personality function that gnu asRafael Espindola2010-12-271-0/+1
| | | | | | supports. llvm-svn: 122577
* X86/MC/Mach-O: Split out createX86MachObjectWriter().Daniel Dunbar2010-12-201-17/+6
| | | | llvm-svn: 122246
* Remove the MCObjectFormat class.Rafael Espindola2010-12-181-18/+0
| | | | llvm-svn: 122147
* Move some data to the TargetWriter.Rafael Espindola2010-12-181-10/+9
| | | | llvm-svn: 122134
* Relax push instructions.Rafael Espindola2010-12-181-0/+3
| | | | llvm-svn: 122121
* Stub out explicit MCELFObjectTargetWriter interface.Rafael Espindola2010-12-171-2/+8
| | | | llvm-svn: 122067
* Move createELFObjectWriter to its own header.Rafael Espindola2010-12-171-0/+1
| | | | llvm-svn: 122064
* MC/Mach-O: On second thought, use a custom hook for enabling aggressiveDaniel Dunbar2010-12-171-1/+2
| | | | | | | | | | 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/Target: Remove HasScatteredSymbols target hook variable, which has beenDaniel Dunbar2010-12-171-5/+1
| | | | | | superceded and was effectively dead. llvm-svn: 122024
* MC/Mach-O: Lift some MachObjectWriter arguments into the target specificDaniel Dunbar2010-12-161-10/+14
| | | | | | interface. llvm-svn: 121981
* MC/Mach-O: Stub out explicit MCMachObjectTargetWriter interface.Daniel Dunbar2010-12-161-2/+7
| | | | llvm-svn: 121973
* MC/Mach-O: Move createMachObjectWriter into MCMachObjectWriter.h.Daniel Dunbar2010-12-161-0/+1
| | | | llvm-svn: 121971
* MC: Move target specific fixup info descriptors to TargetAsmBackend instead ofDaniel Dunbar2010-12-161-0/+21
| | | | | | | the MCCodeEmitter, which seems like a better organization. - Also, cleaned up some magic constants while in the area. llvm-svn: 121953
* Fixed version of 121434 with no new memory leaks.Rafael Espindola2010-12-101-23/+0
| | | | llvm-svn: 121471
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-101-0/+23
| | | | llvm-svn: 121461
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-091-23/+0
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
* Remove the instruction fragment to data fragment lowering since it was causingRafael Espindola2010-12-061-3/+3
| | | | | | freed data to be read. I will open a bug to track it being reenabled. llvm-svn: 121028
* Define generic 1, 2 and 4 byte pc relative relocations. They are commonRafael Espindola2010-11-281-3/+3
| | | | | | and at least the 4 byte one will be needed to implement the .cfi_* directives. llvm-svn: 120240
* MC/Mach-O: Switch to using MachOFormat.h.Daniel Dunbar2010-11-271-6/+7
| | | | | | - I'm leaving MachO.h, because I believe it has external consumers, but I would really like to eliminate it (we have stylistic disagreements with one another). llvm-svn: 120187
* Remove the unused TheTarget member.Rafael Espindola2010-11-261-1/+1
| | | | llvm-svn: 120168
* Use multiple 0x66 prefixes so that all nops up to 15 bytes are a single ↵Rafael Espindola2010-11-251-24/+8
| | | | | | instruction. llvm-svn: 120147
* make isVirtualSection a virtual method on MCSection. Chris' suggestion.Rafael Espindola2010-11-171-17/+0
| | | | llvm-svn: 119547
* Change the 11 byte nop to be a single instruction.Rafael Espindola2010-11-151-4/+2
| | | | llvm-svn: 119286
* MC: Simplify Mach-O and ELF object writer implementations.Daniel Dunbar2010-11-131-14/+14
| | | | | | - What was I thinking????? llvm-svn: 118992
* Allow targets to specify the MachO CPUType/CPUSubtype information.Jim Grosbach2010-11-051-2/+5
| | | | llvm-svn: 118288
* Implement some relaxations for arithmetic instructions. The limitationRafael Espindola2010-10-261-12/+92
| | | | | | | on RIP relative relocations looks artificial, but this is a superset of what we were able to do before. llvm-svn: 117364
* Add X86::reloc_global_offset_table and use it to have a single place whereRafael Espindola2010-10-241-0/+1
| | | | | | we check for _GLOBAL_OFFSET_TABLE_. llvm-svn: 117241
* Making the e_machine configurable by the target backend in ELFObjectWriter.Wesley Peck2010-10-221-2/+3
| | | | llvm-svn: 117099
* Produce ELF::R_386_GOTPC relocations.Rafael Espindola2010-10-181-0/+5
| | | | llvm-svn: 116728
* Add a MCObjectFormat class so that code common to all targets that use aRafael Espindola2010-10-161-2/+19
| | | | | | | | | | | | single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. llvm-svn: 116675
* Fix Whitespace.Michael J. Spencer2010-10-101-2/+2
| | | | llvm-svn: 116173
* Adds getPointerSize() to the AsmBackend which will be needed by the final patchKevin Enderby2010-09-301-0/+23
| | | | | | for the dwarf .loc support to emit dwarf line number tables. llvm-svn: 115153
* Correctly produce R_X86_64_32 or R_X86_64_32S.Rafael Espindola2010-09-301-0/+1
| | | | | | | | | | | | | With this patch in movq $foo, foo(%rip) foo: .long foo We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the second one. llvm-svn: 115134
* Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to putRafael Espindola2010-09-251-0/+6
| | | | | | symbols defined in merge sections in independent atoms. llvm-svn: 114786
* Make ELF OS ABI dependent on the OS from target triple.Roman Divacky2010-09-091-9/+12
| | | | llvm-svn: 113508
* MC: Add partial x86-64 support to COFF.Michael J. Spencer2010-08-211-4/+10
| | | | llvm-svn: 111728
* Hookup ELF support for X86.Matt Fleming2010-08-161-4/+13
| | | | llvm-svn: 111173
* Enable COFF writer on mingw32 and cygwin.Benjamin Kramer2010-08-041-0/+2
| | | | llvm-svn: 110200
* MC: Remove HasAbsolutizedSet from WindowsX86AsmBackend.Michael J. Spencer2010-07-311-1/+0
| | | | llvm-svn: 109949
* Make MC use Windows COFF on Windows and add tests.Michael J. Spencer2010-07-271-0/+21
| | | | llvm-svn: 109494
* have the mc lowering process handle a few tail call forms, lowering them toChris Lattner2010-07-091-1/+0
| | | | | | | | | | | | | jumps where possible and turning the TAILCALL marker in the instruction asm string into a proper comment. This eliminates a FIXME and is on the path to finishing: rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc. However, I can't eliminate the encodings for these instructions because the JIT still exists and has its own copy of the encoder, sigh. llvm-svn: 107946
* Implement the major chunk of PR7195: support for 'callw'Chris Lattner2010-07-071-2/+5
| | | | | | | in the integrated assembler. Still some discussion to be done. llvm-svn: 107825
* MC: Change RelaxInstruction to only take the input and output instructions.Daniel Dunbar2010-05-261-7/+6
| | | | llvm-svn: 104713
* MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query itDaniel Dunbar2010-05-261-26/+10
| | | | | | before encoding. llvm-svn: 104707
* MC: Eliminate MCAsmFixup, replace with MCFixup.Daniel Dunbar2010-05-261-4/+4
| | | | llvm-svn: 104699
* MC: Use accessors for access to MCAsmFixup.Daniel Dunbar2010-05-261-6/+8
| | | | llvm-svn: 104697
* MC: Change MCInst::dump_pretty to not include a trailing newline.Daniel Dunbar2010-05-261-0/+1
| | | | llvm-svn: 104696
OpenPOWER on IntegriCloud