oota-llvm.git
19 years agoSignificantly simplify this code and make it more aggressive. Instead of having
Chris Lattner [Sun, 30 Oct 2005 19:42:35 +0000 (19:42 +0000)]
Significantly simplify this code and make it more aggressive.  Instead of having
a special case hack for X86, make the hack more general: if an incoming argument
register is not used in any block other than the entry block, don't copy it to
a vreg.  This helps us compile code like this:

%struct.foo = type { int, int, [0 x ubyte] }
int %test(%struct.foo* %X) {
        %tmp1 = getelementptr %struct.foo* %X, int 0, uint 2, int 100
        %tmp = load ubyte* %tmp1                ; <ubyte> [#uses=1]
        %tmp2 = cast ubyte %tmp to int          ; <int> [#uses=1]
        ret int %tmp2
}

to:

_test:
        lbz r3, 108(r3)
        blr

instead of:

_test:
        lbz r2, 108(r3)
        or r3, r2, r2
        blr

The (dead) copy emitted to copy r3 into a vreg for extra-block uses was
increasing the live range of r3 past the load, preventing the coallescing.

This implements CodeGen/PowerPC/reg-coallesce-simple.ll

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

19 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 19:42:18 +0000 (19:42 +0000)]
new testcase

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

19 years agoReduce the number of copies emitted as machine instructions by
Chris Lattner [Sun, 30 Oct 2005 18:54:27 +0000 (18:54 +0000)]
Reduce the number of copies emitted as machine instructions by
generating results in vregs that will need them.  In the case of something
like this:  CopyToReg((add X, Y), reg1024), we no longer emit code like
this:

   reg1025 = add X, Y
   reg1024 = reg 1025

Instead, we emit:

   reg1024 = add X, Y

Whoa! :)

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

19 years agoIf the module has no t-t and the host is an alpha, default to using the Alpha BE
Chris Lattner [Sun, 30 Oct 2005 16:44:01 +0000 (16:44 +0000)]
If the module has no t-t and the host is an alpha, default to using the Alpha BE

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

19 years agofix some broken comparisons, this affected the Pattern isel too.
Duraid Madina [Sun, 30 Oct 2005 10:14:19 +0000 (10:14 +0000)]
fix some broken comparisons, this affected the Pattern isel too.

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

19 years agoThe pass was removed, but the spirit lives on
Chris Lattner [Sun, 30 Oct 2005 07:22:15 +0000 (07:22 +0000)]
The pass was removed, but the spirit lives on

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

19 years agoThis is implemented
Chris Lattner [Sun, 30 Oct 2005 06:42:12 +0000 (06:42 +0000)]
This is implemented

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

19 years agoCodegen mul by negative power of two with a shift and negate.
Chris Lattner [Sun, 30 Oct 2005 06:41:49 +0000 (06:41 +0000)]
Codegen mul by negative power of two with a shift and negate.
This implements test/Regression/CodeGen/PowerPC/mul-neg-power-2.ll,
producing:

_foo:
        slwi r2, r3, 1
        subfic r3, r2, 63
        blr

instead of:

_foo:
        mulli r2, r3, -2
        addi r3, r2, 63
        blr

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

19 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 06:37:33 +0000 (06:37 +0000)]
new testcase

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

19 years agoFix a problem that Nate noticed with LSR:
Chris Lattner [Sun, 30 Oct 2005 06:24:33 +0000 (06:24 +0000)]
Fix a problem that Nate noticed with LSR:

When inserting code for an addrec expression with a non-unit stride, be
more careful where we insert the multiply.  In particular, insert the multiply
in the outermost loop we can, instead of the requested insertion point.

This allows LSR to notice the mul in the right loop, reducing it when it gets
to it.  This allows it to reduce the multiply, where before it missed it.

This happens quite a bit in the test suite, for example, eliminating 2
multiplies in art, 3 in ammp, 4 in apsi, reducing from 1050 multiplies to
910 muls in galgel (!), from 877 to 859 in applu, and 36 to 30 in bzip2.

This speeds up galgel from 16.45s to 16.01s, applu from 14.21 to 13.94s and
fourinarow from 66.67s to 63.48s.

