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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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