28463 Commits

Author SHA1 Message Date
Devang Patel
d3ea9ae6e9 s/ForcedLastUses/TransferLastUses/g
Register pass has the its last user, otherwise sometimes no one will claim
LastUse.

Handle transferred last uses from child pass manager.

llvm-svn: 32589
2006-12-15 00:08:26 +00:00
Jim Laskey
1becbe31b8 Simplify the fetching of relocation mode.
llvm-svn: 32588
2006-12-14 22:53:42 +00:00
Evan Cheng
5effab79f3 f64 <-> i64 bit_convert using movq in 64-bit mode.
llvm-svn: 32587
2006-12-14 21:55:39 +00:00
Jim Laskey
9c0edd489b File missing from last check in.
llvm-svn: 32586
2006-12-14 21:03:17 +00:00
Evan Cheng
4529b8cf2e Fix a couple of typo's.
llvm-svn: 32585
2006-12-14 19:46:06 +00:00
Evan Cheng
6100c83f79 This is done.
llvm-svn: 32584
2006-12-14 19:45:32 +00:00
Evan Cheng
9918e7780a Added MOVSS2DIrr and MOVDI2SSrr to foldMemeoryOperand().
llvm-svn: 32583
2006-12-14 19:44:45 +00:00
Evan Cheng
4dc2f8e9bb - Rename MOVDSS2DIrr to MOVSS2DIrr for consistency sake.
- Add MOVDI2SSrm and MOVSS2DImr to fold load / store for i32 <-> f32 bit_convert
  patterns.

llvm-svn: 32582
2006-12-14 19:43:11 +00:00
Jim Laskey
19b276f67f 1. Tidy up jump table info.
2. Allow the jit to handle PIC relocable jump tables.

llvm-svn: 32581
2006-12-14 19:17:33 +00:00
Rafael Espindola
d19ea53887 avoid using a constant table when a constant can be used inline
llvm-svn: 32580
2006-12-14 18:58:37 +00:00
Chris Lattner
8213655f44 random minor typographical changes
llvm-svn: 32579
2006-12-14 18:22:14 +00:00
Jim Laskey
7ba38e29d8 Start of PowerPC info.
llvm-svn: 32578
2006-12-14 17:19:50 +00:00
Rafael Espindola
0d92ae76fb Avoid creating invalid sub/add instructions on the prolog/epilog
patch by Lauro

llvm-svn: 32577
2006-12-14 13:31:27 +00:00
Evan Cheng
2f7cae1f57 Fix a long-standing spiller bug:
If a spillslot value is available in a register, and there is a noop copy that
targets that register, the spiller correctly decide not to invalidate the
spillslot register.

However, even though the noop copy does not clobbers the value. It does start a
new intersecting live range. That means the spillslot register is available for
use but should not be reused for a two-address instruction modref operand which
would clobber the new live range.

When we remove the noop copy, update the available information by clearing the
canClobber bit.

llvm-svn: 32576
2006-12-14 07:54:05 +00:00
Devang Patel
6a85af195a Add -time-passes support.
llvm-svn: 32574
2006-12-14 00:59:42 +00:00
Devang Patel
76ecbc449f Add debug-pass=Details support to print Required and Preserved Set info.
llvm-svn: 32573
2006-12-14 00:25:06 +00:00
Devang Patel
740b960858 Add " Made Modification " messages in debug-pass=Executions output.
llvm-svn: 32572
2006-12-14 00:08:04 +00:00
Devang Patel
b726becbcd Add debug-pass=Executions support in new pass manager.
llvm-svn: 32571
2006-12-13 23:50:44 +00:00
Devang Patel
5a200bf480 Add -pass-debug=Arguments support in new manager.
llvm-svn: 32567
2006-12-13 22:10:00 +00:00
Chris Lattner
e8d97c0b07 fit in 80 cols
llvm-svn: 32563
2006-12-13 21:56:10 +00:00
Devang Patel
58ac5db67f Using PDL as a prefix for PassDebugLevel enums is not a good idea.
Fix it.

llvm-svn: 32562
2006-12-13 21:13:31 +00:00
Evan Cheng
504fec49b1 Add note.
llvm-svn: 32561
2006-12-13 20:59:43 +00:00
Evan Cheng
10389e802b More soft-fp work.
llvm-svn: 32559
2006-12-13 20:57:08 +00:00
Evan Cheng
7684d815d1 Add getTypeToExpandTo() which recursively walks TransformToType to determine
the intrinsic type to expand to.

llvm-svn: 32558
2006-12-13 20:52:00 +00:00
Devang Patel
7208b2e3e6 Move enum PassDebugLevel from PassManagerT.h to Pass.h.
Use PDL as the prefix for these enums.
Define and use PassDebugging_New in new PassManager.

