mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
- Added MCSubtargetInfo to capture subtarget features and scheduling
itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134257 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -15,8 +15,13 @@
|
||||
#include "PPC.h"
|
||||
#include "llvm/GlobalValue.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "PPCGenSubtarget.inc"
|
||||
#include <cstdlib>
|
||||
|
||||
#define GET_SUBTARGETINFO_CTOR
|
||||
#define GET_SUBTARGETINFO_MC_DESC
|
||||
#define GET_SUBTARGETINFO_TARGET_DESC
|
||||
#include "PPCGenSubtarget.inc"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
#if defined(__APPLE__)
|
||||
@@ -59,7 +64,8 @@ static const char *GetCurrentPowerPCCPU() {
|
||||
|
||||
PPCSubtarget::PPCSubtarget(const std::string &TT, const std::string &CPU,
|
||||
const std::string &FS, bool is64Bit)
|
||||
: StackAlignment(16)
|
||||
: PPCGenSubtargetInfo()
|
||||
, StackAlignment(16)
|
||||
, DarwinDirective(PPC::DIR_NONE)
|
||||
, IsGigaProcessor(false)
|
||||
, Has64BitSupport(false)
|
||||
@@ -84,6 +90,9 @@ PPCSubtarget::PPCSubtarget(const std::string &TT, const std::string &CPU,
|
||||
// Parse features string.
|
||||
ParseSubtargetFeatures(FS, CPUName);
|
||||
|
||||
// Initialize scheduling itinerary for the specified CPU.
|
||||
InstrItins = getInstrItineraryForCPU(CPUName);
|
||||
|
||||
// If we are generating code for ppc64, verify that options make sense.
|
||||
if (is64Bit) {
|
||||
Has64BitSupport = true;
|
||||
|
||||
Reference in New Issue
Block a user