[MachineInst] Bump NumOperands back up to 24bits
authorJon Roelofs <jonathan_roelofs@apple.com>
Mon, 26 Jun 2023 17:31:57 +0000 (10:31 -0700)
committerJon Roelofs <jonathan_roelofs@apple.com>
Wed, 28 Jun 2023 17:32:40 +0000 (10:32 -0700)
commit703c08362adcc7990fa5ddc444c41c5efdccbc2b
treed90f8805b5207b3f79d6e6231c01e0ec7dc053cd
parentd7d4aa539c0d2f80c080a3b1e0fa45a78d5e9bfc
[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
llvm/include/llvm/CodeGen/MachineInstr.h
llvm/lib/CodeGen/MachineInstr.cpp