summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* move two asmprinter methods into the asmprinter .cpp file.Chris Lattner2010-07-201-0/+39
| | | | llvm-svn: 108945
* fix a layering problem by moving the x86 implementationChris Lattner2010-07-191-0/+684
| | | | | | | | of AsmPrinter and InstLowering into libx86 and out of the asmprinter subdirectory. Now X86/AsmPrinter just depends on MC stuff, not all of codegen and LLVM IR. llvm-svn: 108782
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-171-35/+0
| | | | | | users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
* Remove X86SharedAsmPrinterAnton Korobeynikov2008-06-281-435/+0
| | | | llvm-svn: 52860
* whitespace cleanupAnton Korobeynikov2008-06-281-1/+1
| | | | llvm-svn: 52859
* Use StringSet instead of std::set<std::string>Anton Korobeynikov2008-06-271-14/+14
| | | | llvm-svn: 52836
* Put const weak stuff in appropriate section on Darwin.Dale Johannesen2008-05-231-1/+9
| | | | | | g++.dg/abi/key2.C llvm-svn: 51458
* Handle quoted names when constructing $stub's,Dale Johannesen2008-05-191-4/+8
| | | | | | $non_lazy_ptr's and $lazy_ptr's. llvm-svn: 51277
* Treat common as distinct from weak global on Darwin x86.Dale Johannesen2008-05-161-0/+10
| | | | llvm-svn: 51172
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-1/+2
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* Recommitting EH patch; this should answer most of theDale Johannesen2008-04-021-2/+2
| | | | | | | | | | | | | | | review feedback. -enable-eh is still accepted but doesn't do anything. EH intrinsics use Dwarf EH if the target supports that, and are handled by LowerInvoke otherwise. The separation of the EH table and frame move data is, I think, logically figured out, but either one still causes full EH info to be generated (not sure how to split the metadata correctly). MachineModuleInfo::needsFrameInfo is no longer used and is removed. llvm-svn: 49064
* Revert 49006 for the moment.Dale Johannesen2008-04-011-2/+2
| | | | llvm-svn: 49046
* Emit exception handling info for functions which areDale Johannesen2008-03-311-2/+2
| | | | | | | | | | | not marked nounwind, or for all functions when -enable-eh is set, provided the target supports Dwarf EH. llvm-gcc generates nounwind in the right places; other FEs will need to do so also. Given such a FE, -enable-eh should no longer be needed. llvm-svn: 49006
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-031-2/+2
| | | | llvm-svn: 47857
* Handle \n's in value names for more targets. The asm printers Chris Lattner2008-02-151-4/+4
| | | | | | really really really need refactoring :( llvm-svn: 47171
* If the llvm name contains an unprintable character, don't print it inChris Lattner2008-02-151-3/+15
| | | | | | | | | | | the global comment. This prevents printing things like: ... # foo bar when the name is "foo\nbar". llvm-svn: 47170
* __DATA not __DATA__ is the right segment name on darwin.Dale Johannesen2008-02-121-1/+1
| | | | | | Spotted by Nick Kledzik. llvm-svn: 47037
* Honor explicit section information on Darwin.Dale Johannesen2008-01-231-1/+4
| | | | llvm-svn: 46267
* Honour ByVal parameter attribute for name decorationAnton Korobeynikov2008-01-201-3/+12
| | | | llvm-svn: 46200
* Revert the part of 45848 that treated weak globalsDale Johannesen2008-01-171-3/+2
| | | | | | | | as weak globals rather than commons. While not wrong, this change tickled a latent bug in Darwin's strip, so revert it for now as a workaround. llvm-svn: 46144
* Fix and enable EH for x86-64 Darwin. AddsDale Johannesen2008-01-151-1/+2
| | | | | | | | | ShortenEHDataFor64Bits as a not-very-accurate abstraction to cover all the changes in DwarfWriter. Some cosmetic changes to Darwin assembly code for gcc testsuite compatibility. llvm-svn: 46029
* Weak things initialized to 0 don't go in bss on Darwin.Dale Johannesen2008-01-111-8/+9
| | | | | | | Cosmetic changes to spacing to match gcc (some dejagnu tests actually care). llvm-svn: 45848
* darwin9 and above support aligned common symbols.Chris Lattner2008-01-021-1/+6
| | | | llvm-svn: 45494
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-2/+2
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Fix .eh table linkage issues on Darwin. Some EH supportDale Johannesen2007-11-201-1/+1
| | | | | | for Darwin PPC, but it's not fully working yet. llvm-svn: 44258
* Eliminate the remaining uses of getTypeSize. ThisDuncan Sands2007-11-051-2/+2
| | | | | | | | | | | | | | should only effect x86 when using long double. Now 12/16 bytes are output for long double globals (the exact amount depends on the alignment). This brings globals in line with the rest of LLVM: the space reserved for an object is now always the ABI size. One tricky point is that only 10 bytes should be output for long double if it is a field in a packed struct, which is the reason for the additional argument to EmitGlobalConstant. llvm-svn: 43688
* Change a few more spaces to tabs in assembly output.Dan Gohman2007-10-051-3/+3
| | | | llvm-svn: 42638
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-3/+3
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Honor user-defined section specification of a global, ignores whether its ↵Evan Cheng2007-09-211-2/+2
| | | | | | initializer is null. llvm-svn: 42182
* Follow-up to patch r41999. Make the conditional that emits the personality stubBill Wendling2007-09-161-1/+1
| | | | | | | match the conditional that turns on exception handling emittion in the asm printer. llvm-svn: 42008
* Only emit the personality function as a global value if the backend actuallyBill Wendling2007-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | supports it. This solves this error on the Darwin x86-64 platform: $ cat testcase.ii struct A { A(); }; A *bork() { return new A; } $ llvm-g++ -arch x86_64 -c testcase.ii /var/tmp//cc3U8fd8.s:52:unknown section type: non_lazy_symbol_pointers /var/tmp//cc3U8fd8.s:52:Rest of line ignored. 1st junk character valued 76 (L). /var/tmp//cc3U8fd8.s:53:Unknown pseudo-op: .indirect_symbol /var/tmp//cc3U8fd8.s:53:Rest of line ignored. 1st junk character valued 95 (_). llvm-svn: 41999
* The personality function on Darwin needs a global stub. We then refer toBill Wendling2007-09-111-0/+9
| | | | | | that global stub instead of doing the ".set" thingy we were doing before. llvm-svn: 41838
* Fix PR1607Chris Lattner2007-08-131-3/+3
| | | | llvm-svn: 41048
* Use tabs more consistently in assembler pseudo-ops.Dan Gohman2007-07-301-3/+3
| | | | llvm-svn: 40594
* Don't ignore the return value of AsmPrinter::doInitialization andDan Gohman2007-07-251-4/+3
| | | | | | AsmPrinter::doFinalization. llvm-svn: 40487
* Quote complex names for Darwin X86 and ARM.Dale Johannesen2007-06-221-1/+7
| | | | llvm-svn: 37700
* Eliminate some redundant newlines in asm output.Dan Gohman2007-06-141-1/+0
| | | | llvm-svn: 37574
* Emit sections/directives in the proper order. This fixes PR1376. Also,Anton Korobeynikov2007-05-051-3/+1
| | | | | | some small cleanup was made. llvm-svn: 36780
* Implement protected visibility. This partly implements PR1363. LinkerAnton Korobeynikov2007-04-291-1/+6
| | | | | | should be taught to deal with protected symbols. llvm-svn: 36565
* Implement "general dynamic", "initial exec" and "local exec" TLS models forLauro Ramos Venancio2007-04-201-3/+7
| | | | | | X86 32 bits. llvm-svn: 36283
* rename X86FunctionInfo to X86MachineFunctionInfo to match the header fileChris Lattner2007-04-171-4/+4
| | | | | | it is defined in. llvm-svn: 36196
* Consistency with native compilersAnton Korobeynikov2007-03-311-3/+9
| | | | llvm-svn: 35532
* Putting more constants which do not contain relocations into .literal{4|8|16}Evan Cheng2007-03-081-5/+6
| | | | llvm-svn: 35026
* Put constant data to .const, .const_data, .literal{4|8|16} sections.Evan Cheng2007-03-081-2/+23
| | | | llvm-svn: 35016
* Ensure that fastcall'ed function is correctly mangled & stack isAnton Korobeynikov2007-03-011-4/+2
| | | | | | properly aligned llvm-svn: 34788
* Darwin -static should codegen static ctors / dtors to .constructor / ↵Evan Cheng2007-01-301-1/+9
| | | | | | .destructor sections. llvm-svn: 33657
* Propagate changes from my local tree. This patch includes:Anton Korobeynikov2007-01-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. llvm-svn: 33597
* The zerofill directive needs a newline after it.Bill Wendling2007-01-181-1/+1
| | | | llvm-svn: 33327
* Minor code clean up.Evan Cheng2007-01-181-1/+1
| | | | llvm-svn: 33323
OpenPOWER on IntegriCloud