summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-2/+2
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-2/+3
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* FrameIndex could be used as a value (addressof (arg)) or as an address.Sanjiv Gupta2009-06-031-0/+28
| | | | | | | Expand it exactly like GlobalAddress. Fix some more crashes (InsertBranch() not being implemented) for compiling hitec libs. llvm-svn: 72776
* Change MachineInstrBuilder::addReg() to take a flag instead of a list ofBill Wendling2009-05-131-2/+2
| | | | | | | | | | | | booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
* Changed lowering and asmprinter to use ABI Names class called PAN.Sanjiv Gupta2009-05-101-4/+2
| | | | llvm-svn: 71386
* Emit banksel and movlp instructions.Sanjiv Gupta2009-05-061-4/+4
| | | | | | | 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
* Added code to handle spilling and reloading of FSRs.Sanjiv Gupta2009-04-101-6/+31
| | | | llvm-svn: 68783
* Map stack based frameindices for spills to zero based indices that can be ↵Sanjiv Gupta2009-04-061-2/+4
| | | | | | accessed based on an external symbol defining the location of temporary data for a function. For example: we have spill slots addressed as foo.tmp + 0, foo.tmp + 1 etc. llvm-svn: 68442
* Move debug loc info along when the spiller creates new instructions.Bill Wendling2009-02-121-4/+11
| | | | llvm-svn: 64342
* Fixed build warnings. Restoring changes done in 62600, they were lost in 62655.Sanjiv Gupta2009-01-211-2/+3
| | | | llvm-svn: 62681
* Implement LowerOperationWrapper for legalizer. Sanjiv Gupta2009-01-211-3/+2
| | | | | | Also a few signed comparison fixes. llvm-svn: 62665
* Change TargetInstrInfo::isMoveInstr to return source and destination ↵Evan Cheng2009-01-201-2/+3
| | | | | | sub-register indices as well. llvm-svn: 62600
* Checking in conditionals, function call, arrays and libcalls implementation.Sanjiv Gupta2009-01-131-2/+11
| | | | llvm-svn: 62174
* Add include files needed when building withDuncan Sands2008-11-281-0/+1
| | | | | | gcc 4.4 (due to use of sprintf). llvm-svn: 60209
* Fixed build warnings.Sanjiv Gupta2008-11-191-2/+2
| | | | llvm-svn: 59621
* Added a more function PIC16 backend. However to get this working a patch inSanjiv Gupta2008-11-191-87/+86
| | | | | | 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/+2
| | | | llvm-svn: 59542
* Add <cstdio> include where needed by gcc-4.4.Duncan Sands2008-10-081-0/+1
| | | | | | Patch by Samuel Tardieu. llvm-svn: 57291
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-5/+5
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* 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
* Detabification. Fixed indentation and spacing.Sanjiv Gupta2008-05-141-4/+4
| | | | | | | Changed cout to DOUT, and TODOs to FIXMEs. Other changes as per coding conventions. llvm-svn: 51105
* Adding files for Microchip's PIC16 target.Sanjiv Gupta2008-05-131-0/+143
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