[TypeSize] Extend UnivariateLinearPolyBase with getWithIncrement/Decrement methods
authorSander de Smalen <sander.desmalen@arm.com>
Fri, 6 Nov 2020 07:56:55 +0000 (07:56 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Fri, 6 Nov 2020 09:01:19 +0000 (09:01 +0000)
commit5ee9ef85190cff09c4d3718d8683af1900a33348
tree88b486ffc0ff0e876a717a0c330373ea31d66482
parent8d0fdd36a3a3e7d1bb07c34ab61cfe2671d13444
[TypeSize] Extend UnivariateLinearPolyBase with getWithIncrement/Decrement methods

This patch adds getWithIncrement/getWithDecrement methods to
ElementCount and TypeSize to allow:

  TypeSize::getFixed(8).getWithIncrement(8)     <=> TypeSize::getFixed(16)
  TypeSize::getFixed(16).getWithDecrement(8)    <=> TypeSize::getFixed(8)
  TypeSize::getScalable(8).getWithIncrement(8)  <=> TypeSize::getScalable(16)
  TypeSize::getScalable(16).getWithDecrement(8) <=> TypeSize::getScalable(8)

This patch implements parts of the POC in D90342.

Reviewed By: ctetreau, dmgreen

Differential Revision: https://reviews.llvm.org/D90713
llvm/include/llvm/Support/TypeSize.h
llvm/unittests/Support/LinearPolyBaseTest.cpp