summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some signedness oddities in this code noticed by clang.John McCall2010-04-071-5/+6
| | | | llvm-svn: 100599
* Move printing of target-indepedent DEBUG_VALUE commentsDale Johannesen2010-04-071-48/+10
| | | | | | | into AsmPrinter. Target-dependent form is still generated by FastISel and still handled in X86 code. llvm-svn: 100596
* Fix a number of clang -Wsign-compare warnings that didn't have an obviousJohn McCall2010-04-063-3/+3
| | | | | | | solution. The only reason these don't fire with gcc-4.2 is that gcc turns off part of -Wsign-compare in C++ on accident. llvm-svn: 100581
* Revert 100573, it's causing some testsuite problems.Dale Johannesen2010-04-061-1/+67
| | | | llvm-svn: 100578
* Move printing of DEBUG_VALUE comments to target-independent place.Dale Johannesen2010-04-061-67/+1
| | | | | | There is probably a more elegant way to do this. llvm-svn: 100573
* Expand SELECT and SELECT_CC for NEON vector types.Bob Wilson2010-04-061-0/+2
| | | | | | Radar 7770501. llvm-svn: 100568
* Fix PR6696 and PR6663Jim Grosbach2010-04-065-14/+84
| | | | | | | | | | | | | | | | | When a frame pointer is not otherwise required, and dynamic stack alignment is necessary solely due to the spilling of a register with larger alignment requirements than the default stack alignment, the frame pointer can be both used as a general purpose register and a frame pointer. That goes poorly, for obvious reasons. This patch brings back a bit of old logic for identifying the use of such registers and conservatively reserves the frame pointer during register allocation in such cases. For now, implement for X86 only since it's 32-bit linux which is hitting this, and we want a targeted fix for 2.7. As a follow-on, this will be expanded to handle other targets, as theoretically the problem could arise elsewhere as well. llvm-svn: 100559
* Don't try to collapse DomainValues onto an incompatible SSE domain.Jakob Stoklund Olesen2010-04-061-4/+12
| | | | | | This fixes the Bullet regression on i386/nocona. llvm-svn: 100553
* Properly enable load clustering.Jakob Stoklund Olesen2010-04-051-4/+0
| | | | | | | Operand 2 on a load instruction does not have to be a RegisterSDNode for this to work. llvm-svn: 100497
* Fix ADD32rr_alt instruction encoding bug. Patch by Marius Wachtler.Evan Cheng2010-04-051-1/+1
| | | | llvm-svn: 100480
* Remove FIXME.Eric Christopher2010-04-051-2/+1
| | | | llvm-svn: 100466
* don't use emitlabel in the arm asm printer yet, the order Chris Lattner2010-04-051-2/+7
| | | | | | | isn't well specified. ARM really needs to have its instprinter finished at some point. llvm-svn: 100439
* fix a couple problems I introduced handling symbolsChris Lattner2010-04-051-4/+10
| | | | | | with spaces in them. Sym->getName() != OS << *Sym llvm-svn: 100434
* Disambiguate else.Benjamin Kramer2010-04-051-1/+2
| | | | llvm-svn: 100423
* unthread MMI from FastISelChris Lattner2010-04-053-8/+5
| | | | llvm-svn: 100416
* remove the MMI pointer from MachineFrameInfo.Chris Lattner2010-04-054-39/+28
| | | | llvm-svn: 100415
* simplify code.Chris Lattner2010-04-051-7/+4
| | | | llvm-svn: 100412
* Get rid of traling whitespaces. No functionality change.Johnny Chen2010-04-051-1/+1
| | | | llvm-svn: 100404
* The disassembler impl. of MCDisassembler::getInstruction() was using the patternJohnny Chen2010-04-051-5/+23
| | | | | | | | | | | | | uint32_t insn; MemoryObject.readBytes(Address, 4, (uint8_t*)&insn, NULL) to read 4 bytes of memory contents into a 32-bit uint variable. This leaves the interpretation of byte order up to the host machine and causes PPC test cases of arm-tests, neon-tests, and thumb-tests to fail. Fixed to use a byte array for reading the memory contents and shift the bytes into place for the 32-bit uint variable in the ARM case and 16-bit halfword in the Thumb case. llvm-svn: 100403
* implement EmitFunctionEntryLabel to emit the .cc_top directive,Chris Lattner2010-04-051-61/+7
| | | | | | | allowing xcore to use the normal runOnMachineFunction implementation. llvm-svn: 100402
* prune some #includes.Chris Lattner2010-04-056-8/+0
| | | | llvm-svn: 100399
* Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field.Jakob Stoklund Olesen2010-04-0513-103/+45
| | | | | | | | | | | | | | | | | | | When a target instruction wants to set target-specific flags, it should simply set bits in the TSFlags bit vector defined in the Instruction TableGen class. This works well because TableGen resolves member references late: class I : Instruction { AddrMode AM = AddrModeNone; let TSFlags{3-0} = AM.Value; } let AM = AddrMode4 in def ADD : I; TSFlags gets the expected bits from AddrMode4 in this example. llvm-svn: 100384
* fastisel doesn't need DwarfWriter, remove some tendricles.Chris Lattner2010-04-053-9/+5
| | | | llvm-svn: 100381
* Temporarily remove to disable building of ARM disassembler.Evan Cheng2010-04-051-16/+0
| | | | llvm-svn: 100380
* Re-apply 100265 but instead disable building of ARM disassembly for now.Evan Cheng2010-04-053-89/+31
| | | | llvm-svn: 100379
* Reverting 100265 to try to get buildbots green again. Lots of self-hosting ↵Evan Cheng2010-04-052-29/+86
| | | | | | buildbots started complaining since this commit. Also xfail ARM disassembly tests. llvm-svn: 100378
* just have all targets create the DwarfWriter.Chris Lattner2010-04-054-30/+0
| | | | llvm-svn: 100377
* simplify various getAnalysisUsage implementations.Chris Lattner2010-04-056-18/+0
| | | | llvm-svn: 100376
* eliminate the magic AbsoluteDebugSectionOffsets MAI hook,Chris Lattner2010-04-045-5/+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
* revert my patch, need to reconsider this and figure out what is really going on.Chris Lattner2010-04-041-0/+1
| | | | llvm-svn: 100358
* fix pasto, this is the wrong setting for arm elf.Chris Lattner2010-04-041-1/+0
| | | | llvm-svn: 100357
* Clean up SSEDomainFix pass.Jakob Stoklund Olesen2010-04-041-55/+77
| | | | | | | Restrict bit mask operations to the DomainValue class. Rename methods for clarity. llvm-svn: 100353
* don't reset the default.Chris Lattner2010-04-041-1/+0
| | | | llvm-svn: 100352
* clean up the asmprinter header and privatize some stuff.Chris Lattner2010-04-042-6/+6
| | | | llvm-svn: 100342
* remove TargetMachine.h #include, also, TRI isn't used frequently Chris Lattner2010-04-042-6/+7
| | | | | | enough to warrant caching in AsmPrinter, so remove it. llvm-svn: 100336
* Switch SSEDomainFix to SpecificBumpPtrAllocator.Jakob Stoklund Olesen2010-04-041-58/+37
| | | | llvm-svn: 100332
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-0417-113/+77
| | | | | | | | | | "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 the remaining uses of O.Chris Lattner2010-04-041-13/+18
| | | | llvm-svn: 100322
* finish eliminating uses of O.Chris Lattner2010-04-041-17/+34
| | | | llvm-svn: 100321
* mcize more of ppc stub printing.Chris Lattner2010-04-041-15/+16
| | | | llvm-svn: 100320
* mcize a bunch more stuff, using EmitRawText for things weChris Lattner2010-04-047-157/+151
| | | | | | don't have mcstreamer support for yet. llvm-svn: 100319
* convert the non-MCInstPrinter'ized EmitInstruction Chris Lattner2010-04-0410-37/+60
| | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318
* streamerize the rest of PIC16 asm printer.Chris Lattner2010-04-041-41/+63
| | | | llvm-svn: 100317
* streamerize printing of dbg_value, the x86 backend is now fullyChris Lattner2010-04-041-3/+6
| | | | | | streamerized for everything. llvm-svn: 100316
* split DEBUG_VALUE printing stuff out to its own method.Chris Lattner2010-04-042-58/+63
| | | | llvm-svn: 100315
* 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-0412-50/+72
| | | | | | raw_ostream to print to. llvm-svn: 100313
* use predicates in DBG_VALUE printing code to simplify it.Chris Lattner2010-04-041-10/+9
| | | | llvm-svn: 100312
* remove more implicit uses of "O".Chris Lattner2010-04-043-88/+54
| | | | llvm-svn: 100311
* fix an ugly wart in the MCInstPrinter api where theChris Lattner2010-04-0411-32/+25
| | | | | | | | 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
OpenPOWER on IntegriCloud