oota-llvm.git
19 years agoFix 124.m88ksim.
Chris Lattner [Tue, 18 Jan 2005 17:35:28 +0000 (17:35 +0000)]
Fix 124.m88ksim.

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

19 years agoAdd project llvm-ld to Visual Studio
Jeff Cohen [Tue, 18 Jan 2005 05:44:50 +0000 (05:44 +0000)]
Add project llvm-ld to Visual Studio

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

19 years agoAdd project llvm-nm to Visual Studio
Jeff Cohen [Tue, 18 Jan 2005 05:44:25 +0000 (05:44 +0000)]
Add project llvm-nm to Visual Studio

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

19 years agoAdd project llvm-ld to Visual Studio
Jeff Cohen [Tue, 18 Jan 2005 05:39:37 +0000 (05:39 +0000)]
Add project llvm-ld to Visual Studio

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

19 years agoAdd llvm-bcanalyzer project to Visual Studio
Jeff Cohen [Tue, 18 Jan 2005 05:31:34 +0000 (05:31 +0000)]
Add llvm-bcanalyzer project to Visual Studio

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

19 years agoDo not emit loads multiple times, potentially in the wrong places.
Chris Lattner [Tue, 18 Jan 2005 04:18:32 +0000 (04:18 +0000)]
Do not emit loads multiple times, potentially in the wrong places.

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

19 years agoMinor changes.
Tanya Lattner [Tue, 18 Jan 2005 04:15:41 +0000 (04:15 +0000)]
Minor changes.

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

19 years agoEliminate bad assertions.
Chris Lattner [Tue, 18 Jan 2005 04:00:54 +0000 (04:00 +0000)]
Eliminate bad assertions.

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

19 years ago* Eliminate the TokenSet and just use the ExprMap for both tokens and values.
Chris Lattner [Tue, 18 Jan 2005 03:51:59 +0000 (03:51 +0000)]
* Eliminate the TokenSet and just use the ExprMap for both tokens and values.
* Insert some really pedantic assertions that will notice when we emit the
  same loads more than one time, exposing bugs.  This turns a miscompilation in
  bzip2 into a compile-fail.  yaay.

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

19 years agoTeach legalize to promote SetCC results.
Chris Lattner [Tue, 18 Jan 2005 02:59:52 +0000 (02:59 +0000)]
Teach legalize to promote SetCC results.

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

19 years agoAllow setcc operations to have nonbool types.
Chris Lattner [Tue, 18 Jan 2005 02:52:03 +0000 (02:52 +0000)]
Allow setcc operations to have nonbool types.

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

19 years agoAllow setcc operations to have non-bool types.
Chris Lattner [Tue, 18 Jan 2005 02:51:41 +0000 (02:51 +0000)]
Allow setcc operations to have non-bool types.

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

19 years agoRely on the code in MatchAddress to do this work. Otherwise we fail to
Chris Lattner [Tue, 18 Jan 2005 02:25:52 +0000 (02:25 +0000)]
Rely on the code in MatchAddress to do this work.  Otherwise we fail to
match (X+Y)+(Z << 1), because we match the X+Y first, consuming the index
register, then there is no place to put the Z.

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

19 years agoFix the completely broken FP constant folds for setcc's.
Chris Lattner [Tue, 18 Jan 2005 02:11:55 +0000 (02:11 +0000)]
Fix the completely broken FP constant folds for setcc's.

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

19 years agoFix a problem where probing for addressing modes caused expressions to be
Chris Lattner [Tue, 18 Jan 2005 01:06:26 +0000 (01:06 +0000)]
Fix a problem where probing for addressing modes caused expressions to be
emitted too early.  In particular, this fixes
Regression/CodeGen/X86/regpressure.ll:regpressure3.

This also improves the 2nd basic block in 164.gzip:flush_block, which went from