This implements Transforms/LoopStrengthReduce/nested-reduce.ll

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

19 years agonew testcase
Chris Lattner [Sun, 30 Oct 2005 05:14:02 +0000 (05:14 +0000)]
new testcase

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

19 years agoRevert an accidental commit.
Chris Lattner [Sat, 29 Oct 2005 17:01:41 +0000 (17:01 +0000)]
Revert an accidental commit.

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

19 years agoMore files deleted.
Jeff Cohen [Sat, 29 Oct 2005 16:51:48 +0000 (16:51 +0000)]
More files deleted.

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

19 years agoMake -time-passes output prettier
Chris Lattner [Sat, 29 Oct 2005 16:45:02 +0000 (16:45 +0000)]
Make -time-passes output prettier

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

19 years agoMake negative immediates in patterns work correctly, silence some warnings
Chris Lattner [Sat, 29 Oct 2005 16:39:40 +0000 (16:39 +0000)]
Make negative immediates in patterns work correctly, silence some warnings
building the itanium backend.

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

19 years agoadd some FP stuff, some mix.* stuff, and constant pool support to the
Duraid Madina [Sat, 29 Oct 2005 16:08:30 +0000 (16:08 +0000)]
add some FP stuff, some mix.* stuff, and constant pool support to the
DAG instruction selector, which should be destroyed one day (in the pattern
isel also) since ia64 can pack any constant in the instruction stream

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

19 years agoFix <> in html
Chris Lattner [Sat, 29 Oct 2005 07:08:19 +0000 (07:08 +0000)]
Fix <> in html

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

19 years agoFirst hack-and-slash on the release notes. Comments and improvements welcome
Chris Lattner [Sat, 29 Oct 2005 07:07:09 +0000 (07:07 +0000)]
First hack-and-slash on the release notes.  Comments and improvements welcome

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

19 years agoRemove the lowerconstantexprs pass
Chris Lattner [Sat, 29 Oct 2005 05:34:40 +0000 (05:34 +0000)]
Remove the lowerconstantexprs pass

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

19 years agoThis pass is now obsolete since all targets have moved to the SelectionDAG
Chris Lattner [Sat, 29 Oct 2005 05:33:46 +0000 (05:33 +0000)]
This pass is now obsolete since all targets have moved to the SelectionDAG
infrastructure and the simple isels have been removed.

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

19 years agoRemove the LowerConstantExpressionsPass pass
Chris Lattner [Sat, 29 Oct 2005 05:32:20 +0000 (05:32 +0000)]
Remove the LowerConstantExpressionsPass pass

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

19 years agoremove reference to this pass
Chris Lattner [Sat, 29 Oct 2005 05:28:34 +0000 (05:28 +0000)]
remove reference to this pass

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

19 years agoBasic updates
Chris Lattner [Sat, 29 Oct 2005 05:14:01 +0000 (05:14 +0000)]
Basic updates

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

19 years agoBuh bye Expression.(cpp|h)
Chris Lattner [Sat, 29 Oct 2005 04:55:57 +0000 (04:55 +0000)]
Buh bye Expression.(cpp|h)

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

19 years agoremove a dead file
Chris Lattner [Sat, 29 Oct 2005 04:43:38 +0000 (04:43 +0000)]
remove a dead file

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

19 years agoremove a dead header
Chris Lattner [Sat, 29 Oct 2005 04:43:10 +0000 (04:43 +0000)]
remove a dead header

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

19 years agoRemove dead #include
Chris Lattner [Sat, 29 Oct 2005 04:41:30 +0000 (04:41 +0000)]
Remove dead #include

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

19 years agoNow that instcombine does this xform, remove it from the -raise pass
Chris Lattner [Sat, 29 Oct 2005 04:40:23 +0000 (04:40 +0000)]
Now that instcombine does this xform, remove it from the -raise pass

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

19 years agoPull some code out into a function, give it the ability to see through +.
Chris Lattner [Sat, 29 Oct 2005 04:36:15 +0000 (04:36 +0000)]
Pull some code out into a function, give it the ability to see through +.
This allows us to turn code like malloc(4*x+4) -> malloc int, (x+1)

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

