Chris Lattner
5328c6fd97
* Changes to compile successfully with GCC 3.0
...
* Eliminated memory leak in processGraph
* Pass vectors by const reference to moveDummyCode instead of by copy
llvm-svn: 1808
2002-02-26 19:40:28 +00:00
Anand Shukla
a9b9636aca
Makefile for profile-paths
...
llvm-svn: 1807
2002-02-26 19:36:43 +00:00
Anand Shukla
854c302594
Initial checkin: functions on Graph used for path profile pass
...
llvm-svn: 1806
2002-02-26 19:02:16 +00:00
Anand Shukla
70a61383eb
Initial checkin: instrument code to get path execution frequency
...
llvm-svn: 1805
2002-02-26 19:00:48 +00:00
Anand Shukla
d0f8c88e91
Initial checkin: helper file to insert instrumentation code along edges
...
llvm-svn: 1804
2002-02-26 18:59:46 +00:00
Anand Shukla
d3d1fcd08d
Initial check in of graph.cpp: implements graph interface used in path profiles
...
llvm-svn: 1803
2002-02-26 18:58:39 +00:00
Anand Shukla
61a1c1ee56
New makefile to include ProfilePaths dir
...
llvm-svn: 1799
2002-02-26 18:20:27 +00:00
Chris Lattner
f20671a6b6
When inlining basic blocks and instructions, give them a name!
...
llvm-svn: 1796
2002-02-25 00:31:02 +00:00
Chris Lattner
93a0341dbf
Namespaces
...
llvm-svn: 1791
2002-02-24 23:03:09 +00:00
Chris Lattner
ccb9e604de
Handle more cases in the linker
...
llvm-svn: 1771
2002-02-18 19:05:15 +00:00
Chris Lattner
4ed4caf44a
Bug fix for test/Regression/Other/2002-02-14-LevelRaiseBadAssert.ll
...
llvm-svn: 1767
2002-02-14 22:21:40 +00:00
Chris Lattner
aca1090da2
Implement conversion of method pointer parameter in Call instruction
...
to clean up MST benchmark.
llvm-svn: 1763
2002-02-14 19:44:09 +00:00
Chris Lattner
a5ee9139ba
* Check in fix for: llvm/test/Regression/Other/2002-02-14-LevelRaiseInstDelete.ll
...
* Minor reformatting.
llvm-svn: 1760
2002-02-14 18:55:22 +00:00
Chris Lattner
83d485b310
* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
...
llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
InstrTypes.h anymore
llvm-svn: 1750
2002-02-12 22:39:50 +00:00
Chris Lattner
60a6591d83
Method.h no longer includes BasicBlock.h
...
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746
2002-02-12 21:07:25 +00:00
Chris Lattner
429a20af4c
Add neccesary #include
...
llvm-svn: 1742
2002-02-12 20:19:06 +00:00
Chris Lattner
50a45782ec
I forgot to provide dominance frontier information. Now it's available.
...
Also add more comments.
llvm-svn: 1741
2002-02-12 18:27:41 +00:00
Chris Lattner
12f155a6f0
Initial checkin of new memory -> register promotion pass
...
llvm-svn: 1739
2002-02-12 17:16:22 +00:00
Chris Lattner
86595ae342
General cleanup
...
llvm-svn: 1628
2002-02-01 04:53:48 +00:00
Chris Lattner
f9f2896c48
Eliminate SimplifyCFG.h file, pull everything into the UnifyMethodExitNodes class
...
llvm-svn: 1613
2002-01-31 01:12:06 +00:00
Chris Lattner
352151e222
MethodPass's are now guaranteed to not be run on external methods!
...
llvm-svn: 1611
2002-01-31 00:51:24 +00:00
Chris Lattner
d5d56780e2
Convert xforms over to new pass structure.
...
llvm-svn: 1605
2002-01-31 00:45:11 +00:00
Chris Lattner
ccf571a408
Convert analyses to new pass structure
...
llvm-svn: 1603
2002-01-31 00:42:27 +00:00
Chris Lattner
d5851db315
Remove extraneous #includes
...
llvm-svn: 1588
2002-01-26 22:47:32 +00:00
Chris Lattner
7209dc2446
Remove opt namespace
...
llvm-svn: 1587
2002-01-26 22:47:07 +00:00
Chris Lattner
ccbd4e4643
Implement new DeadInstElmination pass
...
remove old comment
llvm-svn: 1555
2002-01-23 05:48:24 +00:00
Chris Lattner
70090079e7
Don't insert a useless cast
...
llvm-svn: 1527
2002-01-22 03:30:06 +00:00
Chris Lattner
3787ee6be6
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
llvm-svn: 1525
2002-01-22 01:04:08 +00:00
Chris Lattner
4f0f09757d
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
llvm-svn: 1522
2002-01-22 00:13:51 +00:00
Chris Lattner
d07471d6c3
LowerAllocations is really a BasicBlock pass. Make it so.
...
llvm-svn: 1521
2002-01-21 23:34:02 +00:00
Chris Lattner
ee965abc36
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
llvm-svn: 1520
2002-01-21 23:17:48 +00:00
Chris Lattner
8cc83611e6
Elminate an unused variable
...
llvm-svn: 1518
2002-01-21 23:16:30 +00:00
Chris Lattner
c940c536ab
Rename SwapStructureContents -> IPO/SimpleStructMutation
...
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)
llvm-svn: 1510
2002-01-21 07:52:35 +00:00
Chris Lattner
0686e435d1
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
llvm-svn: 1507
2002-01-21 07:31:50 +00:00
Chris Lattner
7f74a56e24
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
ca081257e5
initial checkin
...
llvm-svn: 1480
2001-12-14 16:52:21 +00:00
Chris Lattner
3655cfb4e2
* isFirstClassType is now provided by the Type class
...
* Add ReplaceInstWithInst
llvm-svn: 1468
2001-12-14 16:39:22 +00:00
Chris Lattner
9dedd32ff4
* add ReplaceInstWithInst
...
* Add support for pointer indexing
* Fix minor bugs that are majorly annoying
llvm-svn: 1467
2001-12-14 16:38:59 +00:00
Chris Lattner
b3364fc169
Remove unsized array support
...
llvm-svn: 1466
2001-12-14 16:38:04 +00:00
Chris Lattner
b457653c6f
* Support pointer indexing
...
* Unsized arrays are a thing of the past, remove DoInsertArrayCast family
* Remove cases were we would get into infinite loops because we would insert a cast
which would then be removed, inserting a different cast, ad infinitum...
* Remove some code that should be redundant with ExprTypeConvert code
llvm-svn: 1465
2001-12-14 16:37:52 +00:00
Chris Lattner
3e88b44afc
Many many changes and bugfixes:
...
* Remove support for unsized arrays
* Add pointer indexing support
* Allow more arbitrary malloc type changes (which are too generous currently
and should be fixed in the future)
* Allow more and better conversions
llvm-svn: 1464
2001-12-14 16:35:53 +00:00
Chris Lattner
11439b2360
The proper prototype for malloc returns a pointer, not an unsized array
...
llvm-svn: 1463
2001-12-14 16:32:20 +00:00
Chris Lattner
f1197b0d43
* Refactor trace values to work as a proper pass. Before it used to add
...
methods while the pass was running which was a no no. Now it adds the
printf method at pass initialization
* Revamp code to use printf calls instead of the old style print_<type>
calls.
* Simplify code
llvm-svn: 1457
2001-12-14 16:26:05 +00:00
Chris Lattner
f5c6f65e7f
Assertion could never fail because another one would in it's place. :)
...
llvm-svn: 1449
2001-12-13 00:45:40 +00:00
Chris Lattner
e51379766b
Implement more general conversions for getelementptr instructions
...
llvm-svn: 1432
2001-12-07 04:40:30 +00:00
Chris Lattner
dae4d63ddf
Remove code that is superceeded by code in ExprTypeConvert.cpp
...
llvm-svn: 1431
2001-12-07 04:39:01 +00:00
Chris Lattner
72da4460b3
Don't insert scales of 1 :)
...
llvm-svn: 1430
2001-12-07 04:26:02 +00:00
Chris Lattner
71ffba7b70
We can do cast-add elimination even on casts that reinterpret
...
llvm-svn: 1427
2001-12-06 18:06:13 +00:00
Chris Lattner
b1995e1e69
Fix bug that caused invalid transformations to be applied
...
llvm-svn: 1426
2001-12-06 18:05:55 +00:00
Chris Lattner
674394077f
Actually return true when a change has been made
...
llvm-svn: 1425
2001-12-05 19:41:33 +00:00