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:
Krzysztof Parzyszek
2013-05-06 18:38:37 +00:00
parent 730d718b73
commit ed6fe299cf
6 changed files with 26 additions and 25 deletions

View File

@ -29,26 +29,25 @@ namespace llvm {
class HexagonTargetMachine; class HexagonTargetMachine;
class raw_ostream; class raw_ostream;
FunctionPass *createHexagonISelDag(HexagonTargetMachine &TM, FunctionPass *createHexagonISelDag(const HexagonTargetMachine &TM,
CodeGenOpt::Level OptLevel); CodeGenOpt::Level OptLevel);
FunctionPass *createHexagonDelaySlotFillerPass(TargetMachine &TM); FunctionPass *createHexagonDelaySlotFillerPass(const TargetMachine &TM);
FunctionPass *createHexagonFPMoverPass(TargetMachine &TM); FunctionPass *createHexagonFPMoverPass(const TargetMachine &TM);
FunctionPass *createHexagonRemoveExtendArgs(HexagonTargetMachine &TM); FunctionPass *createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM);
FunctionPass *createHexagonCFGOptimizer(HexagonTargetMachine &TM); FunctionPass *createHexagonCFGOptimizer(const HexagonTargetMachine &TM);
FunctionPass *createHexagonSplitTFRCondSets(HexagonTargetMachine &TM);
FunctionPass *createHexagonExpandPredSpillCode(HexagonTargetMachine &TM);
FunctionPass *createHexagonSplitTFRCondSets(const HexagonTargetMachine &TM);
FunctionPass *createHexagonExpandPredSpillCode(
const HexagonTargetMachine &TM);
FunctionPass *createHexagonHardwareLoops(); FunctionPass *createHexagonHardwareLoops();
FunctionPass *createHexagonPeephole(); FunctionPass *createHexagonPeephole();
FunctionPass *createHexagonFixupHwLoops(); FunctionPass *createHexagonFixupHwLoops();
FunctionPass *createHexagonPacketizer(); FunctionPass *createHexagonPacketizer();
FunctionPass *createHexagonNewValueJump(); FunctionPass *createHexagonNewValueJump();
/* TODO: object output. /* TODO: object output.
MCCodeEmitter *createHexagonMCCodeEmitter(const Target &, MCCodeEmitter *createHexagonMCCodeEmitter(const Target &,
TargetMachine &TM, const TargetMachine &TM,
MCContext &Ctx); MCContext &Ctx);
*/ */
/* TODO: assembler input. /* TODO: assembler input.

View File

@ -31,16 +31,15 @@ namespace {
class HexagonCFGOptimizer : public MachineFunctionPass { class HexagonCFGOptimizer : public MachineFunctionPass {
private: private:
HexagonTargetMachine& QTM; const HexagonTargetMachine& QTM;
const HexagonSubtarget &QST; const HexagonSubtarget &QST;
void InvertAndChangeJumpTarget(MachineInstr*, MachineBasicBlock*); void InvertAndChangeJumpTarget(MachineInstr*, MachineBasicBlock*);
public: public:
static char ID; static char ID;
HexagonCFGOptimizer(HexagonTargetMachine& TM) : MachineFunctionPass(ID), HexagonCFGOptimizer(const HexagonTargetMachine& TM)
QTM(TM), : MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
QST(*TM.getSubtargetImpl()) {}
const char *getPassName() const { const char *getPassName() const {
return "Hexagon CFG Optimizer"; return "Hexagon CFG Optimizer";
@ -231,6 +230,6 @@ bool HexagonCFGOptimizer::runOnMachineFunction(MachineFunction &Fn) {
// Public Constructor Functions // Public Constructor Functions
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
FunctionPass *llvm::createHexagonCFGOptimizer(HexagonTargetMachine &TM) { FunctionPass *llvm::createHexagonCFGOptimizer(const HexagonTargetMachine &TM) {
return new HexagonCFGOptimizer(TM); return new HexagonCFGOptimizer(TM);
} }

View File

@ -44,12 +44,12 @@ using namespace llvm;
namespace { namespace {
class HexagonExpandPredSpillCode : public MachineFunctionPass { class HexagonExpandPredSpillCode : public MachineFunctionPass {
HexagonTargetMachine& QTM; const HexagonTargetMachine& QTM;
const HexagonSubtarget &QST; const HexagonSubtarget &QST;
public: public:
static char ID; static char ID;
HexagonExpandPredSpillCode(HexagonTargetMachine& TM) : HexagonExpandPredSpillCode(const HexagonTargetMachine& TM) :
MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {} MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
const char *getPassName() const { const char *getPassName() const {
@ -175,6 +175,7 @@ bool HexagonExpandPredSpillCode::runOnMachineFunction(MachineFunction &Fn) {
// Public Constructor Functions // Public Constructor Functions
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
FunctionPass *llvm::createHexagonExpandPredSpillCode(HexagonTargetMachine &TM) { FunctionPass*
llvm::createHexagonExpandPredSpillCode(const HexagonTargetMachine &TM) {
return new HexagonExpandPredSpillCode(TM); return new HexagonExpandPredSpillCode(TM);
} }

View File

@ -49,11 +49,11 @@ class HexagonDAGToDAGISel : public SelectionDAGISel {
const HexagonSubtarget &Subtarget; const HexagonSubtarget &Subtarget;
// Keep a reference to HexagonTargetMachine. // Keep a reference to HexagonTargetMachine.
HexagonTargetMachine& TM; const HexagonTargetMachine& TM;
const HexagonInstrInfo *TII; const HexagonInstrInfo *TII;
DenseMap<const GlobalValue *, unsigned> GlobalAddressUseCountMap; DenseMap<const GlobalValue *, unsigned> GlobalAddressUseCountMap;
public: public:
explicit HexagonDAGToDAGISel(HexagonTargetMachine &targetmachine, explicit HexagonDAGToDAGISel(const HexagonTargetMachine &targetmachine,
CodeGenOpt::Level OptLevel) CodeGenOpt::Level OptLevel)
: SelectionDAGISel(targetmachine, OptLevel), : SelectionDAGISel(targetmachine, OptLevel),
Subtarget(targetmachine.getSubtarget<HexagonSubtarget>()), Subtarget(targetmachine.getSubtarget<HexagonSubtarget>()),
@ -180,7 +180,7 @@ inline SDValue XformUToUM1Imm(unsigned Imm) {
/// createHexagonISelDag - This pass converts a legalized DAG into a /// createHexagonISelDag - This pass converts a legalized DAG into a
/// Hexagon-specific DAG, ready for instruction scheduling. /// Hexagon-specific DAG, ready for instruction scheduling.
/// ///
FunctionPass *llvm::createHexagonISelDag(HexagonTargetMachine &TM, FunctionPass *llvm::createHexagonISelDag(const HexagonTargetMachine &TM,
CodeGenOpt::Level OptLevel) { CodeGenOpt::Level OptLevel) {
return new HexagonDAGToDAGISel(TM, OptLevel); return new HexagonDAGToDAGISel(TM, OptLevel);
} }

View File

@ -78,6 +78,7 @@ bool HexagonRemoveExtendArgs::runOnFunction(Function &F) {
FunctionPass *llvm::createHexagonRemoveExtendArgs(HexagonTargetMachine &TM) { FunctionPass*
llvm::createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM) {
return new HexagonRemoveExtendArgs(); return new HexagonRemoveExtendArgs();
} }

View File

@ -52,12 +52,12 @@ using namespace llvm;
namespace { namespace {
class HexagonSplitTFRCondSets : public MachineFunctionPass { class HexagonSplitTFRCondSets : public MachineFunctionPass {
HexagonTargetMachine& QTM; const HexagonTargetMachine &QTM;
const HexagonSubtarget &QST; const HexagonSubtarget &QST;
public: public:
static char ID; static char ID;
HexagonSplitTFRCondSets(HexagonTargetMachine& TM) : HexagonSplitTFRCondSets(const HexagonTargetMachine& TM) :
MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {} MachineFunctionPass(ID), QTM(TM), QST(*TM.getSubtargetImpl()) {}
const char *getPassName() const { const char *getPassName() const {
@ -211,6 +211,7 @@ bool HexagonSplitTFRCondSets::runOnMachineFunction(MachineFunction &Fn) {
// Public Constructor Functions // Public Constructor Functions
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
FunctionPass *llvm::createHexagonSplitTFRCondSets(HexagonTargetMachine &TM) { FunctionPass*
llvm::createHexagonSplitTFRCondSets(const HexagonTargetMachine &TM) {
return new HexagonSplitTFRCondSets(TM); return new HexagonSplitTFRCondSets(TM);
} }