8667 Commits

Author SHA1 Message Date
Benjamin Kramer
cdb3889791 Use pop_back_val instead of back()+pop_back.
llvm-svn: 92918
2010-01-07 17:27:56 +00:00
Jakob Stoklund Olesen
29c7234eb7 Allow double defs after tail duplication.
llvm-svn: 92874
2010-01-06 23:52:46 +00:00
Jakob Stoklund Olesen
29a64c9575 Add Target hook to duplicate machine instructions.
Some instructions refer to unique labels, and so cannot be trivially cloned
with CloneMachineInstr.

llvm-svn: 92873
2010-01-06 23:47:07 +00:00
Jim Grosbach
a7cef4fab5 Anti-dependency breaking needs to be careful regarding instructions with
multiple register definitions.

llvm-svn: 92864
2010-01-06 22:21:25 +00:00
Evan Cheng
746012a6c1 Comment.
llvm-svn: 92850
2010-01-06 19:43:21 +00:00
Evan Cheng
166a4e6caa Teach dag combine to fold the following transformation more aggressively:
(OP (trunc x), (trunc y)) -> (trunc (OP x, y))

Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel.

This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places.

llvm-svn: 92849
2010-01-06 19:38:29 +00:00
Jim Grosbach
eb431da074 80 column and whitespace cleanup
llvm-svn: 92837
2010-01-06 16:48:02 +00:00
Lang Hames
68dd9c7dd7 Fixed malformed -*- lines in PBQP headers.
llvm-svn: 92830
2010-01-06 08:53:34 +00:00
Jakob Stoklund Olesen
7725526de1 Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills.
An instruction like this:

  %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0

Must be replaced with this when substituting physical registers:

  %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def>

llvm-svn: 92812
2010-01-06 00:29:28 +00:00
Bill Wendling
c075acbb54 The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 order.
llvm-svn: 92810
2010-01-06 00:23:35 +00:00
Bill Wendling
578865ff3d Only check the ordering if there is an ordering for each nodes.
llvm-svn: 92807
2010-01-06 00:09:23 +00:00
Bill Wendling
0a7056fe52 Add a semi-primitive form of scheduling via the "SDNode ordering" to the
bottom-up scheduler. We prefer the lower order number.

llvm-svn: 92806
2010-01-05 23:48:12 +00:00
Bill Wendling
03f0af372c Don't assign the shift the same type as the variable being shifted. This could
result in illegal types for the SHL operator.

llvm-svn: 92797
2010-01-05 22:39:10 +00:00
Dan Gohman
404a984780 Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen
uses several kinds of opcode values which are not declared within
that enum. This fixes PR5946.

llvm-svn: 92794
2010-01-05 22:26:32 +00:00
Dan Gohman
c3f2137c06 Restore dump() methods to Loop and MachineLoop.
llvm-svn: 92772
2010-01-05 21:08:02 +00:00
Benjamin Kramer
d2564e3afb Move remaining stuff to the isInteger predicate.
llvm-svn: 92771
2010-01-05 21:05:54 +00:00
Jakob Stoklund Olesen
4cb7702c4f Remove livein checks from machine code verifier.
A phi operand that is implicitly defined in a predecessor becomes an undefined
register after phi elimination. This causes a lot of false positives when the
verifier is checking if live-in registers are live-out from all predecessors.

Removing the verifier checks seems like a better solution than insisting on
IMPLICIT_DEF instructions in predecessor blocks.

llvm-svn: 92769
2010-01-05 20:59:36 +00:00
Devang Patel
d146e2e3df If a scope has only one instruction then first instruction is also the last instruction.
llvm-svn: 92736
2010-01-05 16:59:17 +00:00
Benjamin Kramer
ccce8bae14 Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.
llvm-svn: 92726
2010-01-05 13:12:22 +00:00
Devang Patel
33f80d2303 Delete renaming use of dead dbg intrinsics.
Intrinsic::dbg_stoppoint
 Intrinsic::dbg_region_start
 Intrinsic::dbg_region_end
 Intrinsic::dbg_func_start

