mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
05b15fb075
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in the interest of not breaking things any more than they already are, I'm going to leave the constant alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043 91177308-0d34-0410-b5e6-96231b3b80d8
51 lines
1.7 KiB
C++
51 lines
1.7 KiB
C++
//===-- SparcV9TargetMachine.h - Define TargetMachine for SparcV9 ---*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file was developed by the LLVM research group and is distributed under
|
|
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file declares the top-level UltraSPARC target machine.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef SPARC_TARGETMACHINE_H
|
|
#define SPARC_TARGETMACHINE_H
|
|
|
|
#include "llvm/Target/TargetFrameInfo.h"
|
|
#include "llvm/Target/TargetMachine.h"
|
|
#include "SparcV9InstrInfo.h"
|
|
#include "SparcV9Internals.h"
|
|
#include "SparcV9RegInfo.h"
|
|
#include "SparcV9FrameInfo.h"
|
|
#include "SparcV9JITInfo.h"
|
|
|
|
namespace llvm {
|
|
class PassManager;
|
|
|
|
class SparcV9TargetMachine : public TargetMachine {
|
|
SparcV9InstrInfo instrInfo;
|
|
SparcV9SchedInfo schedInfo;
|
|
SparcV9RegInfo regInfo;
|
|
SparcV9FrameInfo frameInfo;
|
|
SparcV9JITInfo jitInfo;
|
|
public:
|
|
SparcV9TargetMachine(IntrinsicLowering *IL);
|
|
|
|
virtual const TargetInstrInfo &getInstrInfo() const { return instrInfo; }
|
|
virtual const TargetSchedInfo &getSchedInfo() const { return schedInfo; }
|
|
virtual const TargetRegInfo &getRegInfo() const { return regInfo; }
|
|
virtual const TargetFrameInfo &getFrameInfo() const { return frameInfo; }
|
|
virtual TargetJITInfo *getJITInfo() { return &jitInfo; }
|
|
|
|
virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out);
|
|
virtual bool addPassesToEmitMachineCode(FunctionPassManager &PM,
|
|
MachineCodeEmitter &MCE);
|
|
};
|
|
|
|
} // End llvm namespace
|
|
|
|
#endif
|