For some LLVM-as-library uses it is convenient to create a
authorDavid Tweed <david.tweed@arm.com>
Wed, 9 Jan 2013 16:21:47 +0000 (16:21 +0000)
committerDavid Tweed <david.tweed@arm.com>
Wed, 9 Jan 2013 16:21:47 +0000 (16:21 +0000)
commit73b984530f42d1b829a8de8824ae354a133d998a
treef4af4638082114fde684a39f49bc4c72c1f42199
parenta7303360aea203d0f58f77ac43287f5b98c7cbe6
For some LLVM-as-library uses it is convenient to create a
subclass of TargetMachine which "forwards" all operations to an
existing internal TargetMachine member variable. In the usage context the
specific-machine class derived from TargetMachine is not visible,
only a reference to the generic base class TargetMachine. Although
getSubtargetImpl() is public in specific-machine classes derived from
TargetMachine, the TargetMachine class unfortunately has
getSubtargetImpl() protected (and accessing non-const members makes
abusing getSubtarget() unsuitable). Making it public in the base class
allows this forwarding pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171976 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetMachine.h