aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/MSP430
Commit message (Collapse)AuthorAgeFilesLines
* Introduce new headers whose inclusion forces linking andDouglas Gregor2009-06-161-0/+5
| | | | | | | | | | | initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73543 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2009-06-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72969 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate CPU string out of SubtargetFeaturesAnton Korobeynikov2009-05-231-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72335 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark rotl/rotr as expand. This generates pretty ugly code, but this is ↵Anton Korobeynikov2009-05-171-0/+4
| | | | | | better than nothing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71976 91177308-0d34-0410-b5e6-96231b3b80d8
* TypoAnton Korobeynikov2009-05-172-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71975 91177308-0d34-0410-b5e6-96231b3b80d8
* Change MachineInstrBuilder::addReg() to take a flag instead of a list ofBill Wendling2009-05-132-4/+4
| | | | | | | | | | | | | 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()). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71722 91177308-0d34-0410-b5e6-96231b3b80d8
* Add imm-reg and imm-mem patters for cmp on msp430Anton Korobeynikov2009-05-101-0/+14
| | | | | | (imm is allowed to be source operand, not dest...) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71393 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow 8 bit select in custom inserterAnton Korobeynikov2009-05-081-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71239 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand UREM / SREM into libcallsAnton Korobeynikov2009-05-081-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71236 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 8 bit selectAnton Korobeynikov2009-05-081-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71235 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore minor deletion.Mike Stump2009-05-041-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle implicit zext in a better way. Shamelessly stolen from x86 backend.Anton Korobeynikov2009-05-031-0/+16
| | | | | | Thanks for Dan Gohman for suggestion! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70782 91177308-0d34-0410-b5e6-96231b3b80d8
* Update due to mainline API changeAnton Korobeynikov2009-05-035-19/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70769 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TODO list :)Anton Korobeynikov2009-05-031-0/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70768 91177308-0d34-0410-b5e6-96231b3b80d8
* Make handling of conditional stuff much more straightforwardAnton Korobeynikov2009-05-033-95/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70767 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporary disable imm patterns for cmp. Actually, all cmp-related stuff ↵Anton Korobeynikov2009-05-031-18/+82
| | | | | | (select_cc, setcc, br_cc). needs to be rethought git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70766 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand divisions into libcallsAnton Korobeynikov2009-05-031-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70765 91177308-0d34-0410-b5e6-96231b3b80d8
* Custom lower SIGN_EXTENDAnton Korobeynikov2009-05-032-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70763 91177308-0d34-0410-b5e6-96231b3b80d8
* Some eye-candyAnton Korobeynikov2009-05-033-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70762 91177308-0d34-0410-b5e6-96231b3b80d8
* Print function header / footerAnton Korobeynikov2009-05-031-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70761 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix printing: je => jeqAnton Korobeynikov2009-05-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70760 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 8bit shiftsAnton Korobeynikov2009-05-034-15/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70759 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle logical shift right (at least I hope so :) )Anton Korobeynikov2009-05-033-4/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70758 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle anyextAnton Korobeynikov2009-05-031-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70757 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand all sorts of indirect branchesAnton Korobeynikov2009-05-031-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70755 91177308-0d34-0410-b5e6-96231b3b80d8
* Add InsertBranch() hook for tail mergeingAnton Korobeynikov2009-05-032-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70754 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement bswapAnton Korobeynikov2009-05-031-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70753 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle ExternalSymbol'sAnton Korobeynikov2009-05-035-1/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70752 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand muls (all mulls!) to libcalls for nowAnton Korobeynikov2009-05-031-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70751 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide addc and subcAnton Korobeynikov2009-05-031-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70748 91177308-0d34-0410-b5e6-96231b3b80d8
* Add left shiftAnton Korobeynikov2009-05-033-5/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70747 91177308-0d34-0410-b5e6-96231b3b80d8
* Add direct branchAnton Korobeynikov2009-05-031-5/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70746 91177308-0d34-0410-b5e6-96231b3b80d8
* It's error-prone to maintain two separate variants of asmprinting stuff, one ↵Anton Korobeynikov2009-05-031-104/+104
| | | | | | of which is even used. Drop second (aka 'intel') variant of operands. It can be added later, if needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70745 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower select with custom inserted and make condjumps genericAnton Korobeynikov2009-05-035-36/+168
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70744 91177308-0d34-0410-b5e6-96231b3b80d8
* Add first draft for conditions, conditional branches, etcAnton Korobeynikov2009-05-034-2/+202
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70743 91177308-0d34-0410-b5e6-96231b3b80d8
* Hanle i8 returnsAnton Korobeynikov2009-05-031-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70742 91177308-0d34-0410-b5e6-96231b3b80d8
* Small tweakingAnton Korobeynikov2009-05-032-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70741 91177308-0d34-0410-b5e6-96231b3b80d8
* Add prologue/epilogue emission. Fix frame pointer handling.Anton Korobeynikov2009-05-033-6/+138
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70740 91177308-0d34-0410-b5e6-96231b3b80d8
* Add code for save/restore of callee-saved registersAnton Korobeynikov2009-05-034-1/+101
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70739 91177308-0d34-0410-b5e6-96231b3b80d8
* Two more hooks for RA and FP registersAnton Korobeynikov2009-05-031-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70738 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper handle loading of effective address of stack slot stuffAnton Korobeynikov2009-05-033-14/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70737 91177308-0d34-0410-b5e6-96231b3b80d8
* Match frame indexesAnton Korobeynikov2009-05-031-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70736 91177308-0d34-0410-b5e6-96231b3b80d8
* First draft of stack slot loads / stores loweringAnton Korobeynikov2009-05-035-4/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70735 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverse order of memory argumentsAnton Korobeynikov2009-05-033-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70734 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove bogus patternAnton Korobeynikov2009-05-031-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70733 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct asmprinting of memory operandsAnton Korobeynikov2009-05-032-21/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70732 91177308-0d34-0410-b5e6-96231b3b80d8
* Match wrapper node for addressAnton Korobeynikov2009-05-031-2/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70731 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lowering for global address nodes. Not pretty efficient though.Anton Korobeynikov2009-05-033-1/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70730 91177308-0d34-0410-b5e6-96231b3b80d8
* Some early full call lowering draft for direct callsAnton Korobeynikov2009-05-032-11/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70729 91177308-0d34-0410-b5e6-96231b3b80d8
* Add call frame setup instruction elimination and lowerid for bunch of ↵Anton Korobeynikov2009-05-035-11/+127
| | | | | | call-related stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70728 91177308-0d34-0410-b5e6-96231b3b80d8