[all-commits] [llvm/llvm-project] a51226: Revert "[DAGCombiner] Enable SimplifyDemandedBits ...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Wed Jan 20 11:12:25 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a51226057fc30510ac86b32a36a9769ddbf4c318
      https://github.com/llvm/llvm-project/commit/a51226057fc30510ac86b32a36a9769ddbf4c318
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2021-01-20 (Wed, 20 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/lowerMUL-newload.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
    M llvm/test/CodeGen/ARM/lowerMUL-newload.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vmulh.ll
    M llvm/test/CodeGen/X86/combine-sra.ll
    M llvm/test/CodeGen/X86/known-signbits-vector.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    M llvm/test/CodeGen/X86/vector-trunc.ll

  Log Message:
  -----------
  Revert "[DAGCombiner] Enable SimplifyDemandedBits vector support for TRUNCATE"

It caused "Vector shift amounts must be in the same as their first arg"
asserts in Chromium builds. See the code review for repro instructions.

> Add DemandedElts support inside the TRUNCATE analysis.
>
> Differential Revision: https://reviews.llvm.org/D56387

This reverts commit cad4275d697c601761e0819863f487def73c67f8.


  Commit: e8aec763a57e211420dfceb2a8dc6b88574924f3
      https://github.com/llvm/llvm-project/commit/e8aec763a57e211420dfceb2a8dc6b88574924f3
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2021-01-20 (Wed, 20 Jan 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineAdvisor.h
    M llvm/include/llvm/Analysis/MLInlineAdvisor.h
    M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
    M llvm/include/llvm/Transforms/IPO/Inliner.h
    M llvm/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h
    M llvm/lib/Analysis/InlineAdvisor.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
    M llvm/test/Transforms/Inline/inline_stats.ll

  Log Message:
  -----------
  [NPM][Inliner] Factor ImportedFunctionStats in the InlineAdvisor

When using 2 InlinePass instances in the same CGSCC - one for other
mandatory inlinings, the other for the heuristic-driven ones - the order
in which the ImportedFunctionStats would be output-ed would depend on
the destruction order of the inline passes, which is not deterministic.

This patch moves the ImportedFunctionStats responsibility to the
InlineAdvisor to address this problem.

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


Compare: https://github.com/llvm/llvm-project/compare/b270fd59f0a8...e8aec763a57e


More information about the All-commits mailing list