Owen Anderson
|
be80240b29
|
Add partial redundancy elimination.
llvm-svn: 37510
|
2007-06-08 01:03:01 +00:00 |
Devang Patel
|
8ecffa996a
|
Do not preserve ETForest.
llvm-svn: 37506
|
2007-06-08 00:02:08 +00:00 |
Devang Patel
|
3f4c6fe7e8
|
Do not require ETForest. Now it is unused by LICM.
llvm-svn: 37502
|
2007-06-07 22:21:15 +00:00 |
Devang Patel
|
cf470e5255
|
Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient.
llvm-svn: 37501
|
2007-06-07 22:17:16 +00:00 |
Devang Patel
|
fc7fdef7d2
|
Use DominatorTree instead of ETForest.
This allows faster immediate domiantor walk.
llvm-svn: 37500
|
2007-06-07 21:57:03 +00:00 |
Devang Patel
|
df6355ccf8
|
Use DominatorTree instead of ETForest.
llvm-svn: 37499
|
2007-06-07 21:42:15 +00:00 |
Devang Patel
|
fb582f8dda
|
Use DominatorTree instead of ETForest.
llvm-svn: 37498
|
2007-06-07 21:35:27 +00:00 |
Devang Patel
|
5b8a5516e4
|
Use DominatorTree instead of ETForest.
llvm-svn: 37495
|
2007-06-07 18:45:06 +00:00 |
Devang Patel
|
593e766fb5
|
Use DominatorTree instead of ETForest.
llvm-svn: 37494
|
2007-06-07 18:40:55 +00:00 |
Devang Patel
|
af41e4a192
|
Maintain ETNode as part of DomTreeNode.
This adds redundancy for now.
llvm-svn: 37492
|
2007-06-07 17:47:21 +00:00 |
Tanya Lattner
|
5801c23e05
|
Formating fixes.
llvm-svn: 37491
|
2007-06-07 17:12:16 +00:00 |
Tanya Lattner
|
cb90f1d881
|
Instruct the inliner to obey the noinline attribute. Add test case.
llvm-svn: 37481
|
2007-06-06 21:59:26 +00:00 |
Chris Lattner
|
34404e3247
|
simplify this code and fix PR1493, now that llvm-gcc3 is dead.
llvm-svn: 37478
|
2007-06-06 20:51:41 +00:00 |
Lauro Ramos Venancio
|
368e8872db
|
Fix PR1499.
llvm-svn: 37472
|
2007-06-06 17:08:48 +00:00 |
Nick Lewycky
|
91ed6efc24
|
Inform ScalarEvolutions that we're deleting Values.
This is the obviously correct part of the fix for PR1487.
llvm-svn: 37457
|
2007-06-06 03:51:56 +00:00 |
Owen Anderson
|
634a063c1d
|
Add simple full redundancy elimination.
llvm-svn: 37455
|
2007-06-06 01:27:49 +00:00 |
Chris Lattner
|
1b7b6e76ec
|
Fix PR1495 and CodeGen/X86/2007-06-05-LSR-Dominator.ll
llvm-svn: 37454
|
2007-06-06 01:23:55 +00:00 |
Devang Patel
|
506310d3dd
|
Avoid non-trivial loop unswitching while optimizing for size.
llvm-svn: 37446
|
2007-06-06 00:21:03 +00:00 |
Owen Anderson
|
ddbe430732
|
Fix a misunderstanding of the algorithm. Really, we should be tracking values
and expression separately. We can get around this, however, by only keeping
opaque values in TMP_GEN.
llvm-svn: 37443
|
2007-06-05 23:46:12 +00:00 |
Owen Anderson
|
c84720913a
|
Don't leak memory.
llvm-svn: 37442
|
2007-06-05 22:11:49 +00:00 |
Owen Anderson
|
9b89e4b561
|
Fix a small bug, some 80 cols violations, and add some more debugging output.
llvm-svn: 37436
|
2007-06-05 17:31:23 +00:00 |
Dan Gohman
|
151169df1e
|
Allow insertelement, extractelement, and shufflevector to be hoisted/sunk
by LICM.
llvm-svn: 37435
|
2007-06-05 16:05:55 +00:00 |
Bill Wendling
|
6357bf20fa
|
Patches by Chuck Rose to unbreak V Studio builds.
Thanks Chuck!
llvm-svn: 37428
|
2007-06-04 23:52:59 +00:00 |
Devang Patel
|
b3adb9876a
|
s/ETNode::getChildren/ETNode::getETNodeChildren/g
llvm-svn: 37426
|
2007-06-04 23:45:02 +00:00 |
Owen Anderson
|
3c9d8eef21
|
Don't use std::set_difference when the two sets are sorted differently. Compute
the difference manually instead.
This allows GVNPRE to produce correct analysis for the example in the GVNPRE
paper.
llvm-svn: 37425
|
2007-06-04 23:34:56 +00:00 |
Owen Anderson
|
3df5299f94
|
Fix a bunch of small bugs, and improve the debugging output significantly.
llvm-svn: 37424
|
2007-06-04 23:28:33 +00:00 |
Chris Lattner
|
d7897d40b6
|
When rebuilding constant structs, make sure to honor the isPacked bit.
This fixes PR1491 and GlobalOpt/2007-06-04-PackedStruct.ll
llvm-svn: 37423
|
2007-06-04 22:23:42 +00:00 |
Owen Anderson
|
38b6b22a41
|
Make phi_translate correct.
llvm-svn: 37418
|
2007-06-04 18:05:26 +00:00 |
Devang Patel
|
ebc5b96735
|
s/DominatorTree::createNewNode/DominatorTree::addNewBlock/g
llvm-svn: 37415
|
2007-06-04 16:43:25 +00:00 |
Devang Patel
|
a89566aefd
|
Add basic block level interface to change immediate dominator
and create new node.
llvm-svn: 37414
|
2007-06-04 16:22:33 +00:00 |
Devang Patel
|
bdd1aaef10
|
s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g
llvm-svn: 37407
|
2007-06-04 00:32:22 +00:00 |
Owen Anderson
|
0eca9aad10
|
Don't use the custom comparator where it's not necessary.
llvm-svn: 37406
|
2007-06-03 22:02:14 +00:00 |
Devang Patel
|
0e8aa7b69a
|
s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g
llvm-svn: 37403
|
2007-06-03 06:26:14 +00:00 |
Owen Anderson
|
46499645db
|
Remove an unused method.
llvm-svn: 37402
|
2007-06-03 05:58:25 +00:00 |
Owen Anderson
|
0b68cda302
|
There's no need to have an Expression class... Value works just as well! This simplifies a lot of code.
llvm-svn: 37401
|
2007-06-03 05:55:58 +00:00 |
Devang Patel
|
ac54a62fd2
|
Insert new instructions in AliasSet.
llvm-svn: 37390
|
2007-06-01 22:15:31 +00:00 |
Owen Anderson
|
48e93f2ce9
|
clean() needs to process things in topological order.
llvm-svn: 37389
|
2007-06-01 22:00:37 +00:00 |
Owen Anderson
|
4c89142466
|
Fix Expression comparison, which in turn fixes a value numbering error.
llvm-svn: 37386
|
2007-06-01 17:34:47 +00:00 |
Owen Anderson
|
331bf6a959
|
Add a topological sort function.
llvm-svn: 37376
|
2007-05-31 22:44:11 +00:00 |
Owen Anderson
|
81d156e16f
|
Attempt to fix up phi_translate.
llvm-svn: 37366
|
2007-05-31 00:42:15 +00:00 |
Devang Patel
|
9b3b35d14f
|
Fix typo.
llvm-svn: 37360
|
2007-05-30 15:29:37 +00:00 |
Chris Lattner
|
8767920f20
|
Fix Transforms/ScalarRepl/2007-05-29-MemcpyPreserve.ll and the second
half of PR1421, by not decimating structs with holes that are the source and
destination of a memcpy.
llvm-svn: 37358
|
2007-05-30 06:11:23 +00:00 |
Owen Anderson
|
4b0c1859fd
|
Fix a typo
llvm-svn: 37350
|
2007-05-29 23:34:14 +00:00 |
Owen Anderson
|
0c4230724c
|
Re-fix a bug, where I was now being too aggressive.
llvm-svn: 37348
|
2007-05-29 23:26:30 +00:00 |
Owen Anderson
|
4a6ec8fb57
|
Use proper debugging facilities so other people don't have to look at my commented-out
debugging lines.
llvm-svn: 37347
|
2007-05-29 23:15:21 +00:00 |
Owen Anderson
|
f11bdc7637
|
Comment debug code out that I accidentally uncommented last time.
llvm-svn: 37346
|
2007-05-29 22:43:03 +00:00 |
Owen Anderson
|
ac83a3e4ff
|
Add a place where I missed using the maximal set. Note that using the maximal
set this way is _SLOW_. Somewhere down the line, I'll look at speeding it up.
llvm-svn: 37345
|
2007-05-29 22:35:41 +00:00 |
Owen Anderson
|
5fba6c19b2
|
Very first part of a GVN-PRE implementation. It currently performs a bunch of analysis, and nothing more. It is also quite slow for the moment. However,
it should give a sense of what's going on.
llvm-svn: 37343
|
2007-05-29 21:53:49 +00:00 |
Chris Lattner
|
80c94a4a04
|
Fix PR1446 by not scalarrepl'ing giant structures.
llvm-svn: 37326
|
2007-05-24 18:43:04 +00:00 |
Dan Gohman
|
30978078bf
|
Minor comment cleanups.
llvm-svn: 37321
|
2007-05-24 14:36:04 +00:00 |