Chris Lattner
3d74556d74
This has apparently been fixed
...
llvm-svn: 30864
2006-10-11 01:44:46 +00:00
Chris Lattner
8adfe927bb
Make the bugpoint reduction heuristics more effective. Patch submitted by
...
Domagoj Babic, thanks!
llvm-svn: 30863
2006-10-10 21:42:25 +00:00
Rafael Espindola
8429e1f6c3
uint <-> double conversion
...
llvm-svn: 30862
2006-10-10 20:38:57 +00:00
Evan Cheng
7994aec7b5
Also update getNodeLabel for LoadSDNode.
...
llvm-svn: 30861
2006-10-10 20:11:26 +00:00
Evan Cheng
fe858538c0
SDNode::dump should also print out extension type and VT.
...
llvm-svn: 30860
2006-10-10 20:05:10 +00:00
Rafael Espindola
b5f1ff336a
add fp sub
...
llvm-svn: 30859
2006-10-10 19:35:01 +00:00
Rafael Espindola
57d109fb08
add double <-> int conversion
...
llvm-svn: 30858
2006-10-10 18:55:14 +00:00
Chris Lattner
8438429c96
Fix another bug in extload promotion.
...
llvm-svn: 30857
2006-10-10 18:54:19 +00:00
Rafael Espindola
d1a4ea41c9
compare doubles
...
llvm-svn: 30856
2006-10-10 16:33:47 +00:00
Rafael Espindola
639450ea83
add some tests for floating point compare
...
llvm-svn: 30855
2006-10-10 14:26:06 +00:00
Rafael Espindola
d15c892433
initial support for fp compares. Unordered compares not implemented yet
...
llvm-svn: 30854
2006-10-10 12:56:00 +00:00
Evan Cheng
dc6a3aab71
Fix a bug introduced by my LOAD/LOADX changes.
...
llvm-svn: 30853
2006-10-10 07:51:21 +00:00
Evan Cheng
6d37137e4f
Add test case from PR940.
...
llvm-svn: 30852
2006-10-10 04:33:46 +00:00
Evan Cheng
61b8b43bbe
More isel time load folding checking for nodes that produce flag values.
...
See comment in CanBeFoldedBy() for detailed explanation.
llvm-svn: 30851
2006-10-10 01:46:56 +00:00
Evan Cheng
e01ee43cdc
Comments; getChain(), getBasePtr(), etc. should return a SDOperand by value.
...
llvm-svn: 30850
2006-10-10 01:44:58 +00:00
Evan Cheng
16488647d8
shufps with load folding is better than movaps; movsd.
...
llvm-svn: 30849
2006-10-09 22:42:31 +00:00
Evan Cheng
57ccb6d372
Don't go too crazy with these AddComplexity. Try matching shufps with load
...
folding first.
llvm-svn: 30848
2006-10-09 21:42:15 +00:00
Evan Cheng
e646abb7b6
Don't convert to MOVLP if using shufps etc. may allow load folding.
...
llvm-svn: 30847
2006-10-09 21:39:25 +00:00
Devang Patel
d90c2d7386
Use FindProgramByName instead of FindExecutable.
...
llvm-svn: 30846
2006-10-09 21:16:05 +00:00
Evan Cheng
75a1b70da8
Predicate function on the node should be matched before its childrean' matching
...
code. This is especially important now matching ISD::LOAD also requires a
Predicate_Load call.
llvm-svn: 30845
2006-10-09 21:02:17 +00:00
Evan Cheng
e71fe34d75
Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.
...
llvm-svn: 30844
2006-10-09 20:57:25 +00:00
Evan Cheng
0a2a4b1fbe
Merging ISD::LOAD and ISD::LOADX. Added LoadSDNode to represent load nodes.
...
Chain and address ptr remains as operands. SrcValue, extending mode, extending
VT (or rather loaded VT before extension) are now instance variables of
LoadSDNode.
Introduce load / store addressing modes to represent pre- and post-indexed
load and store. Also added an additional operand offset that is only used in
post-indexed mode (i.e. base ptr += offset after load/store).
Added alignment info (not yet used) and isVolatile fields.
llvm-svn: 30843
2006-10-09 20:55:20 +00:00
Devang Patel
060c4857ca
Do error checking.
...
llvm-svn: 30842
2006-10-09 20:20:13 +00:00
Chris Lattner
dfa8d9258a
Remove a dead var noticed by Yorion
...
llvm-svn: 30841
2006-10-09 20:12:37 +00:00
Rafael Espindola
4d03bf8f43
add some tests for floating point arithmetic
...
llvm-svn: 30840
2006-10-09 19:15:17 +00:00
Andrew Lenharth
68ca2c483f
Fix build error in gcc 3.4 and make more this general
...
llvm-svn: 30839
2006-10-09 19:05:44 +00:00
Devang Patel
dacaf1e375
Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894
...
llvm-svn: 30838
2006-10-09 19:04:51 +00:00
Nick Lewycky
afb040a603
Fix usage example.
...
llvm-svn: 30837
2006-10-09 18:33:08 +00:00
Rafael Espindola
9e29ec371a
add float -> double and double -> float conversion
...
llvm-svn: 30835
2006-10-09 17:50:29 +00:00
Reid Spencer
ff35900383
Fix PR886:
...
The result of yyparse() was not being checked. When YYERROR or YYABORT is
called it causes yyparse() to return 1 to indicate the error. The code was
silently ignoring this situation because it previously expected either an
exception or a null ParserResult to indicate an error. The patch corrects
this situation.
llvm-svn: 30834
2006-10-09 17:36:59 +00:00
Chris Lattner
fb257818c4
xfail this until andrew has a chance to implement the alpha TM method.
...
llvm-svn: 30833
2006-10-09 17:34:40 +00:00
Rafael Espindola
0e44ed293f
add a test for adds adcs
...
llvm-svn: 30832
2006-10-09 17:30:15 +00:00
Chris Lattner
aba5e1ee97
Fix a bug pointed out by Zhongxing Xu
...
llvm-svn: 30831
2006-10-09 17:28:13 +00:00
Rafael Espindola
396b4a6b7b
add ADDS and ADCS
...
llvm-svn: 30830
2006-10-09 17:18:28 +00:00
Rafael Espindola
e4c3276afc
expand ISD::SELECT
...
llvm-svn: 30829
2006-10-09 16:28:33 +00:00
Rafael Espindola
c154dacb2f
add a note
...
llvm-svn: 30828
2006-10-09 14:18:33 +00:00
Rafael Espindola
41730922bb
expand ISD::EXTLOAD
...
llvm-svn: 30827
2006-10-09 14:13:40 +00:00
Rafael Espindola
78d6c2bf59
most ARM targets are little endian
...
llvm-svn: 30826
2006-10-09 14:12:15 +00:00
Chris Lattner
41b442242d
Implement SROA of unions with mixed pointers/integers in them. This implements
...
PR892 and Transforms/ScalarRepl/union-pointer.ll:test2
llvm-svn: 30825
2006-10-08 23:53:04 +00:00
Chris Lattner
7440e23eb2
new testcase for PR892
...
llvm-svn: 30824
2006-10-08 23:52:06 +00:00
Chris Lattner
05f8272afa
Implement Transforms/ScalarRepl/union-pointer.ll:test
...
llvm-svn: 30823
2006-10-08 23:28:04 +00:00
Chris Lattner
7a36ae4361
new testcase for SROA for stuff like "union { int*, float* }".
...
llvm-svn: 30822
2006-10-08 23:27:37 +00:00
Chris Lattner
5ab6d8b3fc
Eliminate more token factors by taking advantage of transitivity:
...
if TF depends on A and B, and A depends on B, TF just needs to depend on
A. With Jim's alias-analysis stuff enabled, this compiles the testcase in
PR892 into:
__Z4test3Val:
subl $44, %esp
call L__Z3foov$stub
movl %edx, 28(%esp)
movl %eax, 32(%esp)
movl %eax, 24(%esp)
movl %edx, 36(%esp)
movl 52(%esp), %ecx
movl %ecx, 4(%esp)
movl %eax, 8(%esp)
movl %edx, 12(%esp)
movl 48(%esp), %eax
movl %eax, (%esp)
call L__Z3bar3ValS_$stub
addl $44, %esp
ret
instead of:
__Z4test3Val:
subl $44, %esp
call L__Z3foov$stub
movl %eax, 24(%esp)
movl %edx, 28(%esp)
movl 24(%esp), %eax
movl %eax, 32(%esp)
movl 28(%esp), %eax
movl %eax, 36(%esp)
movl 32(%esp), %eax
movl 36(%esp), %ecx
movl 52(%esp), %edx
movl %edx, 4(%esp)
movl %eax, 8(%esp)
movl %ecx, 12(%esp)
movl 48(%esp), %eax
movl %eax, (%esp)
call L__Z3bar3ValS_$stub
addl $44, %esp
ret
llvm-svn: 30821
2006-10-08 22:57:01 +00:00
Chris Lattner
9e512e5bd0
Fix PR897
...
llvm-svn: 30820
2006-10-08 22:28:34 +00:00
Jim Laskey
0463e08005
Combiner alias analysis passes Multisource (release-asserts.)
...
llvm-svn: 30818
2006-10-07 23:37:56 +00:00
Chris Lattner
398195ebbe
completely disable folding of loads into scalar sse instructions and provide
...
a framework for doing it right. This fixes
CodeGen/X86/2006-10-07-ScalarSSEMiscompile.ll.
Once X86DAGToDAGISel::SelectScalarSSELoad is implemented right, this task
will be done.
llvm-svn: 30817
2006-10-07 21:55:32 +00:00
Chris Lattner
f8fa10a6bb
new testcase we miscompile
...
llvm-svn: 30816
2006-10-07 21:54:08 +00:00
Chris Lattner
942009fee5
convert packed FP add/sub/mul/div to use a multiclass.
...
llvm-svn: 30815
2006-10-07 21:17:13 +00:00
Chris Lattner
4005f4e49c
one multiclass now defines all 8 variants of binary-scalar-sse-fp operations.
...
llvm-svn: 30814
2006-10-07 20:55:57 +00:00
Chris Lattner
6eaee2c8e3
Switch ADD/MUL/DIV/SUB scalarsse fp ops to a multiclass
...
llvm-svn: 30813
2006-10-07 20:35:44 +00:00