[all-commits] [llvm/llvm-project] 257acb: [SelectionDAG] Combine U{ADD, SUB}O diamonds into {...

David Zarzycki via All-commits all-commits at lists.llvm.org
Wed Nov 20 06:28:17 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 257acbf6aee983227a3976d10d0086f3600f2bee
      https://github.com/llvm/llvm-project/commit/257acbf6aee983227a3976d10d0086f3600f2bee
  Author: David Zarzycki <dave at znu.io>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/addcarry.ll
    M llvm/test/CodeGen/X86/subcarry.ll

  Log Message:
  -----------
  [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY

Summary:
Convert (uaddo (uaddo x, y), carryIn) into addcarry x, y, carryIn if-and-only-if the carry flags of the first two uaddo are merged via OR or XOR.

Work remaining: match ADD, etc.

Reviewers: craig.topper, RKSimon, spatel, niravd, jonpa, uweigand, deadalnix, nikic, lebedev.ri, dmgreen, chfast

Reviewed By: lebedev.ri

Subscribers: chfast, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list