| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 132519
|
| |
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
command line, they'll still be seen with -help-hidden.
llvm-svn: 127353
|
| |
|
|
|
|
|
| |
The PassManager did not implement the transitivity of requiredTransitive. This
was unnoticed since 2006.
llvm-svn: 123942
|
| |
|
|
| |
llvm-svn: 120298
|
| |
|
|
| |
llvm-svn: 118790
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 116279
|
| |
|
|
| |
llvm-svn: 116278
|
| |
|
|
| |
llvm-svn: 116277
|
| |
|
|
| |
llvm-svn: 116276
|
| |
|
|
|
|
| |
stop searching when it has found a match.
llvm-svn: 116262
|
| |
|
|
| |
llvm-svn: 111500
|
| |
|
|
| |
llvm-svn: 111200
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 111192
|
| |
|
|
|
|
|
| |
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
llvm-svn: 111189
|
| |
|
|
| |
llvm-svn: 110983
|
| |
|
|
| |
llvm-svn: 110982
|
| |
|
|
| |
llvm-svn: 110981
|
| |
|
|
| |
llvm-svn: 110499
|
| |
|
|
| |
llvm-svn: 110496
|
| |
|
|
|
|
| |
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.
llvm-svn: 110494
|
| |
|
|
| |
llvm-svn: 110460
|
| |
|
|
| |
llvm-svn: 110410
|
| |
|
|
|
|
|
|
| |
address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.
llvm-svn: 110396
|
| |
|
|
|
|
| |
different direction with this.
llvm-svn: 108856
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 108813
|
| |
|
|
|
|
|
| |
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.
llvm-svn: 108805
|
| |
|
|
|
|
| |
(StaticPassInfo) and a constructor-ful subclass (PassInfo).
llvm-svn: 108794
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 106444
|
| |
|
|
|
|
| |
It works in simple cases, but it isn't a general solution.
llvm-svn: 103499
|
| |
|
|
| |
llvm-svn: 103493
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
readability.
llvm-svn: 100756
|
| |
|
|
| |
llvm-svn: 100709
|
| |
|
|
| |
llvm-svn: 100702
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
are run during codegen.
llvm-svn: 100207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<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
|
| |
|
|
| |
llvm-svn: 100146
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|
| |
|
|
|
|
| |
timers by pointer instead of by-value.
llvm-svn: 99871
|
| |
|
|
| |
llvm-svn: 99870
|
| |
|
|
| |
llvm-svn: 99862
|
| |
|
|
| |
llvm-svn: 97608
|