oota-llvm.git
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

18 years agoTweak pattern complexity calc.
Evan Cheng [Fri, 6 Jan 2006 02:30:23 +0000 (02:30 +0000)]
Tweak pattern complexity calc.

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

18 years agoRevert the previous check-in. Leave shl x, 1 along for target to deal with.
Evan Cheng [Fri, 6 Jan 2006 01:56:02 +0000 (01:56 +0000)]
Revert the previous check-in. Leave shl x, 1 along for target to deal with.

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

18 years agofold (shl x, 1) -> (add x, x)
Evan Cheng [Fri, 6 Jan 2006 01:06:31 +0000 (01:06 +0000)]
fold (shl x, 1) -> (add x, x)

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

18 years agolinkonce symbols have an extra indirection, just like weak ones do. This fixes
Chris Lattner [Fri, 6 Jan 2006 01:04:03 +0000 (01:04 +0000)]
linkonce symbols have an extra indirection, just like weak ones do.  This fixes
Prolangs-C++/family and Prolangs-C++/primes.

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

18 years ago* Fast call support.
Evan Cheng [Fri, 6 Jan 2006 00:43:03 +0000 (00:43 +0000)]
* Fast call support.
* FP cmp, setcc, etc.

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

18 years agoSupport for custom lowering of ISD::RET.
Evan Cheng [Fri, 6 Jan 2006 00:41:43 +0000 (00:41 +0000)]
Support for custom lowering of ISD::RET.

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

18 years agoBug fix wrt chain operand.
Evan Cheng [Fri, 6 Jan 2006 00:41:12 +0000 (00:41 +0000)]
Bug fix wrt chain operand.

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

18 years agoFix a compile crash building MultiSource/Applications/d with the new front-end.
Chris Lattner [Thu, 5 Jan 2006 18:32:49 +0000 (18:32 +0000)]
Fix a compile crash building MultiSource/Applications/d with the new front-end.
The PPC backend was generating random shift counts in this case, due to an
uninitialized variable.

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

18 years agoAdded the spec for the new "extractelement" instruction.
Robert Bocchino [Thu, 5 Jan 2006 17:37:02 +0000 (17:37 +0000)]
Added the spec for the new "extractelement" instruction.

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

18 years agoImplement a few symbolic constant folding things. X ? Y : Y is Y.
Chris Lattner [Thu, 5 Jan 2006 07:49:30 +0000 (07:49 +0000)]
Implement a few symbolic constant folding things.  X ? Y : Y is Y.

Fold:
seteq ({ short }* cast (int 1 to { short }*), { short }* null)
setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*))

to false/true.  These last two commonly occur in the output of compilers that
tag integers, like cozmic's scheme compiler.

Tested by Regression/Assembler/ConstantExprFold.llx

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

18 years agonew tests, derived from cosmics scheme output
Chris Lattner [Thu, 5 Jan 2006 07:46:46 +0000 (07:46 +0000)]
new tests, derived from cosmics scheme output

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

18 years agofix some formatting problems
Chris Lattner [Thu, 5 Jan 2006 07:19:51 +0000 (07:19 +0000)]
fix some formatting problems

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

18 years agounbreak the build, these are now in TargetSelectionDAG.td
Chris Lattner [Thu, 5 Jan 2006 04:48:15 +0000 (04:48 +0000)]
unbreak the build, these are now in TargetSelectionDAG.td

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

18 years agoAdded ConstantFP patterns.
Evan Cheng [Thu, 5 Jan 2006 02:08:37 +0000 (02:08 +0000)]
Added ConstantFP patterns.

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

18 years agoAdded fpimm node for ConstantFP.
Evan Cheng [Thu, 5 Jan 2006 02:07:49 +0000 (02:07 +0000)]
Added fpimm node for ConstantFP.

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