204 Commits

Author SHA1 Message Date
Andrew Lenharth
680ac12e53 Add memory operand and int regs
llvm-svn: 28896
2006-06-21 15:42:36 +00:00
Andrew Lenharth
b0316eada6 inline asm, at least for floats
llvm-svn: 28895
2006-06-21 13:37:27 +00:00
Andrew Lenharth
336313ce3d fix argument problem
llvm-svn: 28893
2006-06-21 01:00:43 +00:00
Andrew Lenharth
f570feeae3 It really helps to be returning to the correct place
llvm-svn: 28769
2006-06-13 18:27:39 +00:00
Andrew Lenharth
80528499cf Let the alpha breakage begin. First Formals and RET. next Calls
llvm-svn: 28753
2006-06-12 18:09:24 +00:00
Andrew Lenharth
1dc9ec5874 Move this code to a common place
llvm-svn: 28329
2006-05-16 17:42:15 +00:00
Chris Lattner
132322b96e remove dead variable.
llvm-svn: 28258
2006-05-12 18:17:25 +00:00
Nate Begeman
4ca2ea5b43 JumpTable support! What this represents is working asm and jit support for
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.

llvm-svn: 27947
2006-04-22 18:53:45 +00:00
Andrew Lenharth
1596a1b276 This may be overconservative, but it lets the new cfe compile
llvm-svn: 27471
2006-04-06 23:18:45 +00:00
Andrew Lenharth
cee782d514 fix some linking problems with the new gcc
llvm-svn: 27460
2006-04-06 21:26:32 +00:00
Andrew Lenharth
4e2c073a33 mul by const conversion sequences. more coming soon
llvm-svn: 27368
2006-04-03 03:18:59 +00:00
Andrew Lenharth
444bdb069a This makes McCat/12-IOtest go 8x faster or so
llvm-svn: 27363
2006-04-02 21:08:39 +00:00
Andrew Lenharth
01bd5523a3 This will be needed soon
llvm-svn: 27362
2006-04-02 20:13:57 +00:00
Nate Begeman
bb01d4f272 Remove BRTWOWAY*
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.

llvm-svn: 26814
2006-03-17 01:40:33 +00:00
Andrew Lenharth
ed7a293b44 fcopysign and get rid of dsnode cruft. custom PA runtimes make this better in some senses
llvm-svn: 26641
2006-03-09 14:58:25 +00:00
Chris Lattner
9c7f50376a Copysign needs to be expanded everywhere. Note that Alpha and IA64 should
implement copysign as a native op if they have it.

llvm-svn: 26541
2006-03-05 05:08:37 +00:00
Chris Lattner
62c3484e43 Switch targets over to using SelectionDAG::getCALLSEQ_START to create
CALLSEQ_START nodes.

llvm-svn: 26143
2006-02-13 09:00:43 +00:00
Nate Begeman
7e7f439f85 Fix some of the stuff in the PPC README file, and clean up legalization
of the SELECT_CC, BR_CC, and BRTWOWAY_CC nodes.

llvm-svn: 25875
2006-02-01 07:19:44 +00:00
Evan Cheng
32be2dc0af Allow the specification of explicit alignments for constant pool entries.
llvm-svn: 25855
2006-01-31 22:23:14 +00:00
Chris Lattner
b5f0ba6051 Update alpha to reflect recent constantfp legalize changes. It's not clear
why all this code isn't autogenerated. :(

llvm-svn: 25770
2006-01-29 06:25:22 +00:00
Nate Begeman
595ec734fc Implement Promote for VAARG, and allow it to be custom promoted for people
who don't want the default behavior (Alpha).

llvm-svn: 25726
2006-01-28 03:14:31 +00:00
Chris Lattner
2c00db82bd Switch to AlphaISD::CALL instead of ISD::CALL
llvm-svn: 25718
2006-01-27 23:39:00 +00:00
Andrew Lenharth
5c3dd5fafd oops
llvm-svn: 25623
2006-01-25 23:33:32 +00:00
Andrew Lenharth
a852660e74 forgot one
llvm-svn: 25620
2006-01-25 22:28:07 +00:00
Andrew Lenharth
93fd315292 make things compile again
llvm-svn: 25614
2006-01-25 21:54:38 +00:00
Nate Begeman
e74795cd70 First part of bug 680:
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.