.LBBflush_block_1:      # loopentry.1.i
        movzx %EAX, WORD PTR [dyn_ltree + 20]
        movzx %ECX, WORD PTR [dyn_ltree + 16]
        mov DWORD PTR [%ESP + 32], %ECX
        movzx %ECX, WORD PTR [dyn_ltree + 12]
        movzx %EDX, WORD PTR [dyn_ltree + 8]
        movzx %EBX, WORD PTR [dyn_ltree + 4]
        mov DWORD PTR [%ESP + 36], %EBX
        movzx %EBX, WORD PTR [dyn_ltree]
        add DWORD PTR [%ESP + 36], %EBX
        add %EDX, DWORD PTR [%ESP + 36]
        add %ECX, %EDX
        add DWORD PTR [%ESP + 32], %ECX
        add %EAX, DWORD PTR [%ESP + 32]
        movzx %ECX, WORD PTR [dyn_ltree + 24]
        add %EAX, %ECX
        mov %ECX, 0
        mov %EDX, %ECX

to

.LBBflush_block_1:      # loopentry.1.i
        movzx %EAX, WORD PTR [dyn_ltree]
        movzx %ECX, WORD PTR [dyn_ltree + 4]
        add %ECX, %EAX
        movzx %EAX, WORD PTR [dyn_ltree + 8]
        add %EAX, %ECX
        movzx %ECX, WORD PTR [dyn_ltree + 12]
        add %ECX, %EAX
        movzx %EAX, WORD PTR [dyn_ltree + 16]
        add %EAX, %ECX
        movzx %ECX, WORD PTR [dyn_ltree + 20]
        add %ECX, %EAX
        movzx %EAX, WORD PTR [dyn_ltree + 24]
        add %ECX, %EAX
        mov %EAX, 0
        mov %EDX, %EAX

... which results in less spilling in the function.

This change alone speeds up 164.gzip from 37.23s to 36.24s on apoc.  The
default isel takes 37.31s.

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

19 years agoFix indentation.
Chris Lattner [Mon, 17 Jan 2005 23:25:45 +0000 (23:25 +0000)]
Fix indentation.

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

19 years agoThis is a carefully contrived testcase where the X86 ISel is emitting all loads
Chris Lattner [Mon, 17 Jan 2005 23:16:01 +0000 (23:16 +0000)]
This is a carefully contrived testcase where the X86 ISel is emitting all loads
before other ops, causing it to spill like mad.  This occurs in
164.gzip:flush_block.

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

19 years agoDon't bother using max here.
Chris Lattner [Mon, 17 Jan 2005 23:02:13 +0000 (23:02 +0000)]
Don't bother using max here.

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

19 years agoDo not give token factor nodes outrageous weights
Chris Lattner [Mon, 17 Jan 2005 22:56:09 +0000 (22:56 +0000)]
Do not give token factor nodes outrageous weights

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

19 years agoNon-volatile loads can be freely reordered against each other. This fixes
Chris Lattner [Mon, 17 Jan 2005 22:19:26 +0000 (22:19 +0000)]
Non-volatile loads can be freely reordered against each other.  This fixes
X86/reg-pressure.ll again, and allows us to do nice things in other cases.
For example, we now codegen this sort of thing:

int %loadload(int *%X, int* %Y) {
  %Z = load int* %Y
  %Y = load int* %X      ;; load between %Z and store
  %Q = add int %Z, 1
  store int %Q, int* %Y
  ret int %Y
}

Into this:

loadload:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%EAX]
        mov %ECX, DWORD PTR [%ESP + 8]
        inc DWORD PTR [%ECX]
        ret

where we weren't able to form the 'inc [mem]' before.  This also lets the
instruction selector emit loads in any order it wants to, which can be good
for register pressure as well.

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

19 years agoTwo changes:
Chris Lattner [Mon, 17 Jan 2005 22:10:42 +0000 (22:10 +0000)]
Two changes:
 1. Fold  [mem] += (1|-1) into inc [mem]/dec [mem] to save some icache space.
 2. Do not let token factor nodes prevent forming '[mem] op= val' folds.

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

19 years agoDon't call SelectionDAG.getRoot() directly, go through a forwarding method.
Chris Lattner [Mon, 17 Jan 2005 19:43:36 +0000 (19:43 +0000)]
Don't call SelectionDAG.getRoot() directly, go through a forwarding method.

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

