summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.h
Commit message (Collapse)AuthorAgeFilesLines
* fix a layering problem by moving the x86 implementationChris Lattner2010-07-191-89/+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
* I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename itDuncan Sands2010-05-111-1/+1
| | | | | | | to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. llvm-svn: 103495
* Emit debug info for byval parameters.Devang Patel2010-04-281-0/+2
| | | | llvm-svn: 102486
* just have all targets create the DwarfWriter.Chris Lattner2010-04-051-6/+0
| | | | llvm-svn: 100377
* simplify various getAnalysisUsage implementations.Chris Lattner2010-04-051-2/+0
| | | | llvm-svn: 100376
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-3/+2
| | | | | | | | | | "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
* split DEBUG_VALUE printing stuff out to its own method.Chris Lattner2010-04-041-0/+2
| | | | llvm-svn: 100315
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-2/+4
| | | | | | raw_ostream to print to. llvm-svn: 100313
* remove more implicit uses of "O".Chris Lattner2010-04-041-50/+9
| | | | llvm-svn: 100311
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-131-3/+2
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* switch to the text section at the start of the .s file for darwin/x86Chris Lattner2010-03-131-1/+2
| | | | | | | targets. This is a temporary hack for the .o file writer that Daniel wants :) llvm-svn: 98413
* eliminate the X86 version of GetGlobalValueSymbol, allowingChris Lattner2010-03-121-1/+0
| | | | | | it to be non-virtual and soon disappear. llvm-svn: 98387
* Cleanup stdcall / fastcall name mangling.Anton Korobeynikov2010-02-121-2/+1
| | | | | | This should fix alot of problems we saw so far, e.g. PRs 5851 & 2936 llvm-svn: 95980
* Finally eliminate printMCInst and send instructions throughChris Lattner2010-02-031-2/+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
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-021-2/+3
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-281-3/+2
| | | | | | | | 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-3/+0
| | | | | | | 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-2/+0
| | | | | | | | | | | | | | | | | | 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
* implement X86 @GOTOFF jump table entries with the new EK_Custom32Chris Lattner2010-01-261-3/+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
* sink an arm specific method out of asmprinter into the ARMAsmPrinter andChris Lattner2010-01-251-4/+0
| | | | | | rename it to avoid shadowing. llvm-svn: 94440
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* unconditionally request MMIChris Lattner2009-09-241-5/+1
| | | | llvm-svn: 82716
* rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file.Chris Lattner2009-09-201-0/+154
| | | | llvm-svn: 82394
* remove empty fileChris Lattner2008-08-181-0/+0
| | | | llvm-svn: 54950
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-171-0/+0
users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
OpenPOWER on IntegriCloud