Skip to content
  1. Mar 08, 2019
    • Michael Kruse's avatar
      [RegionPass] Fix forgotten "!". · 65c5821e
      Michael Kruse authored
      Commit r355068 "Fix IR/Analysis layering issue with OptBisect" uses the
      template
      
         return Gate.isEnabled() && !Gate.shouldRunPass(this, getDescription(...));
      
      for all pass kinds. For the RegionPass, it left out the not operator,
      causing region passes to be skipped as soon as a pass gate is used.
      
      llvm-svn: 355733
      65c5821e
  2. Feb 28, 2019
    • Richard Trieu's avatar
      Fix IR/Analysis layering issue with OptBisect · b37a70f4
      Richard Trieu authored
      OptBisect is in IR due to LLVMContext using it.  However, it uses IR units from
      Analysis as well.  This change moves getDescription functions from OptBisect
      to their respective IR units.  Generating names for IR units will now be up
      to the callers, keeping the Analysis IR units in Analysis.  To prevent
      unnecessary string generation, isEnabled function is added so that callers know
      when the description needs to be generated.
      
      Differential Revision: https://reviews.llvm.org/D58406
      
      llvm-svn: 355068
      b37a70f4
  3. Jan 19, 2019
    • Chandler Carruth's avatar
      Update the file headers across all of the LLVM projects in the monorepo · 2946cd70
      Chandler Carruth authored
      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
      2946cd70
  4. Aug 28, 2018
  5. May 14, 2018
    • Nicola Zaghen's avatar
      Rename DEBUG macro to LLVM_DEBUG. · d34e60ca
      Nicola Zaghen authored
          
      The DEBUG() macro is very generic so it might clash with other projects.
      The renaming was done as follows:
      - git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g'
      - git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM
      - Manual change to APInt
      - Manually chage DOCS as regex doesn't match it.
      
      In the transition period the DEBUG() macro is still present and aliased
      to the LLVM_DEBUG() one.
      
      Differential Revision: https://reviews.llvm.org/D43624
      
      llvm-svn: 332240
      d34e60ca
  6. Mar 27, 2018
    • Fedor Sergeev's avatar
      [NFC] OptPassGate extracted from OptBisect · 98014e43
      Fedor Sergeev authored
      Summary:
      This is an NFC refactoring of the OptBisect class to split it into an optional pass gate interface used by LLVMContext and the Optional Pass Bisector (OptBisect) used for debugging of optional passes.
      
      This refactoring is needed for D44464, which introduces setOptPassGate() method to allow implementations other than OptBisect.
      
      Patch by Yevgeny Rouban.
      
      Reviewers: andrew.w.kaylor, fedor.sergeev, vsk, dberlin, Eugene.Zelenko, reames, skatkov
      Reviewed By: fedor.sergeev
      Differential Revision: https://reviews.llvm.org/D44821
      
      llvm-svn: 328637
      98014e43
  7. Dec 13, 2017
  8. Aug 25, 2017
  9. Jun 01, 2017
  10. Mar 10, 2017
  11. Jan 15, 2017
  12. Jan 13, 2017
  13. Jul 19, 2016
  14. Apr 15, 2015
  15. Mar 23, 2015
  16. Mar 06, 2015
    • Chad Rosier's avatar
      Avoid calls to dumpPassInfo and RegionBase<Tr>::getNameStr() in RGPassManager if · 99b3e022
      Chad Rosier authored
      -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
      99b3e022
  17. Jan 14, 2015
    • Chandler Carruth's avatar
      [cleanup] Re-sort all the #include lines in LLVM using · d9903888
      Chandler Carruth authored
      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
      d9903888
  18. Jul 19, 2014
  19. Jun 21, 2014
  20. Jun 10, 2014
  21. Apr 22, 2014
  22. Apr 18, 2014
    • Nuno Lopes's avatar
      remove some dead code · 9ced19ab
      Nuno Lopes authored
       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
      9ced19ab
  23. Apr 15, 2014
  24. Mar 05, 2014
  25. Mar 03, 2014
  26. Aug 27, 2012
  27. May 04, 2012
    • Chandler Carruth's avatar
      Rename the Region::block_iterator to Region::block_node_iterator, and · 8880325a
      Chandler Carruth authored
      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
      8880325a
  28. Aug 29, 2011
  29. Aug 27, 2011
  30. May 05, 2011
  31. Dec 12, 2010
  32. Oct 20, 2010
    • Tobias Grosser's avatar
      Add RegionPass support. · 23c8341c
      Tobias Grosser authored
      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
      23c8341c
Loading