Chris Lattner
0f611954b6
tweaks suggested by Duncan
...
llvm-svn: 92824
2010-01-06 05:32:15 +00:00
Dale Johannesen
add9a6d765
Reenable debug info on PPC. Works well enough to
...
bootstrap.
llvm-svn: 92818
2010-01-06 02:21:00 +00:00
Dale Johannesen
225c2cfffe
Make sure debug info hook gets called when emitting
...
synonyms for PPC.
llvm-svn: 92817
2010-01-06 02:20:18 +00:00
Chris Lattner
0b73344d8a
Teach instcombine's sext elimination logic to be more aggressive.
...
Previously, instcombine would only promote an expression tree to
the larger type if doing so eliminated two casts. This is because
a need to manually do the sign extend after the promoted expression
tree with two shifts. Now, we keep track of whether the result of
the computation is going to be properly sign extended already. If
so, we can unconditionally promote the expression, which allows us
to zap more sext's.
This implements rdar://6598839 (aka gcc pr38751)
llvm-svn: 92815
2010-01-06 01:56:21 +00:00
Jakob Stoklund Olesen
03dea01d94
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
b4f0d6e3b6
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
41e18c3512
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
b7d6746476
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
Chris Lattner
7bf6842c49
simplify this code.
...
llvm-svn: 92800
2010-01-05 23:00:30 +00:00
Dan Gohman
93a28a6ce9
Move this test from test/Transforms/IndVarSimplify to
...
test/CodeGen/X86, as doesn't use -indvars, and it does use
llc -march=x86-64.
llvm-svn: 92799
2010-01-05 22:52:54 +00:00
Bill Wendling
7e9607ab56
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
Johnny Chen
6ae7666885
Undo r92785, it caused test failure.
...
llvm-svn: 92796
2010-01-05 22:37:28 +00:00
Chris Lattner
a101affbdb
make this a static function instead of a method.
...
llvm-svn: 92795
2010-01-05 22:30:42 +00:00
Dan Gohman
9ef9e2c758
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
Victor Hernandez
0e7561092b
Re-add parsing of function-local metadata; this time with testcase.
...
llvm-svn: 92793
2010-01-05 22:22:14 +00:00
Chris Lattner
53b9ed70ee
more rearrangement and cleanup, fix my test failure.
...
llvm-svn: 92792
2010-01-05 22:21:18 +00:00
Chris Lattner
45cd7ba394
cleanup
...
llvm-svn: 92790
2010-01-05 22:07:33 +00:00
Chris Lattner
2f69f6a822
remove two trunc xforms that are subsumed by EvaluateInDifferentType.
...
The only difference is that EvaluateInDifferentType checks to ensure
they are profitable before doing them :)
llvm-svn: 92788
2010-01-05 22:01:41 +00:00
Chris Lattner
96e30cb44f
merge some tests.
...
llvm-svn: 92786
2010-01-05 21:54:09 +00:00
Johnny Chen
f15fb27ffd
Add Rt2 to the asm format string for 32-bit Thumb load/store register dual
...
instructions. Thumb does not have the restriction that t2 = t+1.
llvm-svn: 92785
2010-01-05 21:51:46 +00:00
Chris Lattner
fd23a9b6dd
merge cast2 into cast.ll
...
llvm-svn: 92784
2010-01-05 21:48:13 +00:00
Devang Patel
311b5584e5
Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1 , null}
...
llvm-svn: 92783
2010-01-05 21:47:32 +00:00
Chris Lattner
24e500eb45
remove useless test.
...
llvm-svn: 92782
2010-01-05 21:46:22 +00:00
Chris Lattner
61de3ae41a
another example.
...
llvm-svn: 92781
2010-01-05 21:43:08 +00:00
Jakob Stoklund Olesen
8e4cdf70e1
Don't specify CR sub-registers as implicit defs of BL instructions.
...
It is enough to give the super registers CR0, CR1, ..., and specifying the
sub-registers as well causes confusion in the liveness computations.
llvm-svn: 92778
2010-01-05 21:38:37 +00:00
Chris Lattner
65d5ec781a
remove a useless negative test, add a rdar # to an xfail that I'm working on.
...
llvm-svn: 92777
2010-01-05 21:37:44 +00:00
Chris Lattner
3e7dbaf22d
clean up tests.
...
llvm-svn: 92776
2010-01-05 21:32:59 +00:00
Chris Lattner
13293b9738
just remove this xform which is subsumed by others.
...
llvm-svn: 92775
2010-01-05 21:16:30 +00:00
Victor Hernandez
173518e4ae
Fix comment for CheckDebugInfoIntrinsics
...
llvm-svn: 92774
2010-01-05 21:13:46 +00:00
Chris Lattner
3aac94341a
move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.
...
llvm-svn: 92773
2010-01-05 21:11:17 +00:00
Dan Gohman
b4e120e7a7
Restore dump() methods to Loop and MachineLoop.
...
llvm-svn: 92772
2010-01-05 21:08:02 +00:00
Benjamin Kramer
0ba7479f2c
Move remaining stuff to the isInteger predicate.
...
llvm-svn: 92771
2010-01-05 21:05:54 +00:00
Chris Lattner
18ed3a6976
move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it.
...
llvm-svn: 92770
2010-01-05 21:04:47 +00:00
Jakob Stoklund Olesen
0277c4cd0b
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
Chris Lattner
4c21bfec50
move a trunc-specific xform out of commonIntCastTransforms into visitTrunc
...
llvm-svn: 92768
2010-01-05 20:57:30 +00:00
Chris Lattner
e293a03aff
reduce indentation
...
llvm-svn: 92766
2010-01-05 20:56:24 +00:00
Anton Korobeynikov
5781312f77
Regenerate
...
llvm-svn: 92763
2010-01-05 20:45:43 +00:00
Anton Korobeynikov
d5e61f574a
Proper deduce z/System LLVM target from target triple when
...
--enable-targets=host is specified.
llvm-svn: 92762
2010-01-05 20:45:13 +00:00
Devang Patel
ab66612f1b
NamedMDNode is a collection MDNodes.
...
llvm-svn: 92761
2010-01-05 20:41:31 +00:00
Benjamin Kramer
c233521d45
Convert a ton of simple integer type equality tests to the new predicate.
...
llvm-svn: 92760
2010-01-05 20:07:06 +00:00
Benjamin Kramer
6a11532b00
Add a new predicate for integer type equality tests.
...
llvm-svn: 92759
2010-01-05 20:04:48 +00:00
David Greene
19324a5b81
Add an !eq() operator to TableGen. It operates on strings only.
...
Use !cast<string>() to compare other types of objects.
llvm-svn: 92754
2010-01-05 19:11:42 +00:00
Dan Gohman
77ec0f447e
Add an entry on SmallBitVector.
...
llvm-svn: 92747
2010-01-05 18:24:00 +00:00
Chris Lattner
f457542506
optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!
...
llvm-svn: 92745
2010-01-05 18:09:56 +00:00
Dan Gohman
5fa04f2707
Delete useless trailing semicolons.
...
llvm-svn: 92740
2010-01-05 17:55:26 +00:00
Dan Gohman
4b9a39d586
Nick Lewycky pointed out that this code makes changes unconditionally.
...
llvm-svn: 92739
2010-01-05 17:50:58 +00:00
David Greene
eef5772b46
Have TableGen emit code that uses dbgs() rather than errs().
...
llvm-svn: 92738
2010-01-05 17:47:41 +00:00
Devang Patel
eb75073664
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
Dan Gohman
fff95c0489
Set Changed properly after calling DeleteDeadPHIs.
...
llvm-svn: 92735
2010-01-05 16:31:45 +00:00
Dan Gohman
e4a22bdd4a
Use do+while instead of while for loops which obviously have a
...
non-zero trip count. Use SmallVector's pop_back_val().
llvm-svn: 92734
2010-01-05 16:27:25 +00:00