19 years agoadd shladd
Duraid Madina [Sat, 29 Oct 2005 04:13:40 +0000 (04:13 +0000)]
add shladd

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

19 years agotest for the formation of shladd
Duraid Madina [Sat, 29 Oct 2005 04:06:49 +0000 (04:06 +0000)]
test for the formation of shladd

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

19 years agoRemove a special case, allowing the general case to handle it. No functionality
Chris Lattner [Sat, 29 Oct 2005 03:19:53 +0000 (03:19 +0000)]
Remove a special case, allowing the general case to handle it.  No functionality
change.

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

19 years agoNew case to handle someday
Nate Begeman [Fri, 28 Oct 2005 23:26:57 +0000 (23:26 +0000)]
New case to handle someday

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

19 years agoSwitch more code over to using getValueAsListOfDefs. Look at all the -'s. :)
Chris Lattner [Fri, 28 Oct 2005 22:59:53 +0000 (22:59 +0000)]
Switch more code over to using getValueAsListOfDefs.  Look at all the -'s. :)

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

19 years agoDon't emit "32" for unordered comparison
Chris Lattner [Fri, 28 Oct 2005 22:58:07 +0000 (22:58 +0000)]
Don't emit "32" for unordered comparison

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

19 years agoRename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately
Chris Lattner [Fri, 28 Oct 2005 22:49:02 +0000 (22:49 +0000)]
Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately
reflect what it is.
Convert some more code over to use it.

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

19 years agoUse the new interface Jim added
Chris Lattner [Fri, 28 Oct 2005 22:43:25 +0000 (22:43 +0000)]
Use the new interface Jim added

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

19 years agoRemoved Mr. Smith from the code.
Jim Laskey [Fri, 28 Oct 2005 21:47:29 +0000 (21:47 +0000)]
Removed Mr. Smith from the code.

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

19 years agoAdded method to return a vector of records for a ListInit of Def field. This
Jim Laskey [Fri, 28 Oct 2005 21:46:31 +0000 (21:46 +0000)]
Added method to return a vector of records for a ListInit of Def field.  This
simplifies using list of records.

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

19 years agoadd a hack to get code with ordered comparisons working. This hack is
Chris Lattner [Fri, 28 Oct 2005 20:49:47 +0000 (20:49 +0000)]
add a hack to get code with ordered comparisons working.  This hack is
tracked as PR642

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

19 years agoadd support for branch on ordered/unordered.
Chris Lattner [Fri, 28 Oct 2005 20:32:44 +0000 (20:32 +0000)]
add support for branch on ordered/unordered.

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

19 years agoadd the xfail lines
Chris Lattner [Fri, 28 Oct 2005 19:57:55 +0000 (19:57 +0000)]
add the xfail lines

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

19 years agoNew testcase. Probably many targets don't support this, so they should probably
Chris Lattner [Fri, 28 Oct 2005 19:52:02 +0000 (19:52 +0000)]
New testcase.  Probably many targets don't support this, so they should probably
add themselves as xfails until they do (at least for the release).

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

19 years agoDo not globalize internal symbols
Chris Lattner [Fri, 28 Oct 2005 18:44:07 +0000 (18:44 +0000)]
Do not globalize internal symbols

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

19 years agoThese are autogenerated
Chris Lattner [Fri, 28 Oct 2005 18:26:52 +0000 (18:26 +0000)]
These are autogenerated

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

19 years agoDAG->DAG instruction selection for ia64! "hello world" works, not much else.
Duraid Madina [Fri, 28 Oct 2005 17:46:35 +0000 (17:46 +0000)]
DAG->DAG instruction selection for ia64! "hello world" works, not much else.
use -enable-ia64-dag-isel to turn this on

TODO: delete lowering stuff from the pattern isel
    : get operations on predicate bits working
    : get other bits of pseudocode going
    : use sampo's mulh/mull-using divide-by-constant magic
    : *so* many patterns ("extr", "tbit" and "dep" will be fun :)
    : add FP
    : add a JIT!
    : get it working 100%

