This change moves "DefaultVLIWScheduler" class declaration from
DFAPacketizer.cpp to DFAPacketizer.h.
This is needed because there is a protected class member of
type "DefaultVLIWScheduler*" in "VLIWPacketizerList" class.
The derived classes cannot use this memeber unless declaration
is available to it. More specifically :
// Without this change
class HexagonPacketizerList : public VLIWPacketizerList { public : HexagonPacketizerList() { // Below line will cause incomplete class error since // declaration was not available through header. VLIWScheduler->schedule(); } }
@kparzysz , this type will become incomplete class type for the child class of VLIWPacketizerList unless declaration of "DefaultVLIWScheduler" is moved to this header.
Since this member is a protected member, I assume the design intention was to make it available to child class.
My usecase was to access this member and call "schedule()" method of it.
This patch just moves the declaration from cpp file to header file.