HomePhabricator

Move size and alignment information of regclass to TargetRegisterInfo

Description

Move size and alignment information of regclass to TargetRegisterInfo

  1. RegisterClass::getSize() is split into two functions:
    • TargetRegisterInfo::getRegSizeInBits(const TargetRegisterClass &RC) const;
    • TargetRegisterInfo::getSpillSize(const TargetRegisterClass &RC) const;
  2. RegisterClass::getAlignment() is replaced by:
    • TargetRegisterInfo::getSpillAlignment(const TargetRegisterClass &RC) const;

This will allow making those values depend on subtarget features in the
future.

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

Details