oota-llvm.git
18 years agoignore register #0
Evan Cheng [Wed, 11 Jan 2006 22:13:48 +0000 (22:13 +0000)]
ignore register #0

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

18 years agoAdd bswap, rotl, and rotr nodes
Nate Begeman [Wed, 11 Jan 2006 21:21:00 +0000 (21:21 +0000)]
Add bswap, rotl, and rotr nodes
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl

Targets should add rotl/rotr patterns if they have them

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

18 years agoFix calls that need to store values in stack slots, to not copy the stack
Chris Lattner [Wed, 11 Jan 2006 19:55:07 +0000 (19:55 +0000)]
Fix calls that need to store values in stack slots, to not copy the stack
pointer.  This allows us to emit stuff like this:

        li r10, 0
        stw r10, 56(r1)
        or r3, r10, r10
        or r4, r10, r10
        or r5, r10, r10
        or r6, r10, r10
        or r7, r10, r10
        or r8, r10, r10
        or r9, r10, r10
        bl L_bar$stub

instead of this:

        or r2, r1, r1     ;; Extraneous copy.
        li r10, 0
        stw r10, 56(r2)
        or r3, r10, r10
        or r4, r10, r10
        or r5, r10, r10
        or r6, r10, r10
        or r7, r10, r10
        or r8, r10, r10
        or r9, r10, r10
        bl L_bar$stub

wowness.

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

18 years agotblgen does this now
Chris Lattner [Wed, 11 Jan 2006 19:53:22 +0000 (19:53 +0000)]
tblgen does this now

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

18 years agoThis is no longer needed
Chris Lattner [Wed, 11 Jan 2006 19:52:46 +0000 (19:52 +0000)]
This is no longer needed

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

18 years agoAlways select target registers to themselves
Chris Lattner [Wed, 11 Jan 2006 19:52:27 +0000 (19:52 +0000)]
Always select target registers to themselves

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

18 years agoDead FP arguments still use an incoming FP reg. This fixes
Chris Lattner [Wed, 11 Jan 2006 18:21:25 +0000 (18:21 +0000)]
Dead FP arguments still use an incoming FP reg.  This fixes
Regression/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll, which was
distilled from a miscompilation in 252.eon.

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

18 years agoTestcase the PPC backend is miscompiling.
Chris Lattner [Wed, 11 Jan 2006 18:15:37 +0000 (18:15 +0000)]
Testcase the PPC backend is miscompiling.

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

18 years agoVisual Studio is feeling left out again.
Jeff Cohen [Wed, 11 Jan 2006 16:21:53 +0000 (16:21 +0000)]
Visual Studio is feeling left out again.

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

18 years agoFix VC++ compilation error.
Jeff Cohen [Wed, 11 Jan 2006 16:21:23 +0000 (16:21 +0000)]
Fix VC++ compilation error.

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

18 years agoPatch #9 from Saem:
Chris Lattner [Wed, 11 Jan 2006 16:14:49 +0000 (16:14 +0000)]
Patch #9 from Saem:

"Cut up the runPasses method into smaller pieces.  The small private
helpers should  be easier to deal with when code shuffling arising
from creating the new specialised batchers, not to mention, they're
much easier to understand.

I inlined them, in case function call overhead would be noticeable --
doubtful."

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

18 years agoUse Evan's outflag stuff to implement V8cmpicc. This allows us to write a
Chris Lattner [Wed, 11 Jan 2006 07:49:38 +0000 (07:49 +0000)]
Use Evan's outflag stuff to implement V8cmpicc.  This allows us to write a
pattern for SUBCCrr, and makes it trivial to add support for SUBCCri, eliminating
an instruction in the common "setcc X, imm" case.

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

18 years agoFix a bug in i32->f64 conversion lowering
Chris Lattner [Wed, 11 Jan 2006 07:27:40 +0000 (07:27 +0000)]
Fix a bug in i32->f64 conversion lowering

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

18 years agoUnbreak ret void :-/
Chris Lattner [Wed, 11 Jan 2006 07:15:43 +0000 (07:15 +0000)]
Unbreak ret void   :-/

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

