oota-llvm.git
18 years agoFix an assertion to allow constant folding of packed values
Chris Lattner [Wed, 4 Jan 2006 01:01:04 +0000 (01:01 +0000)]
Fix an assertion to allow constant folding of packed values

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25071 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove obsolete comment, make things look a bit nicer
Chris Lattner [Wed, 4 Jan 2006 00:32:01 +0000 (00:32 +0000)]
Remove obsolete comment, make things look a bit nicer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25070 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoreduce stack usage of the recursive SelectCode function by out-lining each
Chris Lattner [Wed, 4 Jan 2006 00:25:00 +0000 (00:25 +0000)]
reduce stack usage of the recursive SelectCode function by out-lining each
case of the switch statement into its own method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25069 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove my previous ugly hack that tries to reduce the stack space usage
Chris Lattner [Tue, 3 Jan 2006 22:55:16 +0000 (22:55 +0000)]
Remove my previous ugly hack that tries to reduce the stack space usage
of SelectCode to make way for a better solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25068 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPull inline methods out of the pass class definition to make it easier to
Chris Lattner [Tue, 3 Jan 2006 19:13:17 +0000 (19:13 +0000)]
Pull inline methods out of the pass class definition to make it easier to
read the code.

Do not internalize debugger anchors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25067 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agosilence some warnings
Chris Lattner [Tue, 3 Jan 2006 17:52:18 +0000 (17:52 +0000)]
silence some warnings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25066 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHappy New Year, LLVM.
John Criswell [Tue, 3 Jan 2006 14:42:06 +0000 (14:42 +0000)]
Happy New Year, LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25065 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoChange a variable from being an iterator to a raw MachineInstr*, to make
Chris Lattner [Tue, 3 Jan 2006 07:41:37 +0000 (07:41 +0000)]
Change a variable from being an iterator to a raw MachineInstr*, to make
GDB use tolerable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25064 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFinally commit Saem's 'patch #3' to refactor the pass manager
Chris Lattner [Tue, 3 Jan 2006 07:05:17 +0000 (07:05 +0000)]
Finally commit Saem's 'patch #3' to refactor the pass manager

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25063 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake the -print-alias-sets pass work for printing out something other than
Chris Lattner [Tue, 3 Jan 2006 06:05:22 +0000 (06:05 +0000)]
Make the -print-alias-sets pass work for printing out something other than
the default aa impl results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25062 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoupdate usage of -print-alias-sets
Chris Lattner [Tue, 3 Jan 2006 06:04:48 +0000 (06:04 +0000)]
update usage of -print-alias-sets

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25061 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotypeo
Andrew Lenharth [Mon, 2 Jan 2006 21:15:53 +0000 (21:15 +0000)]
typeo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25060 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove a 'using namespace std'.
Chris Lattner [Sun, 1 Jan 2006 22:20:31 +0000 (22:20 +0000)]
Remove a 'using namespace std'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25059 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd support for brcond
Andrew Lenharth [Sun, 1 Jan 2006 22:16:43 +0000 (22:16 +0000)]
Add support for brcond

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25058 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMove brcond over and fix some imm patterns. This may be the last change before chang...
Andrew Lenharth [Sun, 1 Jan 2006 22:16:14 +0000 (22:16 +0000)]
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

18 years agoChange this regression so andi is not a valid codegen of it
Andrew Lenharth [Sun, 1 Jan 2006 22:14:31 +0000 (22:14 +0000)]
Change this regression so andi is not a valid codegen of it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25056 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoclean this function up some
Andrew Lenharth [Sun, 1 Jan 2006 22:13:54 +0000 (22:13 +0000)]
clean this function up some

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25055 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a section about using namespaces.
Chris Lattner [Sun, 1 Jan 2006 21:59:22 +0000 (21:59 +0000)]
Add a section about using namespaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25054 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPatch #1 of Saem Ghani's Pass Manager refactoring. From the man:
Chris Lattner [Fri, 30 Dec 2005 20:00:46 +0000 (20:00 +0000)]
Patch #1 of Saem Ghani's Pass Manager refactoring.  From the man:

