Nate Begeman
cff96008ac
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
llvm-svn: 25222
2006-01-11 21:21:00 +00:00
Chris Lattner
5a59c88c17
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.
llvm-svn: 25221
2006-01-11 19:55:07 +00:00
Chris Lattner
f9e32005dd
tblgen does this now
...
llvm-svn: 25220
2006-01-11 19:53:22 +00:00
Chris Lattner
8dd97ae338
This is no longer needed
...
llvm-svn: 25219
2006-01-11 19:52:46 +00:00
Chris Lattner
4e465047c1
Always select target registers to themselves
...
llvm-svn: 25218
2006-01-11 19:52:27 +00:00
Chris Lattner
6b8fb2e9bc
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.
llvm-svn: 25217
2006-01-11 18:21:25 +00:00
Chris Lattner
bba389b012
Testcase the PPC backend is miscompiling.
...
llvm-svn: 25216
2006-01-11 18:15:37 +00:00
Jeff Cohen
0d8574aa3c
Visual Studio is feeling left out again.
...
llvm-svn: 25215
2006-01-11 16:21:53 +00:00
Jeff Cohen
7ee43e70bc
Fix VC++ compilation error.
...
llvm-svn: 25214
2006-01-11 16:21:23 +00:00
Chris Lattner
97638d35a5
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."
llvm-svn: 25213
2006-01-11 16:14:49 +00:00
Chris Lattner
1ffbbc9ebc
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.
llvm-svn: 25212
2006-01-11 07:49:38 +00:00
Chris Lattner
c2bd047226
Fix a bug in i32->f64 conversion lowering
...
llvm-svn: 25211
2006-01-11 07:27:40 +00:00
Chris Lattner
34c4cddb14
Unbreak ret void :-/
...
llvm-svn: 25210
2006-01-11 07:15:43 +00:00
Chris Lattner
d9b3f6a3df
Write this pattern in canonical form, allowing more patterns to match.
...
This implements Regression/CodeGen/SparcV8/xnor.ll
llvm-svn: 25209
2006-01-11 07:14:01 +00:00
Chris Lattner
d1b126aa79
catch all forms of xnor
...
llvm-svn: 25208
2006-01-11 07:13:22 +00:00
Evan Cheng
e42281bcba
* 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.
llvm-svn: 25207
2006-01-11 06:09:51 +00:00
Chris Lattner
c2cdeffb70
Simple is good. CVS is for revision control, not file headers
...
llvm-svn: 25206
2006-01-11 05:39:45 +00:00
Chris Lattner
7200905df3
Simple is good
...
llvm-svn: 25205
2006-01-11 05:38:55 +00:00
Chris Lattner
4456e1530a
Simple is good, CVS log is for history, not the silly credits block
...
llvm-svn: 25204
2006-01-11 05:38:15 +00:00
Chris Lattner
d726328ee9
Preserve and update ETForest. Patch by Daniel Berlin
...
llvm-svn: 25203
2006-01-11 05:11:13 +00:00
Chris Lattner
7b7fee2d92
Switch these to using ETForest instead of DominatorSet to compute itself.
...
Patch written by Daniel Berlin!
llvm-svn: 25202
2006-01-11 05:10:20 +00:00
Chris Lattner
229a42a573
Switch this to using ETForest instead of DominatorSet to compute itself.
...
Patch written by Daniel Berlin!
llvm-svn: 25201
2006-01-11 05:09:40 +00:00
Chris Lattner
07daf14bbd
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin!
...
llvm-svn: 25200
2006-01-11 05:08:57 +00:00
Chris Lattner
ed83d93696
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.
...
Patch by Daniel Berlin!
llvm-svn: 25199
2006-01-11 05:08:29 +00:00
Duraid Madina
52e3f53ea5
cleanup GETFD
...
llvm-svn: 25198
2006-01-11 03:50:40 +00:00
Andrew Lenharth
09447d44ac
this pattern was bogus
...
llvm-svn: 25197
2006-01-11 03:33:06 +00:00
Chris Lattner
5c9aa72e8d
Regenerate these files. FreeBSD apparently has issues with the version of
...
lex/bison Rob used.
llvm-svn: 25196
2006-01-11 02:07:51 +00:00
Duraid Madina
3246f5317b
this just might work
...
llvm-svn: 25195
2006-01-11 01:38:07 +00:00
Chris Lattner
0343518492
Emit an error instead of an assertion if trying to do bogus things in result patterns.
...
llvm-svn: 25194
2006-01-11 01:33:49 +00:00
Duraid Madina
242414e621
add support for selecting bools
...
FIXME: this is commented out because it makes tblgen go a bit fruity
llvm-svn: 25193
2006-01-11 01:21:12 +00:00
Chris Lattner
1d0926075f
implement FP_REG_KILL insertion for the dag-dag instruction selector
...
llvm-svn: 25192
2006-01-11 01:15:34 +00:00
Chris Lattner
b4e9082f18
Fit into 80 cols
...
llvm-svn: 25191
2006-01-11 00:46:55 +00:00
Evan Cheng
9adc8e5a3d
SSE cmov support.
...
llvm-svn: 25190
2006-01-11 00:33:36 +00:00
Evan Cheng
0cb5e32cda
* fp to sint patterns.
...
* fiadd, fisub, etc.
llvm-svn: 25189
2006-01-10 22:22:02 +00:00
Evan Cheng
8504673bb2
FP_TO_INT*_IN_MEM and x87 FP Select support.
...
llvm-svn: 25188
2006-01-10 20:26:56 +00:00
Robert Bocchino
472e42d3cc
Added constant folding support for the extractelement operation.
...
llvm-svn: 25187
2006-01-10 20:03:46 +00:00
Chris Lattner
8f96cc65bb
new testcase for extractelement instruction
...
llvm-svn: 25186
2006-01-10 20:00:20 +00:00
Chris Lattner
6a671ed26f
silence a bogus warning
...
llvm-svn: 25185
2006-01-10 19:45:18 +00:00
Chris Lattner
da0089a5c7
silence a warning
...
llvm-svn: 25184
2006-01-10 19:43:26 +00:00
Robert Bocchino
35199c9513
Expanded the documentation for constant expressions to cover select
...
and extractelement.
llvm-svn: 25183
2006-01-10 19:31:34 +00:00
Andrew Lenharth
0dd7d82ec6
Int immediate loading fix
...
llvm-svn: 25182
2006-01-10 19:12:47 +00:00
Robert Bocchino
9a57550e4e
Added support for the extractelement operation.
...
llvm-svn: 25181
2006-01-10 19:05:34 +00:00
Robert Bocchino
e00d93bc83
Added lower packed support for the extractelement operation.
...
llvm-svn: 25180
2006-01-10 19:05:05 +00:00
Robert Bocchino
38060df8d1
Added selection DAG support for the extractelement operation.
...
llvm-svn: 25179
2006-01-10 19:04:57 +00:00
Robert Bocchino
f2b874e907
Added bytecode support for the extractelement operation.
...
llvm-svn: 25178
2006-01-10 19:04:39 +00:00
Robert Bocchino
b33dab425c
Added lexer and parser support for the extractelement operation.
...
llvm-svn: 25177
2006-01-10 19:04:32 +00:00
Robert Bocchino
1088fb019d
Added an instruction and constant expression for the extractelement
...
operation.
llvm-svn: 25176
2006-01-10 19:04:13 +00:00
Reid Spencer
ebf3eceb26
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.
llvm-svn: 25175
2006-01-10 09:51:48 +00:00
Reid Spencer
57db434426
Make ValueSymbolTable (temporarily) a friend of Value so it can mod the
...
Name of Value instances.
llvm-svn: 25174
2006-01-10 09:45:57 +00:00
Chris Lattner
d455e0ce54
Minor cleanup, no functionality change for current targets
...
llvm-svn: 25173
2006-01-10 05:41:59 +00:00