summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86MCAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename createAsmInfo to createMCAsmInfo and move registration code to ↵Evan Cheng2011-07-141-134/+0
| | | | | | MCTargetDesc to prepare for next round of changes. llvm-svn: 135219
* Handle fpcr register.Eric Christopher2011-07-071-1/+2
| | | | | | Part of PR10299 and rdar://9740322 llvm-svn: 134653
* Dead code elimination.Rafael Espindola2011-05-061-2/+0
| | | | llvm-svn: 130984
* Add r130623 back now that ELF has been fixed to work with -fno-dwarf2-cfi-asm.Rafael Espindola2011-05-011-1/+1
| | | | llvm-svn: 130658
* I forgot these files in the previous commit.Rafael Espindola2011-05-011-0/+1
| | | | llvm-svn: 130635
* Revert the previous patch while I figure out how to make llvm-gccRafael Espindola2011-04-301-1/+1
| | | | | | less agressive about disabling cfi on linux :-( llvm-svn: 130626
* Enable CFI on OS X.Rafael Espindola2011-04-301-1/+1
| | | | | | | | | | | | | | | Currently the output should be almost identical to the one produced by CodeGen to make the transition easier. The only two differences I know of are: * Some files get an extra advance loc of size 0. This will be fixed when relaxations are enabled. * The optimization of declaring an EH symbol as an external variable is not implemented. This is a subset of adding the nounwind attribute, so we if really this at -O0 we should probably do it at the IL level. llvm-svn: 130623
* Add a getExprForPersonalitySymbol method to MCAsmInfo. Use it whenRafael Espindola2011-04-281-0/+16
| | | | | | converting the symbol passed to .cfi_personality into bytes is the file. llvm-svn: 130400
* Add 129518 back with a fix for when we are producing eh just because of ↵Rafael Espindola2011-04-151-1/+3
| | | | | | | | | debug info. Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129571
* Revert r129518, "Change ELF systems to use CFI for producing the EH tables. ↵NAKAMURA Takumi2011-04-151-3/+1
| | | | | | | | This reduces the" It broke several builds. llvm-svn: 129557
* Change ELF systems to use CFI for producing the EH tables. This reduces theRafael Espindola2011-04-141-1/+3
| | | | | | size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129518
* Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.Cameron Zwarich2011-02-251-3/+0
| | | | llvm-svn: 126488
* Enable DebugInfo support for COFF object files.Devang Patel2011-02-241-0/+3
| | | | | | Patch by Nathan Jeffords! llvm-svn: 126425
* Remove duplicated code.Rafael Espindola2011-01-231-1/+2
| | | | llvm-svn: 124054
* Add a possibility to switch between CFI directives- and table-based frame ↵Anton Korobeynikov2011-01-141-3/+3
| | | | | | description emission. Currently all the backends use table-based stuff. llvm-svn: 123476
* lib/Target/X86/X86MCAsmInfo.cpp: [PR8741] On Win64, specify explicit ↵NAKAMURA Takumi2010-12-071-1/+3
| | | | | | | | PrivateGlobalPrefix as ".L". Or, global symbols @Lxxxx might be treated as temporal symbol by MCSymbol. llvm-svn: 121103
* Second try at making direct object emission produce the same resultsRafael Espindola2010-12-061-4/+0
| | | | | | | as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc bootstrap on darwin10 using darwin9's assembler and linker. llvm-svn: 121006
* There are two reasons why we might want to useRafael Espindola2010-12-041-0/+4
| | | | | | | | | | | | | | | | foo = a - b .long foo instead of just .long a - b First, on darwin9 64 bits the assembler produces the wrong result. Second, if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not consider a - b to be a constant but will if the dummy foo is created. Split how we handle these cases. The first one is something MC should take care of. The second one has to be handled by the caller. llvm-svn: 120889
* Revert r120580.Devang Patel2010-12-021-14/+0
| | | | llvm-svn: 120630
* Disable debug info for x86-darwin9 and earlier until PR 8715 and radar ↵Devang Patel2010-12-011-0/+14
| | | | | | 8709290 are fixed. llvm-svn: 120580
* Remove some explicit arguments to getELFSection. This isRafael Espindola2010-11-111-1/+1
| | | | | | a leftover from the removal of isExplicit. llvm-svn: 118774
* MC: Add partial x86-64 support to COFF.Michael J. Spencer2010-08-211-0/+3
| | | | llvm-svn: 111728
* move elf section uniquing to MCContext. Along the wayChris Lattner2010-04-081-3/+5
| | | | | | merge XCore's section into MCSectionELF llvm-svn: 100812
* eliminate the magic AbsoluteDebugSectionOffsets MAI hook,Chris Lattner2010-04-041-1/+0
| | | | | | | | | which is really a property of the section being referenced. Add a predicate to MCSection to replace it. Yay for reduction in magic. llvm-svn: 100367
* Work around a bug in the openbsd assembler on i386,Chris Lattner2010-03-111-1/+6
| | | | | | | | | which doesn't support .quad correctly because it is "really really old". PR6528. Yet another reason the mc assembler should take over ;-) llvm-svn: 98205
* don't reset defaults.Chris Lattner2010-03-081-2/+0
| | | | llvm-svn: 98004
* Fix TextAlignFillValue in a few placesDaniel Dunbar2010-02-251-0/+4
| | | | llvm-svn: 97151
* daniel remembered why this was needed.Chris Lattner2010-02-171-1/+4
| | | | llvm-svn: 96440
* add a comment explaining why darwin/i386 uses ## as a comment.Chris Lattner2010-02-171-0/+2
| | | | | | | It's not clear why this is really required, but it was explicitly added in r48808 with no real explanation or rdar #. llvm-svn: 96438
* Minor warning fixes (semicolons, newline at EOF).Benjamin Kramer2010-02-161-1/+1
| | | | llvm-svn: 96343
* Drop winmcasminfo and use normal AT&T COFF for all windows targets.Anton Korobeynikov2010-02-141-24/+1
| | | | | | | Otherwise AT&T asm printer is used with non-compatible MCAsmInfo and there is no way to override this behaviour. llvm-svn: 96165
* Eliminate SetDirective, and replace it with HasSetDirective.Chris Lattner2010-01-261-1/+0
| | | | | | | | | | | Default HasSetDirective to true, since most targets have it. The targets that claim to not have it probably do, or it is spelled differently. These include Blackfin, Mips, Alpha, and PIC16. All of these except pic16 are normal ELF targets, so they almost certainly have it. llvm-svn: 94585
* Remove support for i386 tiger tools for aligned common symbols.Chris Lattner2010-01-251-3/+0
| | | | | | | | | Previously we would just silently miscompile code that used aligned common's, now at least you'll get a build error. tiger-ppc already triggered the build error because it didn't have a version of this logic. llvm-svn: 94412
* resolve a fixme: the "nonexecutable stack directive" is actuallyChris Lattner2010-01-231-3/+5
| | | | | | | | | a .section. Switch to it with SwitchSection. However, I think that this directive should be safe on any ELF target. If so, we should hoist it up out of the X86 and SystemZ targets. llvm-svn: 94298
* revert 93934, removing the MCAsmInfo endianness bit. I can'tChris Lattner2010-01-201-8/+4
| | | | | | | stomache MCAsmInfo having this, and I found a better solution to this layering issue. llvm-svn: 93985
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-191-4/+8
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* remove MAI::ZeroDirectiveSuffix, which is only used by MASM,Chris Lattner2010-01-191-1/+0
| | | | | | which we don't support anymore. llvm-svn: 93886
* Big change #1 for personality function references:Chris Lattner2009-09-161-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); llvm-svn: 81991
* rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79773
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-0/+131
llvm-svn: 79763
OpenPOWER on IntegriCloud