Devang Patel
67c79a4992
Fix typos in comments.
...
Thanks for the feedback!
llvm-svn: 52978
2008-07-01 19:50:56 +00:00
Devang Patel
9dbe4d15ec
Add dom info verifier.
...
llvm-svn: 52967
2008-07-01 17:44:24 +00:00
Devang Patel
656a917ad9
Print debug message only if there are dead passes.
...
llvm-svn: 52052
2008-06-06 17:50:36 +00:00
Evan Cheng
93af6ce129
More pass manager debugging outputs.
...
llvm-svn: 51930
2008-06-04 09:13:31 +00:00
Devang Patel
ab85d6b6af
"Unable to schedule <A> required by <B>" is more helpful then
...
"Unable to handle Pass that requires lower level Analysis pass"
llvm-svn: 51892
2008-06-03 01:20:02 +00:00
Devang Patel
bb4720c43f
Add debugging aid.
...
llvm-svn: 51891
2008-06-03 01:02:16 +00:00
Dan Gohman
d78c400b5b
Clean up the use of static and anonymous namespaces. This turned up
...
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
2008-05-13 00:00:25 +00:00
Devang Patel
cbbf291f34
Keep track of analysis information inherited from Module pass manager.
...
llvm-svn: 48576
2008-03-20 01:09:53 +00:00
Devang Patel
fbf53a4d1d
#if 1 .. #endif markers do not add any value.
...
llvm-svn: 48560
2008-03-19 22:24:25 +00:00
Devang Patel
718da668ab
PassInfo keep tracks whether a pass is an analysis pass or not.
...
llvm-svn: 48554
2008-03-19 21:56:59 +00:00
Devang Patel
af75ab8130
Do not use virtual function to identify an analysis pass.
...
llvm-svn: 48520
2008-03-19 00:48:41 +00:00
Devang Patel
864970e9b6
Identify Analysis pass.
...
Do not run analysis pass again if analysis info is still available.
This fixes PR1441.
llvm-svn: 48476
2008-03-18 00:39:19 +00:00
Gordon Henriksen
878114bf16
C and Objective Caml bindings for PassManagers.
...
llvm-svn: 48413
2008-03-16 04:20:44 +00:00
Dan Gohman
565df95a36
Eliminate a few unnecessary uses of dynamic_cast.
...
llvm-svn: 48318
2008-03-13 02:08:36 +00:00
Dan Gohman
1e9860a2ed
Fix a typo.
...
llvm-svn: 48317
2008-03-13 01:58:48 +00:00
Dan Gohman
1412f515c3
Don't redundantly clear std::vector members in destructors.
...
llvm-svn: 48316
2008-03-13 01:57:34 +00:00
Dan Gohman
73caf5ff10
Change PMTopLevelManager's PassManagers vector element type from
...
Pass* to PMDataManager*. PMDataManager is more specific than Pass,
so this more accurately describes the objects that are being stored.
This eliminates the need for several dynamic_casts to PMDataManager*.
It does introduce one dynamic_cast though, in dumpPasses(). Give
this one a comment describing why a dynamic_cast is being used.
llvm-svn: 48315
2008-03-13 01:48:32 +00:00
Dan Gohman
11eecd635c
Change PMStack::push to accept a PMDataManager* instead of
...
a Pass*. PMDataManager* is what it actually holds, so this
makes it clearer.
llvm-svn: 48314
2008-03-13 01:21:31 +00:00
Dan Gohman
d3a20c9e1e
Give PassManager and FunctionPassManager a common base class, with
...
add(Pass *) as a pure virtual member function. This will allow all
the various addPassesTo* functions in LLVM to avoid hard-coding what
type of PassManager is used.
llvm-svn: 48226
2008-03-11 16:41:42 +00:00
Dan Gohman
dfdf2c0633
Fix typos in comments.
...
llvm-svn: 48225
2008-03-11 16:18:48 +00:00
Devang Patel
a1a6882519
Remove dead code.
...
llvm-svn: 47700
2008-02-27 23:33:51 +00:00
Devang Patel
8df7cc1119
Add comment explaining what is lower level analysis pass.
...
llvm-svn: 46658
2008-02-02 01:43:30 +00:00
Dan Gohman
929391a19a
Fix 80-col violations.
...
llvm-svn: 46510
2008-01-29 12:09:55 +00:00
Chris Lattner
f3ebc3f3d2
Remove attribution from file headers, per discussion on llvmdev.
...
llvm-svn: 45418
2007-12-29 20:36:04 +00:00
Dan Gohman
13ab93efde
Add explicit keywords.
...
llvm-svn: 42747
2007-10-08 15:08:41 +00:00
Dan Gohman
8c43e41d9b
Fix a using namespace llvm; in a header file.
...
llvm-svn: 42584
2007-10-03 19:04:09 +00:00
Devang Patel
d305c404be
Do not overuse std::string. Pass around char * directly.
...
llvm-svn: 41001
2007-08-10 18:29:32 +00:00
Chris Lattner
de2aa65877
minor simplifications.
...
llvm-svn: 40981
2007-08-10 06:22:25 +00:00
Chris Lattner
dd6304f6b1
avoid copying strings.
...
llvm-svn: 40980
2007-08-10 06:17:04 +00:00
Dan Gohman
e6656eb4ad
Fix pastos in comments for doFinalization functions.
...
llvm-svn: 40588
2007-07-30 14:51:13 +00:00
Devang Patel
004937bbd9
Add facility to dump pass manager structure
...
to make it easier to understand failure.
llvm-svn: 40567
2007-07-27 20:06:09 +00:00
Devang Patel
8adae86688
Use SmallVector instead of std::vector.
...
llvm-svn: 40109
2007-07-20 18:04:54 +00:00
Devang Patel
a273d1cd3a
Verify loop info.
...
llvm-svn: 40062
2007-07-19 18:02:32 +00:00
Devang Patel
ef43253e2e
Set up ground work to verify preserved analysis info.
...
llvm-svn: 40039
2007-07-19 05:36:09 +00:00
Devang Patel
94d0fbe1a6
Fix memory leak.
...
llvm-svn: 38469
2007-07-09 20:52:39 +00:00
Gabor Greif
e16561cd5d
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Devang Patel
d56e4919df
Fix quotes in debug messages.
...
llvm-svn: 37630
2007-06-18 21:32:29 +00:00
Devang Patel
4d01a7b1b5
If user wants to run instcombine twice, do not block it.
...
llvm-svn: 37301
2007-05-23 05:08:52 +00:00
Devang Patel
8c78a0bff0
Drop 'const'
...
llvm-svn: 36662
2007-05-03 01:11:54 +00:00
Devang Patel
e95c6ad802
Use 'static const char' instead of 'static const int'.
...
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
2007-05-02 21:39:20 +00:00
Devang Patel
09f162ca6a
Do not use typeinfo to identify pass in pass manager.
...
llvm-svn: 36632
2007-05-01 21:15:47 +00:00
Devang Patel
68f72b17f2
Use toplevel function pass manager as OnTheFly manager.
...
llvm-svn: 36481
2007-04-26 17:50:19 +00:00
Devang Patel
9294281ac1
Proivde getAnalysis<FPAnalysis>(Func) support.
...
llvm-svn: 36159
2007-04-16 20:56:24 +00:00
Devang Patel
56a5c620fe
Do not assert during analysis implementation initialization.
...
llvm-svn: 36158
2007-04-16 20:44:16 +00:00
Devang Patel
2ff4492a2c
Print and delete on the fly pass managers.
...
llvm-svn: 36157
2007-04-16 20:39:59 +00:00
Devang Patel
69e9f6d7c4
Update module pass manager to support module passes that require
...
function passes.
llvm-svn: 36154
2007-04-16 20:27:05 +00:00
Devang Patel
e64d30573f
Give each pass manager chance to manage lower level analysis pass, which is
...
pass required by one of pass managed by the manager.
llvm-svn: 36153
2007-04-16 20:12:57 +00:00
Anton Korobeynikov
fb80151c42
Removed tabs everywhere except autogenerated & external files. Add make
...
target for tabs checking.
llvm-svn: 36146
2007-04-16 18:10:23 +00:00
Devang Patel
01919d2c0b
Speed Up Pass Manager.
...
- Check Immutableness before searching PreservedSet.
- Avoid unnecessary traversal while setting Last User.
llvm-svn: 35028
2007-03-08 19:05:01 +00:00
Devang Patel
9d9fc90952
Keep track of higher level analysis.
...
llvm-svn: 34974
2007-03-06 17:52:53 +00:00