19 years agoRefactor load/op/store folding into it's own method, no functionality changes.
Chris Lattner [Mon, 17 Jan 2005 19:25:26 +0000 (19:25 +0000)]
Refactor load/op/store folding into it's own method, no functionality changes.

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

19 years agoImplement a target independent optimization to codegen arguments only into
Chris Lattner [Mon, 17 Jan 2005 17:55:19 +0000 (17:55 +0000)]
Implement a target independent optimization to codegen arguments only into
the basic block that uses them if possible.  This is a big win on X86, as it
lets us fold the argument loads into instructions and reduce register pressure
(by not loading all of the arguments in the entry block).

For this (contrived to show the optimization) testcase:

int %argtest(int %A, int %B) {
        %X = sub int 12345, %A
        br label %L
L:
        %Y = add int %X, %B
        ret int %Y
}

we used to produce:

argtest:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EAX, 12345
        sub %EAX, %ECX
        mov %EDX, DWORD PTR [%ESP + 8]
.LBBargtest_1:  # L
        add %EAX, %EDX
        ret

now we produce:

argtest:
        mov %EAX, 12345
        sub %EAX, DWORD PTR [%ESP + 4]
.LBBargtest_1:  # L
        add %EAX, DWORD PTR [%ESP + 8]
        ret

This also fixes the FIXME in the code.

BTW, this occurs in real code.  164.gzip shrinks from 8623 to 8608 lines of
.s file.  The stack frame in huft_build shrinks from 1644->1628 bytes,
inflate_codes shrinks from 116->108 bytes, and inflate_block from 2620->2612,
due to fewer spills.

Take that alkis. :-)

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

19 years agoFix a major regression last night that prevented us from producing [mem] op= reg
Chris Lattner [Mon, 17 Jan 2005 17:49:14 +0000 (17:49 +0000)]
Fix a major regression last night that prevented us from producing [mem] op= reg
operations.

The body of the if is less indented but unmodified in this patch.

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

19 years agoRefactor code into a new method.
Chris Lattner [Mon, 17 Jan 2005 17:15:02 +0000 (17:15 +0000)]
Refactor code into a new method.

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

19 years agoMake methods private, add a method.
Chris Lattner [Mon, 17 Jan 2005 17:14:43 +0000 (17:14 +0000)]
Make methods private, add a method.

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

19 years agoCodegen this:
Chris Lattner [Mon, 17 Jan 2005 06:48:02 +0000 (06:48 +0000)]
Codegen this:

int %foo(int %X) {
        %T = add int %X, 13
        %S = mul int %T, 3
        ret int %S
}

as this:

        mov %ECX, DWORD PTR [%ESP + 4]
        lea %EAX, DWORD PTR [%ECX + 2*%ECX + 39]
        ret

instead of this:

        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EAX, %ECX
        add %EAX, 13
        imul %EAX, %EAX, 3
        ret

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

19 years agoAdded tmp instructions to preserve ssa.
Tanya Lattner [Mon, 17 Jan 2005 06:47:26 +0000 (06:47 +0000)]
Added tmp instructions to preserve ssa.

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

19 years agoFix test/Regression/CodeGen/X86/2005-01-17-CycleInDAG.ll and 132.ijpeg.
Chris Lattner [Mon, 17 Jan 2005 06:26:58 +0000 (06:26 +0000)]
Fix test/Regression/CodeGen/X86/2005-01-17-CycleInDAG.ll and 132.ijpeg.
Do not fold a load into an operation if it will induce a cycle in the DAG.

Repeat after me: dAg.

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

19 years agoNew testcase for a problem that occurred in 132.ijpeg
Chris Lattner [Mon, 17 Jan 2005 06:25:59 +0000 (06:25 +0000)]
New testcase for a problem that occurred in 132.ijpeg

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

19 years agoDelete PHI nodes that are not dead but are locked in a cycle of single
Chris Lattner [Mon, 17 Jan 2005 05:10:15 +0000 (05:10 +0000)]
Delete PHI nodes that are not dead but are locked in a cycle of single
useness.

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

