aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/RegionPass.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-07-19[RegionPass] Some minor cleanupsDavid Majnemer1-4/+2
No functional change is intended. llvm-svn: 276000
2015-04-15Change range-based for-loops to be -Wrange-loop-analysis clean.Richard Trieu1-1/+1
No functionality change. llvm-svn: 234963
2015-03-23Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used.Benjamin Kramer1-0/+1
llvm-svn: 232998
2015-03-06Avoid calls to dumpPassInfo and RegionBase<Tr>::getNameStr() in RGPassManager ifChad Rosier1-10/+14
-debug-pass is not specified, as the string is only used when dumping pass information. There is a big cost of determining the name in ReginBase<Tr>:getNameStr() if the region's entry or exit block doesn't have a name. This is the case for the Release build, as names are not preserved by the front-end. RegionPass is mainly used by Polly, resulting in long compile time for one file of a customer application with the Release build (1m24s) vs Release+Asserts build (10s) when Polly is used. With this change, the compile time with the Release build went down to 8s. Patch by Sanjin Sijaric <ssijaric@codeaurora.org>! Phabricator: http://reviews.llvm.org/D8076 llvm-svn: 231485
2015-01-14[cleanup] Re-sort all the #include lines in LLVM usingChandler Carruth1-2/+1
utils/sort_includes.py. I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the InstrProf library that I've added. No functionality changed here, just mechanical cleanup of the include order. llvm-svn: 225974
2014-07-19Templatify RegionInfo so it works on MachineBasicBlocksMatt Arsenault1-2/+2
llvm-svn: 213456
2014-06-21Add back functionality removed in r210497.Richard Trieu1-2/+4
Instead of asserting, output a message stating that a null pointer was found. llvm-svn: 211430
2014-06-09Removing an "if (!this)" check from two print methods. The condition willRichard Trieu1-1/+3
never be true in a well-defined context. The checking for null pointers has been moved into the caller logic so it does not rely on undefined behavior. llvm-svn: 210497
2014-04-22[Modules] Fix potential ODR violations by sinking the DEBUG_TYPEChandler Carruth1-1/+2
definition below all the header #include lines, lib/Analysis/... edition. This one has a bit extra as there were *other* #define's before #include lines in addition to DEBUG_TYPE. I've sunk all of them as a block. llvm-svn: 206843
2014-04-17remove some dead codeNuno Lopes1-1/+0
lib/Analysis/IPA/InlineCost.cpp | 18 ------------------ lib/Analysis/RegionPass.cpp | 1 - lib/Analysis/TypeBasedAliasAnalysis.cpp | 1 - lib/Transforms/Scalar/LoopUnswitch.cpp | 21 --------------------- lib/Transforms/Utils/LCSSA.cpp | 2 -- lib/Transforms/Utils/LoopSimplify.cpp | 6 ------ utils/TableGen/AsmWriterEmitter.cpp | 13 ------------- utils/TableGen/DFAPacketizerEmitter.cpp | 7 ------- utils/TableGen/IntrinsicEmitter.cpp | 2 -- 9 files changed, 71 deletions(-) llvm-svn: 206506
2014-04-15Use unique_ptr to manage ownership of child Regions within llvm::RegionDavid Blaikie1-5/+5
llvm-svn: 206310
2014-04-15[C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper1-2/+2
instead of comparing to nullptr. llvm-svn: 206243
2014-03-05[C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper1-2/+2
class. llvm-svn: 202945
2014-03-03[C++11] Add a basic block range view for RegionInfoTobias Grosser1-3/+2
This also switches the users in LLVM to ensure this functionality is tested. llvm-svn: 202705
2012-08-27Remove the the block_node_iterator of Region, replace it by the block_iterator.Hongbin Zheng1-3/+2
llvm-svn: 162672
2012-05-04Rename the Region::block_iterator to Region::block_node_iterator, andChandler Carruth1-1/+2
add a new Region::block_iterator which actually iterates over the basic blocks of the region. The old iterator, now call 'block_node_iterator' iterates over RegionNodes which contain a single basic block. This works well with the GraphTraits-based iterator design, however most users actually want an iterator over the BasicBlocks inside these RegionNodes. Now the 'block_iterator' is a wrapper which exposes exactly this interface. Internally it uses the block_node_iterator to walk all nodes which are single basic blocks, but transparently unwraps the basic block to make user code simpler. While this patch is a bit of a wash, most of the updates are to internal users, not external users of the RegionInfo. I have an accompanying patch to Polly that is a strict simplification of every user of this interface, and I'm working on a pass that also wants the same simplified interface. This patch alone should have no functional impact. llvm-svn: 156202
2011-08-29Reapply r138695. Fix PassManager stack depths.Andrew Trick1-3/+3
Patch by Xiaoyi Guo! llvm-svn: 138737
2011-08-27Reverting r138695 to see if it fixes clang self host.Andrew Trick1-3/+3
llvm-svn: 138701
2011-08-27Fix PassManager stack depths.Andrew Trick1-3/+3
Patch by Xiaoyi Guo! llvm-svn: 138695
2011-05-05Minor change: Fix the typo in RegionPass.h and RegionPass.cpp.Hongbin Zheng1-1/+1
llvm-svn: 130920
2010-12-12Remove useless dynamic_cast<>().Tobias Grosser1-2/+1
Thanks Peter for pointing me to something that should have never been committed to the llvm code base. llvm-svn: 121648
2010-10-20Add RegionPass support.Tobias Grosser1-0/+276
A RegionPass is executed like a LoopPass but on the regions detected by the RegionInfo pass instead of the loops detected by the LoopInfo pass. llvm-svn: 116905