Andrew Lenharth
6e707fb39c
fix short immediate loads
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25371 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 21:41:39 +00:00
Andrew Lenharth
3b628f8388
this pattern was bogus
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-11 03:33:06 +00:00
Andrew Lenharth
29418a862c
Int immediate loading fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25182 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-10 19:12:47 +00:00
Andrew Lenharth
f7c4bd65c0
proper branch not equal sequence
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-09 19:49:58 +00:00
Chris Lattner
bfc89d3876
unbreak the build, these are now in TargetSelectionDAG.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-05 04:48:15 +00:00
Andrew Lenharth
feab2f837c
Move brcond over and fix some imm patterns. This may be the last change before changing the default alpha isel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-01 22:16:14 +00:00
Andrew Lenharth
dcbaf8a072
improve constant loading. Still sucks, but oh well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25047 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-30 02:30:02 +00:00
Andrew Lenharth
a117b187f7
let us get some do what I meant not what I said stuff checked in. You would think the alpha backend would be 64bit clean
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25040 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-29 01:06:12 +00:00
Andrew Lenharth
aa6ed8c7cc
Fix up immediate handling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25039 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-29 00:50:08 +00:00
Andrew Lenharth
713b0b59fc
Restore some happiness to the JIT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25026 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-27 06:25:50 +00:00
Andrew Lenharth
424ba780dc
Fix alpha regressions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25025 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-27 03:53:58 +00:00
Evan Cheng
2b4ea795a2
Added field noResults to Instruction.
...
Currently tblgen cannot tell which operands in the operand list are results so
it assumes the first one is a result. This is bad. Ideally we would fix this
by separating results from inputs, e.g. (res R32:$dst),
(ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding
'let noResults = 1' is the workaround to tell tblgen that the instruction does
not produces a result. It works for now since tblgen does not support
instructions which produce multiple results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25017 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26 09:11:45 +00:00
Andrew Lenharth
eececbab32
add br pattern, unify JSR and BSR ISel instrs, and add BSR support for DAG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25011 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-25 17:36:48 +00:00
Andrew Lenharth
53d8970625
All that just to lower div and rem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25008 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-25 01:34:27 +00:00
Andrew Lenharth
c687b48741
All addressing modes are now exposed. The only remaining relocated forms
...
are for function prologue.
TODO: move external symbols over to using RelLit.
: have a pattern that matches constpool|globaladdr
: have a pattern that matches (add x imm) -> x, imm or (...) -> ..., 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25003 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-24 08:29:32 +00:00
Andrew Lenharth
b6718607c5
Unify the patterns for loads and stores. Now offset addressing should be
...
supported. This almost completes memory operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25002 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-24 07:34:33 +00:00
Andrew Lenharth
4e62951282
Let's see if we can break things.
...
Lower GOT relative addresses to Lo and HI.
Update both ISels to select them when they can.
Saves instructions here and there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25001 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-24 05:36:33 +00:00
Andrew Lenharth
9fa4d4c7c4
move loads and stores over. Smart addr selection comming
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25000 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-24 03:41:56 +00:00
Andrew Lenharth
110f2243fc
fix FP selects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24672 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-12 20:30:09 +00:00
Andrew Lenharth
e41419f51e
FP select improvements (and likely breakage), oh and crazy people might want to *return* floating point values. Don't see why myself
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24658 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-11 03:54:31 +00:00
Andrew Lenharth
dd3ccde9ea
it helps if your conditionals are not reversed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24641 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-09 00:45:42 +00:00
Andrew Lenharth
bbe1225bf4
fix divide and remainder
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24628 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 23:27:39 +00:00
Andrew Lenharth
eda80a0dec
added instructions with inverted immediates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24614 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 00:33:53 +00:00
Andrew Lenharth
8a3a5fc9ba
yea, it helps to have your path set right when testing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24613 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 23:41:45 +00:00
Andrew Lenharth
5de36f95da
These never trigger, but whatever
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24612 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 23:19:44 +00:00
Andrew Lenharth
7962065fdb
move this over to the dag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24609 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-05 20:50:53 +00:00
Andrew Lenharth
b2156f91f5
Make typesafe that which isn't: FCMOVxx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24536 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 17:11:20 +00:00
Andrew Lenharth
cd80496ccc
FPSelect and more custom lowering
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24535 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 16:10:29 +00:00
Andrew Lenharth
7f0db91f86
All sorts of stuff.
...
Getting in on the custom lowering thing, yay
evilness with fp setcc, yuck
trivial int select, hmmm
in memory args for functions, yay
DIV and REM, always handy. They should be custom lowered though.
Lots more stuff compiles now (go go single source!). Of course, none of it
probably works, but that is what the nightly tester can find out :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24533 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-30 07:19:56 +00:00
Andrew Lenharth
50b37845ef
massive DAGISel patch. lots and lots more stuff compiles now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24483 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-22 04:20:06 +00:00
Andrew Lenharth
51b8d54922
continued readcyclecounter support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11 16:47:30 +00:00
Andrew Lenharth
5cefc5e64d
whatever. Intermediate patch to see what breaks. Seems ok.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24260 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-09 19:17:08 +00:00
Andrew Lenharth
2012cc013c
int comparison patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24020 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 18:44:45 +00:00
Andrew Lenharth
641b64aa4b
Simplify instinfo, set random bits on more fp insts, and fix 1 opcode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24014 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 17:41:46 +00:00
Andrew Lenharth
8b7f14e970
Add several things.
...
loads
branches
setcc
working calls
Global address
External addresses
now I can manage malloc calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23887 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 03:43:48 +00:00
Andrew Lenharth
756fbeb905
Well, the Constant matching pattern works. Can't say much about calls or globals yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23884 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 22:06:58 +00:00
Andrew Lenharth
fe9234db9b
byte zap not immediate goodness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23855 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:24:05 +00:00
Andrew Lenharth
1f347a318c
Inst cleanup. As a bonus, operands are in the correct order for cmovs. Expect new stuff to pass in the JIT tonight
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23852 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 23:58:36 +00:00
Andrew Lenharth
964b6aacb4
added a few 1 operand form stuff. Seems to break regalloc on alpha. sigh
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23849 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 19:39:24 +00:00
Andrew Lenharth
892ade722a
Sounds good, finish the intop conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23843 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 14:42:48 +00:00
Chris Lattner
ae4be981b1
Add some pattern fragments to simplify the repetitive parts of the patterns
...
for some common ops and use them for a few examples. Andrew, if you like
this, feel free to convert the rest over, if you hate it, feel free to
revert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23837 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 04:21:06 +00:00
Chris Lattner
d7cc4c407d
simplify this a bit by using immediates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23836 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 03:57:03 +00:00
Andrew Lenharth
4907d22a90
ret 0; works, not much else
...
still lots of uglyness.
Maybe calls will come soon.
Fixing the return value of things will be necessary to make alpha work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23832 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 00:28:31 +00:00
Andrew Lenharth
d5613debf9
remove VAX compatibility instruction, we will never use this
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23643 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-06 16:53:32 +00:00
Chris Lattner
80132a4b48
mark variable arity instructions as such. Alpha wins the battle for
...
cleanest backend in this metric :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22893 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 00:51:37 +00:00
Andrew Lenharth
1f3e808ebf
match gcc's use of tabs, makes diffs easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22764 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-12 16:14:08 +00:00
Andrew Lenharth
5bca0da936
update function codes to reflect /su flags that have been added since this was written
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22571 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-01 20:06:01 +00:00
Andrew Lenharth
98169be50b
support bsr, and more .td simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22543 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-28 18:14:47 +00:00
Andrew Lenharth
f3f951af3f
simpilfy instruction encoding (and make the lines way shorter, aka Misha happification)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22499 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 20:50:29 +00:00
Andrew Lenharth
5d5b17bf91
simplify call code, remove pseudo ops for div and rem, track more loads and stores
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22323 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-01 19:14:02 +00:00