Owen Anderson
f35a1dbc7a
Remove ImmediateDominator analysis. The same information can be obtained from DomTree. A lot of code for
...
constructing ImmediateDominator is now folded into DomTree construction.
This is part of the ongoing work for PR217.
llvm-svn: 36063
2007-04-15 08:47:27 +00:00
Chris Lattner
a6b5660209
avoid copying sets and vectors around.
...
llvm-svn: 36017
2007-04-14 22:10:17 +00:00
Lauro Ramos Venancio
749e4668e7
Implement the "thread_local" keyword.
...
llvm-svn: 35950
2007-04-12 18:32:50 +00:00
Owen Anderson
3c7867935e
Re-constify things that don't break the build. Last patch in this
...
series, I promise.
llvm-svn: 35848
2007-04-09 23:38:18 +00:00
Owen Anderson
f1ca1376d3
Unconst-ify stuff that broke the build.
...
llvm-svn: 35843
2007-04-09 23:08:26 +00:00
Owen Anderson
5917716146
Const-ify some parameters, and some cosmetic cleanups. No functionality
...
change.
llvm-svn: 35842
2007-04-09 22:54:50 +00:00
Owen Anderson
e0ef5ac6bd
Tabs -> Spaces
...
llvm-svn: 35841
2007-04-09 22:31:43 +00:00
Owen Anderson
83efbc84f7
Improve some _slow_ behavior introduced in my patches the last few days.
...
llvm-svn: 35839
2007-04-09 22:25:09 +00:00
Owen Anderson
ae39ca037a
Cleanup some from my DomSet-removal changes. Add a new
...
isReachableFromEntry
test to ETForest to factor a common test out of code.
llvm-svn: 35786
2007-04-09 00:52:49 +00:00
Nick Lewycky
e6c64466c7
Remove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.
...
llvm-svn: 35757
2007-04-08 01:04:30 +00:00
Owen Anderson
f7ebea1b9f
Add DomSet back, and revert the changes to LoopSimplify. Apparently the
...
ETForest updating mechanisms don't work as I thought they did. These changes
will be reapplied once the issue is worked out.
llvm-svn: 35741
2007-04-07 18:23:27 +00:00
Owen Anderson
706e97049d
Completely purge DomSet from LoopSimplify. This is part of the
...
continuing work on PR1171.
llvm-svn: 35730
2007-04-07 06:56:47 +00:00
Owen Anderson
d03a646f06
BreakCriticalEdges does still preserve DominatorTree.
...
llvm-svn: 35729
2007-04-07 05:57:09 +00:00
Owen Anderson
b39d9ca902
Expunge DomSet from BreakCriticalEdges. This is part of the continuing
...
work for PR 1171.
llvm-svn: 35728
2007-04-07 05:49:29 +00:00
Owen Anderson
f095bf3ac4
Expunge DomSet from CodeExtractor. This is part of the continuing work
...
on PR1171.
llvm-svn: 35726
2007-04-07 05:31:27 +00:00
Owen Anderson
910419596e
Expunge a bunch of uses of DomSet from LoopSimplify. Many more remain.
...
This is the beginning of work for PR1171.
llvm-svn: 35720
2007-04-07 04:37:14 +00:00
Chris Lattner
b7b75145f1
reduce use of std::set
...
llvm-svn: 35576
2007-04-02 01:44:59 +00:00
Devang Patel
4398e242dd
Reduce malloc/free traffic.
...
llvm-svn: 35370
2007-03-26 23:19:29 +00:00
Dan Gohman
dcb291faa4
Change uses of Function::front to Function::getEntryBlock for readability.
...
llvm-svn: 35265
2007-03-22 16:38:57 +00:00
Devang Patel
1758cb50de
LoopSimplify::FindPHIToPartitionLoops()
...
Use ETForest instead of DominatorSet.
llvm-svn: 35221
2007-03-20 20:18:12 +00:00
Jeff Cohen
00227417d2
Unbreak VC++ build. Do not use identifiers starting with _ as they are reserved and
...
can collide with system defined names. Windows defines _BB, for example.
llvm-svn: 35066
2007-03-12 17:56:27 +00:00
Anton Korobeynikov
8a6dc102d3
Use range tests in LowerSwitch, where possible
...
llvm-svn: 35057
2007-03-10 16:46:28 +00:00
Devang Patel
5f50e61d52
Remove dead comments.
...
llvm-svn: 35053
2007-03-09 23:41:03 +00:00
Devang Patel
bda1250624
Avoid recursion. Use iterative algorithm for RenamePass().
...
llvm-svn: 35052
2007-03-09 23:39:14 +00:00
Reid Spencer
dec03a08d6
Make sure debug code is not evaluated in non-debug case.
...
llvm-svn: 34856
2007-03-02 23:15:21 +00:00
Reid Spencer
1e102971d2
1. Sort switch cases using APInt safe comparison.
...
2. Make sure debug output of APInt values is safe for all bit widths.
llvm-svn: 34855
2007-03-02 23:05:28 +00:00
Reid Spencer
43376a74af
Use APInt safe isOne() method on ConstantInt instead of getZExtValue()==1
...
llvm-svn: 34854
2007-03-02 23:03:17 +00:00
Reid Spencer
bb38d79ad6
Make sorting of ConstantInt be APInt clean through use of ult function.
...
llvm-svn: 34853
2007-03-02 23:01:14 +00:00
Chris Lattner
4bd8cda3f0
switch the inliner from being recursive to being iterative.
...
llvm-svn: 34832
2007-03-02 03:11:20 +00:00
Chris Lattner
1e48acb858
fix an obscure and tricky bug the inliner can hit sometimes.
...
llvm-svn: 34531
2007-02-23 19:54:30 +00:00
Jim Laskey
d879dfbf1c
Revert changes for a simplier solution.
...
llvm-svn: 34495
2007-02-22 16:21:18 +00:00
Jim Laskey
e4ccf22c34
Itanium ABI exception handing support.
...
llvm-svn: 34480
2007-02-21 22:49:50 +00:00
Dan Gohman
8c8597c4d9
Fix typos in comments.
...
llvm-svn: 34456
2007-02-20 20:52:03 +00:00
Chris Lattner
b5f6d0c15a
eliminate use of deprecated apis
...
llvm-svn: 34417
2007-02-19 07:34:47 +00:00
Reid Spencer
d84d35ba70
For PR1195:
...
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
2007-02-15 02:26:10 +00:00
Chris Lattner
a06a8fd2d7
Eliminate use of ctors that take vectors.
...
llvm-svn: 34219
2007-02-13 02:10:56 +00:00
Chris Lattner
a731513406
stop using methods that take vectors.
...
llvm-svn: 34205
2007-02-12 22:56:41 +00:00
Chris Lattner
8dd4cae4f8
simplify code by using Value::takeName
...
llvm-svn: 34177
2007-02-11 01:37:51 +00:00
Chris Lattner
430c9217f0
redesign the primary datastructure used by mem2reg to eliminate an
...
std::map of std::vector's (ouch!). This speeds up mem2reg by 10% on 176.gcc.
llvm-svn: 33974
2007-02-07 01:15:04 +00:00
Chris Lattner
c85e79f3e0
With the last change, we no longer need both directions of mapping from
...
BBNumbers. Instead of using a bi-directional mapping, just use a single
densemap. This speeds up mem2reg on 176.gcc by 8%, from 1.3489 to
1.2485s.
llvm-svn: 33940
2007-02-05 23:37:20 +00:00
Reid Spencer
557ab15e71
Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in
...
the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939
2007-02-05 23:32:05 +00:00
Chris Lattner
52da61fb5c
Simplify use of DFBlocks, this makes no noticable performance difference,
...
but paves the way to eliminate BBNumbers.
llvm-svn: 33938
2007-02-05 23:31:26 +00:00
Chris Lattner
bf67b1229b
Switch InsertedPHINodes back to SmallPtrSet now that the SmallPtrSet::erase
...
bug is fixed.
llvm-svn: 33932
2007-02-05 23:11:37 +00:00
Chris Lattner
606dde0093
switch a SmallPtrSet back to an std::set for now, this caused problems.
...
llvm-svn: 33930
2007-02-05 22:28:52 +00:00
Chris Lattner
1ed84bbd2d
switch an std::set over to a SmallPtrSet, speeding up mem2reg 6% on 176.gcc.
...
llvm-svn: 33929
2007-02-05 22:15:21 +00:00
Chris Lattner
70fbb9de4c
switch an std::set over to SmallPtrSet, speeding up mem2reg 3.4% on 176.gcc.
...
llvm-svn: 33928
2007-02-05 22:13:11 +00:00
Chris Lattner
8fbc888d91
eliminate some malloc traffic, this speeds up mem2reg by 3.4%.
...
llvm-svn: 33927
2007-02-05 21:58:48 +00:00
Reid Spencer
3aaaa0b2bd
For PR411:
...
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
a1d35926b7
For PR1177:
...
Revert last patch which caused iteration invalidation.
llvm-svn: 33901
2007-02-05 05:23:32 +00:00
Owen Anderson
f6fa108993
Use DenseMap for pointer->pointer maps.
...
llvm-svn: 33897
2007-02-05 02:39:47 +00:00