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.

llvm-svn: 22686
This commit is contained in:
Chris Lattner 2005-08-05 21:53:21 +00:00
parent 79095d3416
commit feb0442901

View File

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