"All this should do is create what will eventually be the specialised
passmanagers.  Currently, the templates are inheriting them, once the
template specialisations' methods have been absorbed, patches
submitted method by method.  I'll nuke the specialisations and have
the new objects inherit directly from passmanagert, and sanitise the
world of all references to templates.
"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25053 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHP-UX DVDs are crunchy and good to eat
Duraid Madina [Fri, 30 Dec 2005 16:41:48 +0000 (16:41 +0000)]
HP-UX DVDs are crunchy and good to eat

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25052 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoalmost got the HP-UX tester up.. :)
Duraid Madina [Fri, 30 Dec 2005 14:56:37 +0000 (14:56 +0000)]
almost got the HP-UX tester up.. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25051 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRevert removal of std:: prefixes and addtion of "using namespace std;".
Reid Spencer [Fri, 30 Dec 2005 09:07:29 +0000 (09:07 +0000)]
Revert removal of std:: prefixes and addtion of "using namespace std;".
This violates the LLVM coding standards.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25050 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agodon't need this anymore
Duraid Madina [Fri, 30 Dec 2005 02:50:44 +0000 (02:50 +0000)]
don't need this anymore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25049 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agodelete file portably
Duraid Madina [Fri, 30 Dec 2005 02:47:21 +0000 (02:47 +0000)]
delete file portably

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25048 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimprove constant loading. Still sucks, but oh well
Andrew Lenharth [Fri, 30 Dec 2005 02:30:02 +0000 (02:30 +0000)]
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

18 years agoAdd support for generating v4i32 altivec code
Nate Begeman [Fri, 30 Dec 2005 00:12:56 +0000 (00:12 +0000)]
Add support for generating v4i32 altivec code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25046 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove a fixme
Nate Begeman [Fri, 30 Dec 2005 00:11:07 +0000 (00:11 +0000)]
Remove a fixme

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25045 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake sure to pass the offset into the new node, so that we don't silently
Nate Begeman [Fri, 30 Dec 2005 00:10:38 +0000 (00:10 +0000)]
Make sure to pass the offset into the new node, so that we don't silently
drop it on the floor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25044 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd support for generating v4i32 code
Nate Begeman [Fri, 30 Dec 2005 00:09:56 +0000 (00:09 +0000)]
add support for generating v4i32 code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25043 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGeneral cleanup:
Reid Spencer [Thu, 29 Dec 2005 21:13:45 +0000 (21:13 +0000)]
General cleanup:
1. Don't mix C++ and C standard I/O, convert to C++ iostreams
2. Wrap long lines
3. use the std namespace to simplify/shorten the code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25042 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopurity++
Duraid Madina [Thu, 29 Dec 2005 05:59:19 +0000 (05:59 +0000)]
purity++

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25041 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agolet us get some do what I meant not what I said stuff checked in. You would think...
Andrew Lenharth [Thu, 29 Dec 2005 01:06:12 +0000 (01:06 +0000)]
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