19 years agoMove code out of indentation one level to make it easier to read.
Chris Lattner [Mon, 17 Jan 2005 03:20:02 +0000 (03:20 +0000)]
Move code out of indentation one level to make it easier to read.

Disable the xform for < > cases.  It turns out that the following is being
miscompiled:

bool %test(sbyte %S) {
        %T = cast sbyte %S to uint
        %V = setgt uint %T, 255
        ret bool %V
}

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

19 years agoAdd methods
Chris Lattner [Mon, 17 Jan 2005 02:24:59 +0000 (02:24 +0000)]
Add methods

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

19 years agoDo not fold a load into a comparison that is used by more than one place.
Chris Lattner [Mon, 17 Jan 2005 01:34:14 +0000 (01:34 +0000)]
Do not fold a load into a comparison that is used by more than one place.
The comparison will probably be folded, so this is not ok to do.
This fixed 197.parser.

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

19 years agosysconfdir -> PROJ_etcdir
Reid Spencer [Mon, 17 Jan 2005 00:42:31 +0000 (00:42 +0000)]
sysconfdir -> PROJ_etcdir

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

19 years agoDo not codegen 'xor bool, true' as 'not reg'. not reg inverts the upper bits
Chris Lattner [Mon, 17 Jan 2005 00:23:16 +0000 (00:23 +0000)]
Do not codegen 'xor bool, true' as 'not reg'.  not reg inverts the upper bits
of the bytereg.  This fixes yacr2, 300.twolf and probably others.

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

19 years agoFix typos noticed by Gabor Greif, thanks Gabor!
Chris Lattner [Mon, 17 Jan 2005 00:12:04 +0000 (00:12 +0000)]
Fix typos noticed by Gabor Greif, thanks Gabor!

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

19 years agoSet up the shift and setcc types.
Chris Lattner [Mon, 17 Jan 2005 00:00:33 +0000 (00:00 +0000)]
Set up the shift and setcc types.
If we emit a load because we followed a token chain to get to it, try to
fold it into its single user if possible.

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

19 years agoShift and setcc types default to the pointer type.
Chris Lattner [Sun, 16 Jan 2005 23:59:48 +0000 (23:59 +0000)]
Shift and setcc types default to the pointer type.

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

19 years agoAdd comments
Chris Lattner [Sun, 16 Jan 2005 23:59:30 +0000 (23:59 +0000)]
Add comments
Add fields to hold the result type of setcc operations and shift amounts.

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

19 years agoImplement legalize of call nodes.
Chris Lattner [Sun, 16 Jan 2005 19:46:48 +0000 (19:46 +0000)]
Implement legalize of call nodes.

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

19 years agoFix llvm-java project autconfiguration.
Alkis Evlogimenos [Sun, 16 Jan 2005 09:44:58 +0000 (09:44 +0000)]
Fix llvm-java project autconfiguration.

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

19 years agoAdded paramters to a few functions in order to allow me to change the functions to...
Tanya Lattner [Sun, 16 Jan 2005 08:51:10 +0000 (08:51 +0000)]
Added paramters to a few functions in order to allow me to change the functions to preserve SSA

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

19 years ago* Adjust to changes in TargetLowering interfaces.
Chris Lattner [Sun, 16 Jan 2005 07:34:08 +0000 (07:34 +0000)]
* Adjust to changes in TargetLowering interfaces.
* Remove custom promotion for bool and byte select ops.  Legalize now
  promotes them for us.
* Allow folding ConstantPoolIndexes into EXTLOAD's, useful for float immediates.
* Declare which operations are not supported better.
* Add some hacky code for TRUNCSTORE to pretend that we have truncstore
  for i16 types.  This is useful for testing promotion code because I can
  just remove 16-bit registers all together and verify that programs work.

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

19 years agoRevamp supported ops. Instead of just being supported or not, we now keep
Chris Lattner [Sun, 16 Jan 2005 07:29:19 +0000 (07:29 +0000)]
Revamp supported ops.  Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.

