mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 21:00:29 +00:00
Rename TargetSubtarget to TargetSubtargetInfo for consistency.
llvm-svn: 134259
This commit is contained in:
parent
771cdf9b5d
commit
e7e74a3250
@ -36,7 +36,7 @@ class TargetJITInfo;
|
||||
class TargetLowering;
|
||||
class TargetRegisterInfo;
|
||||
class TargetSelectionDAGInfo;
|
||||
class TargetSubtarget;
|
||||
class TargetSubtargetInfo;
|
||||
class formatted_raw_ostream;
|
||||
class raw_ostream;
|
||||
|
||||
@ -94,8 +94,8 @@ protected: // Can only create subclasses.
|
||||
TargetMachine(const Target &);
|
||||
|
||||
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
||||
/// a reference to that target's TargetSubtarget-derived member variable.
|
||||
virtual const TargetSubtarget *getSubtargetImpl() const { return 0; }
|
||||
/// a reference to that target's TargetSubtargetInfo-derived member variable.
|
||||
virtual const TargetSubtargetInfo *getSubtargetImpl() const { return 0; }
|
||||
|
||||
/// TheTarget - The Target that this machine was created for.
|
||||
const Target &TheTarget;
|
||||
@ -132,7 +132,7 @@ public:
|
||||
const MCAsmInfo *getMCAsmInfo() const { return AsmInfo; }
|
||||
|
||||
/// 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.
|
||||
template<typename STC> const STC &getSubtarget() const {
|
||||
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
|
||||
//
|
||||
@ -11,8 +11,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_TARGET_TARGETSUBTARGET_H
|
||||
#define LLVM_TARGET_TARGETSUBTARGET_H
|
||||
#ifndef LLVM_TARGET_TARGETSUBTARGETINFO_H
|
||||
#define LLVM_TARGET_TARGETSUBTARGETINFO_H
|
||||
|
||||
#include "llvm/MC/MCSubtargetInfo.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
|
||||
/// be exposed through a TargetSubtarget-derived class.
|
||||
/// be exposed through a TargetSubtargetInfo-derived class.
|
||||
///
|
||||
class TargetSubtarget : public MCSubtargetInfo {
|
||||
TargetSubtarget(const TargetSubtarget&); // DO NOT IMPLEMENT
|
||||
void operator=(const TargetSubtarget&); // DO NOT IMPLEMENT
|
||||
class TargetSubtargetInfo : public MCSubtargetInfo {
|
||||
TargetSubtargetInfo(const TargetSubtargetInfo&); // DO NOT IMPLEMENT
|
||||
void operator=(const TargetSubtargetInfo&); // DO NOT IMPLEMENT
|
||||
protected: // Can only create subclasses...
|
||||
TargetSubtarget();
|
||||
TargetSubtargetInfo();
|
||||
public:
|
||||
// AntiDepBreakMode - Type of anti-dependence breaking that should
|
||||
// be performed before post-RA scheduling.
|
||||
typedef enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL } AntiDepBreakMode;
|
||||
typedef SmallVectorImpl<TargetRegisterClass*> RegClassVector;
|
||||
|
||||
virtual ~TargetSubtarget();
|
||||
virtual ~TargetSubtargetInfo();
|
||||
|
||||
/// getSpecialAddressLatency - For targets where it is beneficial to
|
||||
/// backschedule instructions that compute addresses, return a value
|
@ -116,7 +116,7 @@ bool AggressiveAntiDepState::IsLive(unsigned Reg)
|
||||
AggressiveAntiDepBreaker::
|
||||
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
||||
const RegisterClassInfo &RCI,
|
||||
TargetSubtarget::RegClassVector& CriticalPathRCs) :
|
||||
TargetSubtargetInfo::RegClassVector& CriticalPathRCs) :
|
||||
AntiDepBreaker(), MF(MFi),
|
||||
MRI(MF.getRegInfo()),
|
||||
TII(MF.getTarget().getInstrInfo()),
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "llvm/CodeGen/MachineFunction.h"
|
||||
#include "llvm/CodeGen/MachineRegisterInfo.h"
|
||||
#include "llvm/CodeGen/ScheduleDAG.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/ADT/BitVector.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
@ -131,8 +131,8 @@ class RegisterClassInfo;
|
||||
|
||||
public:
|
||||
AggressiveAntiDepBreaker(MachineFunction& MFi,
|
||||
const RegisterClassInfo &RCI,
|
||||
TargetSubtarget::RegClassVector& CriticalPathRCs);
|
||||
const RegisterClassInfo &RCI,
|
||||
TargetSubtargetInfo::RegClassVector& CriticalPathRCs);
|
||||
~AggressiveAntiDepBreaker();
|
||||
|
||||
/// Start - Initialize anti-dep breaking for a new basic block.
|
||||
|
@ -38,7 +38,7 @@
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
@ -53,7 +53,7 @@ STATISTIC(NumStalls, "Number of pipeline stalls");
|
||||
STATISTIC(NumFixedAnti, "Number of fixed anti-dependencies");
|
||||
|
||||
// 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.
|
||||
static cl::opt<bool>
|
||||
EnablePostRAScheduler("post-RA-scheduler",
|
||||
@ -138,7 +138,7 @@ namespace {
|
||||
SchedulePostRATDList(
|
||||
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
||||
AliasAnalysis *AA, const RegisterClassInfo&,
|
||||
TargetSubtarget::AntiDepBreakMode AntiDepMode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode,
|
||||
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs);
|
||||
|
||||
~SchedulePostRATDList();
|
||||
@ -183,7 +183,7 @@ namespace {
|
||||
SchedulePostRATDList::SchedulePostRATDList(
|
||||
MachineFunction &MF, MachineLoopInfo &MLI, MachineDominatorTree &MDT,
|
||||
AliasAnalysis *AA, const RegisterClassInfo &RCI,
|
||||
TargetSubtarget::AntiDepBreakMode AntiDepMode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode,
|
||||
SmallVectorImpl<TargetRegisterClass*> &CriticalPathRCs)
|
||||
: ScheduleDAGInstrs(MF, MLI, MDT), Topo(SUnits), AA(AA),
|
||||
KillIndices(TRI->getNumRegs())
|
||||
@ -193,9 +193,9 @@ SchedulePostRATDList::SchedulePostRATDList(
|
||||
HazardRec =
|
||||
TM.getInstrInfo()->CreateTargetPostRAHazardRecognizer(InstrItins, this);
|
||||
AntiDepBreak =
|
||||
((AntiDepMode == TargetSubtarget::ANTIDEP_ALL) ?
|
||||
((AntiDepMode == TargetSubtargetInfo::ANTIDEP_ALL) ?
|
||||
(AntiDepBreaker *)new AggressiveAntiDepBreaker(MF, RCI, CriticalPathRCs) :
|
||||
((AntiDepMode == TargetSubtarget::ANTIDEP_CRITICAL) ?
|
||||
((AntiDepMode == TargetSubtargetInfo::ANTIDEP_CRITICAL) ?
|
||||
(AntiDepBreaker *)new CriticalAntiDepBreaker(MF, RCI) : NULL));
|
||||
}
|
||||
|
||||
@ -212,7 +212,7 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
|
||||
RegClassInfo.runOnMachineFunction(Fn);
|
||||
|
||||
// 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;
|
||||
if (EnablePostRAScheduler.getPosition() > 0) {
|
||||
if (!EnablePostRAScheduler)
|
||||
@ -220,17 +220,18 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
|
||||
} else {
|
||||
// Check that post-RA scheduling is enabled for this target.
|
||||
// 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))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check for antidep breaking override...
|
||||
if (EnableAntiDepBreaking.getPosition() > 0) {
|
||||
AntiDepMode = (EnableAntiDepBreaking == "all") ?
|
||||
TargetSubtarget::ANTIDEP_ALL :
|
||||
(EnableAntiDepBreaking == "critical")
|
||||
? TargetSubtarget::ANTIDEP_CRITICAL : TargetSubtarget::ANTIDEP_NONE;
|
||||
AntiDepMode = (EnableAntiDepBreaking == "all")
|
||||
? TargetSubtargetInfo::ANTIDEP_ALL
|
||||
: ((EnableAntiDepBreaking == "critical")
|
||||
? TargetSubtargetInfo::ANTIDEP_CRITICAL
|
||||
: TargetSubtargetInfo::ANTIDEP_NONE);
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "PostRAScheduler\n");
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
@ -206,7 +206,7 @@ void ScheduleDAGInstrs::BuildSchedGraph(AliasAnalysis *AA) {
|
||||
bool UnitLatencies = ForceUnitLatencies();
|
||||
|
||||
// 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();
|
||||
|
||||
// Remove any stale debug info; sometimes BuildSchedGraph is called again
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/Target/TargetLowering.h"
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
@ -379,7 +379,7 @@ void ScheduleDAGSDNodes::BuildSchedUnits() {
|
||||
}
|
||||
|
||||
void ScheduleDAGSDNodes::AddSchedEdges() {
|
||||
const TargetSubtarget &ST = TM.getSubtarget<TargetSubtarget>();
|
||||
const TargetSubtargetInfo &ST = TM.getSubtarget<TargetSubtargetInfo>();
|
||||
|
||||
// Check to see if the scheduler cares about latencies.
|
||||
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 "ARMBaseRegisterInfo.h"
|
||||
#include "llvm/GlobalValue.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
@ -251,9 +251,9 @@ void ARMSubtarget::computeIssueWidth() {
|
||||
|
||||
bool ARMSubtarget::enablePostRAScheduler(
|
||||
CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const {
|
||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||
CriticalPathRCs.clear();
|
||||
CriticalPathRCs.push_back(&ARM::GPRRegClass);
|
||||
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
|
||||
#define ARMSUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include <string>
|
||||
@ -228,7 +228,7 @@ protected:
|
||||
|
||||
/// enablePostRAScheduler - True at 'More' optimization.
|
||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const;
|
||||
|
||||
/// 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
|
||||
#define ALPHASUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#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
|
||||
#define BLACKFIN_SUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include <string>
|
||||
|
||||
#define GET_SUBTARGETINFO_HEADER
|
||||
|
@ -12,7 +12,7 @@ add_llvm_library(LLVMTarget
|
||||
TargetLoweringObjectFile.cpp
|
||||
TargetMachine.cpp
|
||||
TargetRegisterInfo.cpp
|
||||
TargetSubtarget.cpp
|
||||
TargetSubtargetInfo.cpp
|
||||
)
|
||||
|
||||
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.
|
||||
bool SPUSubtarget::enablePostRAScheduler(
|
||||
CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const {
|
||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||
// CriticalPathsRCs seems to be the set of
|
||||
// RegisterClasses that antidep breakings are performed for.
|
||||
// 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
|
||||
#define CELLSUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#include <string>
|
||||
|
||||
@ -88,7 +88,7 @@ namespace llvm {
|
||||
}
|
||||
|
||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const;
|
||||
};
|
||||
} // 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::
|
||||
enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const {
|
||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
|
||||
CriticalPathRCs.clear();
|
||||
CriticalPathRCs.push_back(&MBlaze::GPRRegClass);
|
||||
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
|
||||
#define MBLAZESUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#include <string>
|
||||
|
||||
@ -54,7 +54,7 @@ public:
|
||||
|
||||
/// enablePostRAScheduler - True at 'More' optimization.
|
||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
TargetSubtargetInfo::AntiDepBreakMode& Mode,
|
||||
RegClassVector& CriticalPathRCs) const;
|
||||
|
||||
/// 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
|
||||
#define LLVM_TARGET_MSP430_SUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
|
||||
#define GET_SUBTARGETINFO_HEADER
|
||||
#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
|
||||
#define MIPSSUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#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
|
||||
#define PTX_SUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
|
||||
#define GET_SUBTARGETINFO_HEADER
|
||||
#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
|
||||
#define POWERPCSUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCInstrItineraries.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#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
|
||||
#define SPARC_SUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include <string>
|
||||
|
||||
#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
|
||||
#define LLVM_TARGET_SystemZ_SUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include <string>
|
||||
|
||||
#define GET_SUBTARGETINFO_HEADER
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===-- TargetSubtarget.cpp - General Target Information -------------------==//
|
||||
//===-- TargetSubtargetInfo.cpp - General Target Information ---------------==//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
@ -11,18 +11,18 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
using namespace llvm;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// TargetSubtarget Class
|
||||
// TargetSubtargetInfo Class
|
||||
//
|
||||
TargetSubtarget::TargetSubtarget() {}
|
||||
TargetSubtargetInfo::TargetSubtargetInfo() {}
|
||||
|
||||
TargetSubtarget::~TargetSubtarget() {}
|
||||
TargetSubtargetInfo::~TargetSubtargetInfo() {}
|
||||
|
||||
bool TargetSubtarget::enablePostRAScheduler(
|
||||
bool TargetSubtargetInfo::enablePostRAScheduler(
|
||||
CodeGenOpt::Level OptLevel,
|
||||
AntiDepBreakMode& Mode,
|
||||
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
|
||||
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/CallingConv.h"
|
||||
#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
|
||||
#define XCORESUBTARGET_H
|
||||
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include <string>
|
||||
|
||||
|
@ -695,13 +695,13 @@ void SubtargetEmitter::run(raw_ostream &OS) {
|
||||
|
||||
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 << "#undef GET_SUBTARGETINFO_HEADER\n";
|
||||
|
||||
std::string ClassName = Target + "GenSubtargetInfo";
|
||||
OS << "namespace llvm {\n";
|
||||
OS << "struct " << ClassName << " : public TargetSubtarget {\n"
|
||||
OS << "struct " << ClassName << " : public TargetSubtargetInfo {\n"
|
||||
<< " explicit " << ClassName << "();\n"
|
||||
<< "};\n";
|
||||
OS << "} // End llvm namespace \n";
|
||||
@ -713,7 +713,7 @@ void SubtargetEmitter::run(raw_ostream &OS) {
|
||||
|
||||
OS << "namespace llvm {\n";
|
||||
OS << ClassName << "::" << ClassName << "()\n"
|
||||
<< " : TargetSubtarget() {\n"
|
||||
<< " : TargetSubtargetInfo() {\n"
|
||||
<< " InitMCSubtargetInfo(";
|
||||
if (NumFeatures)
|
||||
OS << Target << "FeatureKV, ";
|
||||
|
Loading…
Reference in New Issue
Block a user