Skip to content

Commit

Permalink
mark getTargetTransformInfo and getTargetIRAnalysis as const
Browse files Browse the repository at this point in the history
Seems like this can be const, since Passes shouldn't modify it.

Reviewed By: wsmoses

Differential Revision: https://reviews.llvm.org/D120518
  • Loading branch information
vtjnash committed Feb 25, 2022
1 parent 875bbce commit c4b1a63
Show file tree
Hide file tree
Showing 37 changed files with 42 additions and 40 deletions.
6 changes: 3 additions & 3 deletions llvm/include/llvm/Target/TargetMachine.h
Expand Up @@ -337,13 +337,13 @@ class TargetMachine {
/// This is used to construct the new pass manager's target IR analysis pass,
/// set up appropriately for this target machine. Even the old pass manager
/// uses this to answer queries about the IR.
TargetIRAnalysis getTargetIRAnalysis();
TargetIRAnalysis getTargetIRAnalysis() const;

/// Return a TargetTransformInfo for a given function.
///
/// The returned TargetTransformInfo is specialized to the subtarget
/// corresponding to \p F.
virtual TargetTransformInfo getTargetTransformInfo(const Function &F);
virtual TargetTransformInfo getTargetTransformInfo(const Function &F) const;

/// Allow the target to modify the pass manager, e.g. by calling
/// PassManagerBuilder::addExtension.
Expand Down Expand Up @@ -417,7 +417,7 @@ class LLVMTargetMachine : public TargetMachine {
///
/// The TTI returned uses the common code generator to answer queries about
/// the IR.
TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

/// Create a pass configuration object to be used by addPassToEmitX methods
/// for generating a pipeline of CodeGen passes.
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/CodeGen/LLVMTargetMachine.cpp
Expand Up @@ -100,7 +100,7 @@ LLVMTargetMachine::LLVMTargetMachine(const Target &T,
}

TargetTransformInfo
LLVMTargetMachine::getTargetTransformInfo(const Function &F) {
LLVMTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(BasicTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Expand Up @@ -504,7 +504,7 @@ class AArch64PassConfig : public TargetPassConfig {
} // end anonymous namespace

TargetTransformInfo
AArch64TargetMachine::getTargetTransformInfo(const Function &F) {
AArch64TargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(AArch64TTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AArch64/AArch64TargetMachine.h
Expand Up @@ -41,7 +41,7 @@ class AArch64TargetMachine : public LLVMTargetMachine {
// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

TargetLoweringObjectFile* getObjFileLowering() const override {
return TLOF.get();
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Expand Up @@ -836,7 +836,7 @@ GCNTargetMachine::getSubtargetImpl(const Function &F) const {
}

TargetTransformInfo
GCNTargetMachine::getTargetTransformInfo(const Function &F) {
GCNTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(GCNTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Expand Up @@ -84,7 +84,7 @@ class GCNTargetMachine final : public AMDGPUTargetMachine {

const TargetSubtargetInfo *getSubtargetImpl(const Function &) const override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

bool useIPRA() const override {
return true;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
Expand Up @@ -83,7 +83,7 @@ R600TargetMachine::getSubtargetImpl(const Function &F) const {
}

TargetTransformInfo
R600TargetMachine::getTargetTransformInfo(const Function &F) {
R600TargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(R600TTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AMDGPU/R600TargetMachine.h
Expand Up @@ -38,7 +38,7 @@ class R600TargetMachine final : public AMDGPUTargetMachine {

const TargetSubtargetInfo *getSubtargetImpl(const Function &) const override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

bool isMachineVerifierClean() const override { return false; }
};
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/ARC/ARCTargetMachine.cpp
Expand Up @@ -84,6 +84,6 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARCTarget() {
}

TargetTransformInfo
ARCTargetMachine::getTargetTransformInfo(const Function &F) {
ARCTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(ARCTTIImpl(this, F));
}
2 changes: 1 addition & 1 deletion llvm/lib/Target/ARC/ARCTargetMachine.h
Expand Up @@ -39,7 +39,7 @@ class ARCTargetMachine : public LLVMTargetMachine {
// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;
TargetLoweringObjectFile *getObjFileLowering() const override {
return TLOF.get();
}
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/ARM/ARMTargetMachine.cpp
Expand Up @@ -307,7 +307,7 @@ ARMBaseTargetMachine::getSubtargetImpl(const Function &F) const {
}

TargetTransformInfo
ARMBaseTargetMachine::getTargetTransformInfo(const Function &F) {
ARMBaseTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(ARMTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/ARM/ARMTargetMachine.h
Expand Up @@ -52,7 +52,7 @@ class ARMBaseTargetMachine : public LLVMTargetMachine {
const ARMSubtarget *getSubtargetImpl() const = delete;
bool isLittleEndian() const { return isLittle; }

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/BPF/BPFTargetMachine.cpp
Expand Up @@ -149,7 +149,7 @@ void BPFPassConfig::addIRPasses() {
}

TargetTransformInfo
BPFTargetMachine::getTargetTransformInfo(const Function &F) {
BPFTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(BPFTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/BPF/BPFTargetMachine.h
Expand Up @@ -34,7 +34,7 @@ class BPFTargetMachine : public LLVMTargetMachine {

TargetPassConfig *createPassConfig(PassManagerBase &PM) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

TargetLoweringObjectFile *getObjFileLowering() const override {
return TLOF.get();
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
Expand Up @@ -293,7 +293,7 @@ void HexagonTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
}

TargetTransformInfo
HexagonTargetMachine::getTargetTransformInfo(const Function &F) {
HexagonTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(HexagonTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Hexagon/HexagonTargetMachine.h
Expand Up @@ -39,7 +39,7 @@ class HexagonTargetMachine : public LLVMTargetMachine {
void adjustPassManager(PassManagerBuilder &PMB) override;
void registerPassBuilderCallbacks(PassBuilder &PB) override;
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

HexagonTargetObjectFile *getObjFileLowering() const override {
return static_cast<HexagonTargetObjectFile*>(TLOF.get());
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
Expand Up @@ -68,7 +68,7 @@ LanaiTargetMachine::LanaiTargetMachine(const Target &T, const Triple &TT,
}

TargetTransformInfo
LanaiTargetMachine::getTargetTransformInfo(const Function &F) {
LanaiTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(LanaiTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Lanai/LanaiTargetMachine.h
Expand Up @@ -38,7 +38,7 @@ class LanaiTargetMachine : public LLVMTargetMachine {
return &Subtarget;
}

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &pass_manager) override;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Mips/MipsTargetMachine.cpp
Expand Up @@ -276,7 +276,7 @@ void MipsPassConfig::addPreRegAlloc() {
}

TargetTransformInfo
MipsTargetMachine::getTargetTransformInfo(const Function &F) {
MipsTargetMachine::getTargetTransformInfo(const Function &F) const {
if (Subtarget->allowMixed16_32()) {
LLVM_DEBUG(errs() << "No Target Transform Info Pass Added\n");
// FIXME: This is no longer necessary as the TTI returned is per-function.
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/Mips/MipsTargetMachine.h
Expand Up @@ -43,7 +43,7 @@ class MipsTargetMachine : public LLVMTargetMachine {
CodeGenOpt::Level OL, bool JIT, bool isLittle);
~MipsTargetMachine() override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

const MipsSubtarget *getSubtargetImpl() const {
if (Subtarget)
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
Expand Up @@ -237,7 +237,7 @@ void NVPTXTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
}

TargetTransformInfo
NVPTXTargetMachine::getTargetTransformInfo(const Function &F) {
NVPTXTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(NVPTXTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
Expand Up @@ -65,7 +65,7 @@ class NVPTXTargetMachine : public LLVMTargetMachine {
void adjustPassManager(PassManagerBuilder &) override;
void registerPassBuilderCallbacks(PassBuilder &PB) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

bool isMachineVerifierClean() const override {
return false;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
Expand Up @@ -565,7 +565,7 @@ void PPCPassConfig::addPreEmitPass2() {
}

TargetTransformInfo
PPCTargetMachine::getTargetTransformInfo(const Function &F) {
PPCTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(PPCTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/PowerPC/PPCTargetMachine.h
Expand Up @@ -51,7 +51,7 @@ class PPCTargetMachine final : public LLVMTargetMachine {
// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

TargetLoweringObjectFile *getObjFileLowering() const override {
return TLOF.get();
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Expand Up @@ -114,7 +114,7 @@ RISCVTargetMachine::getSubtargetImpl(const Function &F) const {
}

TargetTransformInfo
RISCVTargetMachine::getTargetTransformInfo(const Function &F) {
RISCVTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(RISCVTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/RISCV/RISCVTargetMachine.h
Expand Up @@ -42,7 +42,7 @@ class RISCVTargetMachine : public LLVMTargetMachine {
return TLOF.get();
}

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

virtual bool isNoopAddrSpaceCast(unsigned SrcAS,
unsigned DstAS) const override;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
Expand Up @@ -334,6 +334,6 @@ TargetPassConfig *SystemZTargetMachine::createPassConfig(PassManagerBase &PM) {
}

TargetTransformInfo
SystemZTargetMachine::getTargetTransformInfo(const Function &F) {
SystemZTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(SystemZTTIImpl(this, F));
}
2 changes: 1 addition & 1 deletion llvm/lib/Target/SystemZ/SystemZTargetMachine.h
Expand Up @@ -44,7 +44,7 @@ class SystemZTargetMachine : public LLVMTargetMachine {

// Override LLVMTargetMachine
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

TargetLoweringObjectFile *getObjFileLowering() const override {
return TLOF.get();
Expand Down
5 changes: 3 additions & 2 deletions llvm/lib/Target/TargetMachine.cpp
Expand Up @@ -192,7 +192,8 @@ CodeGenOpt::Level TargetMachine::getOptLevel() const { return OptLevel; }

void TargetMachine::setOptLevel(CodeGenOpt::Level Level) { OptLevel = Level; }

TargetTransformInfo TargetMachine::getTargetTransformInfo(const Function &F) {
TargetTransformInfo
TargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(F.getParent()->getDataLayout());
}

Expand Down Expand Up @@ -220,7 +221,7 @@ MCSymbol *TargetMachine::getSymbol(const GlobalValue *GV) const {
return TLOF->getContext().getOrCreateSymbol(NameStr);
}

TargetIRAnalysis TargetMachine::getTargetIRAnalysis() {
TargetIRAnalysis TargetMachine::getTargetIRAnalysis() const {
// Since Analysis can't depend on Target, use a std::function to invert the
// dependency.
return TargetIRAnalysis(
Expand Down
3 changes: 2 additions & 1 deletion llvm/lib/Target/VE/VETargetMachine.cpp
Expand Up @@ -92,7 +92,8 @@ VETargetMachine::VETargetMachine(const Target &T, const Triple &TT,

VETargetMachine::~VETargetMachine() = default;

TargetTransformInfo VETargetMachine::getTargetTransformInfo(const Function &F) {
TargetTransformInfo
VETargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(VETTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/VE/VETargetMachine.h
Expand Up @@ -49,7 +49,7 @@ class VETargetMachine : public LLVMTargetMachine {

bool isMachineVerifierClean() const override { return false; }

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

unsigned getSjLjDataSize() const override { return 64; }
};
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Expand Up @@ -336,7 +336,7 @@ class WebAssemblyPassConfig final : public TargetPassConfig {
} // end anonymous namespace

TargetTransformInfo
WebAssemblyTargetMachine::getTargetTransformInfo(const Function &F) {
WebAssemblyTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(WebAssemblyTTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
Expand Up @@ -46,7 +46,7 @@ class WebAssemblyTargetMachine final : public LLVMTargetMachine {
return TLOF.get();
}

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

bool usesPhysRegsForValues() const override { return false; }

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/X86/X86TargetMachine.cpp
Expand Up @@ -333,7 +333,7 @@ bool X86TargetMachine::isNoopAddrSpaceCast(unsigned SrcAS,
//===----------------------------------------------------------------------===//

TargetTransformInfo
X86TargetMachine::getTargetTransformInfo(const Function &F) {
X86TargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(X86TTIImpl(this, F));
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/X86/X86TargetMachine.h
Expand Up @@ -44,7 +44,7 @@ class X86TargetMachine final : public LLVMTargetMachine {
// attributes of each function.
const X86Subtarget *getSubtargetImpl() const = delete;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

// Set up the pass pipeline.
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/XCore/XCoreTargetMachine.cpp
Expand Up @@ -108,6 +108,6 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTarget() {
}

TargetTransformInfo
XCoreTargetMachine::getTargetTransformInfo(const Function &F) {
XCoreTargetMachine::getTargetTransformInfo(const Function &F) const {
return TargetTransformInfo(XCoreTTIImpl(this, F));
}
2 changes: 1 addition & 1 deletion llvm/lib/Target/XCore/XCoreTargetMachine.h
Expand Up @@ -42,7 +42,7 @@ class XCoreTargetMachine : public LLVMTargetMachine {
// Pass Pipeline Configuration
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;

TargetTransformInfo getTargetTransformInfo(const Function &F) override;
TargetTransformInfo getTargetTransformInfo(const Function &F) const override;

TargetLoweringObjectFile *getObjFileLowering() const override {
return TLOF.get();
Expand Down

0 comments on commit c4b1a63

Please sign in to comment.