[all-commits] [llvm/llvm-project] f8431a: Avoid running optimization passes in frontend test

Matthias Braun via All-commits all-commits at lists.llvm.org
Mon Sep 11 10:39:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8431a0e4008db374dfb17a21119178fb960e334
      https://github.com/llvm/llvm-project/commit/f8431a0e4008db374dfb17a21119178fb960e334
  Author: Matthias Braun <matze at braunis.de>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp

  Log Message:
  -----------
  Avoid running optimization passes in frontend test

Differential Revision: https://reviews.llvm.org/D157518


  Commit: 285e0235f5f649e17eef8f0f25e1680c975dcfe4
      https://github.com/llvm/llvm-project/commit/285e0235f5f649e17eef8f0f25e1680c975dcfe4
  Author: Matthias Braun <matze at braunis.de>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/lib/IR/ProfDataUtils.cpp

  Log Message:
  -----------
  ProfDataUtils: Add extractFromBranchWeightMD function; NFC

Expose internal helper function as new `extractFromBranchWeightMD` API.

Differential revision: https://reviews.llvm.org/D157937


  Commit: 5d7f84ee17f3f601c49f6124a3a51e557de3ab53
      https://github.com/llvm/llvm-project/commit/5d7f84ee17f3f601c49f6124a3a51e557de3ab53
  Author: Matthias Braun <matze at braunis.de>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    A llvm/test/Transforms/LoopRotate/update-branch-weights.ll
    M llvm/test/Transforms/LoopSimplify/merge-exits.ll

  Log Message:
  -----------
  LoopRotate: Add code to update branch weights

This adds code to the loop rotation transformation to ensure that the
computed block execution counts for the loop bodies are the same before
and after the transformation. This isn't always true in practice, but I
believe this is because of numeric inaccuracies in the BlockFrequency
computation.

The invariants this is modeled on and heuristic choice of 0-trip loop
amount is explained in a lenghty comment in the new
`updateBranchWeights()` function.

Differential Revision: https://reviews.llvm.org/D157462


Compare: https://github.com/llvm/llvm-project/compare/779a7b7fd72f...5d7f84ee17f3


More information about the All-commits mailing list