Implement custom lowering for a couple of ops, implement promotion for select
operations (which x86 needs).

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

19 years agoadd method stub
Chris Lattner [Sun, 16 Jan 2005 07:28:41 +0000 (07:28 +0000)]
add method stub

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

19 years agoDon't mash stuff together.
Chris Lattner [Sun, 16 Jan 2005 07:28:31 +0000 (07:28 +0000)]
Don't mash stuff together.

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

19 years agoUse enums, move virtual dtor out of line.
Chris Lattner [Sun, 16 Jan 2005 07:28:11 +0000 (07:28 +0000)]
Use enums, move virtual dtor out of line.

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

19 years agoRevamp supported ops. Instead of just being supported or not, we now keep
Chris Lattner [Sun, 16 Jan 2005 07:27:49 +0000 (07:27 +0000)]
Revamp supported ops.  Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.

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

19 years ago* Revise the projects section and make reference to Projects.html
Reid Spencer [Sun, 16 Jan 2005 07:18:31 +0000 (07:18 +0000)]
* Revise the projects section and make reference to Projects.html
* the dist-clean target no longer implies a check

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

19 years agoDon't confuse the LLVM_OBJ_DIR and the PROJ_OBJ_DIR because there might be
Reid Spencer [Sun, 16 Jan 2005 06:53:48 +0000 (06:53 +0000)]
Don't confuse the LLVM_OBJ_DIR and the PROJ_OBJ_DIR because there might be
a symbolic link making the autoconf name for the directory (LLVM_OBJ_ROOT)
and the "make" name for the directory (PROJ_OBJ_ROOT) different.

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

19 years agoImplement some more missing promotions.
Chris Lattner [Sun, 16 Jan 2005 05:06:12 +0000 (05:06 +0000)]
Implement some more missing promotions.

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

19 years agoFix bugpoint
Chris Lattner [Sun, 16 Jan 2005 04:23:22 +0000 (04:23 +0000)]
Fix bugpoint

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

19 years agocycles_t -> CycleCount_t
Chris Lattner [Sun, 16 Jan 2005 04:20:30 +0000 (04:20 +0000)]
cycles_t -> CycleCount_t

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

19 years agoAdd some .cvsignores to the win32 hierarchy to account for generated files
Jeff Cohen [Sun, 16 Jan 2005 03:18:23 +0000 (03:18 +0000)]
Add some .cvsignores to the win32 hierarchy to account for generated files

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

19 years agoProvide support for HP/UX aCC compiler's variant of hash_map and hash_set
Reid Spencer [Sun, 16 Jan 2005 02:58:39 +0000 (02:58 +0000)]
Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.

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

19 years agoFix locations of libraries and executables to match makefiles.
Reid Spencer [Sun, 16 Jan 2005 02:38:06 +0000 (02:38 +0000)]
Fix locations of libraries and executables to match makefiles.

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

19 years agoBUILD_* to PROJ_*
Reid Spencer [Sun, 16 Jan 2005 02:35:47 +0000 (02:35 +0000)]
BUILD_* to PROJ_*

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

19 years agoClarify assertion.
Chris Lattner [Sun, 16 Jan 2005 02:23:34 +0000 (02:23 +0000)]
Clarify assertion.

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

19 years agoAdd assertions.
Chris Lattner [Sun, 16 Jan 2005 02:23:22 +0000 (02:23 +0000)]
Add assertions.

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

19 years agoAdd support for promoted registers being live across blocks.
Chris Lattner [Sun, 16 Jan 2005 02:23:07 +0000 (02:23 +0000)]
Add support for promoted registers being live across blocks.

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

19 years agoUpdate per new Makefile requirements for projects
Reid Spencer [Sun, 16 Jan 2005 02:21:42 +0000 (02:21 +0000)]
Update per new Makefile requirements for projects

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

19 years agoRename BUILD_* to PROJ_*
Reid Spencer [Sun, 16 Jan 2005 02:21:29 +0000 (02:21 +0000)]
Rename BUILD_* to PROJ_*

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

