summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU
Commit message (Collapse)AuthorAgeFilesLines
...
* set SDNPVariadic on nodes throughout the rest of the targets thatChris Lattner2010-03-191-1/+2
| | | | | | need them. llvm-svn: 98937
* remove some damaged sign extend patterns that can never match.Chris Lattner2010-03-191-8/+6
| | | | llvm-svn: 98932
* do some serious surgery on CellSPU to get it back into a worldChris Lattner2010-03-154-38/+50
| | | | | | where it uses types consistently. llvm-svn: 98532
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-141-4/+3
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* Now that DBG_LABEL is updated, we can finally make MachineMove Chris Lattner2010-03-141-10/+8
| | | | | | contain an MCSymbol instead of a label index. llvm-svn: 98482
* change the DBG_LABEL MachineInstr to always be createdChris Lattner2010-03-141-3/+6
| | | | | | with an MCSymbol instead of an immediate. llvm-svn: 98481
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-131-1/+1
| | | | llvm-svn: 98451
* 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
* Fix LLVM build when the user specifies CPPFLAGS on the make command line.Jeffrey Yasskin2010-03-121-1/+1
| | | | llvm-svn: 98394
* inline GetGlobalValueSymbol into the rest its callers andChris Lattner2010-03-121-1/+2
| | | | | | remove it. llvm-svn: 98390
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-092-2/+3
| | | | | | | | | | is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative). No functionality change. llvm-svn: 98086
* disambiguate some types, add a fixme about some Chris Lattner2010-03-084-5/+6
| | | | | | inconsistent intrinsics. llvm-svn: 97959
* fix bss section printing for cell, patch by Kalle Raiskila!Chris Lattner2010-03-051-0/+3
| | | | llvm-svn: 97814
* Sink InstructionSelect() out of each target into SDISel, and rename itChris Lattner2010-03-021-14/+0
| | | | | | | | | | | | DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) llvm-svn: 97555
* Remove dead parameter passing.Bill Wendling2010-03-021-2/+1
| | | | llvm-svn: 97536
* Revert this patch for the time being. Needs more testing.Scott Michel2010-02-253-150/+11
| | | | llvm-svn: 97099
* Large stack frame patch for the CellSPU: handle stack frames that exceed 8176Scott Michel2010-02-253-11/+150
| | | | | | | | | | | | | (511*16) bytes register displacement (D-form). NOTE: This is a potential headache, given the SPU's local core limitations, allowing the software developer to commit stack overrun suicide unknowingly. Also, large SPU stack frames will cause code size explosion. But, one presumes that the software developer knows what they're doing... Contributed by Kalle.Raiskila@nokia.com, edited slightly before commit. llvm-svn: 97091
* disable two patterns that are using non-sensical result pattern types.Chris Lattner2010-02-231-4/+4
| | | | llvm-svn: 96903
* reapply my cellspu changes with a fix to not break the old isel.Chris Lattner2010-02-231-42/+73
| | | | llvm-svn: 96885
* Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.Dan Gohman2010-02-231-71/+42
| | | | llvm-svn: 96871
* fix hte last cellspu failure.Chris Lattner2010-02-231-11/+12
| | | | llvm-svn: 96854
* hack around more crimes in instruction selection.Chris Lattner2010-02-231-16/+26
| | | | llvm-svn: 96852
* the cell backend is making all sorts of unsafe and incorrect assumptions Chris Lattner2010-02-231-26/+44
| | | | | | | about ownership and update policies. It isn't clear why it is doing all this lowering at isel time instead of in legalize. This fixes fcmp64.ll llvm-svn: 96849
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96288
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-152-9/+14
| | | | | | change to SelectionDAG build APIs. llvm-svn: 96232
* print all the newlines at the end of instructions withChris Lattner2010-02-101-1/+1
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-031-0/+1
| | | | | | | | the end of the instruction instead of expecting the caller to do it. This currently causes the asm-verbose instruction comments to be on the next line. llvm-svn: 95178
* Revert 95130.Evan Cheng2010-02-022-2/+2
| | | | llvm-svn: 95160
* 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
* Pass callsite return type to TargetLowering::LowerCall and use that to check ↵Evan Cheng2010-02-022-2/+2
| | | | | | sibcall eligibility. llvm-svn: 95130
* eliminate a now-useless class.Chris Lattner2010-01-281-13/+1
| | | | llvm-svn: 94728
* Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().Chris Lattner2010-01-281-72/+3
| | | | | | | Diffstat: 6 files changed, 30 insertions(+), 284 deletions(-) llvm-svn: 94727
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-281-1/+1
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* Switch MSP430, CellSPU, SystemZ, Darwin/PPC, Alpha, and Sparc to Chris Lattner2010-01-271-32/+1
| | | | | | | | EmitFunctionHeader: 7 files changed, 16 insertions(+), 210 deletions(-) llvm-svn: 94630
* Eliminate target hook IsEligibleForTailCallOptimization.Evan Cheng2010-01-272-2/+4
| | | | | | | | | Target independent isel should always pass along the "tail call" property. Change target hook LowerCall's parameter "isTailCall" into a refernce. If the target decides it's impossible to honor the tail call request, it should set isTailCall to false to make target independent isel happy. llvm-svn: 94626
* Eliminate SetDirective, and replace it with HasSetDirective.Chris Lattner2010-01-261-1/+0
| | | | | | | | | | | Default HasSetDirective to true, since most targets have it. The targets that claim to not have it probably do, or it is spelled differently. These include Blackfin, Mips, Alpha, and PIC16. All of these except pic16 are normal ELF targets, so they almost certainly have it. llvm-svn: 94585
* eliminate MCAsmInfo::NeedsSet: we now just use .set on any platformChris Lattner2010-01-261-1/+0
| | | | | | that has it. llvm-svn: 94581
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-261-1/+1
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* don't bother setting the AsmPrinter::MF ivar, now thatChris Lattner2010-01-261-2/+0
| | | | | | | AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) llvm-svn: 94510
* eliminate redundant argument to EmitJumpTableInfoChris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94464
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-243-4/+0
| | | | llvm-svn: 94378
* mcize lcomm, simplify .comm, extend both to support 64-bit sizes.Chris Lattner2010-01-231-1/+1
| | | | llvm-svn: 94299
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-223-0/+3
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* revert 93934, removing the MCAsmInfo endianness bit. I can'tChris Lattner2010-01-201-2/+1
| | | | | | | stomache MCAsmInfo having this, and I found a better solution to this layering issue. llvm-svn: 93985
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-191-1/+2
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-88/+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
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-50/+19
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,Chris Lattner2010-01-161-1/+1
| | | | | | | | and add an explicit ForcePrivate argument. Switch FunctionEHFrameInfo to be MCSymbol based instead of string based. llvm-svn: 93646
* MCize a bunch more stuff, eliminating a lot of uses of the manglerChris Lattner2010-01-161-39/+50
| | | | | | and CurrentFnName. llvm-svn: 93594
* remove two write-only sets.Chris Lattner2010-01-151-4/+0
| | | | llvm-svn: 93590
OpenPOWER on IntegriCloud