26914 Commits

Author SHA1 Message Date
Chris Lattner
9ecd9bcde4 regenerate
llvm-svn: 30971
2006-10-15 23:27:25 +00:00
Chris Lattner
2ac6ca0f82 Produce a useful error message for Regression/Verifier/2006-10-15-AddrLabel.ll
llvm-svn: 30970
2006-10-15 23:26:46 +00:00
Chris Lattner
a5383a5b2d testcase that causes the asmparser to assert
llvm-svn: 30969
2006-10-15 23:26:28 +00:00
Chris Lattner
5a4d067b26 label* is not a valid type, add an assertion.
llvm-svn: 30968
2006-10-15 23:21:12 +00:00
Chris Lattner
fd983f91e7 fix a buggy check that accidentally disabled this xform
llvm-svn: 30967
2006-10-15 22:42:15 +00:00
Chris Lattner
99ce7667fb clarify
llvm-svn: 30966
2006-10-15 20:05:59 +00:00
Reid Spencer
88ad34206e Document the VAArg, and vector instruction opcodes.
llvm-svn: 30965
2006-10-15 00:11:05 +00:00
Anton Korobeynikov
61d88967b9 Align stack size to DWORD boundary
llvm-svn: 30964
2006-10-14 20:53:35 +00:00
Rafael Espindola
c426cede28 expand ISD::BRCOND
llvm-svn: 30963
2006-10-14 17:59:54 +00:00
Rafael Espindola
38c602f658 fix some fp condition codes
use non trapping comparison instructions

llvm-svn: 30962
2006-10-14 13:42:53 +00:00
Jim Laskey
1070dfefba Tidy up after truncstore changes.
llvm-svn: 30961
2006-10-14 12:14:27 +00:00
Evan Cheng
078a38abd7 One cyclic dag a day is good for ya...
llvm-svn: 30960
2006-10-14 08:35:02 +00:00
Evan Cheng
bfd74c6d9c Debug tweak.
llvm-svn: 30959
2006-10-14 08:34:06 +00:00
Evan Cheng
6c8de88f88 Corrected load folding check. We need to start from the root of the sub-dag
being matched and ensure there isn't a non-direct path to the load (i.e. a
path that goes out of the sub-dag.)

llvm-svn: 30958
2006-10-14 08:33:25 +00:00
Evan Cheng
c8b9d15614 Start checking from the root of the matched sub-tree.
llvm-svn: 30957
2006-10-14 08:30:53 +00:00
Evan Cheng
513dc7ed5f When checking if a load can be folded, we check if there is any non-direct
way to reach the load via any nodes that would be folded. Start from the
root of the matched sub-tree.

llvm-svn: 30956
2006-10-14 08:30:15 +00:00
Chris Lattner
08aa96b824 Make sure that the node returned by SimplifySetCC is added to the worklist
so that it can be deleted if unused.

llvm-svn: 30955
2006-10-14 03:52:46 +00:00
Chris Lattner
3fbcd8519e testcase for recent dag combiner patch. Before the entry bb was:
_test:
        stwu r1, -80(r1)
        stw r1, 76(r1)
        mflr r11
        stw r11, 88(r1)
        rlwinm r2, r4, 0, 30, 31
        cmplwi cr7, r2, 2
        mfcr r2
        rlwinm r2, r2, 30, 31, 31
        cmplwi cr0, r2, 0
        bne cr0, LBB1_2 ;UnifiedReturnBlock

after it is:

_test:
        stwu r1, -80(r1)
        stw r1, 76(r1)
        mflr r11
        stw r11, 88(r1)
        rlwinm r2, r4, 0, 30, 31
        cmplwi cr0, r2, 2
        bgt cr0, LBB1_2 ;UnifiedReturnBlock

llvm-svn: 30954
2006-10-14 03:40:02 +00:00
Chris Lattner
a515f322f3 fold setcc of a setcc.
llvm-svn: 30953
2006-10-14 01:02:29 +00:00
Chris Lattner
25ad62d132 When SimplifySetCC was moved to the DAGCombiner, it was never removed from
SelectionDAG and it has since bitrotted.  Remove the copy from SelectionDAG.
Next, remove the constant folding piece of DAGCombiner::SimplifySetCC into
a new FoldSetCC method which can be used by getNode() and SimplifySetCC.

This fixes obscure bugs.