llvm-svn: 25606
2006-01-25 18:21:52 +00:00
Andrew Lenharth
c0bf377f98 bye bye Pattern ISEL
llvm-svn: 25553
2006-01-23 21:56:07 +00:00
Andrew Lenharth
fef7dec9cc added stores to lsmark
llvm-svn: 25552
2006-01-23 21:51:33 +00:00
Andrew Lenharth
208bbe9ca9 fix up more lsmark stuff
llvm-svn: 25550
2006-01-23 21:23:26 +00:00
Andrew Lenharth
ba97ea52d4 yea, lowering this stuff will basically work
llvm-svn: 25549
2006-01-23 20:59:50 +00:00
Andrew Lenharth
5df67bcd50 typo
llvm-svn: 25464
2006-01-19 21:10:38 +00:00
Andrew Lenharth
34380b7675 stack and rpcc
llvm-svn: 25369
2006-01-16 21:22:38 +00:00
Andrew Lenharth
81b108c54d Friendly names
llvm-svn: 25364
2006-01-16 19:53:25 +00:00
Nate Begeman
2fba8a3aaa bswap implementation
llvm-svn: 25312
2006-01-14 03:14:10 +00:00
Chris Lattner
8e2f52e645 expand unsupported stacksave/stackrestore nodes
llvm-svn: 25272
2006-01-13 02:42:53 +00:00
Nate Begeman
1b8121b227 Add bswap, rotl, and rotr nodes
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl

Targets should add rotl/rotr patterns if they have them

llvm-svn: 25222
2006-01-11 21:21:00 +00:00
Jim Laskey
deeafa0f00 Had expand logic backward.
llvm-svn: 25105
2006-01-05 01:47:43 +00:00
Jim Laskey
762e9ec06c Added initial support for DEBUG_LABEL allowing debug specific labels to be
inserted in the code.

llvm-svn: 25104
2006-01-05 01:25:28 +00:00
Andrew Lenharth
0fce613eff All that just to lower div and rem
llvm-svn: 25008
2005-12-25 01:34:27 +00:00
Andrew Lenharth
5b18ed9e60 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
llvm-svn: 25003
2005-12-24 08:29:32 +00:00
Andrew Lenharth
4621488965 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.

llvm-svn: 25001
2005-12-24 05:36:33 +00:00
Jim Laskey
9e296bee9a Disengage DEBUG_LOC from non-PPC targets.
llvm-svn: 24919
2005-12-21 20:51:37 +00:00
Andrew Lenharth
ede966e8ee Make typesafe that which isn't: FCMOVxx
llvm-svn: 24536
2005-11-30 17:11:20 +00:00
Andrew Lenharth
873ed82a36 FPSelect and more custom lowering
llvm-svn: 24535
2005-11-30 16:10:29 +00:00
Andrew Lenharth
6db615df14 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 :)

llvm-svn: 24533
2005-11-30 07:19:56 +00:00
Chris Lattner
9c415364cf No targets support line number info yet.
llvm-svn: 24513
2005-11-29 06:16:21 +00:00
Andrew Lenharth
97a7fcfd2b whatever. Intermediate patch to see what breaks. Seems ok.
llvm-svn: 24260
2005-11-09 19:17:08 +00:00
Andrew Lenharth
e4c91fc9e8 This is suppose to work now
llvm-svn: 23644
2005-10-06 16:54:29 +00:00
Andrew Lenharth
a7a83b9255 begining alpha subtarget support
llvm-svn: 23531
2005-09-29 22:54:56 +00:00
Chris Lattner
0815dcae3f Add FP versions of the binary operators, keeping the int and fp worlds seperate.
Though I have done extensive testing, it is possible that this will break
things in configs I can't test.  Please let me know if this causes a problem
and I'll fix it ASAP.

llvm-svn: 23505
2005-09-28 22:29:17 +00:00