aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix thinkoAnton Korobeynikov2009-07-161-8/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75957 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix epic bug with invalid regclass for R0DAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75956 91177308-0d34-0410-b5e6-96231b3b80d8
* Let RegisterInfo decide whether it can emit cross-class copy or notAnton Korobeynikov2009-07-161-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75955 91177308-0d34-0410-b5e6-96231b3b80d8
* More register pairs (now 32 bit ones)Anton Korobeynikov2009-07-161-0/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75954 91177308-0d34-0410-b5e6-96231b3b80d8
* Add even-odd register pairsAnton Korobeynikov2009-07-161-1/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75953 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak due to mainline api changeAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75952 91177308-0d34-0410-b5e6-96231b3b80d8
* Preliminary mul loweringAnton Korobeynikov2009-07-162-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75951 91177308-0d34-0410-b5e6-96231b3b80d8
* More extloadsAnton Korobeynikov2009-07-162-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75950 91177308-0d34-0410-b5e6-96231b3b80d8
* Tests for cmp / br_cc / select_ccAnton Korobeynikov2009-07-165-0/+570
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75949 91177308-0d34-0410-b5e6-96231b3b80d8
* SELECT_CC loweringAnton Korobeynikov2009-07-165-1/+155
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75948 91177308-0d34-0410-b5e6-96231b3b80d8
* Conditional branches and comparisonsAnton Korobeynikov2009-07-164-3/+228
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75947 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit correct offset for PseudoSourceValueAnton Korobeynikov2009-07-161-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75946 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide proper stack offsets for outgoing argumentsAnton Korobeynikov2009-07-164-8/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75945 91177308-0d34-0410-b5e6-96231b3b80d8
* Change register allocation order to reduce amount of callee-saved regs to be ↵Anton Korobeynikov2009-07-161-18/+98
| | | | | | spilled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75944 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit callee-saved regs spills / restoresAnton Korobeynikov2009-07-168-38/+190
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75943 91177308-0d34-0410-b5e6-96231b3b80d8
* Scan for presence of calls and determine max callframe size early. To allow ↵Anton Korobeynikov2009-07-162-25/+37
| | | | | | ProcessFunctionBeforeCalleeSaveScan() use this information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75942 91177308-0d34-0410-b5e6-96231b3b80d8
* Some preliminary call loweringAnton Korobeynikov2009-07-169-11/+331
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75941 91177308-0d34-0410-b5e6-96231b3b80d8
* Prologue / epilogue emissionAnton Korobeynikov2009-07-163-3/+92
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75940 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple frame index eliminationAnton Korobeynikov2009-07-165-2/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75939 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide proper test :)Anton Korobeynikov2009-07-161-10/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75938 91177308-0d34-0410-b5e6-96231b3b80d8
* Swap the order of imm and idx field for rri addrmode in order to make ↵Anton Korobeynikov2009-07-163-11/+11
| | | | | | handling of rri and ri addrmodes common git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75937 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not truncate sign bits for negative immsAnton Korobeynikov2009-07-162-21/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75936 91177308-0d34-0410-b5e6-96231b3b80d8
* Add address computation stuffAnton Korobeynikov2009-07-163-4/+94
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75935 91177308-0d34-0410-b5e6-96231b3b80d8
* CleanupAnton Korobeynikov2009-07-161-4/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75934 91177308-0d34-0410-b5e6-96231b3b80d8
* Add mem-imm storesAnton Korobeynikov2009-07-163-1/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75933 91177308-0d34-0410-b5e6-96231b3b80d8
* [PATCH 023/155] TypoAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75932 91177308-0d34-0410-b5e6-96231b3b80d8
* Add stores and truncstoresAnton Korobeynikov2009-07-163-3/+97
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75931 91177308-0d34-0410-b5e6-96231b3b80d8
* Add patterns for various extloadsAnton Korobeynikov2009-07-163-1/+119
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75930 91177308-0d34-0410-b5e6-96231b3b80d8
* Do some heroic rri address matching (shamelessly stolen from x86 backend). ↵Anton Korobeynikov2009-07-163-12/+268
| | | | | | Not tested though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75929 91177308-0d34-0410-b5e6-96231b3b80d8
* Change register allocation order, so R0 will be allocated the last among ↵Anton Korobeynikov2009-07-161-2/+2
| | | | | | scratch. This will make address-calculation code much more happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75928 91177308-0d34-0410-b5e6-96231b3b80d8
* Add shifts and reg-imm address matchingAnton Korobeynikov2009-07-167-3/+366
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75927 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bunch of 32-bit patterns... Uffff :)Anton Korobeynikov2009-07-1617-9/+527
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75926 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate return result extension typeAnton Korobeynikov2009-07-161-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75925 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tests for fixes I committed earlier to the C++ FE.Rafael Espindola2009-07-162-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75924 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 32 bit subregsAnton Korobeynikov2009-07-164-29/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75923 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another bunch of reg-imm patterns for add/or/and/xorAnton Korobeynikov2009-07-161-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75922 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bunch of reg-imm movsAnton Korobeynikov2009-07-163-4/+104
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75921 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper match halfword-imm operands for mov and addAnton Korobeynikov2009-07-161-7/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75920 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide masked reg-imm 'or' and 'and'Anton Korobeynikov2009-07-164-11/+123
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75919 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test running linesAnton Korobeynikov2009-07-1610-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add reg-reg and patternAnton Korobeynikov2009-07-163-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75917 91177308-0d34-0410-b5e6-96231b3b80d8
* Add sub reg-reg patternAnton Korobeynikov2009-07-163-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75916 91177308-0d34-0410-b5e6-96231b3b80d8
* Add xor reg-reg patternAnton Korobeynikov2009-07-163-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75915 91177308-0d34-0410-b5e6-96231b3b80d8
* Add or reg-reg pattern.Anton Korobeynikov2009-07-163-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75914 91177308-0d34-0410-b5e6-96231b3b80d8
* Add add reg-reg and reg-imm patternsAnton Korobeynikov2009-07-164-1/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75913 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple reg-reg and reg-imm movesAnton Korobeynikov2009-07-165-8/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75912 91177308-0d34-0410-b5e6-96231b3b80d8
* Minimal lowering for formal_arguments / retAnton Korobeynikov2009-07-164-1/+180
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75911 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testsuite dir for systemz stuffAnton Korobeynikov2009-07-161-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75910 91177308-0d34-0410-b5e6-96231b3b80d8
* Let's start another backend :)Anton Korobeynikov2009-07-1625-2/+1884
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75909 91177308-0d34-0410-b5e6-96231b3b80d8
* Combine an unaligned store of unaligned load into a memmove.Richard Osborne2009-07-163-0/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75908 91177308-0d34-0410-b5e6-96231b3b80d8