llvm-svn: 30952
2006-10-14 00:41:01 +00:00
Chris Lattner
c4be6ee8b8 disable this pass for now, it's causing issues
llvm-svn: 30951
2006-10-14 00:30:06 +00:00
Chris Lattner
1c35d27fc4 falling off the end of a function is ok with an unreachable instruction.
llvm-svn: 30950
2006-10-14 00:21:48 +00:00
Chris Lattner
cfa6a33663 testcase for recent selectiondag patch
llvm-svn: 30949
2006-10-13 23:54:16 +00:00
Jim Laskey
bf50140aac Reduce the workload by not adding chain users to work list.
llvm-svn: 30948
2006-10-13 23:32:28 +00:00
Chris Lattner
9b1878a28c Fix a bug where we incorrectly turned '(X & 0) == 0' into '(X & 0) >> -1',
which is undefined.  "0" isn't a power of 2.

llvm-svn: 30947
2006-10-13 22:46:18 +00:00
Chris Lattner
b90d66b7da implement branch inspection/modification methods.
llvm-svn: 30946
2006-10-13 21:21:17 +00:00
Evan Cheng
fe5bb5dbe6 Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.
llvm-svn: 30945
2006-10-13 21:14:26 +00:00
Chris Lattner
b441d8e8ce it is easier to implement these when they are virtual
llvm-svn: 30944
2006-10-13 21:02:27 +00:00
Chris Lattner
520bf168f5 allow branch reversal to fail
llvm-svn: 30943
2006-10-13 20:59:31 +00:00
Bill Wendling
85f53a4427 Corrected formatting.
llvm-svn: 30942
2006-10-13 20:53:50 +00:00
Chris Lattner
87d16e0ed9 add the branch folding pass as a late cleanup pass for all targets. For now
it just deletes empty MBB's.  Soon it will do more :)

llvm-svn: 30941
2006-10-13 20:45:56 +00:00
Chris Lattner
f8eaaded24 replace the existing branch inspection/modification APIs with something more
useful and general.

llvm-svn: 30940
2006-10-13 20:44:01 +00:00
Chris Lattner
ae19ea4b2a disable some objectionable code, maybe we can bring this pass to life
llvm-svn: 30939
2006-10-13 20:43:10 +00:00
Chris Lattner
bea7a9de50 remove some dead code
llvm-svn: 30938
2006-10-13 20:40:42 +00:00
Chris Lattner
b22754853b add note
llvm-svn: 30937
2006-10-13 20:20:58 +00:00
Chris Lattner
14f18d4896 set isBarrier correctly
llvm-svn: 30936
2006-10-13 19:10:34 +00:00
Chris Lattner
a3f4e611a4 Correctly handle instruction separators.
llvm-svn: 30935
2006-10-13 17:56:02 +00:00
Chris Lattner
63ec35db20 Expose method and ivars for measuring inline asm length properly.
llvm-svn: 30934
2006-10-13 17:50:07 +00:00
Andrew Lenharth
254a2fbcd0 Move some warnings to debug mode.
llvm-svn: 30933
2006-10-13 17:38:22 +00:00
Rafael Espindola
1f85e7a2a1 add FNEGS and FNEGD
llvm-svn: 30932
2006-10-13 17:37:35 +00:00
Chris Lattner
5cd4ac0a79 Fix another dtor issue. The function local statics in this function were
being destroyed at inconvenient times.  Switch to using non-local ManagedStatic
objects, which actually also speeds up ConstRules::get.

llvm-svn: 30931
2006-10-13 17:22:21 +00:00
Rafael Espindola
042e61af25 add SBCS and SUBS
llvm-svn: 30930
2006-10-13 17:19:20 +00:00
Rafael Espindola
24d7976d1d implement calls to functions that return long
llvm-svn: 30929
2006-10-13 16:47:22 +00:00
Rafael Espindola
bd50a4d757 implement unordered floating point compares
llvm-svn: 30928
2006-10-13 13:14:59 +00:00
Jim Laskey
a053c74b99 Workaround for templates
llvm-svn: 30927
2006-10-13 13:02:19 +00:00
Jim Laskey
20feec042a Clean up dump.
llvm-svn: 30926
2006-10-13 13:01:34 +00:00
Chris Lattner
9476464f86 avoid a ctor/dtor issue with the ProgramName global.
llvm-svn: 30925
2006-10-13 00:06:24 +00:00
Chris Lattner
cf5bfb0e80 simplify trivial function
llvm-svn: 30924
2006-10-12 23:50:28 +00:00
Evan Cheng
c7283044d1 Really remove dead nodes from isel queue.
llvm-svn: 30923
2006-10-12 23:18:52 +00:00
Chris Lattner
f48558b3b6 shrink anon-ns and mark stuff static. No functionality changes
llvm-svn: 30922
2006-10-12 22:09:17 +00:00