in short: this'll be happier in a couple of weeks, but it's here now so
the tester can make me feel guilty sooner.

OTHER: there are a couple of fixes to the pattern isel, in particular
making the linker happy with big blobs of fun like pypy.

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

19 years agoThe nightly tester report doesn't report JIT code size anymore, remove it
Chris Lattner [Fri, 28 Oct 2005 16:35:18 +0000 (16:35 +0000)]
The nightly tester report doesn't report JIT code size anymore, remove it
from the olden graph.

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

19 years agoFix a bit of backwards logic that broke exptree and smg2000
Chris Lattner [Fri, 28 Oct 2005 16:27:35 +0000 (16:27 +0000)]
Fix a bit of backwards logic that broke exptree and smg2000

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

19 years agoAdd some commentary.
Jim Laskey [Fri, 28 Oct 2005 15:20:43 +0000 (15:20 +0000)]
Add some commentary.

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

19 years agoremove dead stuff
Chris Lattner [Fri, 28 Oct 2005 04:58:24 +0000 (04:58 +0000)]
remove dead stuff

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

19 years agoEliminate getClass, it is not needed
Chris Lattner [Fri, 28 Oct 2005 04:57:11 +0000 (04:57 +0000)]
Eliminate getClass, it is not needed

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

19 years agoKeep Visual Studio happy.
Jeff Cohen [Fri, 28 Oct 2005 01:43:09 +0000 (01:43 +0000)]
Keep Visual Studio happy.

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

19 years agoa bad case for bitfield insert
Chris Lattner [Fri, 28 Oct 2005 00:20:45 +0000 (00:20 +0000)]
a bad case for bitfield insert

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

19 years agoNow generating instruction itineraries for scheduling. Not my best work, but...
Jim Laskey [Thu, 27 Oct 2005 19:47:21 +0000 (19:47 +0000)]
Now generating instruction itineraries for scheduling.  Not my best work, but...

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

19 years agoStructures used to hold scheduling information.
Jim Laskey [Thu, 27 Oct 2005 18:18:05 +0000 (18:18 +0000)]
Structures used to hold scheduling information.

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

19 years agoupdate project file
Chris Lattner [Thu, 27 Oct 2005 17:39:48 +0000 (17:39 +0000)]
update project file

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

19 years agoDo not sink any instruction with side effects, including vaarg. This fixes
Chris Lattner [Thu, 27 Oct 2005 17:13:11 +0000 (17:13 +0000)]
Do not sink any instruction with side effects, including vaarg.  This fixes
PR640

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

19 years agoFix #include order
Chris Lattner [Thu, 27 Oct 2005 16:34:00 +0000 (16:34 +0000)]
Fix #include order

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

19 years agounbreak the build again
Chris Lattner [Thu, 27 Oct 2005 16:30:44 +0000 (16:30 +0000)]
unbreak the build again

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

19 years agoMove some constant folding functions into LLVMAnalysis since they are used
John Criswell [Thu, 27 Oct 2005 16:00:10 +0000 (16:00 +0000)]
Move some constant folding functions into LLVMAnalysis since they are used
by Analysis and Transformation passes.

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

19 years agoMove some constant folding code shared by Analysis and Transform passes
John Criswell [Thu, 27 Oct 2005 15:54:34 +0000 (15:54 +0000)]
Move some constant folding code shared by Analysis and Transform passes
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.

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

19 years agoFix DSE to not nuke dead stores unless they redundant store is the same
Chris Lattner [Thu, 27 Oct 2005 07:10:34 +0000 (07:10 +0000)]
Fix DSE to not nuke dead stores unless they redundant store is the same
VT as the killing one.  Fix fixes PR491

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

19 years agoFix typo
Chris Lattner [Thu, 27 Oct 2005 06:26:26 +0000 (06:26 +0000)]
Fix typo

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

19 years agoTeach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)
Chris Lattner [Thu, 27 Oct 2005 06:24:46 +0000 (06:24 +0000)]
Teach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)
into: malloc int, (2*X)

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

