Pedro Artigas
80c84a9de4
moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo
...
reviewed by Evan Cheng <evan.cheng@apple.com>
llvm-svn: 169164
2012-12-03 21:56:57 +00:00
Pedro Artigas
a84c753671
One more step towards making doInitialization and doFinalization useful for
...
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
2012-11-29 17:47:05 +00:00
Pedro Artigas
140ea0e8d4
Test commit only modifying comments
...
llvm-svn: 168709
2012-11-27 17:39:20 +00:00
Owen Anderson
ef8881a314
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
...
It appears to have broken at least one buildbot.
llvm-svn: 168654
2012-11-27 00:53:24 +00:00
Owen Anderson
4f32762479
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
...
Patch by Pedro Artigas, with feedback from by Chandler Carruth.
llvm-svn: 168635
2012-11-26 23:54:47 +00:00
Dmitri Gribenko
610d06f00e
Use empty parens for empty function parameter list instead of '(void)'.
...
llvm-svn: 168049
2012-11-15 16:51:49 +00:00
Owen Anderson
c7fb54baff
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
...
Patch by Pedro Artigas.
llvm-svn: 168008
2012-11-15 00:14:15 +00:00
Craig Topper
24f46609c1
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164017
2012-09-17 07:16:40 +00:00
Andrew Trick
3a4ed52447
Added TargetPassConfig::disablePass/substitutePass as a general mechanism to override specific passes.
...
llvm-svn: 150562
2012-02-15 03:21:47 +00:00
Andrew Trick
135effe79b
Added Pass::createPass(ID) to handle pass configuration by ID
...
llvm-svn: 150092
2012-02-08 21:22:34 +00:00
Andrew Trick
0838f6788a
whitespace
...
llvm-svn: 149671
2012-02-03 05:12:30 +00:00
Benjamin Kramer
4fab3375a7
Devirtualize Pass::getPassID, overriding it isn't useful and it gets called a lot.
...
While at it pull the trivial ctor in line.
llvm-svn: 145124
2011-11-24 21:14:11 +00:00
Jay Foad
97fa854251
Fix typos in comments.
...
llvm-svn: 130396
2011-04-28 09:12:47 +00:00
Chris Lattner
0304b82f80
Fix a ton of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Tobias Grosser
88ce93b0eb
Add RegionPass support.
...
A RegionPass is executed like a LoopPass but on the regions detected by the
RegionInfo pass instead of the loops detected by the LoopInfo pass.
llvm-svn: 116905
2010-10-20 01:54:44 +00:00
Dan Gohman
bb27588b3f
Revert r111199; it breaks -debug-pass=Structure output.
...
llvm-svn: 111500
2010-08-19 01:29:07 +00:00
Dan Gohman
b09e2e1be4
Make dumpPassStructure be a PMDataManager abstraction, rather than
...
a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.
This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.
llvm-svn: 111199
2010-08-16 22:45:12 +00:00
Dan Gohman
da120221cb
Remove BasicBlockPass::runOnFunction, which was unused.
...
llvm-svn: 110847
2010-08-11 20:28:16 +00:00
Dan Gohman
0f3058d723
Delete FunctionPass::run, which is unused.
...
llvm-svn: 110843
2010-08-11 19:11:05 +00:00
Dan Gohman
18a8add4ab
Delete FunctionPass::runOnModule, which is unused.
...
llvm-svn: 110842
2010-08-11 19:05:53 +00:00
Dan Gohman
0c6a626902
Remove assignPassManager's default arguments. It's really
...
confusing to have different arguments for the same virtual
function at different levels of the class hierarchy.
llvm-svn: 110500
2010-08-07 01:25:32 +00:00
Dan Gohman
48a98809af
More #include cleanups.
...
llvm-svn: 110499
2010-08-07 01:18:18 +00:00
Owen Anderson
f2fea95f2f
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
llvm-svn: 110460
2010-08-06 18:33:48 +00:00
Owen Anderson
aadd8a89ca
Revert r110396 to fix buildbots.
...
llvm-svn: 110410
2010-08-06 00:23:35 +00:00
Owen Anderson
b9762c07cb
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
...
ID member as the sole unique type identifier. Clean up APIs related to this change.
llvm-svn: 110396
2010-08-05 23:42:04 +00:00
Owen Anderson
5f218b8612
Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch
...
would cause them to fail the way they are, but none of the other intervening patches seem likely either.
llvm-svn: 108818
2010-07-20 08:26:15 +00:00
Owen Anderson
cf625d0179
Reapply r108794, a fix for the failing test from last time.
...
llvm-svn: 108813
2010-07-20 06:52:42 +00:00
Daniel Dunbar
3280e3aebf
Revert r108794, "Separate PassInfo into two classes: a constructor-free
...
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.
llvm-svn: 108805
2010-07-20 03:06:07 +00:00
Owen Anderson
3502f9a91b
Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).
...
llvm-svn: 108794
2010-07-20 01:19:58 +00:00
Dan Gohman
745765d0b8
Move several non-performance-critical member functinos out of line.
...
llvm-svn: 106444
2010-06-21 18:46:45 +00:00
David Greene
7c81589636
Ok, third time's the charm. No changes from last time except the CMake
...
source addition. Apparently the buildbots were wrong about failures.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100249
2010-04-02 23:17:14 +00:00
Evan Cheng
499918dabf
Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen.
...
llvm-svn: 100207
2010-04-02 19:29:15 +00:00
David Greene
554373897c
Let's try this again. Re-apply 100143 including an apparent missing
...
<string> include. For some reason the buildbot choked on this while my
builds did not. It's probably due to a difference in system headers.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100204
2010-04-02 18:46:26 +00:00
Eric Christopher
77e4cc4bbd
Revert r100143.
...
llvm-svn: 100146
2010-04-01 22:54:42 +00:00
David Greene
a358be0ef7
Add some switches helpful for debugging:
...
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100143
2010-04-01 22:43:57 +00:00
Eric Christopher
88fe6775de
Fix a few unused parameter warnings.
...
llvm-svn: 96533
2010-02-17 23:55:26 +00:00
Chris Lattner
2a0d9140f5
doxygenize some comments, patch by Peter Collingbourne!
...
llvm-svn: 96018
2010-02-12 21:54:28 +00:00
Chris Lattner
c07d7f41e3
elimiante the dynamic_cast's from opt.
...
llvm-svn: 94160
2010-01-22 06:03:06 +00:00
Chris Lattner
1bd9c3ec88
eliminate a bunch of dynamic_cast's.
...
llvm-svn: 94155
2010-01-22 05:24:46 +00:00
Chris Lattner
997ad42b6d
eliminate a bunch of dynamic_cast's.
...
llvm-svn: 94154
2010-01-22 04:55:08 +00:00
Chris Lattner
56e3aa006f
add some new methods to adjust this pointers. Not used yet.
...
llvm-svn: 94013
2010-01-20 19:26:14 +00:00
Dan Gohman
d16b19ff3e
Move several function bodies which are rarely inlined out of line.
...
llvm-svn: 91319
2009-12-14 19:43:09 +00:00
Daniel Dunbar
4daaf9d3f4
Pass StringRef by value.
...
llvm-svn: 86251
2009-11-06 10:58:06 +00:00
Chandler Carruth
766362c707
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
...
direct inclusion edge from System to Support.
llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Eric Christopher
a7407c0921
Remove a bunch of unused arguments from functions, silencing a
...
warning.
llvm-svn: 84130
2009-10-14 20:28:33 +00:00
Dan Gohman
68e044e81a
Add a form of addPreserved which takes a string argument, to allow passes
...
to declare that they preserve other passes without needing to pull in
additional header file or library dependencies. Convert MachineFunctionPass
and CodeGenLICM to make use of this.
llvm-svn: 83555
2009-10-08 17:00:02 +00:00
Dan Gohman
f6fbd474ed
Fix a typo in a comment.
...
llvm-svn: 80697
2009-09-01 18:29:01 +00:00
Chris Lattner
1c0452caeb
Change Pass::print to take a raw ostream instead of std::ostream,
...
update all code that this affects.
llvm-svn: 79830
2009-08-23 06:03:38 +00:00
Dan Gohman
24939b2c4f
Tidy #includes.
...
llvm-svn: 78677
2009-08-11 16:02:12 +00:00
Daniel Dunbar
9bbadad09d
Fix some comments referring to std::cerr.
...
llvm-svn: 77931
2009-08-03 01:02:24 +00:00