David Blaikie
a379b18173
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Benjamin Kramer
cc863b2bb6
Let printf do the formatting instead aligning strings ourselves.
...
While at it, merge some format strings.
llvm-svn: 142140
2011-10-16 16:30:34 +00:00
Devang Patel
6eb3a6b192
Add a check to make sure schedulePass() has not deleted stale RequiredPass.
...
llvm-svn: 139642
2011-09-13 21:13:29 +00:00
Benjamin Kramer
4dd515c04f
Dump with dbgs() instead of printf.
...
llvm-svn: 138749
2011-08-29 18:14:17 +00:00
Benjamin Kramer
6bb5b3cfcd
Make GCC happy by adding parens.
...
llvm-svn: 138748
2011-08-29 18:14:15 +00:00
Andrew Trick
0896621a50
Reapply r138695. Fix PassManager stack depths.
...
Patch by Xiaoyi Guo!
llvm-svn: 138737
2011-08-29 17:07:00 +00:00
Andrew Trick
5c29ebae8e
Reverting r138695 to see if it fixes clang self host.
...
llvm-svn: 138701
2011-08-27 06:10:16 +00:00
Andrew Trick
b0cd1e65de
Fix PassManager stack depths.
...
Patch by Xiaoyi Guo!
llvm-svn: 138695
2011-08-27 02:11:03 +00:00
Bill Wendling
d12cec8093
Indicate that there are changes if runOfFunction returns saying that there are.
...
Patch by Jingyue!
llvm-svn: 137072
2011-08-08 23:01:10 +00:00
Andrew Trick
6bbaf133ba
Basic PassManager diagnostics.
...
Added asserts whenever attempting to use a potentially
uninitialized pass. This helps people trying to develop a new pass and
people trying to understand the bug reports filed by the former people.
llvm-svn: 132520
2011-06-03 00:48:58 +00:00
Andrew Trick
b3bddf0e72
whitespace
...
llvm-svn: 132519
2011-06-03 00:44:32 +00:00
Chris Lattner
0ab5e2cded
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
Devang Patel
fa31d38aad
Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information.
...
It generates output that lools like
8 times line number info lost by Scalar Replacement of Aggregates (SSAUp)
1 times line number info lost by Simplify well-known library calls
12 times variable info lost by Jump Threading
llvm-svn: 127381
2011-03-10 00:21:25 +00:00
Eric Christopher
787ba0bf9b
Make these options hidden to reduce the amount of text -help puts on the
...
command line, they'll still be seen with -help-hidden.
llvm-svn: 127353
2011-03-09 19:46:51 +00:00
Tobias Grosser
f07426b40d
Implement requiredTransitive
...
The PassManager did not implement the transitivity of requiredTransitive. This
was unnoticed since 2006.
llvm-svn: 123942
2011-01-20 21:03:22 +00:00
Michael J. Spencer
447762da85
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Dan Gohman
f51d06bbee
Include ImmutablePass passes in -debug-pass=Arguments.
...
llvm-svn: 118790
2010-11-11 16:32:17 +00:00
Tobias Grosser
23c8341c3d
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
060d5ba248
More SmallVectorImpls.
...
llvm-svn: 116279
2010-10-12 00:15:27 +00:00
Dan Gohman
c450d2caa5
Shrink a SmallVector with a known maximum size.
...
llvm-svn: 116278
2010-10-12 00:13:43 +00:00
Dan Gohman
c8da21b04c
Constify.
...
llvm-svn: 116277
2010-10-12 00:12:29 +00:00
Dan Gohman
7224bcef8f
Use SmallVectorImpl in a bunch of places.
...
llvm-svn: 116276
2010-10-12 00:11:18 +00:00
Dan Gohman
844dd0ad00
Fix the pass manager's search order for immutable passes, and make it
...
stop searching when it has found a match.
llvm-svn: 116262
2010-10-11 23:19:01 +00:00
Dan Gohman
f71c521fb7
Revert r111199; it breaks -debug-pass=Structure output.
...
llvm-svn: 111500
2010-08-19 01:29:07 +00:00
Dan Gohman
6304db3896
The plural of analysis is analyses.
...
llvm-svn: 111200
2010-08-16 22:57:28 +00:00
Dan Gohman
55cd6aadc9
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
3061485624
Remove redundant inline keywords.
...
llvm-svn: 111192
2010-08-16 21:57:30 +00:00
Dan Gohman
e85c619980
Eliminate the TopLevelManagerType enum; instead, just make
...
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
llvm-svn: 111189
2010-08-16 21:38:42 +00:00
Dan Gohman
7b1bcaafae
Trim #includes.
...
llvm-svn: 110983
2010-08-12 23:56:03 +00:00
Dan Gohman
de6188a5d8
Tidy up whitespace.
...
llvm-svn: 110982
2010-08-12 23:50:08 +00:00
Dan Gohman
b83d1b694a
Use .empty() instead of .size().
...
llvm-svn: 110981
2010-08-12 23:46:28 +00:00
Dan Gohman
a19631f437
More #include cleanups.
...
llvm-svn: 110499
2010-08-07 01:18:18 +00:00
Dan Gohman
027ad43794
Oops, check in this file too.
...
llvm-svn: 110496
2010-08-07 01:04:15 +00:00
Dan Gohman
093b42fc7c
Tidy some #includes and forward-declarations, and move the C binding code
...
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.
llvm-svn: 110494
2010-08-07 00:43:20 +00:00
Owen Anderson
a7aed18624
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
llvm-svn: 110460
2010-08-06 18:33:48 +00:00
Owen Anderson
bda59bd247
Revert r110396 to fix buildbots.
...
llvm-svn: 110410
2010-08-06 00:23:35 +00:00
Owen Anderson
755aceb5d0
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
3183ef1120
Pull out r108755. After offline discussion with Chris, we're going to go a different direction with this.
...
llvm-svn: 108856
2010-07-20 16:55:05 +00:00
Owen Anderson
81781220d2
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
8dc129325f
Reapply r108794, a fix for the failing test from last time.
...
llvm-svn: 108813
2010-07-20 06:52:42 +00:00
Daniel Dunbar
4a35d6f8cd
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
e7c5fe586a
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
Owen Anderson
0edf6a1131
Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
...
linked list. This is a little slower and involves more malloc'ing, but these lists are
typically short, and it allows PassInfo to be entirely constant initializable.
llvm-svn: 108755
2010-07-19 21:44:48 +00:00
Dan Gohman
ffdee30e90
Move several non-performance-critical member functinos out of line.
...
llvm-svn: 106444
2010-06-21 18:46:45 +00:00
Dan Gohman
e7630be7c5
Revert r103493, materializing functions in the regular PassManager.
...
It works in simple cases, but it isn't a general solution.
llvm-svn: 103499
2010-05-11 20:30:00 +00:00
Dan Gohman
860d669da2
Teach the regular pass manager how to materialize functions as needed.
...
llvm-svn: 103493
2010-05-11 19:58:43 +00:00
David Greene
103d4b43e9
Fix PR6875:
...
This includes a patch by Roman Divacky to fix the initial crash.
Move the actual addition of passes from *PassManager::add to
*PassManager::addImpl. That way, when adding printer passes we won't
recurse infinitely.
Finally, check to make sure that we are actually adding a FunctionPass
to a FunctionPassManager before doing a print before or after it.
Immutable passes are strange in this way because they aren't
FunctionPasses yet they can be and are added to the FunctionPassManager.
llvm-svn: 103425
2010-05-10 20:24:27 +00:00
Benjamin Kramer
a6769269f3
Use twines to simplify calls to report_fatal_error. For code size and readability.
...
llvm-svn: 100756
2010-04-08 10:44:28 +00:00
Chris Lattner
2104b8d36e
rename llvm::llvm_report_error -> llvm::report_fatal_error
...
llvm-svn: 100709
2010-04-07 22:58:41 +00:00
Chris Lattner
b6166b372e
minor tidying up
...
llvm-svn: 100702
2010-04-07 22:41:29 +00:00