19 years agoUpdate documentation on how to set up a project
Reid Spencer [Sun, 16 Jan 2005 02:21:18 +0000 (02:21 +0000)]
Update documentation on how to set up a project

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

19 years agoSeveral changes:
Reid Spencer [Sun, 16 Jan 2005 02:20:54 +0000 (02:20 +0000)]
Several changes:
* Rename BUILD_* to PROJ_*
* Differentiate between LLVM's Makefile.conf and the project's
* Use project specific install locations

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

19 years agoSeveral changes:
Reid Spencer [Sun, 16 Jan 2005 02:20:42 +0000 (02:20 +0000)]
Several changes:
* Get rid of variables that are duplicates of autoconf variables.
* Rename BUILD_* to PROJ_*
* Define some project related install locations
* Don't assume LLVM's configured values are the project's

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

19 years agoMake this file capable of being used by both LLVM and its projects
Reid Spencer [Sun, 16 Jan 2005 02:20:30 +0000 (02:20 +0000)]
Make this file capable of being used by both LLVM and its projects

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

19 years agoFixed a couple of instructions that broke SSA.
Tanya Lattner [Sun, 16 Jan 2005 02:14:17 +0000 (02:14 +0000)]
Fixed a couple of instructions that broke SSA.

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

19 years agoImprove compatiblity with HPUX on Itanium, patch by Duraid Madina
Chris Lattner [Sun, 16 Jan 2005 01:31:31 +0000 (01:31 +0000)]
Improve compatiblity with HPUX on Itanium, patch by Duraid Madina

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

19 years agoImprove compatibility with aCC on HPUX. Patch by Duraid Madina
Chris Lattner [Sun, 16 Jan 2005 01:22:18 +0000 (01:22 +0000)]
Improve compatibility with aCC on HPUX.  Patch by Duraid Madina

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

19 years agoSet up identity transforms.
Chris Lattner [Sun, 16 Jan 2005 01:20:18 +0000 (01:20 +0000)]
Set up identity transforms.

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

19 years agoMove some information into the TargetLowering object.
Chris Lattner [Sun, 16 Jan 2005 01:11:45 +0000 (01:11 +0000)]
Move some information into the TargetLowering object.

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

19 years agoUse the new TLI method to get this.
Chris Lattner [Sun, 16 Jan 2005 01:11:19 +0000 (01:11 +0000)]
Use the new TLI method to get this.

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

19 years agoMove some information out of LegalizeDAG into the generic Target interface.
Chris Lattner [Sun, 16 Jan 2005 01:10:58 +0000 (01:10 +0000)]
Move some information out of LegalizeDAG into the generic Target interface.

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

19 years agolegalize a bunch of operations that I missed.
Chris Lattner [Sun, 16 Jan 2005 00:38:00 +0000 (00:38 +0000)]
legalize a bunch of operations that I missed.

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

19 years agoAdd support for targets that require promotions.
Chris Lattner [Sun, 16 Jan 2005 00:37:38 +0000 (00:37 +0000)]
Add support for targets that require promotions.

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

19 years agoFix some serious bugs in promotion.
Chris Lattner [Sun, 16 Jan 2005 00:17:42 +0000 (00:17 +0000)]
Fix some serious bugs in promotion.

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

19 years agoEliminate unneeded extensions.
Chris Lattner [Sun, 16 Jan 2005 00:17:20 +0000 (00:17 +0000)]
Eliminate unneeded extensions.

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

19 years agoImplement promotion of a whole bunch more operators. I think that this is
Chris Lattner [Sat, 15 Jan 2005 22:16:26 +0000 (22:16 +0000)]
Implement promotion of a whole bunch more operators.  I think that this is
basically everything.

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

19 years agoPrint extra type for nodes with extra type info.
Chris Lattner [Sat, 15 Jan 2005 21:11:37 +0000 (21:11 +0000)]
Print extra type for nodes with extra type info.

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

19 years agoAdd new file to Visual Studio CodeGen project
Jeff Cohen [Sat, 15 Jan 2005 07:33:52 +0000 (07:33 +0000)]
Add new file to Visual Studio CodeGen project

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

