[all-commits] [llvm/llvm-project] 73919a: [InstCombine] try multi-use demanded bits folds fo...

Sanjay Patel via All-commits all-commits at lists.llvm.org
Wed Sep 14 06:39:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 73919a87e9a6f8cfa619e297c0c52e0e68f6c532
      https://github.com/llvm/llvm-project/commit/73919a87e9a6f8cfa619e297c0c52e0e68f6c532
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-09-14 (Wed, 14 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [InstCombine] try multi-use demanded bits folds for 'add'

This patch enables a multi-use demanded bits fold (motivated by issue #57576):
https://alive2.llvm.org/ce/z/DsZakh

This mimics transforms that we already do on the single-use path.

Originally, this patch did not include the last part to form a constant, but
that can be removed independently to reduce risk. It's not clear what the
effect of either change will be when viewed end-to-end.

This is expected to be neutral or a slight win for compile-time.
See the "add-demand2" series for experimental timing results:
https://llvm-compile-time-tracker.com/?config=NewPM-O3&stat=instructions&remote=rotateright

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




More information about the All-commits mailing list