19 years agoPromote cases like cast (malloc sbyte, 100) to int* into
Chris Lattner [Thu, 27 Oct 2005 06:12:00 +0000 (06:12 +0000)]
Promote cases like cast (malloc sbyte, 100) to int* into
(malloc [25 x int]) directly without having to convert to
(malloc [100 x sbyte]) first.

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

19 years agoMinor change to this file to support obscure cases with constant array amounts
Chris Lattner [Thu, 27 Oct 2005 05:53:56 +0000 (05:53 +0000)]
Minor change to this file to support obscure cases with constant array amounts

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

19 years agoAdd a simple xform that is useful for bitfield operations.
Chris Lattner [Thu, 27 Oct 2005 05:06:38 +0000 (05:06 +0000)]
Add a simple xform that is useful for bitfield operations.

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

19 years agoFine tune Visual Studio's use of bison/flex.
Jeff Cohen [Thu, 27 Oct 2005 01:10:36 +0000 (01:10 +0000)]
Fine tune Visual Studio's use of bison/flex.

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

19 years agoMake sure to build things in the right order, build with the .o file, not the
Chris Lattner [Thu, 27 Oct 2005 00:53:16 +0000 (00:53 +0000)]
Make sure to build things in the right order, build with the .o file, not the
.a file to unbreak the build after john's change

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

19 years ago1. Remove libraries no longer created from the list of libraries linked into the
John Criswell [Wed, 26 Oct 2005 20:35:13 +0000 (20:35 +0000)]
1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.

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

19 years agoint comparison patterns
Andrew Lenharth [Wed, 26 Oct 2005 18:44:45 +0000 (18:44 +0000)]
int comparison patterns

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

19 years agoFix some spello's pointed out by Gabor Greif
Chris Lattner [Wed, 26 Oct 2005 18:41:41 +0000 (18:41 +0000)]
Fix some spello's pointed out by Gabor Greif

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

19 years agoTypo made worse x 2 - take 2.
Jim Laskey [Wed, 26 Oct 2005 18:07:50 +0000 (18:07 +0000)]
Typo made worse x 2 - take 2.

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

19 years agoFix an assert compiling MallocBench/gs
Chris Lattner [Wed, 26 Oct 2005 18:01:11 +0000 (18:01 +0000)]
Fix an assert compiling MallocBench/gs

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

19 years agoTypo x 2
Jim Laskey [Wed, 26 Oct 2005 17:50:22 +0000 (17:50 +0000)]
Typo x 2

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

19 years agoSimplify.
Jim Laskey [Wed, 26 Oct 2005 17:49:21 +0000 (17:49 +0000)]
Simplify.

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

19 years agoSimplify instinfo, set random bits on more fp insts, and fix 1 opcode
Andrew Lenharth [Wed, 26 Oct 2005 17:41:46 +0000 (17:41 +0000)]
Simplify instinfo, set random bits on more fp insts, and fix 1 opcode

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

19 years agoGive full control of subtarget features over to table generated code.
Jim Laskey [Wed, 26 Oct 2005 17:30:34 +0000 (17:30 +0000)]
Give full control of subtarget features over to table generated code.

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

19 years agoAdd attribute name and type to SubtargetFeatures.
Jim Laskey [Wed, 26 Oct 2005 17:28:23 +0000 (17:28 +0000)]
Add attribute name and type to SubtargetFeatures.

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

19 years agofold nested and's early to avoid inefficiencies in MaskedValueIsZero. This
Chris Lattner [Wed, 26 Oct 2005 17:18:16 +0000 (17:18 +0000)]
fold nested and's early to avoid inefficiencies in MaskedValueIsZero.  This
fixes a very slow compile in PR639.

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

19 years agoCondcodes are in the ISD namespace
Chris Lattner [Wed, 26 Oct 2005 17:02:02 +0000 (17:02 +0000)]
Condcodes are in the ISD namespace

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

19 years agoAdd nodes for CondCodeSDNode and setcc, and add a bunch of pattern fragments
Chris Lattner [Wed, 26 Oct 2005 17:00:25 +0000 (17:00 +0000)]
Add nodes for CondCodeSDNode and setcc, and add a bunch of pattern fragments
to make it easy to use them.  This lets you write patterns like:

