summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Blackfin
Commit message (Collapse)AuthorAgeFilesLines
...
* asmstreamerize the .size directive for function bodies, force clientsChris Lattner2010-04-031-1/+1
| | | | | | of printOffset to pass in a stream to print to. llvm-svn: 100296
* use DebugLoc default ctor instead of DebugLoc::getUnknownLoc()Chris Lattner2010-04-022-19/+15
| | | | llvm-svn: 100214
* Make isInt?? and isUint?? template specializations of the generic versions. ThisBenjamin Kramer2010-03-292-9/+9
| | | | | | | makes calls a little bit more consistent and allows easy removal of the specializations in the future. Convert all callers to the templated functions. llvm-svn: 99838
* [llvm_void_ty] is no longer needed for result types, Chris Lattner2010-03-231-3/+3
| | | | | | just use an empty result list. llvm-svn: 99346
* Completely remove Blackfin patterns that thought JustCC was i1.Jakob Stoklund Olesen2010-03-221-14/+1
| | | | | | Thanks, Chris! llvm-svn: 99183
* set SDNPVariadic on nodes throughout the rest of the targets thatChris Lattner2010-03-191-1/+2
| | | | | | need them. llvm-svn: 98937
* disable some illegal blackfin patterns. sext from i32 to i32 can neverChris Lattner2010-03-191-5/+5
| | | | | | match. Jakob, please take a look when you get a chance. llvm-svn: 98931
* Check if function names start with "llvm." before trying to lookup them up asBob Wilson2010-03-181-0/+4
| | | | | | | | intrinsics. The intrinsic lookup code assumes that this check has been done and assumes the names are at least 6 characters long. Valgrind complained about this. pr6638. llvm-svn: 98831
* 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/+2
| | | | | | | | | | 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
* Sink InstructionSelect() out of each target into SDISel, and rename itChris Lattner2010-03-021-8/+2
| | | | | | | | | | | | 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
* 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-151-2/+3
| | | | | | change to SelectionDAG build APIs. llvm-svn: 96231
* print all the newlines at the end of instructions withChris Lattner2010-02-101-1/+1
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* move target-independent opcodes out of TargetInstrInfoChris Lattner2010-02-091-1/+1
| | | | | | | | | into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-031-1/+4
| | | | | | | | 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/+1
| | | | 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-1/+2
| | | | | | sibcall eligibility. llvm-svn: 95130
* switch blackfin to the default runOnMachineFunctionChris Lattner2010-01-281-43/+1
| | | | llvm-svn: 94729
* 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 blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cppChris Lattner2010-01-271-37/+5
| | | | | | is now less than 200 LOC! llvm-svn: 94699
* 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-0/+1
| | | | | | | | | | | 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
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-261-1/+1
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* 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-3/+0
| | | | llvm-svn: 94378
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-223-0/+4
| | | | | | | | | | | 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-23/+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-30/+12
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* supplement CurrentFnName with CurrentFnSym, which will eventuallyChris Lattner2010-01-151-21/+39
| | | | | | | replace it. Upgrade Alpha, Blackfin, and part of CellSPU to not use mangler anymore. CellSPU needs more invasive surgery. llvm-svn: 93589
* add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbolChris Lattner2010-01-151-5/+2
| | | | | | helper method, use it to simplify some code. llvm-svn: 93575
* MC'ize this a bit and upgrade APIsChris Lattner2010-01-131-2/+3
| | | | llvm-svn: 93309
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-2/+6
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* Change SelectCode's argument from SDValue to SDNode *, to make it moreDan Gohman2010-01-051-6/+5
| | | | | | | | | clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. llvm-svn: 92564
* Remove dead variable.Bill Wendling2009-12-281-1/+0
| | | | llvm-svn: 92185
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-231-3/+0
| | | | | | | | Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711
* We are not using DBG_STOPPOINT anymore.Devang Patel2009-11-211-1/+0
| | | | llvm-svn: 89536
* Fix a typo in a comment.Dan Gohman2009-11-191-1/+1
| | | | llvm-svn: 89360
* Move DebugInfo checks into EmitComments and remove them fromDavid Greene2009-11-131-1/+1
| | | | | | | | target-specific AsmPrinters. Not all comments need DebugInfo. Re-enable the line numbers comment test. llvm-svn: 88697
* Make the MachineFunction argument of getFrameRegister const.David Greene2009-11-121-1/+1
| | | | | | This also fixes a build error. llvm-svn: 87027
* Add a bool flag to StackObjects telling whether they reference spillDavid Greene2009-11-122-3/+6
| | | | | | | | | | | | | slots. The AsmPrinter will use this information to determine whether to print a spill/reload comment. Remove default argument values. It's too easy to pass a wrong argument value when multiple arguments have default values. Make everything explicit to trap bugs early. Update all targets to adhere to the new interfaces.. llvm-svn: 87022
* Set isBarrier = 1 on return instructions, as they are control barriers.Dan Gohman2009-11-111-0/+1
| | | | llvm-svn: 86851
* indicate what the native integer types for the target are.Chris Lattner2009-11-071-1/+1
| | | | | | Please verify. llvm-svn: 86397
* add some missing #includesChris Lattner2009-11-072-2/+2
| | | | llvm-svn: 86367
OpenPOWER on IntegriCloud