18 years agoWrite this pattern in canonical form, allowing more patterns to match.
Chris Lattner [Wed, 11 Jan 2006 07:14:01 +0000 (07:14 +0000)]
Write this pattern in canonical form, allowing more patterns to match.
This implements Regression/CodeGen/SparcV8/xnor.ll

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

18 years agocatch all forms of xnor
Chris Lattner [Wed, 11 Jan 2006 07:13:22 +0000 (07:13 +0000)]
catch all forms of xnor

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

18 years ago* Add special entry code main() (to set x87 to 64-bit precision).
Evan Cheng [Wed, 11 Jan 2006 06:09:51 +0000 (06:09 +0000)]
* Add special entry code main() (to set x87 to 64-bit precision).
* Allow a register node as SelectAddr() base.
* ExternalSymbol -> TargetExternalSymbol as direct function callee.
* Use X86::ESP register rather than CopyFromReg(X86::ESP) as stack ptr for
  call parmater passing.

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

18 years agoSimple is good. CVS is for revision control, not file headers
Chris Lattner [Wed, 11 Jan 2006 05:39:45 +0000 (05:39 +0000)]
Simple is good.  CVS is for revision control, not file headers

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

18 years agoSimple is good
Chris Lattner [Wed, 11 Jan 2006 05:38:55 +0000 (05:38 +0000)]
Simple is good

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

18 years agoSimple is good, CVS log is for history, not the silly credits block
Chris Lattner [Wed, 11 Jan 2006 05:38:15 +0000 (05:38 +0000)]
Simple is good, CVS log is for history, not the silly credits block

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

18 years agoPreserve and update ETForest. Patch by Daniel Berlin
Chris Lattner [Wed, 11 Jan 2006 05:11:13 +0000 (05:11 +0000)]
Preserve and update ETForest.  Patch by Daniel Berlin

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

18 years agoSwitch these to using ETForest instead of DominatorSet to compute itself.
Chris Lattner [Wed, 11 Jan 2006 05:10:20 +0000 (05:10 +0000)]
Switch these to using ETForest instead of DominatorSet to compute itself.
Patch written by Daniel Berlin!

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

18 years agoSwitch this to using ETForest instead of DominatorSet to compute itself.
Chris Lattner [Wed, 11 Jan 2006 05:09:40 +0000 (05:09 +0000)]
Switch this to using ETForest instead of DominatorSet to compute itself.
Patch written by Daniel Berlin!

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

18 years agoSwitch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch...
Chris Lattner [Wed, 11 Jan 2006 05:08:57 +0000 (05:08 +0000)]
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin!

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

18 years agoSwitch loopinfo to using ETForest instead of DominatorSet to compute itself.
Chris Lattner [Wed, 11 Jan 2006 05:08:29 +0000 (05:08 +0000)]
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.
Patch by Daniel Berlin!

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

18 years agocleanup GETFD
Duraid Madina [Wed, 11 Jan 2006 03:50:40 +0000 (03:50 +0000)]
cleanup GETFD

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

18 years agothis pattern was bogus
Andrew Lenharth [Wed, 11 Jan 2006 03:33:06 +0000 (03:33 +0000)]
this pattern was bogus

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

18 years agoRegenerate these files. FreeBSD apparently has issues with the version of
Chris Lattner [Wed, 11 Jan 2006 02:07:51 +0000 (02:07 +0000)]
Regenerate these files.  FreeBSD apparently has issues with the version of
lex/bison Rob used.

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

18 years agothis just might work
Duraid Madina [Wed, 11 Jan 2006 01:38:07 +0000 (01:38 +0000)]
this just might work

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

18 years agoEmit an error instead of an assertion if trying to do bogus things in result patterns.
Chris Lattner [Wed, 11 Jan 2006 01:33:49 +0000 (01:33 +0000)]
Emit an error instead of an assertion if trying to do bogus things in result patterns.

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

18 years agoadd support for selecting bools
Duraid Madina [Wed, 11 Jan 2006 01:21:12 +0000 (01:21 +0000)]
add support for selecting bools

