Anton Korobeynikov
1611bc6148
Regenerate
...
llvm-svn: 51688
2008-05-29 17:41:34 +00:00
Anton Korobeynikov
f77142326f
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
llvm-svn: 51687
2008-05-29 17:41:17 +00:00
Owen Anderson
0e26c5897a
Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.
...
llvm-svn: 51686
2008-05-29 17:00:13 +00:00
Owen Anderson
2a0090d9bc
Move these tests into the proper directory.
...
llvm-svn: 51685
2008-05-29 16:30:29 +00:00
Duncan Sands
18fb7b1fa3
Add a newline at the end of this file.
...
llvm-svn: 51680
2008-05-29 14:38:23 +00:00
Owen Anderson
15538467ae
Re-enable the newly simplified ADCE. This fixes a regression on
...
Dhrystone introduced by its removal.
llvm-svn: 51669
2008-05-29 08:48:21 +00:00
Owen Anderson
bd3940abc7
Replace the old ADCE implementation with a new one that more simply solves
...
the one case that ADCE catches that normal DCE doesn't: non-induction variable
loop computations.
This implementation handles this problem without using postdominators.
llvm-svn: 51668
2008-05-29 08:45:13 +00:00
Evan Cheng
04c0915a2f
Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.
...
llvm-svn: 51667
2008-05-29 08:22:04 +00:00
Owen Anderson
ccaf62ac5e
Remove debugging code.
...
llvm-svn: 51666
2008-05-29 08:15:48 +00:00
Evan Cheng
f2e38956ff
Add nounwind.
...
llvm-svn: 51665
2008-05-29 07:09:24 +00:00
Bill Wendling
81199f0cc8
XOR?RI instructions aren't as cheap as moves.
...
llvm-svn: 51664
2008-05-29 03:46:36 +00:00
Gabor Greif
b320ae0f07
convert more operand loops to iterator formulation
...
llvm-svn: 51663
2008-05-29 01:59:18 +00:00
Bill Wendling
edb38e9410
Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the
...
like.
llvm-svn: 51662
2008-05-29 01:02:09 +00:00
Gabor Greif
39350bab39
convert another operand loop to iterator formulation
...
llvm-svn: 51661
2008-05-29 00:51:08 +00:00
Bill Wendling
b56bc61cf4
Add a flag to indicate that an instruction is as cheap (or cheaper) than a move
...
instruction to execute. This can be used for transformations (like two-address
conversion) to remat an instruction instead of generating a "move"
instruction. The idea is to decrease the live ranges and register pressure and
all that jazz.
llvm-svn: 51660
2008-05-28 22:54:52 +00:00
Bill Wendling
5011b8d77d
Check the "isSafeToMove" predicate, which has a series of tests to make sure
...
that it's safe to remat an instruction.
llvm-svn: 51659
2008-05-28 22:52:47 +00:00
Owen Anderson
219ecc1ff1
Remap VNInfo data as well when doing renumbering.
...
llvm-svn: 51658
2008-05-28 22:40:08 +00:00
Owen Anderson
705b97141c
Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.
...
llvm-svn: 51652
2008-05-28 20:54:50 +00:00
Evan Cheng
cd45b11bc1
Fix PR2289: vr defined by multiple implicit_def as result of coalescing.
...
llvm-svn: 51648
2008-05-28 17:40:10 +00:00
Evan Cheng
591b57edd6
Teach local register allocator to deal with landing pad MBB's.
...
llvm-svn: 51647
2008-05-28 17:22:32 +00:00
Nate Begeman
e0d283668e
Update some comments noticed in a recent checkin
...
llvm-svn: 51644
2008-05-28 16:31:36 +00:00
Chris Lattner
fd26913f74
Update text to point people at the right version of the tutorial for
...
their release.
llvm-svn: 51638
2008-05-28 06:16:08 +00:00
Chris Lattner
7a7da4f9c3
Implement PR2370: memmove(x,x,size) -> noop.
...
llvm-svn: 51636
2008-05-28 05:30:41 +00:00
Chris Lattner
857e1e9cab
Add chain inputs for loads.
...
llvm-svn: 51635
2008-05-28 04:25:57 +00:00
Chris Lattner
93047192f3
Fix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64.
...
llvm-svn: 51634
2008-05-28 04:14:30 +00:00
Chris Lattner
294b436abf
loads should get chains. THis helps but does not solve CodeGen/Generic/2003-05-27-phifcmpd.ll
...
on ia64.
llvm-svn: 51633
2008-05-28 04:06:52 +00:00
Chris Lattner
d33dececf3
Fix 2006-04-28-Sign-extend-bool.ll for ia64.
...
llvm-svn: 51632
2008-05-28 04:00:06 +00:00
Chris Lattner
569e867c01
reindent.
...
llvm-svn: 51631
2008-05-28 03:59:32 +00:00
Dan Gohman
a5549a2f9c
Fix the encoding for two more "rm" instructions that were using MRMSrcReg.
...
llvm-svn: 51630
2008-05-28 01:50:19 +00:00
Mon P Wang
8e37b2d13e
Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operand
...
is a memory location
llvm-svn: 51626
2008-05-28 00:42:27 +00:00
Nate Begeman
23dd264da6
Don't attempt to create VZEXT_LOAD out of an extload. This an issue where the
...
code generator would do something like this:
f64 = load f32 <anyext>, f32mem
v2f64 = insertelt undef, %0, 0
v2f64 = insertelt %1, 0.0, 1
into
v2f64 = vzext_load f32mem
which on x86 is movsd, when you really wanted a cvtss2sd/movsd pair.
llvm-svn: 51624
2008-05-28 00:24:25 +00:00
Nick Kledzik
50804655b3
use space insted of tabs
...
llvm-svn: 51623
2008-05-28 00:06:14 +00:00
Nick Kledzik
8f4cd26727
fix infinite recursion if a global's initializer references the global
...
llvm-svn: 51617
2008-05-27 22:07:08 +00:00
Gabor Greif
e2dcdc92ac
Make Use::init() private, it breaks invariants, clients should assign or use set().
...
llvm-svn: 51615
2008-05-27 21:29:38 +00:00
Dan Gohman
4b11213552
Use Function::getEntryBlock instead of Function::begin, for clarity.
...
llvm-svn: 51613
2008-05-27 20:55:29 +00:00
Dan Gohman
327d2c6167
Print debug output when any edge becomes executable, including
...
the first visited edge.
llvm-svn: 51612
2008-05-27 20:47:30 +00:00
Devang Patel
ee44ba5c4b
Add instcombine after global optimizations.
...
llvm-svn: 51611
2008-05-27 20:42:44 +00:00
Dan Gohman
29f4f83a1c
Fix a word-o and add an explicit keyword.
...
llvm-svn: 51610
2008-05-27 20:41:18 +00:00
Bill Wendling
e5d738e779
Incorporated feedback: Check that the implicitly defined operands aren't used
...
before deleting the instruction.
llvm-svn: 51609
2008-05-27 20:40:52 +00:00
Dan Gohman
92d5dff525
Tidy up whitespace in ConstantRange::print output.
...
llvm-svn: 51606
2008-05-27 20:29:07 +00:00
Devang Patel
17e36d815e
Use IPSCCPPass instead of IPConstantPropagationPass.
...
llvm-svn: 51605
2008-05-27 20:18:45 +00:00
Dan Gohman
568685ffa7
Specify a target so that this tests tests what it's intended to test.
...
llvm-svn: 51600
2008-05-27 17:55:57 +00:00
Dan Gohman
3ba9d77adb
Make this test independent of the target-triple; the stack alignment
...
is specifically what this test depends on.
llvm-svn: 51599
2008-05-27 17:44:23 +00:00
Gabor Greif
2abf6ec2e5
back out last commit: The .cpp file for a module should include its corresponding header first, even if redundant.
...
llvm-svn: 51598
2008-05-27 17:26:02 +00:00
Matthijs Kooijman
2a23a4e495
Use an explicit llvm:: prefix in the STATISTIC macro, so STATISTIC can still be
...
used when "using namespace llvm" is not in effect.
llvm-svn: 51592
2008-05-27 12:41:24 +00:00
Duncan Sands
4757a8dd76
Fix some constructs that gcc-4.4 warns about.
...
llvm-svn: 51591
2008-05-27 11:50:51 +00:00
Gabor Greif
0b9cf0d491
prune unneeded #includes
...
llvm-svn: 51590
2008-05-27 11:06:03 +00:00
Gabor Greif
0fb81af839
remove unneeded reinterpret_casts
...
llvm-svn: 51589
2008-05-27 11:03:29 +00:00
Gabor Greif
b93cb3dc6f
We have the correct headers included to know that BB isa Value. No reinterpret_cast necessary.
...
llvm-svn: 51588
2008-05-27 10:48:39 +00:00
Owen Anderson
9a9030f206
Remove ADCE from the optimization pipeline.
...
llvm-svn: 51581
2008-05-27 04:27:27 +00:00