[all-commits] [llvm/llvm-project] 6861d9: Revert "clang-misexpect: Profile Guided Validation...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Sat Nov 14 02:13:38 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6861d938e5c946cc7079d9849ef7560d07aa2d80
      https://github.com/llvm/llvm-project/commit/6861d938e5c946cc7079d9849ef7560d07aa2d80
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-11-14 (Sat, 14 Nov 2020)

  Changed paths:
    M clang/docs/DiagnosticsReference.rst
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/thinlto-clang-diagnostic-handler-in-be.c
    M clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
    R clang/test/Profile/Inputs/misexpect-branch-nonconst-expect-arg.proftext
    R clang/test/Profile/Inputs/misexpect-branch.proftext
    R clang/test/Profile/Inputs/misexpect-switch-default-only.proftext
    R clang/test/Profile/Inputs/misexpect-switch-default.proftext
    R clang/test/Profile/Inputs/misexpect-switch-nonconst.proftext
    R clang/test/Profile/Inputs/misexpect-switch.proftext
    R clang/test/Profile/misexpect-branch-cold.c
    R clang/test/Profile/misexpect-branch-nonconst-expected-val.c
    R clang/test/Profile/misexpect-branch-unpredictable.c
    R clang/test/Profile/misexpect-branch.c
    R clang/test/Profile/misexpect-switch-default.c
    R clang/test/Profile/misexpect-switch-nonconst.c
    R clang/test/Profile/misexpect-switch-only-default-case.c
    R clang/test/Profile/misexpect-switch.c
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/include/llvm/IR/MDBuilder.h
    R llvm/include/llvm/Transforms/Utils/MisExpect.h
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    R llvm/lib/Transforms/Utils/MisExpect.cpp
    M llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
    M llvm/test/Transforms/LowerExpectIntrinsic/expect-with-probability.ll
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-branch-correct.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-branch.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-branch_entry.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct_entry.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch.proftext
    R llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch_entry.proftext
    R llvm/test/Transforms/PGOProfile/misexpect-branch-correct.ll
    R llvm/test/Transforms/PGOProfile/misexpect-branch-stripped.ll
    R llvm/test/Transforms/PGOProfile/misexpect-branch-unpredictable.ll
    R llvm/test/Transforms/PGOProfile/misexpect-branch.ll
    R llvm/test/Transforms/PGOProfile/misexpect-switch-default.ll
    R llvm/test/Transforms/PGOProfile/misexpect-switch.ll
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  Revert "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM"

See discussion in https://bugs.llvm.org/show_bug.cgi?id=45073 / https://reviews.llvm.org/D66324#2334485
the implementation is known-broken for certain inputs,
the bugreport was up for a significant amount of timer,
and there has been no activity to address it.
Therefore, just completely rip out all of misexpect handling.

I suspect, fixing it requires redesigning the internals of MD_misexpect.
Should anyone commit to fixing the implementation problem,
starting from clean slate may be better anyways.

This reverts commit 7bdad08429411e7d0ecd58cd696b1efe3cff309e,
and some of it's follow-ups, that don't stand on their own.




More information about the All-commits mailing list