summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol forChris Lattner2009-09-121-3/+11
| | | | | | MBB labels like everything else. llvm-svn: 81628
* split MachineInstr -> MCInst lowering into its own class (notChris Lattner2009-09-121-128/+147
| | | | | | | being embedded into X86ATTAsmPrinter). This still depends heavily on X86ATTAsmPrinter, but this is a step in the right direction. llvm-svn: 81627
* fix another GCC bootstrap problem, which manifested as thingsChris Lattner2009-09-121-1/+1
| | | | | | | like: foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" llvm-svn: 81596
* switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring ↵Chris Lattner2009-09-111-2/+9
| | | | | | FnStubs and GVStubs. llvm-svn: 81514
* Fix a bug I introduced in FnStubs generation, switch GVStubs to be a Chris Lattner2009-09-111-5/+22
| | | | | | densemap instead of StringMap to match FnStubs. llvm-svn: 81513
* change FnStubs from being a StringMap<std::string> to being a muchChris Lattner2009-09-111-8/+11
| | | | | | | | | | more efficient SmallPtrSet<MCSymbol*>. This eliminates string craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter. Codegen is producing stubs in a nondeterminstic order, but it was doing this before anyway. llvm-svn: 81511
* printInstruction() no longer prints a \n after itself, do itChris Lattner2009-09-111-0/+1
| | | | | | for the two instruction MOVPC32r sequence. llvm-svn: 81509
* reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms ofChris Lattner2009-09-111-15/+21
| | | | | | | | Mangler::getNameWithPrefix. In addition to avoiding some over quoting, this also is more efficient because it uses smallvector instead of std::string thrashing. llvm-svn: 81508
* convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallStringChris Lattner2009-09-111-7/+11
| | | | | | instead of std::string and Mangler. llvm-svn: 81503
* rearrange some code, export a SmallString version of DecorateCygMingName.Chris Lattner2009-09-111-22/+24
| | | | llvm-svn: 81502
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-1/+0
| | | | | | | | | | | | | the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. llvm-svn: 81396
* add a gross hack to get "SrcLine" comments to show up with theChris Lattner2009-09-091-0/+1
| | | | | | new asmprinter. Differently gross hack coming next. llvm-svn: 81379
* hoist the call to processDebugLoc out of the generatedChris Lattner2009-09-091-2/+0
| | | | | | | | | | | | | asm printer into the "printInstruction" routine. This fixes a problem where the experimental asmprinter would drop debug labels in some cases, and fixes issues on ppc/xcore where pseudo instructions like "mr" didn't get debug locs properly. It is annoying that this moves the call from one place into each target, but a future set of more invasive refactorings will fix that problem. llvm-svn: 81377
* make sure to send external symbols through the mangler,Chris Lattner2009-09-091-5/+3
| | | | | | this fixes mingw-alloca.ll with the new asmprinter. llvm-svn: 81301
* add support for @PLT and friends on external symbols, fixesChris Lattner2009-09-091-2/+27
| | | | | | x86-64-pic-11.ll with the new asmprinter. llvm-svn: 81294
* add support for some missing modifiers on jumptable/constant pool entries.Chris Lattner2009-09-081-0/+20
| | | | llvm-svn: 81199
* add a bunch more evil lowering code to work around various :subreg32 modifiersChris Lattner2009-09-081-3/+39
| | | | | | | in the .td files. This gets us down to 18 failures in codegen/x86 with the new asmprinter. llvm-svn: 81198
* ADd support for "lowering" the X86::MOVZX16rr8/X86::MOVZX16rm8Chris Lattner2009-09-081-1/+8
| | | | | | subreg32 modifiers. llvm-svn: 81196
* add a hack to lower MOV16r0 to MOV32r0 in MCInstLower, eliminatingChris Lattner2009-09-081-0/+12
| | | | | | | the problem with subreg32 modifiers. This gets all of Olden working with the new asmprinter. llvm-svn: 81195
* Remove unreachable code.Duncan Sands2009-09-061-3/+0
| | | | llvm-svn: 81126
* Remove some not-really-used variables, as warnedDuncan Sands2009-09-061-2/+1
| | | | | | about by icc (#593, partial). Patch by Erick Tryzelaar. llvm-svn: 81115
* don't call getOffset() on jump tables, this fixes three failing olden benchmarksChris Lattner2009-09-031-1/+1
| | | | | | with the new asmprinter. llvm-svn: 80906
* Implement support for X86II::MO_GOT_ABSOLUTE_ADDRESS. We get veryChris Lattner2009-09-031-15/+26
| | | | | | | | | | | | | | | | | | different formatting from the old asmprinter, but it should be semantically the same. We used to get: popl %eax addl $_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$6.$piclabel], %eax ... Now we get: popl %eax .Lpicbaseref6: addl $(_GLOBAL_OFFSET_TABLE_ + (.Lpicbaseref6 - .Lllvm$6.$piclabel)), %eax ... llvm-svn: 80905
* Reference to hidden symbols do not have to go through non-lazy pointer in ↵Evan Cheng2009-09-031-3/+0
| | | | | | non-pic mode. rdar://7187172. llvm-svn: 80904
* merge globaladdress symbol processing stuff into other stuff. NowChris Lattner2009-09-031-75/+64
| | | | | | | all global variable operand flag processing stuff is shared between different operand types. llvm-svn: 80886
* Split the "operand -> symbol" logic from the "get offset and other mungingChris Lattner2009-09-031-33/+30
| | | | | | from operand" logic. GlobalAddress still todo. llvm-svn: 80884
* implement lowering support for constant pool index operands, this gets a ↵Chris Lattner2009-09-031-12/+49
| | | | | | | | bunch more olden programs working. llvm-svn: 80881
* simplify this by using SmallString::str(), much nicer!Chris Lattner2009-09-031-1/+1
| | | | llvm-svn: 80874
* switch from std::string to SmallString + raw_svector_ostream.Chris Lattner2009-09-021-7/+5
| | | | llvm-svn: 80807
* split mcinst lowering stuff out to its own file.Chris Lattner2009-09-021-0/+283
llvm-svn: 80806
OpenPOWER on IntegriCloud