[all-commits] [llvm/llvm-project] 703c08: [MachineInst] Bump NumOperands back up to 24bits

Jon Roelofs via All-commits all-commits at lists.llvm.org
Wed Jun 28 10:32:59 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 703c08362adcc7990fa5ddc444c41c5efdccbc2b
      https://github.com/llvm/llvm-project/commit/703c08362adcc7990fa5ddc444c41c5efdccbc2b
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-06-28 (Wed, 28 Jun 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/MachineInstr.cpp

  Log Message:
  -----------
  [MachineInst] Bump NumOperands back up to 24bits

In https://reviews.llvm.org/D149445, it was lowered from 32 to 16bits, which
broke an internal project of ours. The relevant code being compiled is a fairly
large nested switch that results in a PHI node with 65k+ operands, which can't
easily be turned into a table for perf reasons.

This change unifies `NumOperands`, `Flags`, and `AsmPrinterFlags` into a packed
7-byte struct, which `CapOperands` can follow as the 8th byte, rounding it up
to a nice alignment before the `Info` field.

rdar://111217742&109362033

Differential revision: https://reviews.llvm.org/D153791




More information about the All-commits mailing list