summaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/IntervalPartition.cpp
AgeCommit message (Collapse)Author
2024-04-09Remove the unused IntervalPartition analysis pass (#88133)Björn Pettersson
This removes the old legacy PM "intervals" analysis pass (aka IntervalPartition). It also removes the associated Interval and IntervalIterator help classes. Reasons for removal: 1) The pass is not used by llvm-project (not even being tested by any regression tests). 2) Pass has not been ported to new pass manager, which at least indicates that it isn't used by the middle-end. 3) ASan reports heap-use-after-free on ++I; // After the first one... even if false is passed to intervals_begin. Not sure if that is a false positive, but it makes the code a bit less trustworthy.
2021-11-20[llvm] Use range-based for loops (NFC)Kazu Hirata
2019-11-13Sink all InitializePasses.h includesReid Kleckner
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
2019-01-19Update the file headers across all of the LLVM projects in the monorepoChandler Carruth
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
2017-07-24[Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko
warnings; other minor fixes (NFC). llvm-svn: 308936
2016-06-26Apply clang-tidy's modernize-loop-convert to lib/Analysis.Benjamin Kramer
Only minor manual fixes. No functionality change intended. llvm-svn: 273816
2014-04-15[C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper
instead of comparing to nullptr. llvm-svn: 206243
2010-10-07Now with fewer extraneous semicolons!Owen Anderson
llvm-svn: 115996
2010-08-06Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson
llvm-svn: 110460
2010-08-06Revert r110396 to fix buildbots.Owen Anderson
llvm-svn: 110410
2010-08-05Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson
address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
2010-07-21Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson
llvm-svn: 109045
2009-08-23Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner
update all code that this affects. llvm-svn: 79830
2008-09-04Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman
llvm-svn: 55779
2008-08-28rename destroy -> releaseMemory to properly hook into passmgr.Chris Lattner
llvm-svn: 55508
2008-08-28Clear the intervals list in "destroy", patch by Chris Lattner
Prakash Prabhu! llvm-svn: 55458
2008-06-21fix warning when assertions disabled.Chris Lattner
llvm-svn: 52589
2008-03-20These passes preserve CFG.Devang Patel
This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623
2008-03-20Restore isCFGOnly property of various analysis passes.Devang Patel
llvm-svn: 48579
2008-03-19PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel
llvm-svn: 48554
2007-12-29Remove attribution from file headers, per discussion on llvmdev.Chris Lattner
llvm-svn: 45418
2007-05-03Drop 'const'Devang Patel
llvm-svn: 36662
2007-05-02Use 'static const char' instead of 'static const int'.Devang Patel
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
2007-05-01Do not use typeinfo to identify pass in pass manager.Devang Patel
llvm-svn: 36632
2006-08-27Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner
llvm-svn: 29921
2005-04-26Make interval partition print correctly, patch contributed byChris Lattner
Vladimir Prus! llvm-svn: 21566
2005-04-22Convert tabs to spacesMisha Brukman
llvm-svn: 21439
2005-04-21Remove trailing whitespaceMisha Brukman
llvm-svn: 21416
2005-02-22Remove use of bind_obj, deleter, and finegrainify namespacification.Chris Lattner
llvm-svn: 20277
2004-12-07For PR387:\Reid Spencer
Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual llvm-svn: 18589
2004-09-03Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos
Patch contributed by Paolo Invernizzi! llvm-svn: 16152
2004-09-01Changes For Bug 352Reid Spencer
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
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
llvm-svn: 9903
2003-10-20Added LLVM project notice to the top of every C++ source file.John Criswell
Header files will be on the way. llvm-svn: 9298
2003-10-13Regularize header file commentsChris Lattner
llvm-svn: 9071
2002-10-29Fix spelling of `propagate'.Misha Brukman
llvm-svn: 4423
2002-08-21- Do not expose ::ID from any of the analyses anymore.Chris Lattner
llvm-svn: 3417
2002-08-09*** empty log message ***Chris Lattner
llvm-svn: 3282
2002-07-31*** empty log message ***Chris Lattner
llvm-svn: 3185
2002-07-30Declare that these passes only depend on the CFG of the functionChris Lattner
llvm-svn: 3157
2002-07-27* Standardize how analysis results/passes as printed with the print() virtualChris Lattner
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
2002-07-26* Add support for different "PassType's"Chris Lattner
* 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
2002-06-25MEGAPATCH checkin.Chris Lattner
For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
2002-05-06Mark analyses that only depend on the CFG of a functionChris Lattner
llvm-svn: 2507
2002-04-28Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner
to the global namespace llvm-svn: 2370
2002-04-27* Rename MethodPass class to FunctionPassChris Lattner
- 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
2002-04-07Change references to the Method class to be references to the FunctionChris Lattner
class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
2002-01-31Convert analyses to new pass structureChris Lattner
llvm-svn: 1603
2002-01-20Changes to build successfully with GCC 3.02Chris Lattner
llvm-svn: 1503
2001-11-27Create a new #include "Support/..." directory structure to move thingsChris Lattner
from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400