| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This file lists every pass in LLVM, and is included by Pass.h, which is
very popular. Every time we add, remove, or rename a pass in LLVM, it
caused lots of recompilation.
I found this fact by looking at this table, which is sorted by the
number of times a file was changed over the last 100,000 git commits
multiplied by the number of object files that depend on it in the
current checkout:
recompiles touches affected_files header
342380 95 3604 llvm/include/llvm/ADT/STLExtras.h
314730 234 1345 llvm/include/llvm/InitializePasses.h
307036 118 2602 llvm/include/llvm/ADT/APInt.h
213049 59 3611 llvm/include/llvm/Support/MathExtras.h
170422 47 3626 llvm/include/llvm/Support/Compiler.h
162225 45 3605 llvm/include/llvm/ADT/Optional.h
158319 63 2513 llvm/include/llvm/ADT/Triple.h
140322 39 3598 llvm/include/llvm/ADT/StringRef.h
137647 59 2333 llvm/include/llvm/Support/Error.h
131619 73 1803 llvm/include/llvm/Support/FileSystem.h
Before this change, touching InitializePasses.h would cause 1345 files
to recompile. After this change, touching it only causes 550 compiles in
an incremental rebuild.
Reviewers: bkramer, asbirlea, bollu, jdoerfert
Differential Revision: https://reviews.llvm.org/D70211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to reflect the new license.
We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.
llvm-svn: 351636
|
|
|
|
|
|
| |
warnings; other minor fixes (NFC).
llvm-svn: 308936
|
|
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273816
|
|
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206243
|
|
|
|
| |
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
|
|
|
|
|
|
| |
update all code that this affects.
llvm-svn: 79830
|
|
|
|
| |
llvm-svn: 55779
|
|
|
|
| |
llvm-svn: 55508
|
|
|
|
|
|
| |
Prakash Prabhu!
llvm-svn: 55458
|
|
|
|
| |
llvm-svn: 52589
|
|
|
|
|
|
| |
This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester
llvm-svn: 48623
|
|
|
|
| |
llvm-svn: 48579
|
|
|
|
| |
llvm-svn: 48554
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 29921
|
|
|
|
|
|
| |
Vladimir Prus!
llvm-svn: 21566
|
|
|
|
| |
llvm-svn: 21439
|
|
|
|
| |
llvm-svn: 21416
|
|
|
|
| |
llvm-svn: 20277
|
|
|
|
|
|
|
| |
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual
llvm-svn: 18589
|
|
|
|
|
|
| |
Patch contributed by Paolo Invernizzi!
llvm-svn: 16152
|
|
|
|
|
|
|
|
| |
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: 9903
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
| |
llvm-svn: 9071
|
|
|
|
| |
llvm-svn: 4423
|
|
|
|
| |
llvm-svn: 3417
|
|
|
|
| |
llvm-svn: 3282
|
|
|
|
| |
llvm-svn: 3185
|
|
|
|
| |
llvm-svn: 3157
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
|
|
|
|
| |
llvm-svn: 2507
|
|
|
|
|
|
| |
to the global namespace
llvm-svn: 2370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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-svn: 1603
|
|
|
|
| |
llvm-svn: 1503
|
|
|
|
|
|
|
|
| |
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
|
|
|
|
| |
llvm-svn: 279
|
|
|
|
|
|
|
|
| |
contain it so that it would have full iterator access without much work.
Writer includes code to print out IntervalPartition's now.
llvm-svn: 133
|