Make TargetRegisterClasses non-virtual by making the only virtual function a function...
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 1 Mar 2012 13:37:55 +0000 (13:37 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 1 Mar 2012 13:37:55 +0000 (13:37 +0000)
commitccc8d3ba06408feff0ca6e58973c20d15010e3fc
treeeb2847c69a9d298aebb358111cf6836317132250
parent54d42a740d2ca86a7b729bb1adc9275c304afacb
Make TargetRegisterClasses non-virtual by making the only virtual function a function pointer.

This allows us to make TRC non-polymorphic and value-initializable, eliminating a huge static
initializer and a ton of cruft from the generated code.

Shrinks ARMBaseRegisterInfo.o by ~100k.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151806 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetRegisterInfo.h
lib/Target/TargetRegisterInfo.cpp
utils/TableGen/RegisterInfoEmitter.cpp