mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311 91177308-0d34-0410-b5e6-96231b3b80d8
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
// $Id$
|
|
//***************************************************************************
|
|
// File:
|
|
// Sparc.cpp
|
|
//
|
|
// Purpose:
|
|
//
|
|
// History:
|
|
// 7/15/01 - Vikram Adve - Created
|
|
//**************************************************************************/
|
|
|
|
#include "llvm/CodeGen/Sparc.h"
|
|
|
|
//************************ Class Implementations **************************/
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// class UltraSparcMachine
|
|
//
|
|
// Purpose:
|
|
// 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()
|
|
: TargetMachine(new UltraSparcInstrInfo)
|
|
{
|
|
optSizeForSubWordData = 4;
|
|
intSize = 4;
|
|
floatSize = 4;
|
|
longSize = 8;
|
|
doubleSize = 8;
|
|
longDoubleSize = 16;
|
|
pointerSize = 8;
|
|
minMemOpWordSize = 8;
|
|
maxAtomicMemOpWordSize = 8;
|
|
zeroRegNum = 0; // %g0 always gives 0 on Sparc
|
|
}
|
|
|
|
UltraSparc::~UltraSparc()
|
|
{
|
|
delete (UltraSparcInstrInfo*) machineInstrInfo;
|
|
}
|
|
|
|
//**************************************************************************/
|