FIXME: this is commented out because it makes tblgen go a bit fruity

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

18 years agoimplement FP_REG_KILL insertion for the dag-dag instruction selector
Chris Lattner [Wed, 11 Jan 2006 01:15:34 +0000 (01:15 +0000)]
implement FP_REG_KILL insertion for the dag-dag instruction selector

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

18 years agoFit into 80 cols
Chris Lattner [Wed, 11 Jan 2006 00:46:55 +0000 (00:46 +0000)]
Fit into 80 cols

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

18 years agoSSE cmov support.
Evan Cheng [Wed, 11 Jan 2006 00:33:36 +0000 (00:33 +0000)]
SSE cmov support.

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

18 years ago* fp to sint patterns.
Evan Cheng [Tue, 10 Jan 2006 22:22:02 +0000 (22:22 +0000)]
* fp to sint patterns.
* fiadd, fisub, etc.

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

18 years agoFP_TO_INT*_IN_MEM and x87 FP Select support.
Evan Cheng [Tue, 10 Jan 2006 20:26:56 +0000 (20:26 +0000)]
FP_TO_INT*_IN_MEM and x87 FP Select support.

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

18 years agoAdded constant folding support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 20:03:46 +0000 (20:03 +0000)]
Added constant folding support for the extractelement operation.

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

18 years agonew testcase for extractelement instruction
Chris Lattner [Tue, 10 Jan 2006 20:00:20 +0000 (20:00 +0000)]
new testcase for extractelement instruction

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

18 years agosilence a bogus warning
Chris Lattner [Tue, 10 Jan 2006 19:45:18 +0000 (19:45 +0000)]
silence a bogus warning

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

18 years agosilence a warning
Chris Lattner [Tue, 10 Jan 2006 19:43:26 +0000 (19:43 +0000)]
silence a warning

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

18 years agoExpanded the documentation for constant expressions to cover select
Robert Bocchino [Tue, 10 Jan 2006 19:31:34 +0000 (19:31 +0000)]
Expanded the documentation for constant expressions to cover select
and extractelement.

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

18 years agoInt immediate loading fix
Andrew Lenharth [Tue, 10 Jan 2006 19:12:47 +0000 (19:12 +0000)]
Int immediate loading fix

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

18 years agoAdded support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 19:05:34 +0000 (19:05 +0000)]
Added support for the extractelement operation.

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

18 years agoAdded lower packed support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 19:05:05 +0000 (19:05 +0000)]
Added lower packed support for the extractelement operation.

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

18 years agoAdded selection DAG support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 19:04:57 +0000 (19:04 +0000)]
Added selection DAG support for the extractelement operation.

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

18 years agoAdded bytecode support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 19:04:39 +0000 (19:04 +0000)]
Added bytecode support for the extractelement operation.

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

18 years agoAdded lexer and parser support for the extractelement operation.
Robert Bocchino [Tue, 10 Jan 2006 19:04:32 +0000 (19:04 +0000)]
Added lexer and parser support for the extractelement operation.

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

18 years agoAdded an instruction and constant expression for the extractelement
Robert Bocchino [Tue, 10 Jan 2006 19:04:13 +0000 (19:04 +0000)]
Added an instruction and constant expression for the extractelement
operation.

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

18 years agoFor PR411:
Reid Spencer [Tue, 10 Jan 2006 09:51:48 +0000 (09:51 +0000)]
For PR411:
First step in refactoring the SymbolTable is to split it into two classes,
one for a symbol table of types and one for a symbol table of Values.

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

18 years agoMake ValueSymbolTable (temporarily) a friend of Value so it can mod the
Reid Spencer [Tue, 10 Jan 2006 09:45:57 +0000 (09:45 +0000)]
Make ValueSymbolTable (temporarily) a friend of Value so it can mod the
Name of Value instances.

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

18 years agoMinor cleanup, no functionality change for current targets
Chris Lattner [Tue, 10 Jan 2006 05:41:59 +0000 (05:41 +0000)]
Minor cleanup, no functionality change for current targets

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

