Since getSubtarget() always provides a const Subtarget, dont' require the user

to pass it in.  Also, since it always returns a non-null pointer, make it
return a reference instead for easier use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22686 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-08-05 21:53:21 +00:00
parent ba25365140
commit 5ab8363206

View File

@ -105,11 +105,11 @@ public:
/// getSubtarget - This method returns a pointer to the specified type of /// getSubtarget - This method returns a pointer to the specified type of
/// TargetSubtarget. In debug builds, it verifies that the object being /// TargetSubtarget. In debug builds, it verifies that the object being
/// returned is of the correct type. /// returned is of the correct type.
template<typename STC> STC *getSubtarget() const { template<typename STC> const STC &getSubtarget() const {
const TargetSubtarget *TST = getSubtargetImpl(); const TargetSubtarget *TST = getSubtargetImpl();
assert(getSubtargetImpl() && dynamic_cast<STC*>(TST) && assert(TST && dynamic_cast<const STC*>(TST) &&
"Not the right kind of subtarget!"); "Not the right kind of subtarget!");
return (STC*)TST; return *static_cast<const STC*>(TST);
} }
/// getRegisterInfo - If register information is available, return it. If /// getRegisterInfo - If register information is available, return it. If