| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 29921
|
|
|
|
|
|
|
|
|
|
| |
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.
llvm-svn: 28715
|
|
|
|
|
|
|
| |
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
|