18 years agoheh, 'sif it'd be a legalizer bug.
Duraid Madina [Tue, 10 Jan 2006 05:26:01 +0000 (05:26 +0000)]
heh, 'sif it'd be a legalizer bug.

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

18 years agosupport functions that return bool (this "should" work but doesn't,
Duraid Madina [Tue, 10 Jan 2006 05:08:25 +0000 (05:08 +0000)]
support functions that return bool (this "should" work but doesn't,
*maybe* due to a legalizer bug.)

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

18 years agoRemove unused inclusion of SymbolTable.h
Reid Spencer [Tue, 10 Jan 2006 03:48:34 +0000 (03:48 +0000)]
Remove unused inclusion of SymbolTable.h

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

18 years agoFor PR521:
Reid Spencer [Tue, 10 Jan 2006 03:14:40 +0000 (03:14 +0000)]
For PR521:
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.

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

18 years agoBe a little more explanatory in a comment.
Reid Spencer [Tue, 10 Jan 2006 03:12:29 +0000 (03:12 +0000)]
Be a little more explanatory in a comment.

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

18 years agoRemove a comment that no longer applies.
Nate Begeman [Tue, 10 Jan 2006 00:15:59 +0000 (00:15 +0000)]
Remove a comment that no longer applies.

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

18 years agoGive PPCISD:: nodes legible names in dumps.
Chris Lattner [Mon, 9 Jan 2006 23:52:17 +0000 (23:52 +0000)]
Give PPCISD:: nodes legible names in dumps.

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

18 years agoFix an exponential function in libcall insertion to not be exponential. :)
Chris Lattner [Mon, 9 Jan 2006 23:21:49 +0000 (23:21 +0000)]
Fix an exponential function in libcall insertion to not be exponential. :)

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

18 years agoadd ret void support back
Chris Lattner [Mon, 9 Jan 2006 23:20:37 +0000 (23:20 +0000)]
add ret void support back

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

18 years ago* Added undef patterns.
Evan Cheng [Mon, 9 Jan 2006 23:10:28 +0000 (23:10 +0000)]
* Added undef patterns.
* Some reorg.

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

18 years agoMore typos
Evan Cheng [Mon, 9 Jan 2006 22:29:54 +0000 (22:29 +0000)]
More typos

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

18 years agotypo
Evan Cheng [Mon, 9 Jan 2006 20:49:21 +0000 (20:49 +0000)]
typo

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

18 years agoproper branch not equal sequence
Andrew Lenharth [Mon, 9 Jan 2006 19:49:58 +0000 (19:49 +0000)]
proper branch not equal sequence

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

18 years agoSupport for ADD_PARTS, SUB_PARTS, SHL_PARTS, SHR_PARTS, and SRA_PARTS.
Evan Cheng [Mon, 9 Jan 2006 18:33:28 +0000 (18:33 +0000)]
Support for ADD_PARTS, SUB_PARTS, SHL_PARTS, SHR_PARTS, and SRA_PARTS.

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

18 years ago* Allow custom lowering of ADD_PARTS, SUB_PARTS, SHL_PARTS, SRA_PARTS,
Evan Cheng [Mon, 9 Jan 2006 18:31:59 +0000 (18:31 +0000)]
* Allow custom lowering of ADD_PARTS, SUB_PARTS, SHL_PARTS, SRA_PARTS,
and SRL_PARTS.
* Fix a bug that caused *_PARTS to be custom lowered twice.

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

18 years agoNew getNode() variants.
Evan Cheng [Mon, 9 Jan 2006 18:29:18 +0000 (18:29 +0000)]
New getNode() variants.

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

18 years agoNew DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace
Evan Cheng [Mon, 9 Jan 2006 18:28:21 +0000 (18:28 +0000)]
New DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace
hasInFlag, hasOutFlag.

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

18 years ago* Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and
Evan Cheng [Mon, 9 Jan 2006 18:27:06 +0000 (18:27 +0000)]
* Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and
SNDPOutFlag to DAG nodes. These properties do not belong to target specific
instructions.
* Added DAG node property SNDPOptInFlag. It's same as SNDPInFlag except it's
optional. Used by ret / call, etc.

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