(set PRRC:$rd, (setne GPRC:$rS, imm:$SH))

and stuff.

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

19 years agoAdd support for CondCode's
Chris Lattner [Wed, 26 Oct 2005 16:59:37 +0000 (16:59 +0000)]
Add support for CondCode's

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

19 years agoFix comment.
Jeff Cohen [Wed, 26 Oct 2005 15:02:21 +0000 (15:02 +0000)]
Fix comment.

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

19 years agoEliminate use of sed in Visual Studio builds.
Jeff Cohen [Wed, 26 Oct 2005 14:48:53 +0000 (14:48 +0000)]
Eliminate use of sed in Visual Studio builds.

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

19 years agoEliminate need for bison/flex in Visual Studio builds.
Jeff Cohen [Wed, 26 Oct 2005 05:37:34 +0000 (05:37 +0000)]
Eliminate need for bison/flex in Visual Studio builds.

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

19 years agoUpdate Visual Studio projects to reflect moved file.
Jeff Cohen [Wed, 26 Oct 2005 05:36:51 +0000 (05:36 +0000)]
Update Visual Studio projects to reflect moved file.

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

19 years agoAdd a regression test for the recent fix for FP_TO_UINT lowering in the ppc
Nate Begeman [Tue, 25 Oct 2005 23:53:21 +0000 (23:53 +0000)]
Add a regression test for the recent fix for FP_TO_UINT lowering in the ppc
backend.

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

19 years agoAdd a note about some bitfield stuff we could be doing better.
Nate Begeman [Tue, 25 Oct 2005 23:50:02 +0000 (23:50 +0000)]
Add a note about some bitfield stuff we could be doing better.

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

19 years agoCorrectly Expand or Promote FP_TO_UINT based on the capabilities of the
Nate Begeman [Tue, 25 Oct 2005 23:48:36 +0000 (23:48 +0000)]
Correctly Expand or Promote FP_TO_UINT based on the capabilities of the
machine.  This allows us to generate great code for i32 FP_TO_UINT now on
targets with 64 bit extensions.

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

19 years agoAllow custom lowered FP_TO_SINT ops in the check for whether a larger
Nate Begeman [Tue, 25 Oct 2005 23:47:25 +0000 (23:47 +0000)]
Allow custom lowered FP_TO_SINT ops in the check for whether a larger
FP_TO_SINT is preferred to a larger FP_TO_UINT.  This seems to be begging
for a TLI.isOperationCustom() helper function.

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

19 years agoautogen undef
Chris Lattner [Tue, 25 Oct 2005 21:03:41 +0000 (21:03 +0000)]
autogen undef

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

19 years agoAdd undef
Chris Lattner [Tue, 25 Oct 2005 21:03:14 +0000 (21:03 +0000)]
Add undef

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

19 years agoAdd a method
Chris Lattner [Tue, 25 Oct 2005 21:02:21 +0000 (21:02 +0000)]
Add a method

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

19 years agoAllow pseudos to have patterns, no functionality change
Chris Lattner [Tue, 25 Oct 2005 20:58:43 +0000 (20:58 +0000)]
Allow pseudos to have patterns, no functionality change

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

19 years agoAutogen fsel
Chris Lattner [Tue, 25 Oct 2005 20:55:47 +0000 (20:55 +0000)]
Autogen fsel

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

19 years agoExpose the fextend on the DAG instead of doing it in the matcher
Chris Lattner [Tue, 25 Oct 2005 20:54:57 +0000 (20:54 +0000)]
Expose the fextend on the DAG instead of doing it in the matcher

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

19 years agoAutogen a few new ppc-specific nodes
Chris Lattner [Tue, 25 Oct 2005 20:41:46 +0000 (20:41 +0000)]
Autogen a few new ppc-specific nodes

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

19 years agoThe dag isel generator generates this now
Chris Lattner [Tue, 25 Oct 2005 20:36:10 +0000 (20:36 +0000)]
The dag isel generator generates this now

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

19 years agoEmit some boilerplate for targets
Chris Lattner [Tue, 25 Oct 2005 20:35:14 +0000 (20:35 +0000)]
Emit some boilerplate for targets

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