19 years agoAdd support for legalizing FP_ROUND_INREG, SIGN_EXTEND_INREG, and
Chris Lattner [Sat, 15 Jan 2005 07:15:18 +0000 (07:15 +0000)]
Add support for legalizing FP_ROUND_INREG, SIGN_EXTEND_INREG, and
ZERO_EXTEND_INREG for targets that don't support them.

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

19 years agoCommon code factored out.
Chris Lattner [Sat, 15 Jan 2005 07:14:32 +0000 (07:14 +0000)]
Common code factored out.

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

19 years agoimplement these methods.
Chris Lattner [Sat, 15 Jan 2005 06:52:40 +0000 (06:52 +0000)]
implement these methods.

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

19 years agoAdd some helper methods.
Chris Lattner [Sat, 15 Jan 2005 06:52:18 +0000 (06:52 +0000)]
Add some helper methods.

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

19 years agoAdd support for promoting ADD/MUL.
Chris Lattner [Sat, 15 Jan 2005 06:18:18 +0000 (06:18 +0000)]
Add support for promoting ADD/MUL.
Add support for new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
Realize that if we do any promotions, we need to iterate SelectionDAG
construction.

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

19 years agoAdd new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
Chris Lattner [Sat, 15 Jan 2005 06:17:04 +0000 (06:17 +0000)]
Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.

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

19 years agoAdd a new target-independent code generator flag.
Chris Lattner [Sat, 15 Jan 2005 06:00:32 +0000 (06:00 +0000)]
Add a new target-independent code generator flag.

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

19 years agoAdd support for truncstore and *extload.
Chris Lattner [Sat, 15 Jan 2005 05:22:24 +0000 (05:22 +0000)]
Add support for truncstore and *extload.

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

19 years agoAdd intitial support for promoting some operators.
Chris Lattner [Sat, 15 Jan 2005 05:21:40 +0000 (05:21 +0000)]
Add intitial support for promoting some operators.

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

19 years agoImprove output precision.
Chris Lattner [Sat, 15 Jan 2005 00:07:19 +0000 (00:07 +0000)]
Improve output precision.

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

19 years agoWe don't distribute the operating system specific directories any more.
Reid Spencer [Fri, 14 Jan 2005 22:43:01 +0000 (22:43 +0000)]
We don't distribute the operating system specific directories any more.

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

19 years agoAdjust to CopyFromReg changes, implement deletion of truncating/extending
Chris Lattner [Fri, 14 Jan 2005 22:38:01 +0000 (22:38 +0000)]
Adjust to CopyFromReg changes, implement deletion of truncating/extending
stores/loads.

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

19 years agoAdjust to CopyFromREg changes.
Chris Lattner [Fri, 14 Jan 2005 22:37:41 +0000 (22:37 +0000)]
Adjust to CopyFromREg changes.

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

19 years agoChange CopyFromReg to take and produce a chain node, allowing it to be used
Chris Lattner [Fri, 14 Jan 2005 22:37:20 +0000 (22:37 +0000)]
Change CopyFromReg to take and produce a chain node, allowing it to be used
with physregs that are not live across the entire block.

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

19 years agoStart implementing truncating stores and extending loads.
Chris Lattner [Fri, 14 Jan 2005 22:08:15 +0000 (22:08 +0000)]
Start implementing truncating stores and extending loads.

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

19 years agoStart adding some new operators, give IMPLICIT_DEF a chain operand.
Chris Lattner [Fri, 14 Jan 2005 22:07:46 +0000 (22:07 +0000)]
Start adding some new operators, give IMPLICIT_DEF a chain operand.

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

19 years agoFix Regression/CodeGen/PowerPC/2005-01-14-UndefLong.ll
Chris Lattner [Fri, 14 Jan 2005 20:22:02 +0000 (20:22 +0000)]
Fix Regression/CodeGen/PowerPC/2005-01-14-UndefLong.ll

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

19 years agoNew testcase, problem found by Rob.
Chris Lattner [Fri, 14 Jan 2005 20:21:51 +0000 (20:21 +0000)]
New testcase, problem found by Rob.

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