[all-commits] [llvm/llvm-project] 4ce26d: [DAG] Reassociate Add with Or

David Green via All-commits all-commits at lists.llvm.org
Wed Jul 7 02:21:27 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ce26deac2a69492d5af349c25f285f6d493f82c
      https://github.com/llvm/llvm-project/commit/4ce26deac2a69492d5af349c25f285f6d493f82c
  Author: David Green <david.green at arm.com>
  Date:   2021-07-07 (Wed, 07 Jul 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/ARM/add-like-or.ll
    M llvm/test/CodeGen/Hexagon/isel-global-offset-alignment.ll
    M llvm/test/CodeGen/SystemZ/addr-01.ll
    M llvm/test/CodeGen/SystemZ/addr-02.ll

  Log Message:
  -----------
  [DAG] Reassociate Add with Or

We already have reassociation code for Adds and Ors separately in DAG
combiner, this adds it for the combination of the two where Ors act like
Adds. It reassociates (add (or (x, c), y) -> (add (add (x, y), c)) where
we know that the Ors operands have no common bits set, and the Or has
one use.

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




More information about the All-commits mailing list