]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r333715:
authordim <dim@FreeBSD.org>
Sun, 20 May 2018 16:03:21 +0000 (16:03 +0000)
committerdim <dim@FreeBSD.org>
Sun, 20 May 2018 16:03:21 +0000 (16:03 +0000)
commit862f8fd267233acc2fae9af0c4a8bf065900315e
treed02a29bef5c96e436a8f73c05f2afc719a7f0726
parentcc269778844d0c1eae51d6b2536fabb3bcd33a8a
MFC r333715:

Pull in r322325 from upstream llvm trunk (by Matthias Braun):

  PeepholeOpt cleanup/refactor; NFC

  - Less unnecessary use of `auto`
  - Add early `using RegSubRegPair(AndIdx) =` to avoid countless
    `TargetInstrInfo::` qualifications.
  - Use references instead of pointers where possible.
  - Remove unused parameters.
  - Rewrite the CopyRewriter class hierarchy:
     - Pull out uncoalescable copy rewriting functionality into
       PeepholeOptimizer class.
     - Use an abstract base class to make it clear that rewriters are
       independent.
  - Remove unnecessary \brief in doxygen comments.
  - Remove unused constructor and method from ValueTracker.
  - Replace UseAdvancedTracking of ValueTracker with DisableAdvCopyOpt
    use.

Even though upstream marked this as "No Functional Change", it does
contain some functional changes, and these fix a compiler hang for one
particular source file in the devel/godot port.

Approved by: re (kib)
PR: 228261
contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp