mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.
Relevant changes elsewhere: Added MachineInstrInfo class and moved instruction-related members there. Added several fields to MachineInstrDescriptor (and renamed it from MachineInstrInfo. Latency fields are to support scheduling. llvm-svn: 311
This commit is contained in:
parent
137f8efbf0
commit
ea2f7ed7e9
@ -11,27 +11,23 @@
|
|||||||
|
|
||||||
#include "llvm/CodeGen/Sparc.h"
|
#include "llvm/CodeGen/Sparc.h"
|
||||||
|
|
||||||
//************************ Exported Constants ******************************/
|
|
||||||
|
|
||||||
|
|
||||||
// Set external object describing the machine instructions
|
|
||||||
//
|
|
||||||
const MachineInstrInfo* TargetMachineInstrInfo = SparcMachineInstrInfo;
|
|
||||||
|
|
||||||
|
|
||||||
//************************ Class Implementations **************************/
|
//************************ Class Implementations **************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// class UltraSparcMachine
|
// class UltraSparcMachine
|
||||||
//
|
//
|
||||||
// Purpose:
|
// Purpose:
|
||||||
// Machine description.
|
// Primary interface to machine description for the UltraSPARC.
|
||||||
|
// Primarily just initializes machine-dependent parameters in
|
||||||
|
// class TargetMachine, and creates machine-dependent subclasses
|
||||||
|
// for classes such as MachineInstrInfo.
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
UltraSparc::UltraSparc()
|
UltraSparc::UltraSparc()
|
||||||
: TargetMachine()
|
: TargetMachine(new UltraSparcInstrInfo)
|
||||||
{
|
{
|
||||||
optSizeForSubWordData = 4;
|
optSizeForSubWordData = 4;
|
||||||
intSize = 4;
|
intSize = 4;
|
||||||
@ -42,8 +38,12 @@ UltraSparc::UltraSparc()
|
|||||||
pointerSize = 8;
|
pointerSize = 8;
|
||||||
minMemOpWordSize = 8;
|
minMemOpWordSize = 8;
|
||||||
maxAtomicMemOpWordSize = 8;
|
maxAtomicMemOpWordSize = 8;
|
||||||
machineInstrInfo = SparcMachineInstrInfo;
|
|
||||||
zeroRegNum = 0; // %g0 always gives 0 on Sparc
|
zeroRegNum = 0; // %g0 always gives 0 on Sparc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UltraSparc::~UltraSparc()
|
||||||
|
{
|
||||||
|
delete (UltraSparcInstrInfo*) machineInstrInfo;
|
||||||
|
}
|
||||||
|
|
||||||
//**************************************************************************/
|
//**************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user