18 years agoFix up immediate handling
Andrew Lenharth [Thu, 29 Dec 2005 00:50:08 +0000 (00:50 +0000)]
Fix up immediate handling

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25039 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoditto
Duraid Madina [Wed, 28 Dec 2005 06:58:12 +0000 (06:58 +0000)]
ditto

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25038 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomore compliance stufff
Duraid Madina [Wed, 28 Dec 2005 06:56:09 +0000 (06:56 +0000)]
more compliance stufff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25037 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agobe more polite in public headers
Duraid Madina [Wed, 28 Dec 2005 06:47:33 +0000 (06:47 +0000)]
be more polite in public headers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25036 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoundo yuletide naughtyness(tm)
Duraid Madina [Wed, 28 Dec 2005 06:29:38 +0000 (06:29 +0000)]
undo yuletide naughtyness(tm)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25035 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd these so I can be less naughty
Duraid Madina [Wed, 28 Dec 2005 06:29:02 +0000 (06:29 +0000)]
add these so I can be less naughty

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25034 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agobehold my standards-compliant humps!
Duraid Madina [Wed, 28 Dec 2005 05:56:36 +0000 (05:56 +0000)]
behold my standards-compliant humps!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25033 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWAKEY WAKEY
Duraid Madina [Wed, 28 Dec 2005 05:48:55 +0000 (05:48 +0000)]
WAKEY WAKEY

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25032 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHB is *the* code janitor.
Duraid Madina [Wed, 28 Dec 2005 04:55:42 +0000 (04:55 +0000)]
HB is *the* code janitor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25031 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomixed-STL programs are big and nasty :(
Duraid Madina [Wed, 28 Dec 2005 02:44:35 +0000 (02:44 +0000)]
mixed-STL programs are big and nasty :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25030 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis gets most of the backends building with HP HappyC++.
Duraid Madina [Tue, 27 Dec 2005 10:56:22 +0000 (10:56 +0000)]
This gets most of the backends building with HP HappyC++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25029 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoyet more C++ standards-compliance stuff.
Duraid Madina [Tue, 27 Dec 2005 10:40:34 +0000 (10:40 +0000)]
yet more C++ standards-compliance stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25028 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonasty paste-o, calls passing more than 8 arguments along were having
Duraid Madina [Tue, 27 Dec 2005 10:17:03 +0000 (10:17 +0000)]
nasty paste-o, calls passing more than 8 arguments along were having
args >8 put into the wrong place

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25027 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRestore some happiness to the JIT
Andrew Lenharth [Tue, 27 Dec 2005 06:25:50 +0000 (06:25 +0000)]
Restore some happiness to the JIT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25026 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix alpha regressions.
Andrew Lenharth [Tue, 27 Dec 2005 03:53:58 +0000 (03:53 +0000)]
Fix alpha regressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25025 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a problem duraid pointed out to me compiling kc++ with -enable-x86-fastcc
Chris Lattner [Tue, 27 Dec 2005 03:02:18 +0000 (03:02 +0000)]
Fix a problem duraid pointed out to me compiling kc++ with -enable-x86-fastcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25024 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomore C++ daintiness
Duraid Madina [Mon, 26 Dec 2005 14:31:26 +0000 (14:31 +0000)]
more C++ daintiness

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25023 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoI bet pinski knows why g++ accepts this stuff
Duraid Madina [Mon, 26 Dec 2005 14:23:22 +0000 (14:23 +0000)]
I bet pinski knows why g++ accepts this stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25022 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agogetting there...
Duraid Madina [Mon, 26 Dec 2005 13:48:44 +0000 (13:48 +0000)]
getting there...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25021 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomore standards compliance (damn, I can't wait for unordered_set (tee hee)
Duraid Madina [Mon, 26 Dec 2005 13:34:00 +0000 (13:34 +0000)]
more standards compliance (damn, I can't wait for unordered_set (tee hee)
and unordered_map to make it into the standard)

Hurry up, JTC1 SC22 WG21 Library Working Group!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25020 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoI laugh at your dual-core G5s! Fear my precompiled headers.
Duraid Madina [Mon, 26 Dec 2005 10:34:38 +0000 (10:34 +0000)]
I laugh at your dual-core G5s! Fear my precompiled headers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25019 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agodum de dum
Duraid Madina [Mon, 26 Dec 2005 10:24:15 +0000 (10:24 +0000)]
dum de dum

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25018 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded field noResults to Instruction.
Evan Cheng [Mon, 26 Dec 2005 09:11:45 +0000 (09:11 +0000)]
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

18 years agoi love xmas!!!! *;D*
Duraid Madina [Mon, 26 Dec 2005 08:36:53 +0000 (08:36 +0000)]
i love xmas!!!! *;D*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25016 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomore HP-UX cleanliness
Duraid Madina [Mon, 26 Dec 2005 08:35:06 +0000 (08:35 +0000)]
more HP-UX cleanliness

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25015 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomore standards-compliance stuff
Duraid Madina [Mon, 26 Dec 2005 05:08:55 +0000 (05:08 +0000)]
more standards-compliance stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25014 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHP aCC chokes on this, but it's not required anyway: according to
Duraid Madina [Mon, 26 Dec 2005 05:00:25 +0000 (05:00 +0000)]
HP aCC chokes on this, but it's not required anyway: according to
the bzip2 homepage, only ancient (gcc 2.7.x ?) versions of GCC
require this? It certainly isn't needed for the current bzip2
sources.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25013 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas than
Duraid Madina [Mon, 26 Dec 2005 04:56:16 +0000 (04:56 +0000)]
MERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas than
to try building LLVM on HP-UX! (the Right Way seems to be to tear out
the ancient STL that HP ship and use http://incubator.apache.org/stdcxx/ )

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25012 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd br pattern, unify JSR and BSR ISel instrs, and add BSR support for DAG
Andrew Lenharth [Sun, 25 Dec 2005 17:36:48 +0000 (17:36 +0000)]
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

18 years agounbreak calls, a few more tests should run. Tomorrow: bugpoint!
Duraid Madina [Sun, 25 Dec 2005 14:09:08 +0000 (14:09 +0000)]
unbreak calls, a few more tests should run. Tomorrow: bugpoint!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25010 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agowe don't feed our call instructions extra operands
Duraid Madina [Sun, 25 Dec 2005 14:07:01 +0000 (14:07 +0000)]
we don't feed our call instructions extra operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25009 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAll that just to lower div and rem
Andrew Lenharth [Sun, 25 Dec 2005 01:34:27 +0000 (01:34 +0000)]
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

18 years agoallow custom lowering to return null for legal results
Andrew Lenharth [Sun, 25 Dec 2005 01:07:37 +0000 (01:07 +0000)]
allow custom lowering to return null for legal results

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25007 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSupport Custom lowering of a few more operations.
Andrew Lenharth [Sat, 24 Dec 2005 23:42:32 +0000 (23:42 +0000)]
Support Custom lowering of a few more operations.
Alpha needs to custom lower *DIV and *REM

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25006 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agosupport targetexternalsym
Andrew Lenharth [Sat, 24 Dec 2005 23:36:59 +0000 (23:36 +0000)]
support targetexternalsym

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25005 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoLet the helper functions know about X86::FR32RegClass and X86::FR64RegClass.
Evan Cheng [Sat, 24 Dec 2005 09:48:35 +0000 (09:48 +0000)]
Let the helper functions know about X86::FR32RegClass and X86::FR64RegClass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25004 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAll addressing modes are now exposed. The only remaining relocated forms
Andrew Lenharth [Sat, 24 Dec 2005 08:29:32 +0000 (08:29 +0000)]
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

18 years agoUnify the patterns for loads and stores. Now offset addressing should be
Andrew Lenharth [Sat, 24 Dec 2005 07:34:33 +0000 (07:34 +0000)]
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

18 years agoLet's see if we can break things.
Andrew Lenharth [Sat, 24 Dec 2005 05:36:33 +0000 (05:36 +0000)]
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

18 years agomove loads and stores over. Smart addr selection comming
Andrew Lenharth [Sat, 24 Dec 2005 03:41:56 +0000 (03:41 +0000)]
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

18 years agoFix one of the things in the todo file, and get a bit closer to folding
Nate Begeman [Sat, 24 Dec 2005 01:00:15 +0000 (01:00 +0000)]
Fix one of the things in the todo file, and get a bit closer to folding
constant offsets from statics into the address arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24999 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFor PR625:
Reid Spencer [Fri, 23 Dec 2005 22:27:56 +0000 (22:27 +0000)]
For PR625:
Don't install contents of CVS directories and don't double install when
srcdir == objdir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24998 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago* Removed the use of FLAG. Now use hasFlagIn and hasFlagOut instead.
Evan Cheng [Fri, 23 Dec 2005 22:14:32 +0000 (22:14 +0000)]
* Removed the use of FLAG. Now use hasFlagIn and hasFlagOut instead.
* Added a pseudo instruction (for each target) that represent "return void".
  This is a workaround for lack of optional flag operand (return void is not
  lowered so it does not have a flag operand.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24997 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago* Support for hasInFlag and hasOutFlag (on instructions). Remove nameless FLAG
Evan Cheng [Fri, 23 Dec 2005 22:11:47 +0000 (22:11 +0000)]
* Support for hasInFlag and hasOutFlag (on instructions). Remove nameless FLAG
support which is fragile.
* Fixed a number of bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24996 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove redundant debug locations.
Jim Laskey [Fri, 23 Dec 2005 20:08:28 +0000 (20:08 +0000)]
Remove redundant debug locations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24995 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agothis test fails
Chris Lattner [Fri, 23 Dec 2005 16:14:29 +0000 (16:14 +0000)]
this test fails

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24994 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agothis test is malformed
Chris Lattner [Fri, 23 Dec 2005 16:13:52 +0000 (16:13 +0000)]
this test is malformed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24993 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agounbreak the build :-/
Chris Lattner [Fri, 23 Dec 2005 16:12:20 +0000 (16:12 +0000)]
unbreak the build :-/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24992 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonot a good idea
Chris Lattner [Fri, 23 Dec 2005 07:37:47 +0000 (07:37 +0000)]
not a good idea

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24991 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMore X86 floating point patterns.
Evan Cheng [Fri, 23 Dec 2005 07:31:11 +0000 (07:31 +0000)]
More X86 floating point patterns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24990 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOperand 1 of TRUNCSTORE can be any of integer and floating point types.
Evan Cheng [Fri, 23 Dec 2005 07:30:30 +0000 (07:30 +0000)]
Operand 1 of TRUNCSTORE can be any of integer and floating point types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24989 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow custom lowering of LOAD, EXTLOAD, ZEXTLOAD, STORE, and TRUNCSTORE. Not
Evan Cheng [Fri, 23 Dec 2005 07:29:34 +0000 (07:29 +0000)]
Allow custom lowering of LOAD, EXTLOAD, ZEXTLOAD, STORE, and TRUNCSTORE. Not
currently used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24988 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix something-o
Chris Lattner [Fri, 23 Dec 2005 07:08:39 +0000 (07:08 +0000)]
fix something-o

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24987 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimplement vaarg. Varargs now should work.
Chris Lattner [Fri, 23 Dec 2005 06:37:38 +0000 (06:37 +0000)]
implement vaarg.  Varargs now should work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24986 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimplement vastart. The dag isel compiles this:
Chris Lattner [Fri, 23 Dec 2005 06:24:04 +0000 (06:24 +0000)]
implement vastart.  The dag isel compiles this:

void test3(va_list Y);
void test2(int F, ...) {
  va_list X;
  va_start(X, F);
  test3(X);
}

into this:

test2:
        save -104, %o6, %o6
        st %i5, [%i6+88]
        st %i4, [%i6+84]
        st %i3, [%i6+80]
        st %i2, [%i6+76]
        st %i1, [%i6+72]
        add %i6, 72, %o0
        st %o0, [%i6+-4]
        call test3
        nop
        restore %g0, %g0, %g0
        retl
        nop

The simple isel emits:

test2:
        save -96, %o6, %o6
        st %i0, [%i6+68]
        st %i1, [%i6+72]
        st %i2, [%i6+76]
        st %i3, [%i6+80]
        st %i4, [%i6+84]
        st %i5, [%i6+88]
        or %g0, 1, %l0
        or %g0, 4, %l1
        umul %l0, %l1, %l0
        add %l0, 7, %l0
        and %l0, -8, %l0
        sub %o6, %l0, %o6
        add %o6, 96, %l0
        add %i6, 72, %l1
        st %l1, [%l0]
        ld [%l0], %o0
        call test3
        nop
        restore %g0, %g0, %g0
        retl
        nop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24985 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoremove benchmark list, remove issues addressed by the dag-dag isel
Chris Lattner [Fri, 23 Dec 2005 06:09:30 +0000 (06:09 +0000)]
remove benchmark list, remove issues addressed by the dag-dag isel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24984 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSimplify store(bitconv(x)) to store(x). This allows us to compile this:
Chris Lattner [Fri, 23 Dec 2005 05:48:07 +0000 (05:48 +0000)]
Simplify store(bitconv(x)) to store(x).  This allows us to compile this:

void bar(double Y, double *X) {
  *X = Y;
}

to this:

bar:
        save -96, %o6, %o6
        st %i1, [%i2+4]
        st %i0, [%i2]
        restore %g0, %g0, %g0
        retl
        nop

instead of this:

bar:
        save -104, %o6, %o6
        st %i1, [%i6+-4]
        st %i0, [%i6+-8]
        ldd [%i6+-8], %f0
        std  %f0, [%i2]
        restore %g0, %g0, %g0
        retl
        nop

on sparcv8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24983 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofold (conv (load x)) -> (load (conv*)x).
Chris Lattner [Fri, 23 Dec 2005 05:44:41 +0000 (05:44 +0000)]
fold (conv (load x)) -> (load (conv*)x).

This allows us to compile this:
void foo(double);
void bar(double *X) { foo(*X); }

To this:

bar:
        save -96, %o6, %o6
        ld [%i0+4], %o1
        ld [%i0], %o0
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

instead of this:

bar:
        save -104, %o6, %o6
        ldd [%i0], %f0
        std %f0, [%i6+-8]
        ld [%i6+-4], %o1
        ld [%i6+-8], %o0
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

on SparcV8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24982 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFold bitconv(bitconv(x)) -> x. We now compile this:
Chris Lattner [Fri, 23 Dec 2005 05:37:50 +0000 (05:37 +0000)]
Fold bitconv(bitconv(x)) -> x.  We now compile this:

void foo(double);
void bar(double X) { foo(X); }

to this:

bar:
        save -96, %o6, %o6
        or %g0, %i0, %o0
        or %g0, %i1, %o1
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

instead of this:

bar:
        save -112, %o6, %o6
        st %i1, [%i6+-4]
        st %i0, [%i6+-8]
        ldd [%i6+-8], %f0
        std %f0, [%i6+-16]
        ld [%i6+-12], %o1
        ld [%i6+-16], %o0
        call foo
        nop
        restore %g0, %g0, %g0
        retl
        nop

on V8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24981 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoconstant fold bits_convert in getNode and in the dag combiner for fp<->int
Chris Lattner [Fri, 23 Dec 2005 05:30:37 +0000 (05:30 +0000)]
constant fold bits_convert in getNode and in the dag combiner for fp<->int
conversions.  This allows V8 to compiles this:

void %test() {
        call float %test2( float 1.000000e+00, float 2.000000e+00, double 3.000000e+00, double* null )
        ret void
}

into:

test:
        save -96, %o6, %o6
        sethi 0, %o3
        sethi 1049088, %o2
        sethi 1048576, %o1
        sethi 1040384, %o0
        or %g0, %o3, %o4
        call test2
        nop
        restore %g0, %g0, %g0
        retl
        nop

instead of:

test:
        save -112, %o6, %o6
        sethi 0, %o4
        sethi 1049088, %l0
        st %o4, [%i6+-12]
        st %l0, [%i6+-16]
        ld [%i6+-12], %o3
        ld [%i6+-16], %o2
        sethi 1048576, %o1
        sethi 1040384, %o0
        call test2
        nop
        restore %g0, %g0, %g0
        retl
        nop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24980 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomake sure bit_convert's are expanded
Chris Lattner [Fri, 23 Dec 2005 05:15:23 +0000 (05:15 +0000)]
make sure bit_convert's are expanded

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24979 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomake sure bit_converts are expanded
Chris Lattner [Fri, 23 Dec 2005 05:13:35 +0000 (05:13 +0000)]
make sure bit_converts are expanded

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24978 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGet bugpoint building with VC++ again.
Jeff Cohen [Fri, 23 Dec 2005 05:00:38 +0000 (05:00 +0000)]
Get bugpoint building with VC++ again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24977 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix the int<->fp instructions, which apparently take a single float register
Chris Lattner [Fri, 23 Dec 2005 05:00:16 +0000 (05:00 +0000)]
fix the int<->fp instructions, which apparently take a single float register
to represent the int part (because it's always 32-bits)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24976 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse BIT_CONVERT to simplify this code
Chris Lattner [Fri, 23 Dec 2005 02:31:39 +0000 (02:31 +0000)]
Use BIT_CONVERT to simplify this code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24975 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSimplify some code by using BIT_CONVERT
Chris Lattner [Fri, 23 Dec 2005 00:59:59 +0000 (00:59 +0000)]
Simplify some code by using BIT_CONVERT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24974 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a pasto
Chris Lattner [Fri, 23 Dec 2005 00:52:30 +0000 (00:52 +0000)]
Fix a pasto

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24973 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix a thinko in the bit_convert handling code
Chris Lattner [Fri, 23 Dec 2005 00:50:25 +0000 (00:50 +0000)]
fix a thinko in the bit_convert handling code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24972 91177308-0d34-0410-b5e6-96231b3b80d8