[PATCH] D72663: [GlobalISel] Change representation of shuffle masks in MachineOperand.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 13 16:32:09 PST 2020
efriedma marked an inline comment as done.
efriedma added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/MachineOperand.h:178
unsigned Pred; // For MO_Predicate
- const Constant *ShuffleMask; // For MO_ShuffleMask
+ ArrayRef<int> ShuffleMask; // For MO_ShuffleMask
----------------
arsenm wrote:
> arsenm wrote:
> > Won't this double the size of every MachineOperand? That's an extremely high cost
> I think it's important to avoid increasing the size of MachineOperand at any cost. Whatever goes here should fit in a single pointer to avoid the increase
This patch doesn't make MachineOperand larger. ContentsUnion is at least two pointers wide anyway, for MO_Register etc. (There's a static_assert in the MachineOperand constructor that checks the size of both ContentsUnion and MachineOperand.)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72663/new/
https://reviews.llvm.org/D72663
More information about the llvm-commits
mailing list