| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
IncludeFile hack to ensure linkage of analysis passes. This works around
some -pedantic warnings about assigning an object to a function.
llvm-svn: 28621
|
|
|
|
|
|
|
|
|
|
| |
set construction, rather than intersecting various std::sets. This reduces
the memory usage for the testcase in PR681 from 496 to 26MB of ram on my
darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a
2.5GHz G5. This also enables future code sharing between Dom and PostDom
now that they share near-identical implementations.
llvm-svn: 26707
|
|
|
|
|
|
| |
post-dominators. This code was written/adapted by Daniel Berlin!
llvm-svn: 25144
|
|
|
|
| |
llvm-svn: 24409
|
|
|
|
| |
llvm-svn: 21439
|
|
|
|
| |
llvm-svn: 21416
|
|
|
|
| |
llvm-svn: 17056
|
|
|
|
|
|
|
| |
same scope. This confused VC++ (and probably people too!). Patch by
Morten Ofstad!
llvm-svn: 16985
|
|
|
|
|
|
|
|
| |
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
|
|
|
|
| |
llvm-svn: 15334
|
|
|
|
|
|
| |
Move method out of generic dominators construction code
llvm-svn: 10299
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
|
| |
multiple times. This reduces the time to construct post-dominance sets a LOT.
For example, optimizing perlbmk goes from taking 12.9894s to 1.4074s.
llvm-svn: 9091
|
|
|
|
| |
llvm-svn: 8478
|
|
|
|
| |
llvm-svn: 8469
|
|
|
|
|
|
|
|
|
| |
unify all exit nodes of a function to compute post-dominance information.
This does not work with functions that have both unwind and return nodes,
because we cannot unify these blocks. The new implementation is better
anyway. :)
llvm-svn: 8460
|
|
|
|
| |
llvm-svn: 8442
|
|
|
|
|
|
| |
the exit node.
llvm-svn: 4038
|
|
|
|
| |
llvm-svn: 3432
|
|
|
|
| |
llvm-svn: 3417
|
|
|
|
|
|
|
| |
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264
|
|
|
|
|
|
| |
Dominance calculation goes to VMCore library to be used by Verifier.
llvm-svn: 3210
|
|
|
|
| |
llvm-svn: 3185
|
|
|
|
| |
llvm-svn: 3157
|
|
|
|
|
|
| |
provide themselves.
llvm-svn: 3124
|
|
|
|
|
|
|
|
|
|
| |
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.
llvm-svn: 3116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
llvm-svn: 3112
|
|
|
|
| |
llvm-svn: 3105
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
|
|
|
|
| |
llvm-svn: 2616
|
|
|
|
| |
llvm-svn: 2531
|
|
|
|
|
|
| |
the Scalar and Utils subdirectories
llvm-svn: 2523
|
|
|
|
| |
llvm-svn: 2507
|
|
|
|
| |
llvm-svn: 2397
|
|
|
|
|
|
| |
to the global namespace
llvm-svn: 2370
|
|
|
|
|
|
|
|
| |
BasicBlock's, not
const BasicBlocks
llvm-svn: 2337
|
|
|
|
| |
llvm-svn: 2336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
llvm-svn: 2333
|
|
|
|
|
|
|
| |
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
llvm-svn: 2144
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 1715
|
|
|
|
| |
llvm-svn: 1616
|
|
|
|
| |
llvm-svn: 1603
|
|
|
|
| |
llvm-svn: 1503
|
|
|
|
|
|
|
|
| |
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
|
|
|
|
|
|
| |
nodes.
llvm-svn: 1370
|
|
|
|
|
|
|
|
|
| |
them into
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
llvm-svn: 691
|
|
|
|
| |
llvm-svn: 664
|