18 years agoTeach loopsimplify to update et-forest. Patch contributed by Daniel Berlin!
Chris Lattner [Mon, 9 Jan 2006 08:03:08 +0000 (08:03 +0000)]
Teach loopsimplify to update et-forest.  Patch contributed by Daniel Berlin!

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

18 years agoBugfix for etforest updating. Contributed by Daniel Berlin.
Chris Lattner [Mon, 9 Jan 2006 07:58:01 +0000 (07:58 +0000)]
Bugfix for etforest updating.  Contributed by Daniel Berlin.

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

18 years agoSaem Ghani's PassManager Patch #8:
Reid Spencer [Sun, 8 Jan 2006 22:57:07 +0000 (22:57 +0000)]
Saem Ghani's PassManager Patch #8:
This fixes a "gccass" regression. The -debug-pass=Structure option now
prints all the appropriate output

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

18 years agoAdd some documentation.
Reid Spencer [Sun, 8 Jan 2006 22:41:22 +0000 (22:41 +0000)]
Add some documentation.

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

18 years agoFix line length of a comment.
Reid Spencer [Sun, 8 Jan 2006 22:40:10 +0000 (22:40 +0000)]
Fix line length of a comment.

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

18 years agoVisual Studio hates being left out.
Jeff Cohen [Sun, 8 Jan 2006 18:29:44 +0000 (18:29 +0000)]
Visual Studio hates being left out.

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

18 years agoFix the build on platforms where <cassert> doesn't define NULL
Chris Lattner [Sun, 8 Jan 2006 09:10:46 +0000 (09:10 +0000)]
Fix the build on platforms where <cassert> doesn't define NULL

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

18 years agoFix a problem exposed by the et-forest work. Load-vn needs these passes live
Chris Lattner [Sun, 8 Jan 2006 09:10:04 +0000 (09:10 +0000)]
Fix a problem exposed by the et-forest work.  Load-vn needs these passes live
whenever it is live, not just when load-vn is computed initially

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

18 years agoAdd an entry
Chris Lattner [Sun, 8 Jan 2006 08:25:38 +0000 (08:25 +0000)]
Add an entry

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

18 years agoInitial implementation of the ET-Forest data structure for dominators and
Chris Lattner [Sun, 8 Jan 2006 08:22:18 +0000 (08:22 +0000)]
Initial implementation of the ET-Forest data structure for dominators and
post-dominators.  This code was written/adapted by Daniel Berlin!

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

18 years agoFix out of date comments, patch by Marco Matthies.
Chris Lattner [Sun, 8 Jan 2006 02:32:52 +0000 (02:32 +0000)]
Fix out of date comments, patch by Marco Matthies.

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

18 years agoPatch #7 from Saem:
Chris Lattner [Sat, 7 Jan 2006 23:16:58 +0000 (23:16 +0000)]
Patch #7 from Saem:

"added the asserts and casts, fixed the comments and started the break
down of the larger methods.  A few more patches and the breakdown
should be complete."

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

18 years agoFix the PPC JIT failures last night, which were due to mishandling of linkonce globals
Chris Lattner [Sat, 7 Jan 2006 06:22:16 +0000 (06:22 +0000)]
Fix the PPC JIT failures last night, which were due to mishandling of linkonce globals

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

18 years agoWrap long lines.
Chris Lattner [Sat, 7 Jan 2006 06:20:51 +0000 (06:20 +0000)]
Wrap long lines.

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

18 years agowrap long line
Chris Lattner [Sat, 7 Jan 2006 06:12:07 +0000 (06:12 +0000)]
wrap long line

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

18 years agoModify this test to not depend on the host math.h implementation
Chris Lattner [Sat, 7 Jan 2006 01:37:25 +0000 (01:37 +0000)]
Modify this test to not depend on the host math.h implementation

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

18 years agofix some 176.gcc miscompilation from my previous patch.
Chris Lattner [Sat, 7 Jan 2006 01:32:28 +0000 (01:32 +0000)]
fix some 176.gcc miscompilation from my previous patch.

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

