| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 130068
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
llvm-svn: 116820
|
| |
|
|
| |
llvm-svn: 115996
|
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 109045
|
| |
|
|
| |
llvm-svn: 80766
|
| |
|
|
| |
llvm-svn: 64888
|
| |
|
|
| |
llvm-svn: 60189
|
| |
|
|
|
|
|
|
| |
the "erase".
Thanks to Ji Young Park for the patch!
llvm-svn: 56316
|
| |
|
|
| |
llvm-svn: 55779
|
| |
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
|
|
| |
passed the erased element.
llvm-svn: 45099
|
| |
|
|
| |
llvm-svn: 36873
|
| |
|
|
| |
llvm-svn: 36662
|
| |
|
|
|
|
|
| |
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
| |
|
|
| |
llvm-svn: 36632
|
| |
|
|
|
|
|
| |
the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939
|
| |
|
|
| |
llvm-svn: 33511
|
| |
|
|
|
|
|
| |
converted, we lose a static initializer. This also allows GCC to emit warnings
about unused statistics.
llvm-svn: 32690
|
| |
|
|
|
|
| |
is 'unsigned'.
llvm-svn: 32279
|
| |
|
|
| |
llvm-svn: 29925
|
| |
|
|
| |
llvm-svn: 21776
|
| |
|
|
| |
llvm-svn: 21427
|
| |
|
|
| |
llvm-svn: 16432
|
| |
|
|
|
|
|
|
| |
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: 15276
|
| |
|
|
|
|
| |
patch was graciously contributed by Vladimir Prus.
llvm-svn: 13185
|
| |
|
|
|
|
|
|
| |
over its USES. If it's dead it doesn't have any uses! :)
Thanks to the fabulous and mysterious Bill Wendling for pointing this out. :)
llvm-svn: 13102
|
| |
|
|
| |
llvm-svn: 10725
|
| |
|
|
| |
llvm-svn: 9903
|
| |
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
| |
|
|
|
|
| |
setPreservesCFG to be less confusing.
llvm-svn: 4255
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
* Updated ProgrammersManual with new semantics.
llvm-svn: 4002
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: 3113
|
| |
|
|
| |
llvm-svn: 3016
|
| |
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
|
| |
|
|
| |
llvm-svn: 2749
|
| |
|
|
|
|
| |
the command line
llvm-svn: 2601
|
| |
|
|
| |
llvm-svn: 2537
|
| |
|
|
| |
llvm-svn: 2516
|
| |
|
|
|
|
| |
* Convert to worklist instead of iterative algorithm
llvm-svn: 2510
|
| |
|
|
|
|
|
|
|
|
| |
void "test3"(bool %T) {
br bool %T, label %BB1, label %BB1
BB1:
ret void
}
llvm-svn: 2472
|
| |
|
|
| |
llvm-svn: 2397
|
| |
|
|
|
|
| |
to make debugging output a lot nicer.
llvm-svn: 2395
|
| |
|
|
| |
llvm-svn: 2378
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
llvm-svn: 2323
|