summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fix a layering problem by moving the x86 implementationChris Lattner2010-07-191-684/+0
| | | | | | | | 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
* Accept registers with P modifier. PR 5314.Dale Johannesen2010-07-161-0/+4
| | | | llvm-svn: 108545
* Merge lib/Target/X86/X86COFF.h into include/llvm/Support/COFF.h,Chris Lattner2010-07-141-5/+8
| | | | | | patch by Michael Spencer! llvm-svn: 108342
* Accept RIP-relative symbols with 'i' constraint, andDale Johannesen2010-07-061-0/+2
| | | | | | | print the (%rip) only if the 'a' modifier is present. PR 7528. llvm-svn: 107727
* Add first pass at darwin tls compiler support.Eric Christopher2010-06-031-0/+5
| | | | llvm-svn: 105381
* updated handling dllexport in X86AsmPrinterNathan Jeffords2010-05-091-8/+22
| | | | | | changed dllexport code to use EmitBytes instead of EmitRawText, and changed the export option to use /EXPORT: instead of -export: on the windows platform llvm-svn: 103377
* made COFF target dllexport logic apply to all subtargetsNathan Jeffords2010-05-091-28/+26
| | | | llvm-svn: 103373
* break coff symbol definition stuff out into proper MCStreamer callbacks,Chris Lattner2010-05-081-13/+13
| | | | | | patch by Nathan Jeffords! llvm-svn: 103346
* switch MCSectionCOFF from a syntactic to semantic representation,Chris Lattner2010-05-071-3/+1
| | | | | | patch by Peter Housel! llvm-svn: 103267
* Add const qualifiers to TargetLoweringObjectFile usage.Dan Gohman2010-04-171-4/+4
| | | | llvm-svn: 101640
* remove the TargetLoweringObjectFileMachO::getMachoSectionChris Lattner2010-04-081-11/+8
| | | | | | api and update clients to use MCContext instead. llvm-svn: 100808
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-1/+0
| | | | | | | | | | "asm printering" happens through MCStreamer. This also Streamerizes PIC16 debug info, which escaped my attention. This removes a leak from LLVMTargetMachine of the 'legacy' output stream. llvm-svn: 100327
* mc'ize elf stub printing, convert cygwin stuff to EmitRawText,Chris Lattner2010-04-041-12/+15
| | | | | | which will abort in .o file writing mode. llvm-svn: 100314
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-2/+3
| | | | | | raw_ostream to print to. llvm-svn: 100313
* remove more implicit uses of "O".Chris Lattner2010-04-041-35/+41
| | | | llvm-svn: 100311
* fix an ugly wart in the MCInstPrinter api where theChris Lattner2010-04-041-4/+3
| | | | | | | | raw_ostream to print an instruction to had to be specified at MCInstPrinter construction time instead of being able to pick at each call to printInstruction. llvm-svn: 100307
* asmstreamerize the .size directive for function bodies, force clientsChris Lattner2010-04-031-2/+2
| | | | | | of printOffset to pass in a stream to print to. llvm-svn: 100296
* Comment the changes for r98218 and friends inside the source code.Bill Wendling2010-03-311-0/+5
| | | | llvm-svn: 100033
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-131-1/+1
| | | | llvm-svn: 98451
* switch to the text section at the start of the .s file for darwin/x86Chris Lattner2010-03-131-0/+5
| | | | | | | targets. This is a temporary hack for the .o file writer that Daniel wants :) llvm-svn: 98413
* inline the now-trivial implementation of GetGlobalValueSymbol intoChris Lattner2010-03-121-9/+7
| | | | | | some of its callers. llvm-svn: 98388
* eliminate the X86 version of GetGlobalValueSymbol, allowingChris Lattner2010-03-121-4/+0
| | | | | | it to be non-virtual and soon disappear. llvm-svn: 98387
* move fastcall/stdcall mangling up into Mangler.Chris Lattner2010-03-121-8/+1
| | | | llvm-svn: 98384
* make DecorateCygMingName a static method.Chris Lattner2010-03-121-4/+3
| | | | llvm-svn: 98377
* minor tidying, only do work if a function is Chris Lattner2010-03-121-4/+2
| | | | | | actually X86_StdCall or X86_FastCall. llvm-svn: 98374
* eliminate the string form of DecorateCygMingNameChris Lattner2010-03-121-1/+2
| | | | llvm-svn: 98373
* Add a beta-test for placing the LSDA into the TEXT section on X86.Bill Wendling2010-03-121-2/+10
| | | | llvm-svn: 98370
* Remove some dead code. This method only gets called on Chris Lattner2010-03-121-5/+0
| | | | | | definitions. llvm-svn: 98368
* use Mang->getSymbol instead of duplicating the logic, reduce indentation.Chris Lattner2010-03-121-19/+13
| | | | llvm-svn: 98367
* Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling2010-03-101-20/+26
| | | | | | | | indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. llvm-svn: 98199
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-101-1/+5
| | | | llvm-svn: 98124
* MC-ize the stub printing in ARM.Bill Wendling2010-03-091-1/+1
| | | | llvm-svn: 98018
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96288
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-151-0/+22
| | | | | | Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
* Cleanup stdcall / fastcall name mangling.Anton Korobeynikov2010-02-121-29/+25
| | | | | | This should fix alot of problems we saw so far, e.g. PRs 5851 & 2936 llvm-svn: 95980
* reapply r95206, this time actually delete the code I'm replacing in the ↵Chris Lattner2010-02-031-9/+23
| | | | | | third stub case. llvm-svn: 95209
* revert r95206, it is apparently causing bootstrap failure on i386-darwin9Chris Lattner2010-02-031-24/+7
| | | | llvm-svn: 95208
* make the x86 backend emit darwin stubs through mcstreamerChris Lattner2010-02-031-7/+24
| | | | | | instead of textually. llvm-svn: 95206
* make MachineModuleInfoMachO hold non-const MCSymbol*'s insteadChris Lattner2010-02-031-5/+5
| | | | | | | of const ones. non-const ones aren't very useful, because you can't even, say, emit them. llvm-svn: 95205
* don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,Chris Lattner2010-02-031-1/+0
| | | | | | .o files don't like that. llvm-svn: 95187
* Finally eliminate printMCInst and send instructions throughChris Lattner2010-02-031-7/+0
| | | | | | | | | | | | | | | | | | | | | | | the streamer. Demo: $ cat t.ll define i32 @test() nounwind { ret i32 42 } $ llc t.ll -o - ... _test: movl $42, %eax ret $ llc t.ll -o t.o -filetype=obj $ otool -tv t.o t.o: (__TEXT,__text) section _test: 00000000 movl $0x0000002a,%eax 00000005 ret llvm-svn: 95179
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-281-58/+4
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* now that enough stuff is constified, move function header printingChris Lattner2010-01-261-85/+22
| | | | | | | logic up from X86 into the common code. The other targets will hopefully start using this soon. llvm-svn: 94614
* Move getJTISymbol from MachineJumpTableInfo to MachineFunction,Chris Lattner2010-01-261-18/+3
| | | | | | | | | | | | | | | | | | which is more convenient, and change getPICJumpTableRelocBaseExpr to take a MachineFunction to match. Next, move the X86 code that create a PICBase symbol to X86TargetLowering::getPICBaseSymbol from X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific library. This eliminates a 'gross hack', and allows us to implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now calls it. This in turn allows us to eliminate the X86AsmPrinter::printPICJumpTableSetLabel method, which was the only overload of printPICJumpTableSetLabel. llvm-svn: 94526
* simplify asmprinter: only emit .set directives when entries haveChris Lattner2010-01-261-11/+2
| | | | | | | EK_LabelDifference32 kind and the target has .set support. Simplify X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers. llvm-svn: 94518
* implement X86 @GOTOFF jump table entries with the new EK_Custom32Chris Lattner2010-01-261-17/+0
| | | | | | | | | | | jump table entry kind, instead of overloading AsmPrinter::printPICJumpTableEntry. This has a pretty horrible and inefficient FIXME around how @GOTOFF is currently smashed into the mcsymbol name, but otherwise this is much cleaner. llvm-svn: 94516
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-261-4/+4
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* don't bother setting the AsmPrinter::MF ivar, now thatChris Lattner2010-01-261-1/+0
| | | | | | | AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) llvm-svn: 94510
* Rearrange handling of jump tables. Highlights:Chris Lattner2010-01-251-1/+1
| | | | | | | | | | | | | | | | | | 1. MachineJumpTableInfo is now created lazily for a function the first time it actually makes a jump table instead of for every function. 2. The encoding of jump table entries is now described by the MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the TLI::getJumpTableEncoding() hook, instead of by lots of code scattered throughout the compiler that "knows" that jump table entries are always 32-bits in pic mode (for example). 3. The size and alignment of jump table entries is now calculated based on their kind, instead of at machinefunction creation time. Future work includes using the EntryKind in more places in the compiler, eliminating other logic that "knows" the layout of jump tables in various situations. llvm-svn: 94470
* eliminate redundant argument to EmitJumpTableInfoChris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94464
OpenPOWER on IntegriCloud