llvm-svn: 32554
2006-12-13 20:03:48 +00:00
John Criswell
b5cc5c7d1a Remove DSA.
llvm-svn: 32553
2006-12-13 19:56:15 +00:00
John Criswell
4c4125ce80 Remove DSA header files.
llvm-svn: 32552
2006-12-13 19:55:53 +00:00
John Criswell
edc020ec46 Changed from PARALLEL_DIRS to DIRS since we're only building one directory.
Thanks Reid.

llvm-svn: 32551
2006-12-13 19:42:54 +00:00
John Criswell
e6f8bb4ee2 Remove DSA.
llvm-svn: 32550
2006-12-13 19:41:57 +00:00
John Criswell
385a8f534d Remove DSA tests.
llvm-svn: 32549
2006-12-13 19:39:27 +00:00
Reid Spencer
67cca26f75 Fix a bug in EvaluateInDifferentType. The type of operand should not be
used to determine whether a ZExt or SExt cast is performed. Instead, pass
an "isSigned" bool to the function and determine its value from the opcode
of the cast involved.
Also, clean up some cruft from previous patches.

llvm-svn: 32548
2006-12-13 18:21:21 +00:00
John Criswell
c349ec7d46 Remove DSA tests.
llvm-svn: 32547
2006-12-13 18:05:30 +00:00
Jim Laskey
ccb6b45e70 Update version in safe guards.
llvm-svn: 32546
2006-12-13 17:49:24 +00:00
Chris Lattner
5e58478f97 xfail these until I recommit the scalarrepl patch
llvm-svn: 32545
2006-12-13 17:42:40 +00:00
Reid Spencer
8479bb2735 Implement review feedback. Most of this has to do with removing unnecessary
cast instructions. A few are bug fixes.

llvm-svn: 32544
2006-12-13 17:19:09 +00:00
John Criswell
8ea85d2f50 Remove DSA tests.
llvm-svn: 32543
2006-12-13 17:02:04 +00:00
John Criswell
165218fb87 Remove DSA.
llvm-svn: 32542
2006-12-13 16:54:24 +00:00
Reid Spencer
a9a637d6e2 For mul transforms, when checking for a cast from bool as either operand,
make sure to also check that it is a zext from bool, not any other cast
operation type.

llvm-svn: 32539
2006-12-13 08:33:33 +00:00
Reid Spencer
32b08ba50f Fix and/or/xor (cast A), (cast B) --> cast (and/or/xor A, B)
The cast patch introduced the possibility that the wrong cast opcode
could be used and that this transform could trigger on different kinds
of cast operations. This patch rectifies that.

llvm-svn: 32538
2006-12-13 08:27:15 +00:00
Reid Spencer
d0bbb4e6dc Ressurrect this needed file.
llvm-svn: 32537
2006-12-13 08:10:16 +00:00
Reid Spencer
2cbf14dc54 Ressurrect the Stacker "st" configuration. Someday this will all go
away, but until then Stacker needs its configuration.

llvm-svn: 32536
2006-12-13 08:09:48 +00:00
Reid Spencer
ad772bfec3 Change the interface to SCEVExpander::InsertCastOfTo to take a cast opcode
so the decision of which opcode to use is pushed upward to the caller.
Adjust the callers to pass the expected opcode.

llvm-svn: 32535
2006-12-13 08:06:42 +00:00
Reid Spencer
540e6eb24b Fix some casts. isdigit(c) returns 0 or 1, not 0 or -1
llvm-svn: 32534
2006-12-13 08:04:32 +00:00
Reid Spencer
98993dca2d Update for llvm-gcc4 build.
llvm-svn: 32533
2006-12-13 08:03:25 +00:00
Evan Cheng
2346bdd8c3 Update comments.
llvm-svn: 32532
2006-12-13 06:12:35 +00:00
Evan Cheng
5c6304ca6e Update comments.
llvm-svn: 32531
2006-12-13 06:09:03 +00:00
Chris Lattner
1228f12fb4 only check non-external functions
llvm-svn: 32530
2006-12-13 04:45:46 +00:00
Chris Lattner
be3585daa3 Reject attempts to define intrinsics. This fixes PR1047 and
Regression/Verifier/2006-12-12-IntrinsicDefine.ll

llvm-svn: 32529
2006-12-13 04:30:37 +00:00
Chris Lattner
e38c05e812 New testcase for PR1047
llvm-svn: 32528
2006-12-13 04:30:18 +00:00
Evan Cheng
e200668366 Expand (f64 extload f32) to (f64 fp_ext (load f32)) if f64 type action is expand.
llvm-svn: 32527
2006-12-13 03:19:57 +00:00