[all-commits] [llvm/llvm-project] 092831: [IR] Use User::getHungOffOperands() in HungoffOper...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Dec 7 11:23:29 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0928312ec882005fa396dedba9a53f0817e4a2fb
      https://github.com/llvm/llvm-project/commit/0928312ec882005fa396dedba9a53f0817e4a2fb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-07 (Thu, 07 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/OperandTraits.h

  Log Message:
  -----------
  [IR] Use User::getHungOffOperands() in HungoffOperandTraits::op_begin/op_end(). NFC (#74744)

User::getOperandList has to check the HasHungOffUses bit in Value to
determine how the operand list is stored. If we're using
HungoffOperandTraits we can assume how it is stored without checking the
flag.

Noticed that the for loop in matchSimpleRecurrence was triggering loop
unswitch when built with clang due to specializing based on how the
operand list of the PHINode was stored.

This reduces the size of llc on my local Release+Asserts build by around
41K.




More information about the All-commits mailing list