summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Target-independent support for TargetFlags on BlockAddress operands,Dan Gohman2009-11-201-1/+1
| | | | | | and support for blockaddresses in x86-32 PIC mode. llvm-svn: 89506
* Add XCore support for indirectbr / blockaddress.Richard Osborne2009-11-184-1/+23
| | | | llvm-svn: 89273
* Add XCore support for arbitrary-sized aggregate returns.Richard Osborne2009-11-142-0/+17
| | | | llvm-svn: 88802
* 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-2/+2
| | | | | | This also fixes a build error. llvm-svn: 87027
* Add a bool flag to StackObjects telling whether they reference spillDavid Greene2009-11-122-8/+13
| | | | | | | | | | | | | 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-1/+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
* Remove uninteresting and confusing debug output.Dan Gohman2009-11-051-4/+1
| | | | llvm-svn: 86149
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-291-3/+3
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* Add missing names for the XCore specific LADD and LSUB nodes.Richard Osborne2009-10-081-0/+2
| | | | llvm-svn: 83556
* Add some peepholes for signed comparisons using ashr X, X, 32.Richard Osborne2009-10-081-0/+16
| | | | llvm-svn: 83549
* Replace TargetInstrInfo::isInvariantLoad and its target-specificDan Gohman2009-10-072-26/+0
| | | | | | | | | implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. llvm-svn: 83475
* Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach2009-10-072-4/+8
| | | | | | | | | | | | | | | | | | | | a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-061-1/+0
| | | | | | | | | | verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
* Remove xs1b predicate since it is no longer needed to differentiate betweemRichard Osborne2009-10-064-33/+5
| | | | | | xs1a and xs1b. llvm-svn: 83383
* Remove xs1a subtarget. xs1a is a preproduction device used inRichard Osborne2009-10-067-98/+45
| | | | | | | early development boards which is no longer supported in the XMOS toolchain. llvm-svn: 83381
* Default to the xs1b subtargetRichard Osborne2009-10-061-1/+1
| | | | llvm-svn: 83380
* Update processDebugLoc() so that it can be used to process debug info before ↵Devang Patel2009-10-061-1/+3
| | | | | | and after printing an instruction. llvm-svn: 83363
* Use MachineInstr as an processDebugLoc() argument.Devang Patel2009-09-301-1/+1
| | | | | | This will allow processDebugLoc() to handle scopes for DWARF debug info. llvm-svn: 83183
* The AsmPrinter base class contains a DwarfWriter member, so there's no needBob Wilson2009-09-301-10/+1
| | | | | | | for derived AsmPrinters to add another one. In some cases, fixing this removes the need to override the doInitialization method. llvm-svn: 83170
* Rename getTargetNode to getMachineNode, for consistency with theDan Gohman2009-09-251-14/+15
| | | | | | | | naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
* Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic ↵Evan Cheng2009-09-191-2/+11
| | | | | | blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. llvm-svn: 82311
* Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵Evan Cheng2009-09-182-2/+4
| | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
* remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner2009-09-131-6/+3
| | | | llvm-svn: 81714
* the tblgen produced 'getRegisterName' method does not accessChris Lattner2009-09-131-1/+1
| | | | | | the object, make it static instead of const. llvm-svn: 81711
* make tblgen produce a function that returns the name for a physreg.Chris Lattner2009-09-131-0/+2
| | | | | | Nothing is using this info yet. llvm-svn: 81707
* replace printBasicBlockLabel with EmitBasicBlockStart,Chris Lattner2009-09-131-1/+1
| | | | | | | now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. llvm-svn: 81684
* convert some uses of printBasicBlockLabel to use GetMBBSymbolChris Lattner2009-09-131-1/+2
| | | | | | instead. llvm-svn: 81677
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-5/+4
| | | | | | | | | | | | | 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
* hoist the call to processDebugLoc out of the generatedChris Lattner2009-09-091-0/+2
| | | | | | | | | | | | | 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
* Remove some not-really-used variables, as warnedDuncan Sands2009-09-061-7/+6
| | | | | | about by icc (#593, partial). Patch by Erick Tryzelaar. llvm-svn: 81115
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-022-12/+12
| | | | llvm-svn: 80773
* Normalize makefile comments and sort cmake file lists.Benjamin Kramer2009-08-311-1/+1
| | | | llvm-svn: 80584
* eliminate uses of cerr()Chris Lattner2009-08-231-2/+2
| | | | llvm-svn: 79834
* eliminate the last DOUTs from the targets.Chris Lattner2009-08-231-4/+1
| | | | llvm-svn: 79833
* remove various std::ostream version of printing methods fromChris Lattner2009-08-231-5/+5
| | | | | | | | MachineInstr and MachineOperand. This required eliminating a bunch of stuff that was using DOUT, I hope that bill doesn't mind me stealing his fun. ;-) llvm-svn: 79813
* Forgot to update some CMakeLists.Benjamin Kramer2009-08-221-1/+1
| | | | llvm-svn: 79780
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-223-13/+13
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-226-14/+14
| | | | llvm-svn: 79763
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-3/+4
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Add support for mergeable sections back into the XCore backend.Richard Osborne2009-08-181-5/+18
| | | | llvm-svn: 79368
* Put data with relocations in the same sections as data without relocations.Richard Osborne2009-08-181-1/+7
| | | | llvm-svn: 79351
* Reapply r79127. It was fixed by d0k.Bill Wendling2009-08-151-4/+6
| | | | llvm-svn: 79136
* Revert r79127. It was causing compilation errors.Bill Wendling2009-08-151-6/+4
| | | | llvm-svn: 79135
* Change allowsUnalignedMemoryAccesses to take type argument since some targetsEvan Cheng2009-08-151-4/+6
| | | | | | | | | | support unaligned mem access only for certain types. (Should it be size instead?) ARM v7 supports unaligned access for i16 and i32, some v6 variants support it as well. llvm-svn: 79127
* tidy upChris Lattner2009-08-151-1/+2
| | | | llvm-svn: 79101
* Move XCore AsmPrinter to XCore/AsmPrinter directory.Richard Osborne2009-08-156-9/+32
| | | | llvm-svn: 79094
* cmake likes its explicit list of files to build.Chris Lattner2009-08-151-0/+1
| | | | llvm-svn: 79080
OpenPOWER on IntegriCloud