[all-commits] [llvm/llvm-project] 98f5ab: [instcombine] Do demanded elts last when visiting ...

Philip Reames via All-commits all-commits at lists.llvm.org
Thu Dec 9 10:05:05 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98f5ab6af3eda88e82c93ca05f82485b156d6126
      https://github.com/llvm/llvm-project/commit/98f5ab6af3eda88e82c93ca05f82485b156d6126
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-12-09 (Thu, 09 Dec 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    M llvm/test/Transforms/InstCombine/X86/x86-fma.ll
    M llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/scalarization.ll

  Log Message:
  -----------
  [instcombine] Do demanded elts last when visiting extractelement

This reorders existing transforms to put demanded elements last. The reasoning here is that when we have an example which can be scalarized or handled via demanded bits, we should prefer scalarization as that doesn't require dropping flags on arithmetic instructions.

This doesn't show major changes in the tests today, but once I add support for fast math flags to dropPoisonGeneratingFlags this becomes glaringly obvious.

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




More information about the All-commits mailing list