summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/PIC16InstrInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* Per discussion with Sanjiv, remove the PIC16 target from mainline. When/ifChris Lattner2010-10-111-76/+0
| | | | | | | it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. llvm-svn: 116190
* Remove the isMoveInstr() hook.Jakob Stoklund Olesen2010-07-161-4/+0
| | | | llvm-svn: 108567
* Replace copyRegToReg with copyPhysReg for PIC16.Jakob Stoklund Olesen2010-07-111-6/+4
| | | | llvm-svn: 108081
* Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). ThisStuart Hastings2010-06-171-1/+2
| | | | | | | | | | | | addresses a longstanding deficiency noted in many FIXMEs scattered across all the targets. This effectively moves the problem up one level, replacing eleven FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path through FastISel where we actually supply a DebugLoc, fixing Radar 7421831. llvm-svn: 106243
* Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman2010-05-061-1/+2
| | | | | | doesn't have to guess. llvm-svn: 103194
* Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng2010-05-061-2/+4
| | | | llvm-svn: 103193
* Remove unnecessary gotos to fall-thru successors.Sanjiv Gupta2009-10-271-1/+4
| | | | llvm-svn: 85257
* FrameIndex could be used as a value (addressof (arg)) or as an address.Sanjiv Gupta2009-06-031-0/+5
| | | | | | | Expand it exactly like GlobalAddress. Fix some more crashes (InsertBranch() not being implemented) for compiling hitec libs. llvm-svn: 72776
* Mark mayLoad, mayStore for insns correctly and use themSanjiv Gupta2009-05-121-19/+1
| | | | | | to check if an insn is accessing memory during mem sel optimization. llvm-svn: 71537
* Emit banksel and movlp instructions.Sanjiv Gupta2009-05-061-0/+17
| | | | | | | Split large global data (both initialized and un-initialized) into multiple sections of <= 80 bytes. Provide routines to manage PIC16 ABI naming conventions. llvm-svn: 71073
* Fixed build warnings. Restoring changes done in 62600, they were lost in 62655.Sanjiv Gupta2009-01-211-2/+2
| | | | llvm-svn: 62681
* Implement LowerOperationWrapper for legalizer. Sanjiv Gupta2009-01-211-2/+2
| | | | | | Also a few signed comparison fixes. llvm-svn: 62665
* Change TargetInstrInfo::isMoveInstr to return source and destination ↵Evan Cheng2009-01-201-2/+2
| | | | | | sub-register indices as well. llvm-svn: 62600
* Fixed build warnings.Sanjiv Gupta2008-11-191-2/+4
| | | | llvm-svn: 59621
* Added a more function PIC16 backend. However to get this working a patch inSanjiv Gupta2008-11-191-33/+22
| | | | | | ExpandIntegerOperand (LegalizeIntegerTypes.cpp) is needed which is yet to be reworked and submitted. llvm-svn: 59617
* Add more const qualifiers. This fixes build breakage from r59540.Dan Gohman2008-11-181-2/+4
| | | | llvm-svn: 59542
* Convert uses of std::vector in TargetInstrInfo to SmallVector. This change ↵Owen Anderson2008-08-141-1/+1
| | | | | | had to be propoagated down into all the targets and up into all clients of this API. llvm-svn: 54802
* Change target-specific classes to use more precise static types.Dan Gohman2008-05-141-1/+1
| | | | | | | This eliminates the need for several awkward casts, including the last dynamic_cast under lib/Target. llvm-svn: 51091
* Adding files for Microchip's PIC16 target.Sanjiv Gupta2008-05-131-0/+78
A brief description about PIC16: =============================== PIC16 is an 8-bit microcontroller with only one 8-bit register which is the accumulator. All arithmetic/load/store operations are 8-bit only. The architecture has two address spaces: program and data. The program memory is divided into 2K pages and the data memory is divided into banks of 128 byte, with only 80 usable bytes, resulting in an non-contiguous data memory. It supports direct data memory access (by specifying the address as part of the instruction) and indirect data and program memory access (in an unorthodox fashion which utilize a 16 bit pointer register). Two classes of registers exist: (8-bit class which is only one accumulator) (16-bit class, which contains one or more 16 bit pointer(s)) llvm-svn: 51027
OpenPOWER on IntegriCloud