llvm-svn: 92672
2010-01-05 01:47:06 +00:00
Devang Patel
43ef34d2a5 Use StringRef.startswith().
llvm-svn: 92671
2010-01-05 01:46:14 +00:00
David Greene
30ed3ca034 Change errs() to dbgs().
llvm-svn: 92597
2010-01-05 01:26:11 +00:00
David Greene
d18966c79f Change errs() to dbgs().
llvm-svn: 92596
2010-01-05 01:26:09 +00:00
David Greene
fc886b99da Change errs() to dbgs().
llvm-svn: 92595
2010-01-05 01:26:05 +00:00
David Greene
aa8ce38113 Change errs() to dbgs().
llvm-svn: 92594
2010-01-05 01:26:01 +00:00
David Greene
4b7aa24842 Change errs() to dbgs().
llvm-svn: 92593
2010-01-05 01:26:00 +00:00
David Greene
7e34eadd91 Change errs() to dbgs().
llvm-svn: 92592
2010-01-05 01:25:58 +00:00
David Greene
9f23703919 Change errs() to dbgs().
llvm-svn: 92591
2010-01-05 01:25:55 +00:00
David Greene
e3f851db18 Change errs() to dbgs().
llvm-svn: 92590
2010-01-05 01:25:52 +00:00
David Greene
714520fb89 Change errs() to dbgs().
llvm-svn: 92589
2010-01-05 01:25:50 +00:00
David Greene
97d9fc8cdb Change errs() to dbgs().
llvm-svn: 92588
2010-01-05 01:25:47 +00:00
David Greene
91c42f851b Change errs() to dbgs().
llvm-svn: 92587
2010-01-05 01:25:45 +00:00
David Greene
7e256f397c Change errs() to dbgs().
llvm-svn: 92586
2010-01-05 01:25:43 +00:00
David Greene
94745d0d10 Change errs() to dbgs().
llvm-svn: 92585
2010-01-05 01:25:41 +00:00
David Greene
0c1e7772fb Change errs() to dbgs().
llvm-svn: 92584
2010-01-05 01:25:39 +00:00
David Greene
025e934d54 Change errs() to dbgs().
llvm-svn: 92583
2010-01-05 01:25:20 +00:00
David Greene
85afc853b5 Change errs() to dbgs().
llvm-svn: 92582
2010-01-05 01:25:15 +00:00
David Greene
4eb5bed65b Change errs() to dbgs().
llvm-svn: 92581
2010-01-05 01:25:11 +00:00
David Greene
d65bc15c81 Change errs() to dbgs().
llvm-svn: 92580
2010-01-05 01:25:09 +00:00
David Greene
6f021a30fe Change errs() to dbgs().
llvm-svn: 92579
2010-01-05 01:25:04 +00:00
David Greene
fe5c3524c7 Change errs() to dbgs().
llvm-svn: 92578
2010-01-05 01:25:00 +00:00
David Greene
5730f203ee Change errs() to dbgs().
llvm-svn: 92577
2010-01-05 01:24:57 +00:00
David Greene
f34d7ac9f1 Change errs() to dbgs().
llvm-svn: 92576
2010-01-05 01:24:54 +00:00
David Greene
ae4f266b2d Change errs() to dbgs().
llvm-svn: 92575
2010-01-05 01:24:53 +00:00
David Greene
ec5883fc0e Change errs() to dbgs().
llvm-svn: 92574
2010-01-05 01:24:50 +00:00
David Greene
807fcf6374 Change errs() to dbgs().
llvm-svn: 92573
2010-01-05 01:24:48 +00:00
David Greene
40deefdc4f Change errs() to dbgs().
llvm-svn: 92572
2010-01-05 01:24:45 +00:00
David Greene
63145844c8 Change errs() to dbgs().
llvm-svn: 92571
2010-01-05 01:24:43 +00:00
David Greene
4cec475ed7 Change errs() to dbgs().
llvm-svn: 92570
2010-01-05 01:24:40 +00:00
David Greene
d93137dce7 Change errs() to dbgs().
llvm-svn: 92569
2010-01-05 01:24:36 +00:00