oota-llvm.git
19 years agoPrint the DAG out more like a DAG in nested format.
Chris Lattner [Sun, 9 Jan 2005 20:38:33 +0000 (20:38 +0000)]
Print the DAG out more like a DAG in nested format.

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

19 years agoPrint out nodes sorted by their address to make it easier to find them in a list.
Chris Lattner [Sun, 9 Jan 2005 20:26:36 +0000 (20:26 +0000)]
Print out nodes sorted by their address to make it easier to find them in a list.

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

19 years agoCodegen (Reg|imm)+&GV as an LEA, because we cannot put it into the immediate field
Chris Lattner [Sun, 9 Jan 2005 20:20:29 +0000 (20:20 +0000)]
Codegen (Reg|imm)+&GV as an LEA, because we cannot put it into the immediate field
of an ADDri (due to current restrictions on MachineOperand :( ).  This allows
us to generate:

        leal Data+16000, %edx

instead of:

        movl $Data, %edx
        addl $16000, %edx

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

19 years agoAdd a simple transformation. This allows us to compile one of the inner
Chris Lattner [Sun, 9 Jan 2005 20:09:57 +0000 (20:09 +0000)]
Add a simple transformation.  This allows us to compile one of the inner
loops in stepanov to this:

.LBB_Z5test0PdS__2:     # no_exit.1
        fldl data(,%eax,8)
        fldl 24(%esp)
        faddp %st(1)
        fstl 24(%esp)
        incl %eax
        cmpl $2000, %eax
        fstpl 16(%esp)
        #FP_REG_KILL
        jl .LBB_Z5test0PdS__2

instead of this:

.LBB_Z5test0PdS__2:     # no_exit.1
        fldl data(,%eax,8)
        fldl 24(%esp)
        faddp %st(1)
        fstl 24(%esp)
        incl %eax
        movl $data, %ecx
        movl %ecx, %edx
        addl $16000, %edx
        subl %ecx, %edx
        movl %edx, %ecx
        sarl $2, %ecx
        shrl $29, %ecx
        addl %ecx, %edx
        sarl $3, %edx
        cmpl %edx, %eax
        fstpl 16(%esp)
        #FP_REG_KILL
        jl .LBB_Z5test0PdS__2

The old instruction selector produced:

.LBB_Z5test0PdS__2:     # no_exit.1
        fldl 24(%esp)
        faddl data(,%eax,8)
        fstl 24(%esp)
        movl %eax, %ecx
        incl %ecx
        incl %eax
        leal data+16000, %edx
        movl $data, %edi
        subl %edi, %edx
        movl %edx, %edi
        sarl $2, %edi
        shrl $29, %edi
        addl %edi, %edx
        sarl $3, %edx
        cmpl %edx, %ecx
        fstpl 16(%esp)
        #FP_REG_KILL
        jl .LBB_Z5test0PdS__2   # no_exit.1

Which is even worse!

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

19 years agoFix copy and pasto's for FP -> Int. This fixes fldry
Chris Lattner [Sun, 9 Jan 2005 19:49:59 +0000 (19:49 +0000)]
Fix copy and pasto's for FP -> Int.  This fixes fldry

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

19 years agoFix a bug legalizing call instructions (make sure to remember all result
Chris Lattner [Sun, 9 Jan 2005 19:43:23 +0000 (19:43 +0000)]
Fix a bug legalizing call instructions (make sure to remember all result
values), and eliminate some switch statements.

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

19 years agoFix a minor bug legalizing dynamic_stackalloc. This allows us to compile
Chris Lattner [Sun, 9 Jan 2005 19:07:54 +0000 (19:07 +0000)]
Fix a minor bug legalizing dynamic_stackalloc.  This allows us to compile
std::__pad<wchar_t, std::char_traits<wchar_t> >::_S_pad(std::ios_base&, wchar_t, wchar_t*, wchar_t const*, int, int, bool)

from libstdc++

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

19 years agoTeach legalize to deal with DYNAMIC_STACKALLOC (aka a dynamic llvm alloca)
Chris Lattner [Sun, 9 Jan 2005 19:03:49 +0000 (19:03 +0000)]
Teach legalize to deal with DYNAMIC_STACKALLOC (aka a dynamic llvm alloca)

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

19 years agoInitial implementation of FP->INT and INT->FP casts
Chris Lattner [Sun, 9 Jan 2005 18:52:44 +0000 (18:52 +0000)]
Initial implementation of FP->INT and INT->FP casts

Also, fix zero_extend from bool to i8, which fixes Shootout/objinst.

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

19 years agoGet lib/Analysis/DataStructure to compile with VC++
Jeff Cohen [Sun, 9 Jan 2005 04:18:28 +0000 (04:18 +0000)]
Get lib/Analysis/DataStructure to compile with VC++

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

19 years agoWorkaround a VC++ bug. Microsoft puts the hash_map class in namespace stdext, but
Jeff Cohen [Sun, 9 Jan 2005 04:13:09 +0000 (04:13 +0000)]
Workaround a VC++ bug.  Microsoft puts the hash_map class in namespace stdext, but
this classes uses a utility function in namespace std.  But Microsoft apparently
assumes everyone will "using namespace std;".  As LLVM doesn't....  Add a
"use std::_Distance;" to get it working.

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

19 years agoFix a subtle bug involving constant expr casts from int to fp
Chris Lattner [Sun, 9 Jan 2005 01:49:29 +0000 (01:49 +0000)]
Fix a subtle bug involving constant expr casts from int to fp

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

19 years agoHandle static alloca arguments to PHI nodes.
Chris Lattner [Sun, 9 Jan 2005 01:16:24 +0000 (01:16 +0000)]
Handle static alloca arguments to PHI nodes.

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

19 years agoImplement varargs and returnaddress/frameaddress intrinsics. With this
Chris Lattner [Sun, 9 Jan 2005 00:01:27 +0000 (00:01 +0000)]
Implement varargs and returnaddress/frameaddress intrinsics.  With this
patch, all of SingleSource/UnitTests passes.

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

19 years agoUse new interfaces to correctly lower varargs and return/frame address intrinsics.
Chris Lattner [Sun, 9 Jan 2005 00:00:49 +0000 (00:00 +0000)]
Use new interfaces to correctly lower varargs and return/frame address intrinsics.

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

19 years agoAdd interfaces to lower varargs and return/frame address intrinsics.
Chris Lattner [Sun, 9 Jan 2005 00:00:31 +0000 (00:00 +0000)]
Add interfaces to lower varargs and return/frame address intrinsics.

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

19 years agoTest fails on all platforms, not just linux
Jeff Cohen [Sat, 8 Jan 2005 23:44:03 +0000 (23:44 +0000)]
Test fails on all platforms, not just linux

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

19 years agoAdd support for llvm.setjmp and longjmp. Only 3 SingleSource/UnitTests fail now.
Chris Lattner [Sat, 8 Jan 2005 22:48:57 +0000 (22:48 +0000)]
Add support for llvm.setjmp and longjmp.  Only 3 SingleSource/UnitTests fail now.

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

19 years agoFix VC++ compilation error
Jeff Cohen [Sat, 8 Jan 2005 22:44:06 +0000 (22:44 +0000)]
Fix VC++ compilation error

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

19 years agoAdd even more missing createXxxPass functions.
Jeff Cohen [Sat, 8 Jan 2005 22:01:16 +0000 (22:01 +0000)]
Add even more missing createXxxPass functions.

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

19 years agorename linscan -> LLCBETA as it should be
Chris Lattner [Sat, 8 Jan 2005 21:03:58 +0000 (21:03 +0000)]
rename linscan -> LLCBETA as it should be

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

19 years agoOkay 15th time is the charm. Looking at the vector size is useless as it
Chris Lattner [Sat, 8 Jan 2005 20:51:36 +0000 (20:51 +0000)]
Okay 15th time is the charm.  Looking at the vector size is useless as it
gets clobbered by a previous statement.  This fixes all calls finally.

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

19 years agoOkay, my off by one was actually off by two. This fixes Generic/2003-07-07-BadLongCo...
Chris Lattner [Sat, 8 Jan 2005 20:39:31 +0000 (20:39 +0000)]
Okay, my off by one was actually off by two.  This fixes Generic/2003-07-07-BadLongConst.ll

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

19 years agoTighten up assertions.
Chris Lattner [Sat, 8 Jan 2005 20:35:13 +0000 (20:35 +0000)]
Tighten up assertions.

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

19 years agoFix off by one error
Chris Lattner [Sat, 8 Jan 2005 20:31:34 +0000 (20:31 +0000)]
Fix off by one error

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

19 years agoAllow arrays to have more than 4G elements.
Chris Lattner [Sat, 8 Jan 2005 20:19:51 +0000 (20:19 +0000)]
Allow arrays to have more than 4G elements.

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

19 years agoAllow array types to have 64-bit size.
Chris Lattner [Sat, 8 Jan 2005 20:19:27 +0000 (20:19 +0000)]
Allow array types to have 64-bit size.

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

19 years agoUse size_t instead of long to represent memory usage. long is 32 bits
Jeff Cohen [Sat, 8 Jan 2005 20:15:57 +0000 (20:15 +0000)]
Use size_t instead of long to represent memory usage.  long is 32 bits
on 64-bit Windows.

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

19 years agoSilence warnings
Chris Lattner [Sat, 8 Jan 2005 20:13:44 +0000 (20:13 +0000)]
Silence warnings

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

19 years agoSilence VS warnings.
Chris Lattner [Sat, 8 Jan 2005 20:13:19 +0000 (20:13 +0000)]
Silence VS warnings.

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

19 years agoSilence VS warnings.
Chris Lattner [Sat, 8 Jan 2005 20:07:03 +0000 (20:07 +0000)]
Silence VS warnings.

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

19 years agoSilence VS warnings
Chris Lattner [Sat, 8 Jan 2005 20:05:34 +0000 (20:05 +0000)]
Silence VS warnings

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

19 years agoSilence VS warnings
Chris Lattner [Sat, 8 Jan 2005 19:59:10 +0000 (19:59 +0000)]
Silence VS warnings

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

19 years agoAdjust prototype
Chris Lattner [Sat, 8 Jan 2005 19:57:49 +0000 (19:57 +0000)]
Adjust prototype

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

19 years agoSilence warnings from VS
Chris Lattner [Sat, 8 Jan 2005 19:55:00 +0000 (19:55 +0000)]
Silence warnings from VS

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

19 years agoSilence VS warnings
Chris Lattner [Sat, 8 Jan 2005 19:53:50 +0000 (19:53 +0000)]
Silence VS warnings

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

19 years agoSilence VS warnings.
Chris Lattner [Sat, 8 Jan 2005 19:52:31 +0000 (19:52 +0000)]
Silence VS warnings.

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

19 years agoFix VS warnings
Chris Lattner [Sat, 8 Jan 2005 19:48:40 +0000 (19:48 +0000)]
Fix VS warnings

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

19 years agoFix VS warnings.
Chris Lattner [Sat, 8 Jan 2005 19:45:31 +0000 (19:45 +0000)]
Fix VS warnings.

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

19 years agoFix uint64_t -> unsigned VS warnings.
Chris Lattner [Sat, 8 Jan 2005 19:42:22 +0000 (19:42 +0000)]
Fix uint64_t -> unsigned VS warnings.

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

19 years agoSilence VS warnings.
Chris Lattner [Sat, 8 Jan 2005 19:37:20 +0000 (19:37 +0000)]
Silence VS warnings.

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

19 years agoSilence warnings
Chris Lattner [Sat, 8 Jan 2005 19:34:41 +0000 (19:34 +0000)]
Silence warnings

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

19 years agoDo not throw away bits for no reason
Chris Lattner [Sat, 8 Jan 2005 19:32:59 +0000 (19:32 +0000)]
Do not throw away bits for no reason

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

19 years agoSilence a VS warning.
Chris Lattner [Sat, 8 Jan 2005 19:31:31 +0000 (19:31 +0000)]
Silence a VS warning.

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

19 years agoAdjust to changes in LowerCallTo interface
Chris Lattner [Sat, 8 Jan 2005 19:28:19 +0000 (19:28 +0000)]
Adjust to changes in LowerCallTo interface
Minor bugfixes

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

19 years agoImplement handling of most long operators through libcalls.
Chris Lattner [Sat, 8 Jan 2005 19:27:05 +0000 (19:27 +0000)]
Implement handling of most long operators through libcalls.
Fix a bug legalizing "ret (Val,Val)"

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

19 years agoAdjust to changes in LowerCAllTo interfaces
Chris Lattner [Sat, 8 Jan 2005 19:26:18 +0000 (19:26 +0000)]
Adjust to changes in LowerCAllTo interfaces

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

19 years agoMake LowerCallTo more generic and useful.
Chris Lattner [Sat, 8 Jan 2005 19:25:39 +0000 (19:25 +0000)]
Make LowerCallTo more generic and useful.

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

19 years agoAnother year, another copyright update.
John Criswell [Sat, 8 Jan 2005 19:10:44 +0000 (19:10 +0000)]
Another year, another copyright update.

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

19 years agoAdd a few more passes to LinkAllPasses.h
Jeff Cohen [Sat, 8 Jan 2005 18:15:23 +0000 (18:15 +0000)]
Add a few more passes to LinkAllPasses.h

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

19 years agoAdd more missing createXxxPass functions.
Jeff Cohen [Sat, 8 Jan 2005 17:21:40 +0000 (17:21 +0000)]
Add more missing createXxxPass functions.

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

19 years agoAdd support for FP->INT conversions and back.
Chris Lattner [Sat, 8 Jan 2005 08:08:56 +0000 (08:08 +0000)]
Add support for FP->INT conversions and back.

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

19 years agoAdd operators for FP -> INT conversions and back.
Chris Lattner [Sat, 8 Jan 2005 08:08:49 +0000 (08:08 +0000)]
Add operators for FP -> INT conversions and back.

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

19 years agoWrap long line.
Chris Lattner [Sat, 8 Jan 2005 06:59:50 +0000 (06:59 +0000)]
Wrap long line.

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

19 years agoImplement the 'store FPIMM, Ptr' -> 'store INTIMM, Ptr' optimization for
Chris Lattner [Sat, 8 Jan 2005 06:25:56 +0000 (06:25 +0000)]
Implement the 'store FPIMM, Ptr' -> 'store INTIMM, Ptr' optimization for
all targets.

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

19 years ago1ULL << 64 is undefined, don't do it.
Chris Lattner [Sat, 8 Jan 2005 06:24:30 +0000 (06:24 +0000)]
1ULL << 64 is undefined, don't do it.

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

19 years agoThe X86 instruction selector already handles codegen of:
Chris Lattner [Sat, 8 Jan 2005 05:45:24 +0000 (05:45 +0000)]
The X86 instruction selector already handles codegen of:

  store float 123.45, float* %P

as an integer store.  This adds handling of float immediate stores as integers
for arguments passed function calls.

This is now tested by CodeGen/X86/store-fp-constant.ll

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

19 years agoNew testcase.
Chris Lattner [Sat, 8 Jan 2005 05:44:07 +0000 (05:44 +0000)]
New testcase.

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

19 years agoEliminate empty sub-list
Misha Brukman [Sat, 8 Jan 2005 01:11:15 +0000 (01:11 +0000)]
Eliminate empty sub-list

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

19 years agoFix a pointer invalidation problem. This fixes Generic/badarg6.ll
Chris Lattner [Fri, 7 Jan 2005 23:32:00 +0000 (23:32 +0000)]
Fix a pointer invalidation problem.  This fixes Generic/badarg6.ll

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

19 years agoFold conditional branches on constants away.
Chris Lattner [Fri, 7 Jan 2005 22:49:57 +0000 (22:49 +0000)]
Fold conditional branches on constants away.

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

19 years agoFix a thinko in the reassociation code, fixing Generic/badlive.ll
Chris Lattner [Fri, 7 Jan 2005 22:44:09 +0000 (22:44 +0000)]
Fix a thinko in the reassociation code, fixing Generic/badlive.ll

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

19 years agoAdd support for truncating integer casts from long.
Chris Lattner [Fri, 7 Jan 2005 22:37:48 +0000 (22:37 +0000)]
Add support for truncating integer casts from long.

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

19 years agoFix a bug in load expansion legalization and ret legalization. This fixes
Chris Lattner [Fri, 7 Jan 2005 22:28:47 +0000 (22:28 +0000)]
Fix a bug in load expansion legalization and ret legalization.  This fixes
CodeGen/Generic/select.ll:castconst.

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

19 years agoLegalize unconditional branches too
Chris Lattner [Fri, 7 Jan 2005 22:12:08 +0000 (22:12 +0000)]
Legalize unconditional branches too

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

19 years agoCleanup a bunch of tests. In particular do not allow target directives in
Chris Lattner [Fri, 7 Jan 2005 22:05:31 +0000 (22:05 +0000)]
Cleanup a bunch of tests.  In particular do not allow target directives in
the .ll file or it forces the V9 backend.  This is the CodeGen/Generic dir,
so there is no use in doing that.

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

19 years agoImplement support for long GEP indices on 32-bit archs and support for
Chris Lattner [Fri, 7 Jan 2005 21:56:57 +0000 (21:56 +0000)]
Implement support for long GEP indices on 32-bit archs and support for
int GEP indices on 64-bit archs.

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

19 years agoSimplify: truncate ({zero|sign}_extend (X))
Chris Lattner [Fri, 7 Jan 2005 21:56:24 +0000 (21:56 +0000)]
Simplify: truncate ({zero|sign}_extend (X))

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

19 years agoimplement legalization of a bunch more operators.
Chris Lattner [Fri, 7 Jan 2005 21:45:56 +0000 (21:45 +0000)]
implement legalization of a bunch more operators.

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

19 years agoMake this test a bit more interesting by making there actually be a use of the
Chris Lattner [Fri, 7 Jan 2005 21:37:13 +0000 (21:37 +0000)]
Make this test a bit more interesting by making there actually be a use of the
PHI node.

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

19 years agoFix another bug legalizing calls!
Chris Lattner [Fri, 7 Jan 2005 21:35:32 +0000 (21:35 +0000)]
Fix another bug legalizing calls!

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

19 years agoFix handling of dead PHI nodes.
Chris Lattner [Fri, 7 Jan 2005 21:34:19 +0000 (21:34 +0000)]
Fix handling of dead PHI nodes.

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

19 years agoFix a bug legalizing calls
Chris Lattner [Fri, 7 Jan 2005 21:34:13 +0000 (21:34 +0000)]
Fix a bug legalizing calls

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

19 years agomodernize and clean up this test.
Chris Lattner [Fri, 7 Jan 2005 21:15:58 +0000 (21:15 +0000)]
modernize and clean up this test.

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

19 years agoAfter legalizing a DAG, delete dead nodes to save space.
Chris Lattner [Fri, 7 Jan 2005 21:09:37 +0000 (21:09 +0000)]
After legalizing a DAG, delete dead nodes to save space.

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

19 years agoImplement RemoveDeadNodes
Chris Lattner [Fri, 7 Jan 2005 21:09:16 +0000 (21:09 +0000)]
Implement RemoveDeadNodes

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

19 years agoAdd a new SelectionDAG::RemoveDeadNodes method
Chris Lattner [Fri, 7 Jan 2005 21:08:55 +0000 (21:08 +0000)]
Add a new SelectionDAG::RemoveDeadNodes method

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

19 years agoFix include. Too easy to make mistakes like this on Windows :(
Jeff Cohen [Fri, 7 Jan 2005 19:21:49 +0000 (19:21 +0000)]
Fix include.  Too easy to make mistakes like this on Windows :(

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

19 years agoRemove the open projects page from the docs directory.
Chris Lattner [Fri, 7 Jan 2005 18:57:33 +0000 (18:57 +0000)]
Remove the open projects page from the docs directory.

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

19 years agoCapitalize Bugpoint.
Misha Brukman [Fri, 7 Jan 2005 17:00:44 +0000 (17:00 +0000)]
Capitalize Bugpoint.

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

19 years agoGet new SelectionDAG stuff building with Visual Studio.
Jeff Cohen [Fri, 7 Jan 2005 15:52:36 +0000 (15:52 +0000)]
Get new SelectionDAG stuff building with Visual Studio.

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

19 years agoTeach legalize how to handle condbranches
Chris Lattner [Fri, 7 Jan 2005 08:19:42 +0000 (08:19 +0000)]
Teach legalize how to handle condbranches

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

19 years agoAdd a testcase I forgot to commit earlier.
Chris Lattner [Fri, 7 Jan 2005 07:56:08 +0000 (07:56 +0000)]
Add a testcase I forgot to commit earlier.

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

19 years agoX86 BE requires SelectionDAG
Chris Lattner [Fri, 7 Jan 2005 07:51:25 +0000 (07:51 +0000)]
X86 BE requires SelectionDAG

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

19 years agoX86 JIT requires the selection dag library.
Chris Lattner [Fri, 7 Jan 2005 07:51:11 +0000 (07:51 +0000)]
X86 JIT requires the selection dag library.

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

19 years agoAllow the selection-dag based selector to be diabled with -disable-pattern-isel.
Chris Lattner [Fri, 7 Jan 2005 07:50:50 +0000 (07:50 +0000)]
Allow the selection-dag based selector to be diabled with -disable-pattern-isel.

For now, this is the default, as the current selector is missing some big pieces.
To enable the new selector, pass -disable-pattern-isel=false to llc or lli.

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

19 years agoReimplementation of the X86 pattern isel. This is still missing many large
Chris Lattner [Fri, 7 Jan 2005 07:49:41 +0000 (07:49 +0000)]
Reimplementation of the X86 pattern isel.  This is still missing many large
pieces, but can already do amazing things in some cases.

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

19 years agoThis file is now dead.
Chris Lattner [Fri, 7 Jan 2005 07:49:05 +0000 (07:49 +0000)]
This file is now dead.

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

19 years agoAdd a new prototype
Chris Lattner [Fri, 7 Jan 2005 07:48:33 +0000 (07:48 +0000)]
Add a new prototype

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

19 years agoInitial implementation of the SelectionDAGISel class. This contains most
Chris Lattner [Fri, 7 Jan 2005 07:47:53 +0000 (07:47 +0000)]
Initial implementation of the SelectionDAGISel class.  This contains most
of the code for lowering from LLVM code to a SelectionDAG.

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

19 years agoThis file is obsolete
Chris Lattner [Fri, 7 Jan 2005 07:47:23 +0000 (07:47 +0000)]
This file is obsolete

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

19 years agoInitial implementation of the DAG legalization. This still has a long way
Chris Lattner [Fri, 7 Jan 2005 07:47:09 +0000 (07:47 +0000)]
Initial implementation of the DAG legalization. This still has a long way
to go, but it does work for some non-trivial cases now.

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

19 years agoBut not the identation of THAT line
Jeff Cohen [Fri, 7 Jan 2005 07:46:40 +0000 (07:46 +0000)]
But not the identation of THAT line

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

19 years agoComplete rewrite of the SelectionDAG class.
Chris Lattner [Fri, 7 Jan 2005 07:46:32 +0000 (07:46 +0000)]
Complete rewrite of the SelectionDAG class.

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

19 years agoCommon base class for SelectionDAG-based instruction selectors.
Chris Lattner [Fri, 7 Jan 2005 07:46:03 +0000 (07:46 +0000)]
Common base class for SelectionDAG-based instruction selectors.

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

19 years agoInitial implementation of the nodes in a SelectionDAG.
Chris Lattner [Fri, 7 Jan 2005 07:45:27 +0000 (07:45 +0000)]
Initial implementation of the nodes in a SelectionDAG.

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

19 years agoFirst draft of new Target interface
Chris Lattner [Fri, 7 Jan 2005 07:44:53 +0000 (07:44 +0000)]
First draft of new Target interface

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

19 years agoFirst draft of a new Target interface
Chris Lattner [Fri, 7 Jan 2005 07:44:22 +0000 (07:44 +0000)]
First draft of a new Target interface

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

19 years agoCorrect indentation levels
Jeff Cohen [Fri, 7 Jan 2005 07:44:02 +0000 (07:44 +0000)]
Correct indentation levels

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

19 years agoAdd convenience method.
Chris Lattner [Fri, 7 Jan 2005 07:40:32 +0000 (07:40 +0000)]
Add convenience method.

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