18 years ago* Added integer div / rem.
Evan Cheng [Fri, 6 Jan 2006 23:19:29 +0000 (23:19 +0000)]
* Added integer div / rem.
* Fixed a load folding bug.

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

18 years agoFixed Makefile so it does, indeed, build a dynamic library.
Robert Bocchino [Fri, 6 Jan 2006 22:51:19 +0000 (22:51 +0000)]
Fixed Makefile so it does, indeed, build a dynamic library.

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

18 years agoFixed a typo; "= 1" was missing.
Robert Bocchino [Fri, 6 Jan 2006 22:49:23 +0000 (22:49 +0000)]
Fixed a typo; "= 1" was missing.

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

18 years agoPattern complexity calculation fix.
Evan Cheng [Fri, 6 Jan 2006 22:19:44 +0000 (22:19 +0000)]
Pattern complexity calculation fix.

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

18 years agoISEL code for MULHU, MULHS, and UNDEF.
Evan Cheng [Fri, 6 Jan 2006 20:36:21 +0000 (20:36 +0000)]
ISEL code for MULHU, MULHS, and UNDEF.

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

18 years agomake 0 codegen much better
Andrew Lenharth [Fri, 6 Jan 2006 19:41:51 +0000 (19:41 +0000)]
make 0 codegen much better

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

18 years agosilence some bogus gcc warnings on fenris
Chris Lattner [Fri, 6 Jan 2006 17:59:59 +0000 (17:59 +0000)]
silence some bogus gcc warnings on fenris

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

18 years agosilence a bogus gcc warning
Chris Lattner [Fri, 6 Jan 2006 17:56:38 +0000 (17:56 +0000)]
silence a bogus gcc warning

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

18 years agoEnhance the shift-shift folding code to allow a no-op cast to occur in between
Chris Lattner [Fri, 6 Jan 2006 07:52:12 +0000 (07:52 +0000)]
Enhance the shift-shift folding code to allow a no-op cast to occur in between
the shifts.

This allows us to fold this (which is the 'integer add a constant' sequence
from cozmic's scheme compmiler):

int %x(uint %anf-temporary776) {
        %anf-temporary777 = shr uint %anf-temporary776, ubyte 1
        %anf-temporary800 = cast uint %anf-temporary777 to int
        %anf-temporary804 = shl int %anf-temporary800, ubyte 1
        %anf-temporary805 = add int %anf-temporary804, -2
        %anf-temporary806 = or int %anf-temporary805, 1
        ret int %anf-temporary806
}

into this:

int %x(uint %anf-temporary776) {
        %anf-temporary776 = cast uint %anf-temporary776 to int
        %anf-temporary776.mask1 = add int %anf-temporary776, -2
        %anf-temporary805 = or int %anf-temporary776.mask1, 1
        ret int %anf-temporary805
}

note that instcombine already knew how to eliminate the AND that the two
shifts fold into.  This is tested by InstCombine/shift.ll:test26

-Chris

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

18 years agoA case that instcombine is not catching.
Chris Lattner [Fri, 6 Jan 2006 07:48:28 +0000 (07:48 +0000)]
A case that instcombine is not catching.

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

18 years agoSimplify the code a bit more
Chris Lattner [Fri, 6 Jan 2006 07:22:22 +0000 (07:22 +0000)]
Simplify the code a bit more

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

18 years agoExtract a bunch of code out of visitShiftInst into FoldShiftByConstant. No
Chris Lattner [Fri, 6 Jan 2006 07:12:35 +0000 (07:12 +0000)]
Extract a bunch of code out of visitShiftInst into FoldShiftByConstant.  No
functionality changes.

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

18 years agoUnbreak the build :(
Chris Lattner [Fri, 6 Jan 2006 05:47:48 +0000 (05:47 +0000)]
Unbreak the build :(

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

18 years agoAddd (shl x, 1) ==> (shl x, x) peepholes.
Evan Cheng [Fri, 6 Jan 2006 02:31:59 +0000 (02:31 +0000)]
Addd (shl x, 1) ==> (shl x, x) peepholes.

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