Fix library visibility problems with VLIWPacketizer.

The existing framework for postra scheduling is library local. We want to keep it that way. Soon we will have a more general MachineScheduler interface. At that time, various bits will be exposed to targets. In the meantime, the VLIWPacketizer wants to use ScheduleDAGInstrs directly, so it needs to wrapped in a PIMPL to avoid exposing it to the target interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150633 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick
2012-02-15 23:34:15 +00:00
parent 426f215732
commit e746186ed4
2 changed files with 22 additions and 9 deletions

View File

@ -36,7 +36,7 @@ class MachineInstr;
class MachineLoopInfo;
class MachineDominatorTree;
class InstrItineraryData;
class ScheduleDAGInstrs;
class VLIWPacketizerImpl;
class SUnit;
class DFAPacketizer {
@ -91,8 +91,8 @@ class VLIWPacketizerList {
const MachineFunction &MF;
const TargetInstrInfo *TII;
// The VLIW Scheduler.
ScheduleDAGInstrs *VLIWScheduler;
// Encapsulate data types not exposed to the target interface.
VLIWPacketizerImpl *Impl;
protected:
// Vector of instructions assigned to the current packet.