Index: llvm/trunk/lib/CodeGen/CMakeLists.txt =================================================================== --- llvm/trunk/lib/CodeGen/CMakeLists.txt +++ llvm/trunk/lib/CodeGen/CMakeLists.txt @@ -136,6 +136,7 @@ TargetPassConfig.cpp TargetRegisterInfo.cpp TargetSchedule.cpp + TargetSubtargetInfo.cpp TwoAddressInstructionPass.cpp UnreachableBlockElim.cpp VirtRegMap.cpp Index: llvm/trunk/lib/CodeGen/TargetSubtargetInfo.cpp =================================================================== --- llvm/trunk/lib/CodeGen/TargetSubtargetInfo.cpp +++ llvm/trunk/lib/CodeGen/TargetSubtargetInfo.cpp @@ -0,0 +1,54 @@ +//===-- TargetSubtargetInfo.cpp - General Target Information ---------------==// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +/// \file This file describes the general parts of a Subtarget. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Target/TargetSubtargetInfo.h" +using namespace llvm; + +//--------------------------------------------------------------------------- +// TargetSubtargetInfo Class +// +TargetSubtargetInfo::TargetSubtargetInfo( + const Triple &TT, StringRef CPU, StringRef FS, + ArrayRef PF, ArrayRef PD, + const SubtargetInfoKV *ProcSched, const MCWriteProcResEntry *WPR, + const MCWriteLatencyEntry *WL, const MCReadAdvanceEntry *RA, + const InstrStage *IS, const unsigned *OC, const unsigned *FP) + : MCSubtargetInfo(TT, CPU, FS, PF, PD, ProcSched, WPR, WL, RA, IS, OC, FP) { +} + +TargetSubtargetInfo::~TargetSubtargetInfo() {} + +bool TargetSubtargetInfo::enableAtomicExpand() const { + return true; +} + +bool TargetSubtargetInfo::enableMachineScheduler() const { + return false; +} + +bool TargetSubtargetInfo::enableJoinGlobalCopies() const { + return enableMachineScheduler(); +} + +bool TargetSubtargetInfo::enableRALocalReassignment( + CodeGenOpt::Level OptLevel) const { + return true; +} + +bool TargetSubtargetInfo::enablePostRAScheduler() const { + return getSchedModel().PostRAScheduler; +} + +bool TargetSubtargetInfo::useAA() const { + return false; +} Index: llvm/trunk/lib/Target/CMakeLists.txt =================================================================== --- llvm/trunk/lib/Target/CMakeLists.txt +++ llvm/trunk/lib/Target/CMakeLists.txt @@ -6,7 +6,6 @@ TargetLoweringObjectFile.cpp TargetMachine.cpp TargetMachineC.cpp - TargetSubtargetInfo.cpp ADDITIONAL_HEADER_DIRS ${LLVM_MAIN_INCLUDE_DIR}/llvm/Target Index: llvm/trunk/lib/Target/TargetSubtargetInfo.cpp =================================================================== --- llvm/trunk/lib/Target/TargetSubtargetInfo.cpp +++ llvm/trunk/lib/Target/TargetSubtargetInfo.cpp @@ -1,54 +0,0 @@ -//===-- TargetSubtargetInfo.cpp - General Target Information ---------------==// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file describes the general parts of a Subtarget. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Target/TargetSubtargetInfo.h" -using namespace llvm; - -//--------------------------------------------------------------------------- -// TargetSubtargetInfo Class -// -TargetSubtargetInfo::TargetSubtargetInfo( - const Triple &TT, StringRef CPU, StringRef FS, - ArrayRef PF, ArrayRef PD, - const SubtargetInfoKV *ProcSched, const MCWriteProcResEntry *WPR, - const MCWriteLatencyEntry *WL, const MCReadAdvanceEntry *RA, - const InstrStage *IS, const unsigned *OC, const unsigned *FP) - : MCSubtargetInfo(TT, CPU, FS, PF, PD, ProcSched, WPR, WL, RA, IS, OC, FP) { -} - -TargetSubtargetInfo::~TargetSubtargetInfo() {} - -bool TargetSubtargetInfo::enableAtomicExpand() const { - return true; -} - -bool TargetSubtargetInfo::enableMachineScheduler() const { - return false; -} - -bool TargetSubtargetInfo::enableJoinGlobalCopies() const { - return enableMachineScheduler(); -} - -bool TargetSubtargetInfo::enableRALocalReassignment( - CodeGenOpt::Level OptLevel) const { - return true; -} - -bool TargetSubtargetInfo::enablePostRAScheduler() const { - return getSchedModel().PostRAScheduler; -} - -bool TargetSubtargetInfo::useAA() const { - return false; -}