mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-23 17:24:48 +00:00
Rename TargetSubtarget to TargetSubtargetInfo for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134259 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -36,7 +36,7 @@ class TargetJITInfo;
|
|||||||
class TargetLowering;
|
class TargetLowering;
|
||||||
class TargetRegisterInfo;
|
class TargetRegisterInfo;
|
||||||
class TargetSelectionDAGInfo;
|
class TargetSelectionDAGInfo;
|
||||||
class TargetSubtarget;
|
class TargetSubtargetInfo;
|
||||||
class formatted_raw_ostream;
|
class formatted_raw_ostream;
|
||||||
class raw_ostream;
|
class raw_ostream;
|
||||||
|
|
||||||
@ -94,8 +94,8 @@ protected: // Can only create subclasses.
|
|||||||
TargetMachine(const Target &);
|
TargetMachine(const Target &);
|
||||||
|
|
||||||
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
||||||
/// a reference to that target's TargetSubtarget-derived member variable.
|
/// a reference to that target's TargetSubtargetInfo-derived member variable.
|
||||||
virtual const TargetSubtarget *getSubtargetImpl() const { return 0; }
|
virtual const TargetSubtargetInfo *getSubtargetImpl() const { return 0; }
|
||||||
|
|
||||||
/// TheTarget - The Target that this machine was created for.
|
/// TheTarget - The Target that this machine was created for.
|
||||||
const Target &TheTarget;
|
const Target &TheTarget;
|
||||||
@ -132,7 +132,7 @@ public:
|
|||||||
const MCAsmInfo *getMCAsmInfo() const { return AsmInfo; }
|
const MCAsmInfo *getMCAsmInfo() const { return AsmInfo; }
|
||||||
|
|
||||||
/// getSubtarget - This method returns a pointer to the specified type of
|
/// getSubtarget - This method returns a pointer to the specified type of
|
||||||
/// TargetSubtarget. In debug builds, it verifies that the object being
|
/// TargetSubtargetInfo. In debug builds, it verifies that the object being
|
||||||
/// returned is of the correct type.
|
/// returned is of the correct type.
|
||||||
template<typename STC> const STC &getSubtarget() const {
|
template<typename STC> const STC &getSubtarget() const {
|
||||||
return *static_cast<const STC*>(getSubtargetImpl());
|
return *static_cast<const STC*>(getSubtargetImpl());
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//==-- llvm/Target/TargetSubtarget.h - Target Information --------*- C++ -*-==//
|
//==-- llvm/Target/TargetSubtargetInfo.h - Target Information ----*- C++ -*-==//
|
||||||
//
|
//
|
||||||
// The LLVM Compiler Infrastructure
|
// The LLVM Compiler Infrastructure
|
||||||
//
|
//
|
||||||
@ -11,8 +11,8 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef LLVM_TARGET_TARGETSUBTARGET_H
|
#ifndef LLVM_TARGET_TARGETSUBTARGETINFO_H
|
||||||
#define LLVM_TARGET_TARGETSUBTARGET_H
|
#define LLVM_TARGET_TARGETSUBTARGETINFO_H
|
||||||
|
|
||||||
#include "llvm/MC/MCSubtargetInfo.h"
|
#include "llvm/MC/MCSubtargetInfo.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
@ -26,22 +26,22 @@ template <typename T> class SmallVectorImpl;
|
|||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
///
|
///
|
||||||
/// TargetSubtarget - Generic base class for all target subtargets. All
|
/// TargetSubtargetInfo - Generic base class for all target subtargets. All
|
||||||
/// Target-specific options that control code generation and printing should
|
/// Target-specific options that control code generation and printing should
|
||||||
/// be exposed through a TargetSubtarget-derived class.
|
/// be exposed through a TargetSubtargetInfo-derived class.
|
||||||
///
|
///
|
||||||
class TargetSubtarget : public MCSubtargetInfo {
|
class TargetSubtargetInfo : public MCSubtargetInfo {
|
||||||
TargetSubtarget(const TargetSubtarget&); // DO NOT IMPLEMENT
|
TargetSubtargetInfo(const TargetSubtargetInfo&); // DO NOT IMPLEMENT
|
||||||
void operator=(const TargetSubtarget&); // DO NOT IMPLEMENT
|
void operator=(const TargetSubtargetInfo&); // DO NOT IMPLEMENT
|
||||||
protected: // Can only create subclasses...
|
protected: // Can only create subclasses...
|
||||||
TargetSubtarget();
|
TargetSubtargetInfo();
|
||||||
public:
|
public:
|
||||||
// AntiDepBreakMode - Type of anti-dependence breaking that should
|
// AntiDepBreakMode - Type of anti-dependence breaking that should
|
||||||
// be performed before post-RA scheduling.
|
// be performed before post-RA scheduling.
|
||||||
typedef enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL } AntiDepBreakMode;
|
typedef enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL } AntiDepBreakMode;
|
||||||
typedef SmallVectorImpl<TargetRegisterClass*> RegClassVector;
|
typedef SmallVectorImpl<TargetRegisterClass*> RegClassVector;
|
||||||
|
|
||||||
virtual ~TargetSubtarget();
|
virtual ~TargetSubtargetInfo();
|
||||||
|
|
||||||
/// getSpecialAddressLatency - For targets where it is beneficial to
|
/// getSpecialAddressLatency - For targets where it is beneficial to
|
||||||
/// backschedule instructions that compute addresses, return a value
|
/// backschedule instructions that compute addresses, return a value
|
@ -116,7 +116,7 @@ bool AggressiveAntiDepState::IsLive(unsigned Reg)
|
|||||||
AggressiveAntiDepBreaker::
|
AggressiveAntiDepBreaker::
|
||||||
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
||||||
const RegisterClassInfo &RCI,
|
const RegisterClassInfo &RCI,
|
||||||
TargetSubtarget::RegClassVector& CriticalPathRCs) :
|
TargetSubtargetInfo::RegClassVector& CriticalPathRCs) :
|
||||||
AntiDepBreaker(), MF(MFi),
|
AntiDepBreaker(), MF(MFi),
|
||||||
MRI(MF.getRegInfo()),
|
MRI(MF.getRegInfo()),
|
||||||
TII(MF.getTarget().getInstrInfo()),
|
TII(MF.getTarget().getInstrInfo()),
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineRegisterInfo.h"
|
#include "llvm/CodeGen/MachineRegisterInfo.h"
|
||||||
#include "llvm/CodeGen/ScheduleDAG.h"
|
#include "llvm/CodeGen/ScheduleDAG.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/Target/TargetRegisterInfo.h"
|
#include "llvm/Target/TargetRegisterInfo.h"
|
||||||
#include "llvm/ADT/BitVector.h"
|
#include "llvm/ADT/BitVector.h"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
#include "llvm/ADT/SmallSet.h"
|
||||||
@ -131,8 +131,8 @@ class RegisterClassInfo;
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
||||||
const RegisterClassInfo &RCI,
|
const RegisterClassInfo &RCI,
|
||||||
TargetSubtarget::RegClassVector& CriticalPathRCs);
|
TargetSubtargetInfo::RegClassVector& CriticalPathRCs);
|
||||||
~AggressiveAntiDepBreaker();
|
~AggressiveAntiDepBreaker();
|
||||||
|
|
||||||
/// Start - Initialize anti-dep breaking for a new basic block.
|
/// Start - Initialize anti-dep breaking for a new basic block.
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
#include "llvm/Target/TargetInstrInfo.h"
|
#include "llvm/Target/TargetInstrInfo.h"
|
||||||
#include "llvm/Target/TargetRegisterInfo.h"
|
#include "llvm/Target/TargetRegisterInfo.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/Support/CommandLine.h"
|
#include "llvm/Support/CommandLine.h"
|
||||||
#include "llvm/Support/Debug.h"
|
#include "llvm/Support/Debug.h"
|
||||||
#include "llvm/Support/ErrorHandling.h"
|
#include "llvm/Support/ErrorHandling.h"
|
||||||
@ -53,7 +53,7 @@ STATISTIC(NumStalls, "Number of pipeline stalls");
|
|||||||
STATISTIC(NumFixedAnti, "Number of fixed anti-dependencies");
|
STATISTIC(NumFixedAnti, "Number of fixed anti-dependencies");
|
||||||
|
|
||||||
// Post-RA scheduling is enabled with
|
// Post-RA scheduling is enabled with
|
||||||
// TargetSubtarget.enablePostRAScheduler(). This flag can be used to
|
// TargetSubtargetInfo.enablePostRAScheduler(). This flag can be used to
|
||||||
// override the target.
|
// override the target.
|
||||||
static cl::opt<bool>
|
static cl::opt<bool>
|
||||||
EnablePostRAScheduler("post-RA-scheduler",
|
EnablePostRAScheduler("post-RA-scheduler",
|
||||||
@ -138,7 +138,7 @@ namespace {
|
|||||||
SchedulePostRATDList(
|
SchedulePostRATDList(
|
||||||
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
||||||
AliasAnalysis *AA, const RegisterClassInfo&,
|
AliasAnalysis *AA, const RegisterClassInfo&,
|
||||||
TargetSubtarget::AntiDepBreakMode AntiDepMode,
|
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode,
|
||||||
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs);
|
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs);
|
||||||
|
|
||||||
~SchedulePostRATDList();
|
~SchedulePostRATDList();
|
||||||
@ -183,7 +183,7 @@ namespace {
|
|||||||
SchedulePostRATDList::SchedulePostRATDList(
|
SchedulePostRATDList::SchedulePostRATDList(
|
||||||
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
||||||
AliasAnalysis *AA, const RegisterClassInfo &RCI,
|
AliasAnalysis *AA, const RegisterClassInfo &RCI,
|
||||||
TargetSubtarget::AntiDepBreakMode AntiDepMode,
|
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode,
|
||||||
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs)
|
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs)
|
||||||
: ScheduleDAGInstrs(MF, MLI, MDT), Topo(SUnits), AA(AA),
|
: ScheduleDAGInstrs(MF, MLI, MDT), Topo(SUnits), AA(AA),
|
||||||
KillIndices(TRI->getNumRegs())
|
KillIndices(TRI->getNumRegs())
|
||||||
@ -193,9 +193,9 @@ SchedulePostRATDList::SchedulePostRATDList(
|
|||||||
HazardRec =
|
HazardRec =
|
||||||
TM.getInstrInfo()->CreateTargetPostRAHazardRecognizer(InstrItins, this);
|
TM.getInstrInfo()->CreateTargetPostRAHazardRecognizer(InstrItins, this);
|
||||||
AntiDepBreak =
|
AntiDepBreak =
|
||||||
((AntiDepMode == TargetSubtarget::ANTIDEP_ALL) ?
|
((AntiDepMode == TargetSubtargetInfo::ANTIDEP_ALL) ?
|
||||||
(AntiDepBreaker *)new AggressiveAntiDepBreaker(MF, RCI, CriticalPathRCs) :
|
(AntiDepBreaker *)new AggressiveAntiDepBreaker(MF, RCI, CriticalPathRCs) :
|
||||||
((AntiDepMode == TargetSubtarget::ANTIDEP_CRITICAL) ?
|
((AntiDepMode == TargetSubtargetInfo::ANTIDEP_CRITICAL) ?
|
||||||
(AntiDepBreaker *)new CriticalAntiDepBreaker(MF, RCI) : NULL));
|
(AntiDepBreaker *)new CriticalAntiDepBreaker(MF, RCI) : NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,7 +212,7 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
|
|||||||
RegClassInfo.runOnMachineFunction(Fn);
|
RegClassInfo.runOnMachineFunction(Fn);
|
||||||
|
|
||||||
// Check for explicit enable/disable of post-ra scheduling.
|
// Check for explicit enable/disable of post-ra scheduling.
|
||||||
TargetSubtarget::AntiDepBreakMode AntiDepMode = TargetSubtarget::ANTIDEP_NONE;
|
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode = TargetSubtargetInfo::ANTIDEP_NONE;
|
||||||
SmallVector<TargetRegisterClass*, 4> CriticalPathRCs;
|
SmallVector<TargetRegisterClass*, 4> CriticalPathRCs;
|
||||||
if (EnablePostRAScheduler.getPosition() > 0) {
|
if (EnablePostRAScheduler.getPosition() > 0) {
|
||||||
if (!EnablePostRAScheduler)
|
if (!EnablePostRAScheduler)
|
||||||
@ -220,17 +220,18 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
|
|||||||
} else {
|
} else {
|
||||||
// Check that post-RA scheduling is enabled for this target.
|
// Check that post-RA scheduling is enabled for this target.
|
||||||
// This may upgrade the AntiDepMode.
|
// This may upgrade the AntiDepMode.
|
||||||
const TargetSubtarget &ST = Fn.getTarget().getSubtarget<TargetSubtarget>();
|
const TargetSubtargetInfo &ST = Fn.getTarget().getSubtarget<TargetSubtargetInfo>();
|
||||||
if (!ST.enablePostRAScheduler(OptLevel, AntiDepMode, CriticalPathRCs))
|
if (!ST.enablePostRAScheduler(OptLevel, AntiDepMode, CriticalPathRCs))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for antidep breaking override...
|
// Check for antidep breaking override...
|
||||||
if (EnableAntiDepBreaking.getPosition() > 0) {
|
if (EnableAntiDepBreaking.getPosition() > 0) {
|
||||||
AntiDepMode = (EnableAntiDepBreaking == "all") ?
|
AntiDepMode = (EnableAntiDepBreaking == "all")
|
||||||
TargetSubtarget::ANTIDEP_ALL :
|
? TargetSubtargetInfo::ANTIDEP_ALL
|
||||||
(EnableAntiDepBreaking == "critical")
|
: ((EnableAntiDepBreaking == "critical")
|
||||||
? TargetSubtarget::ANTIDEP_CRITICAL : TargetSubtarget::ANTIDEP_NONE;
|
? TargetSubtargetInfo::ANTIDEP_CRITICAL
|
||||||
|
: TargetSubtargetInfo::ANTIDEP_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG(dbgs() << "PostRAScheduler\n");
|
DEBUG(dbgs() << "PostRAScheduler\n");
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
#include "llvm/Target/TargetInstrInfo.h"
|
#include "llvm/Target/TargetInstrInfo.h"
|
||||||
#include "llvm/Target/TargetRegisterInfo.h"
|
#include "llvm/Target/TargetRegisterInfo.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/Support/Debug.h"
|
#include "llvm/Support/Debug.h"
|
||||||
#include "llvm/Support/raw_ostream.h"
|
#include "llvm/Support/raw_ostream.h"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
#include "llvm/ADT/SmallSet.h"
|
||||||
@ -206,7 +206,7 @@ void ScheduleDAGInstrs::BuildSchedGraph(AliasAnalysis *AA) {
|
|||||||
bool UnitLatencies = ForceUnitLatencies();
|
bool UnitLatencies = ForceUnitLatencies();
|
||||||
|
|
||||||
// Ask the target if address-backscheduling is desirable, and if so how much.
|
// Ask the target if address-backscheduling is desirable, and if so how much.
|
||||||
const TargetSubtarget &ST = TM.getSubtarget<TargetSubtarget>();
|
const TargetSubtargetInfo &ST = TM.getSubtarget<TargetSubtargetInfo>();
|
||||||
unsigned SpecialAddressLatency = ST.getSpecialAddressLatency();
|
unsigned SpecialAddressLatency = ST.getSpecialAddressLatency();
|
||||||
|
|
||||||
// Remove any stale debug info; sometimes BuildSchedGraph is called again
|
// Remove any stale debug info; sometimes BuildSchedGraph is called again
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include "llvm/Target/TargetInstrInfo.h"
|
#include "llvm/Target/TargetInstrInfo.h"
|
||||||
#include "llvm/Target/TargetLowering.h"
|
#include "llvm/Target/TargetLowering.h"
|
||||||
#include "llvm/Target/TargetRegisterInfo.h"
|
#include "llvm/Target/TargetRegisterInfo.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/ADT/DenseMap.h"
|
#include "llvm/ADT/DenseMap.h"
|
||||||
#include "llvm/ADT/SmallPtrSet.h"
|
#include "llvm/ADT/SmallPtrSet.h"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
#include "llvm/ADT/SmallSet.h"
|
||||||
@ -379,7 +379,7 @@ void ScheduleDAGSDNodes::BuildSchedUnits() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ScheduleDAGSDNodes::AddSchedEdges() {
|
void ScheduleDAGSDNodes::AddSchedEdges() {
|
||||||
const TargetSubtarget &ST = TM.getSubtarget<TargetSubtarget>();
|
const TargetSubtargetInfo &ST = TM.getSubtarget<TargetSubtargetInfo>();
|
||||||
|
|
||||||
// Check to see if the scheduler cares about latencies.
|
// Check to see if the scheduler cares about latencies.
|
||||||
bool UnitLatencies = ForceUnitLatencies();
|
bool UnitLatencies = ForceUnitLatencies();
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the ARM specific subclass of TargetSubtarget.
|
// This file implements the ARM specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "ARMSubtarget.h"
|
#include "ARMSubtarget.h"
|
||||||
#include "ARMBaseRegisterInfo.h"
|
#include "ARMBaseRegisterInfo.h"
|
||||||
#include "llvm/GlobalValue.h"
|
#include "llvm/GlobalValue.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/Support/CommandLine.h"
|
#include "llvm/Support/CommandLine.h"
|
||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
|
|
||||||
@ -251,9 +251,9 @@ void ARMSubtarget::computeIssueWidth() {
|
|||||||
|
|
||||||
bool ARMSubtarget::enablePostRAScheduler(
|
bool ARMSubtarget::enablePostRAScheduler(
|
||||||
CodeGenOpt::Level OptLevel,
|
CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const {
|
RegClassVector& CriticalPathRCs) const {
|
||||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||||
CriticalPathRCs.clear();
|
CriticalPathRCs.clear();
|
||||||
CriticalPathRCs.push_back(&ARM::GPRRegClass);
|
CriticalPathRCs.push_back(&ARM::GPRRegClass);
|
||||||
return PostRAScheduler && OptLevel >= CodeGenOpt::Default;
|
return PostRAScheduler && OptLevel >= CodeGenOpt::Default;
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the ARM specific subclass of TargetSubtarget.
|
// This file declares the ARM specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ARMSUBTARGET_H
|
#ifndef ARMSUBTARGET_H
|
||||||
#define ARMSUBTARGET_H
|
#define ARMSUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include "llvm/ADT/Triple.h"
|
#include "llvm/ADT/Triple.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -228,7 +228,7 @@ protected:
|
|||||||
|
|
||||||
/// enablePostRAScheduler - True at 'More' optimization.
|
/// enablePostRAScheduler - True at 'More' optimization.
|
||||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const;
|
RegClassVector& CriticalPathRCs) const;
|
||||||
|
|
||||||
/// getInstrItins - Return the instruction itineraies based on subtarget
|
/// getInstrItins - Return the instruction itineraies based on subtarget
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the Alpha specific subclass of TargetSubtarget.
|
// This file implements the Alpha specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the Alpha specific subclass of TargetSubtarget.
|
// This file declares the Alpha specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ALPHASUBTARGET_H
|
#ifndef ALPHASUBTARGET_H
|
||||||
#define ALPHASUBTARGET_H
|
#define ALPHASUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the blackfin specific subclass of TargetSubtarget.
|
// This file implements the blackfin specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the BLACKFIN specific subclass of TargetSubtarget.
|
// This file declares the BLACKFIN specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef BLACKFIN_SUBTARGET_H
|
#ifndef BLACKFIN_SUBTARGET_H
|
||||||
#define BLACKFIN_SUBTARGET_H
|
#define BLACKFIN_SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#define GET_SUBTARGETINFO_HEADER
|
#define GET_SUBTARGETINFO_HEADER
|
||||||
|
@ -12,7 +12,7 @@ add_llvm_library(LLVMTarget
|
|||||||
TargetLoweringObjectFile.cpp
|
TargetLoweringObjectFile.cpp
|
||||||
TargetMachine.cpp
|
TargetMachine.cpp
|
||||||
TargetRegisterInfo.cpp
|
TargetRegisterInfo.cpp
|
||||||
TargetSubtarget.cpp
|
TargetSubtargetInfo.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(LLVM_ENUM_ASM_PRINTERS "")
|
set(LLVM_ENUM_ASM_PRINTERS "")
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the CellSPU-specific subclass of TargetSubtarget.
|
// This file implements the CellSPU-specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
@ -49,9 +49,9 @@ void SPUSubtarget::SetJITMode() {
|
|||||||
/// Enable PostRA scheduling for optimization levels -O2 and -O3.
|
/// Enable PostRA scheduling for optimization levels -O2 and -O3.
|
||||||
bool SPUSubtarget::enablePostRAScheduler(
|
bool SPUSubtarget::enablePostRAScheduler(
|
||||||
CodeGenOpt::Level OptLevel,
|
CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const {
|
RegClassVector& CriticalPathRCs) const {
|
||||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||||
// CriticalPathsRCs seems to be the set of
|
// CriticalPathsRCs seems to be the set of
|
||||||
// RegisterClasses that antidep breakings are performed for.
|
// RegisterClasses that antidep breakings are performed for.
|
||||||
// Do it for all register classes
|
// Do it for all register classes
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the Cell SPU-specific subclass of TargetSubtarget.
|
// This file declares the Cell SPU-specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef CELLSUBTARGET_H
|
#ifndef CELLSUBTARGET_H
|
||||||
#define CELLSUBTARGET_H
|
#define CELLSUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ namespace llvm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const;
|
RegClassVector& CriticalPathRCs) const;
|
||||||
};
|
};
|
||||||
} // End llvm namespace
|
} // End llvm namespace
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the MBlaze specific subclass of TargetSubtarget.
|
// This file implements the MBlaze specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
@ -54,9 +54,9 @@ void MBlazeSubtarget::computeIssueWidth() {
|
|||||||
|
|
||||||
bool MBlazeSubtarget::
|
bool MBlazeSubtarget::
|
||||||
enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const {
|
RegClassVector& CriticalPathRCs) const {
|
||||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||||
CriticalPathRCs.clear();
|
CriticalPathRCs.clear();
|
||||||
CriticalPathRCs.push_back(&MBlaze::GPRRegClass);
|
CriticalPathRCs.push_back(&MBlaze::GPRRegClass);
|
||||||
return HasItin && OptLevel >= CodeGenOpt::Default;
|
return HasItin && OptLevel >= CodeGenOpt::Default;
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the MBlaze specific subclass of TargetSubtarget.
|
// This file declares the MBlaze specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef MBLAZESUBTARGET_H
|
#ifndef MBLAZESUBTARGET_H
|
||||||
#define MBLAZESUBTARGET_H
|
#define MBLAZESUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ public:
|
|||||||
|
|
||||||
/// enablePostRAScheduler - True at 'More' optimization.
|
/// enablePostRAScheduler - True at 'More' optimization.
|
||||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const;
|
RegClassVector& CriticalPathRCs) const;
|
||||||
|
|
||||||
/// getInstrItins - Return the instruction itineraies based on subtarget.
|
/// getInstrItins - Return the instruction itineraies based on subtarget.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the MSP430 specific subclass of TargetSubtarget.
|
// This file implements the MSP430 specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the MSP430 specific subclass of TargetSubtarget.
|
// This file declares the MSP430 specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef LLVM_TARGET_MSP430_SUBTARGET_H
|
#ifndef LLVM_TARGET_MSP430_SUBTARGET_H
|
||||||
#define LLVM_TARGET_MSP430_SUBTARGET_H
|
#define LLVM_TARGET_MSP430_SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
|
|
||||||
#define GET_SUBTARGETINFO_HEADER
|
#define GET_SUBTARGETINFO_HEADER
|
||||||
#include "MSP430GenSubtarget.inc"
|
#include "MSP430GenSubtarget.inc"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the Mips specific subclass of TargetSubtarget.
|
// This file implements the Mips specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the Mips specific subclass of TargetSubtarget.
|
// This file declares the Mips specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef MIPSSUBTARGET_H
|
#ifndef MIPSSUBTARGET_H
|
||||||
#define MIPSSUBTARGET_H
|
#define MIPSSUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the PTX specific subclass of TargetSubtarget.
|
// This file implements the PTX specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the PTX specific subclass of TargetSubtarget.
|
// This file declares the PTX specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef PTX_SUBTARGET_H
|
#ifndef PTX_SUBTARGET_H
|
||||||
#define PTX_SUBTARGET_H
|
#define PTX_SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
|
|
||||||
#define GET_SUBTARGETINFO_HEADER
|
#define GET_SUBTARGETINFO_HEADER
|
||||||
#include "PTXGenSubtarget.inc"
|
#include "PTXGenSubtarget.inc"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the PPC specific subclass of TargetSubtarget.
|
// This file implements the PPC specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the PowerPC specific subclass of TargetSubtarget.
|
// This file declares the PowerPC specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef POWERPCSUBTARGET_H
|
#ifndef POWERPCSUBTARGET_H
|
||||||
#define POWERPCSUBTARGET_H
|
#define POWERPCSUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/MC/MCInstrItineraries.h"
|
#include "llvm/MC/MCInstrItineraries.h"
|
||||||
#include "llvm/ADT/Triple.h"
|
#include "llvm/ADT/Triple.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the SPARC specific subclass of TargetSubtarget.
|
// This file implements the SPARC specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the SPARC specific subclass of TargetSubtarget.
|
// This file declares the SPARC specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef SPARC_SUBTARGET_H
|
#ifndef SPARC_SUBTARGET_H
|
||||||
#define SPARC_SUBTARGET_H
|
#define SPARC_SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#define GET_SUBTARGETINFO_HEADER
|
#define GET_SUBTARGETINFO_HEADER
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the SystemZ specific subclass of TargetSubtarget.
|
// This file implements the SystemZ specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the SystemZ specific subclass of TargetSubtarget.
|
// This file declares the SystemZ specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef LLVM_TARGET_SystemZ_SUBTARGET_H
|
#ifndef LLVM_TARGET_SystemZ_SUBTARGET_H
|
||||||
#define LLVM_TARGET_SystemZ_SUBTARGET_H
|
#define LLVM_TARGET_SystemZ_SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#define GET_SUBTARGETINFO_HEADER
|
#define GET_SUBTARGETINFO_HEADER
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//===-- TargetSubtarget.cpp - General Target Information -------------------==//
|
//===-- TargetSubtargetInfo.cpp - General Target Information ---------------==//
|
||||||
//
|
//
|
||||||
// The LLVM Compiler Infrastructure
|
// The LLVM Compiler Infrastructure
|
||||||
//
|
//
|
||||||
@ -11,18 +11,18 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// TargetSubtarget Class
|
// TargetSubtargetInfo Class
|
||||||
//
|
//
|
||||||
TargetSubtarget::TargetSubtarget() {}
|
TargetSubtargetInfo::TargetSubtargetInfo() {}
|
||||||
|
|
||||||
TargetSubtarget::~TargetSubtarget() {}
|
TargetSubtargetInfo::~TargetSubtargetInfo() {}
|
||||||
|
|
||||||
bool TargetSubtarget::enablePostRAScheduler(
|
bool TargetSubtargetInfo::enablePostRAScheduler(
|
||||||
CodeGenOpt::Level OptLevel,
|
CodeGenOpt::Level OptLevel,
|
||||||
AntiDepBreakMode& Mode,
|
AntiDepBreakMode& Mode,
|
||||||
RegClassVector& CriticalPathRCs) const {
|
RegClassVector& CriticalPathRCs) const {
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the X86 specific subclass of TargetSubtarget.
|
// This file implements the X86 specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the X86 specific subclass of TargetSubtarget.
|
// This file declares the X86 specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
@ -15,7 +15,7 @@
|
|||||||
#define X86SUBTARGET_H
|
#define X86SUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/ADT/Triple.h"
|
#include "llvm/ADT/Triple.h"
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/CallingConv.h"
|
#include "llvm/CallingConv.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file implements the XCore specific subclass of TargetSubtarget.
|
// This file implements the XCore specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file declares the XCore specific subclass of TargetSubtarget.
|
// This file declares the XCore specific subclass of TargetSubtargetInfo.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef XCORESUBTARGET_H
|
#ifndef XCORESUBTARGET_H
|
||||||
#define XCORESUBTARGET_H
|
#define XCORESUBTARGET_H
|
||||||
|
|
||||||
#include "llvm/Target/TargetSubtarget.h"
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -695,13 +695,13 @@ void SubtargetEmitter::run(raw_ostream &OS) {
|
|||||||
|
|
||||||
OS << "#endif // GET_SUBTARGETINFO_TARGET_DESC\n\n";
|
OS << "#endif // GET_SUBTARGETINFO_TARGET_DESC\n\n";
|
||||||
|
|
||||||
// Create a TargetSubtarget subclass to hide the MC layer initialization.
|
// Create a TargetSubtargetInfo subclass to hide the MC layer initialization.
|
||||||
OS << "\n#ifdef GET_SUBTARGETINFO_HEADER\n";
|
OS << "\n#ifdef GET_SUBTARGETINFO_HEADER\n";
|
||||||
OS << "#undef GET_SUBTARGETINFO_HEADER\n";
|
OS << "#undef GET_SUBTARGETINFO_HEADER\n";
|
||||||
|
|
||||||
std::string ClassName = Target + "GenSubtargetInfo";
|
std::string ClassName = Target + "GenSubtargetInfo";
|
||||||
OS << "namespace llvm {\n";
|
OS << "namespace llvm {\n";
|
||||||
OS << "struct " << ClassName << " : public TargetSubtarget {\n"
|
OS << "struct " << ClassName << " : public TargetSubtargetInfo {\n"
|
||||||
<< " explicit " << ClassName << "();\n"
|
<< " explicit " << ClassName << "();\n"
|
||||||
<< "};\n";
|
<< "};\n";
|
||||||
OS << "} // End llvm namespace \n";
|
OS << "} // End llvm namespace \n";
|
||||||
@ -713,7 +713,7 @@ void SubtargetEmitter::run(raw_ostream &OS) {
|
|||||||
|
|
||||||
OS << "namespace llvm {\n";
|
OS << "namespace llvm {\n";
|
||||||
OS << ClassName << "::" << ClassName << "()\n"
|
OS << ClassName << "::" << ClassName << "()\n"
|
||||||
<< " : TargetSubtarget() {\n"
|
<< " : TargetSubtargetInfo() {\n"
|
||||||
<< " InitMCSubtargetInfo(";
|
<< " InitMCSubtargetInfo(";
|
||||||
if (NumFeatures)
|
if (NumFeatures)
|
||||||
OS << Target << "FeatureKV, ";
|
OS << Target << "FeatureKV, ";
|
||||||
|
Reference in New Issue
Block a user