mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Make references to HexagonTargetMachine "const".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181233 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
730d718b73
commit
ed6fe299cf
@ -29,26 +29,25 @@ namespace llvm {
|
||||
class HexagonTargetMachine;
|
||||
class raw_ostream;
|
||||
|
||||
FunctionPass *createHexagonISelDag(HexagonTargetMachine &TM,
|
||||
FunctionPass *createHexagonISelDag(const HexagonTargetMachine &TM,
|
||||
CodeGenOpt::Level OptLevel);
|
||||
FunctionPass *createHexagonDelaySlotFillerPass(TargetMachine &TM);
|
||||
FunctionPass *createHexagonFPMoverPass(TargetMachine &TM);
|
||||
FunctionPass *createHexagonRemoveExtendArgs(HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonCFGOptimizer(HexagonTargetMachine &TM);
|
||||
|
||||
FunctionPass *createHexagonSplitTFRCondSets(HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonExpandPredSpillCode(HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonDelaySlotFillerPass(const TargetMachine &TM);
|
||||
FunctionPass *createHexagonFPMoverPass(const TargetMachine &TM);
|
||||
FunctionPass *createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonCFGOptimizer(const HexagonTargetMachine &TM);
|
||||
|
||||
FunctionPass *createHexagonSplitTFRCondSets(const HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonExpandPredSpillCode(
|
||||
const HexagonTargetMachine &TM);
|
||||
FunctionPass *createHexagonHardwareLoops();
|
||||
FunctionPass *createHexagonPeephole();
|
||||
FunctionPass *createHexagonFixupHwLoops();
|
||||
FunctionPass *createHexagonPacketizer();
|
||||
FunctionPass *createHexagonNewValueJump();
|
||||
|
||||
|
||||
/* TODO: object output.
|
||||
MCCodeEmitter *createHexagonMCCodeEmitter(const Target &,
|
||||
TargetMachine &TM,
|
||||
const TargetMachine &TM,
|
||||
MCContext &Ctx);
|
||||
*/
|
||||
/* TODO: assembler input.
|
||||
|
@ -31,16 +31,15 @@ namespace {
|
||||
class HexagonCFGOptimizer : public MachineFunctionPass {
|
||||
|
||||
private:
|
||||
HexagonTargetMachine& QTM;
|
||||
const HexagonTargetMachine& QTM;
|
||||
const HexagonSubtarget &QST;
|
||||
|
||||
void InvertAndChangeJumpTarget(MachineInstr*, MachineBasicBlock*);
|
||||
|
||||
public:
|
||||
static char ID;
|
||||
HexagonCFGOptimizer(HexagonTargetMachine& TM) : MachineFunctionPass(ID),
|
||||
QTM(TM),
|
||||
QST(*TM.getSubtargetImpl()) {}
|
||||
HexagonCFGOptimizer(const HexagonTargetMachine& TM)
|
||||
: MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
|
||||
|
||||
const char *getPassName() const {
|
||||
return "Hexagon CFG Optimizer";
|
||||
@ -231,6 +230,6 @@ bool HexagonCFGOptimizer::runOnMachineFunction(MachineFunction &Fn) {
|
||||
// Public Constructor Functions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
FunctionPass *llvm::createHexagonCFGOptimizer(HexagonTargetMachine &TM) {
|
||||
FunctionPass *llvm::createHexagonCFGOptimizer(const HexagonTargetMachine &TM) {
|
||||
return new HexagonCFGOptimizer(TM);
|
||||
}
|
||||
|
@ -44,12 +44,12 @@ using namespace llvm;
|
||||
namespace {
|
||||
|
||||
class HexagonExpandPredSpillCode : public MachineFunctionPass {
|
||||
HexagonTargetMachine& QTM;
|
||||
const HexagonTargetMachine& QTM;
|
||||
const HexagonSubtarget &QST;
|
||||
|
||||
public:
|
||||
static char ID;
|
||||
HexagonExpandPredSpillCode(HexagonTargetMachine& TM) :
|
||||
HexagonExpandPredSpillCode(const HexagonTargetMachine& TM) :
|
||||
MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
|
||||
|
||||
const char *getPassName() const {
|
||||
@ -175,6 +175,7 @@ bool HexagonExpandPredSpillCode::runOnMachineFunction(MachineFunction &Fn) {
|
||||
// Public Constructor Functions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
FunctionPass *llvm::createHexagonExpandPredSpillCode(HexagonTargetMachine &TM) {
|
||||
FunctionPass*
|
||||
llvm::createHexagonExpandPredSpillCode(const HexagonTargetMachine &TM) {
|
||||
return new HexagonExpandPredSpillCode(TM);
|
||||
}
|
||||
|
@ -49,11 +49,11 @@ class HexagonDAGToDAGISel : public SelectionDAGISel {
|
||||
const HexagonSubtarget &Subtarget;
|
||||
|
||||
// Keep a reference to HexagonTargetMachine.
|
||||
HexagonTargetMachine& TM;
|
||||
const HexagonTargetMachine& TM;
|
||||
const HexagonInstrInfo *TII;
|
||||
DenseMap<const GlobalValue *, unsigned> GlobalAddressUseCountMap;
|
||||
public:
|
||||
explicit HexagonDAGToDAGISel(HexagonTargetMachine &targetmachine,
|
||||
explicit HexagonDAGToDAGISel(const HexagonTargetMachine &targetmachine,
|
||||
CodeGenOpt::Level OptLevel)
|
||||
: SelectionDAGISel(targetmachine, OptLevel),
|
||||
Subtarget(targetmachine.getSubtarget<HexagonSubtarget>()),
|
||||
@ -180,7 +180,7 @@ inline SDValue XformUToUM1Imm(unsigned Imm) {
|
||||
/// createHexagonISelDag - This pass converts a legalized DAG into a
|
||||
/// Hexagon-specific DAG, ready for instruction scheduling.
|
||||
///
|
||||
FunctionPass *llvm::createHexagonISelDag(HexagonTargetMachine &TM,
|
||||
FunctionPass *llvm::createHexagonISelDag(const HexagonTargetMachine &TM,
|
||||
CodeGenOpt::Level OptLevel) {
|
||||
return new HexagonDAGToDAGISel(TM, OptLevel);
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ bool HexagonRemoveExtendArgs::runOnFunction(Function &F) {
|
||||
|
||||
|
||||
|
||||
FunctionPass *llvm::createHexagonRemoveExtendArgs(HexagonTargetMachine &TM) {
|
||||
FunctionPass*
|
||||
llvm::createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM) {
|
||||
return new HexagonRemoveExtendArgs();
|
||||
}
|
||||
|
@ -52,12 +52,12 @@ using namespace llvm;
|
||||
namespace {
|
||||
|
||||
class HexagonSplitTFRCondSets : public MachineFunctionPass {
|
||||
HexagonTargetMachine& QTM;
|
||||
const HexagonTargetMachine &QTM;
|
||||
const HexagonSubtarget &QST;
|
||||
|
||||
public:
|
||||
static char ID;
|
||||
HexagonSplitTFRCondSets(HexagonTargetMachine& TM) :
|
||||
HexagonSplitTFRCondSets(const HexagonTargetMachine& TM) :
|
||||
MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
|
||||
|
||||
const char *getPassName() const {
|
||||
@ -211,6 +211,7 @@ bool HexagonSplitTFRCondSets::runOnMachineFunction(MachineFunction &Fn) {
|
||||
// Public Constructor Functions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
FunctionPass *llvm::createHexagonSplitTFRCondSets(HexagonTargetMachine &TM) {
|
||||
FunctionPass*
|
||||
llvm::createHexagonSplitTFRCondSets(const HexagonTargetMachine &TM) {
|
||||
return new HexagonSplitTFRCondSets(TM);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user