Skip to content

Commit 36fa339

Browse files
committed
[NFC][LLVM] Remove unused TargetIntrinsicInfo class
Remove `TargetIntrinsicInfo` class as its practically unused (its pure virtual with no subclasses) and its references in the code.
1 parent 18952bd commit 36fa339

File tree

19 files changed

+55
-203
lines changed

19 files changed

+55
-203
lines changed

llvm/include/llvm/CodeGen/MachineOperand.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ class MachineRegisterInfo;
3232
class MCCFIInstruction;
3333
class MDNode;
3434
class ModuleSlotTracker;
35-
class TargetIntrinsicInfo;
3635
class TargetRegisterInfo;
3736
class hash_code;
3837
class raw_ostream;
@@ -283,8 +282,7 @@ class MachineOperand {
283282
/// Providing a valid \p TRI and \p IntrinsicInfo results in a more
284283
/// target-specific printing. If \p TRI and \p IntrinsicInfo are null, the
285284
/// function will try to pick it up from the parent.
286-
void print(raw_ostream &os, const TargetRegisterInfo *TRI = nullptr,
287-
const TargetIntrinsicInfo *IntrinsicInfo = nullptr) const;
285+
void print(raw_ostream &os, const TargetRegisterInfo *TRI = nullptr) const;
288286

289287
/// More complex way of printing a MachineOperand.
290288
/// \param TypeToPrint specifies the generic type to be printed on uses and
@@ -310,14 +308,12 @@ class MachineOperand {
310308
void print(raw_ostream &os, ModuleSlotTracker &MST, LLT TypeToPrint,
311309
std::optional<unsigned> OpIdx, bool PrintDef, bool IsStandalone,
312310
bool ShouldPrintRegisterTies, unsigned TiedOperandIdx,
313-
const TargetRegisterInfo *TRI,
314-
const TargetIntrinsicInfo *IntrinsicInfo) const;
311+
const TargetRegisterInfo *TRI) const;
315312

316313
/// Same as print(os, TRI, IntrinsicInfo), but allows to specify the low-level
317314
/// type to be printed the same way the full version of print(...) does it.
318315
void print(raw_ostream &os, LLT TypeToPrint,
319-
const TargetRegisterInfo *TRI = nullptr,
320-
const TargetIntrinsicInfo *IntrinsicInfo = nullptr) const;
316+
const TargetRegisterInfo *TRI = nullptr) const;
321317

322318
void dump() const;
323319

llvm/include/llvm/Target/TargetIntrinsicInfo.h

Lines changed: 0 additions & 68 deletions
This file was deleted.

llvm/include/llvm/Target/TargetMachine.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ struct PerFunctionMIParsingState;
5050
class SMDiagnostic;
5151
class SMRange;
5252
class Target;
53-
class TargetIntrinsicInfo;
5453
class TargetIRAnalysis;
5554
class TargetTransformInfo;
5655
class TargetLoweringObjectFile;
@@ -215,11 +214,6 @@ class TargetMachine {
215214
const MCInstrInfo *getMCInstrInfo() const { return MII.get(); }
216215
const MCSubtargetInfo *getMCSubtargetInfo() const { return STI.get(); }
217216

218-
/// If intrinsic information is available, return it. If not, return null.
219-
virtual const TargetIntrinsicInfo *getIntrinsicInfo() const {
220-
return nullptr;
221-
}
222-
223217
bool requiresStructuredCFG() const { return RequireStructuredCFG; }
224218
void setRequiresStructuredCFG(bool Value) { RequireStructuredCFG = Value; }
225219

llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
#include "llvm/Support/ErrorHandling.h"
8181
#include "llvm/Support/MathExtras.h"
8282
#include "llvm/Support/raw_ostream.h"
83-
#include "llvm/Target/TargetIntrinsicInfo.h"
8483
#include "llvm/Target/TargetMachine.h"
8584
#include "llvm/Transforms/Utils/Local.h"
8685
#include "llvm/Transforms/Utils/MemoryOpRemark.h"
@@ -2728,7 +2727,6 @@ bool IRTranslator::translateCallBase(const CallBase &CB,
27282727

27292728
bool IRTranslator::translateCall(const User &U, MachineIRBuilder &MIRBuilder) {
27302729
const CallInst &CI = cast<CallInst>(U);
2731-
auto TII = MF->getTarget().getIntrinsicInfo();
27322730
const Function *F = CI.getCalledFunction();
27332731

27342732
// FIXME: support Windows dllimport function calls and calls through
@@ -2752,11 +2750,8 @@ bool IRTranslator::translateCall(const User &U, MachineIRBuilder &MIRBuilder) {
27522750
diagnoseDontCall(CI);
27532751

27542752
Intrinsic::ID ID = Intrinsic::not_intrinsic;
2755-
if (F && F->isIntrinsic()) {
2753+
if (F && F->isIntrinsic())
27562754
ID = F->getIntrinsicID();
2757-
if (TII && ID == Intrinsic::not_intrinsic)
2758-
ID = static_cast<Intrinsic::ID>(TII->getIntrinsicID(F));
2759-
}
27602755

27612756
if (!F || !F->isIntrinsic() || ID == Intrinsic::not_intrinsic)
27622757
return translateCallBase(CI, MIRBuilder);

llvm/lib/CodeGen/MIRParser/MIParser.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
#include "llvm/Support/MemoryBuffer.h"
6868
#include "llvm/Support/SMLoc.h"
6969
#include "llvm/Support/SourceMgr.h"
70-
#include "llvm/Target/TargetIntrinsicInfo.h"
7170
#include "llvm/Target/TargetMachine.h"
7271
#include <cassert>
7372
#include <cctype>
@@ -2651,13 +2650,8 @@ bool MIParser::parseIntrinsicOperand(MachineOperand &Dest) {
26512650
if (expectAndConsume(MIToken::rparen))
26522651
return error("expected ')' to terminate intrinsic name");
26532652

2654-
// Find out what intrinsic we're dealing with, first try the global namespace
2655-
// and then the target's private intrinsics if that fails.
2656-
const TargetIntrinsicInfo *TII = MF.getTarget().getIntrinsicInfo();
2653+
// Find out what intrinsic we're dealing with.
26572654
Intrinsic::ID ID = Intrinsic::lookupIntrinsicID(Name);
2658-
if (ID == Intrinsic::not_intrinsic && TII)
2659-
ID = static_cast<Intrinsic::ID>(TII->lookupName(Name));
2660-
26612655
if (ID == Intrinsic::not_intrinsic)
26622656
return error("unknown intrinsic name");
26632657
Dest = MachineOperand::CreateIntrinsicID(ID);

llvm/lib/CodeGen/MIRPrinter.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -964,10 +964,9 @@ void MIPrinter::print(const MachineInstr &MI, unsigned OpIdx,
964964
unsigned TiedOperandIdx = 0;
965965
if (ShouldPrintRegisterTies && Op.isReg() && Op.isTied() && !Op.isDef())
966966
TiedOperandIdx = Op.getParent()->findTiedOperandIdx(OpIdx);
967-
const TargetIntrinsicInfo *TII = MI.getMF()->getTarget().getIntrinsicInfo();
968967
Op.print(OS, MST, TypeToPrint, OpIdx, PrintDef, /*IsStandalone=*/false,
969-
ShouldPrintRegisterTies, TiedOperandIdx, TRI, TII);
970-
OS << formatOperandComment(MOComment);
968+
ShouldPrintRegisterTies, TiedOperandIdx, TRI);
969+
OS << formatOperandComment(MOComment);
971970
break;
972971
}
973972
case MachineOperand::MO_FrameIndex:

llvm/lib/CodeGen/MachineInstr.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,15 @@ static const MachineFunction *getMFIfAvailable(const MachineInstr &MI) {
6969
return nullptr;
7070
}
7171

72-
// Try to crawl up to the machine function and get TRI and IntrinsicInfo from
73-
// it.
72+
// Try to crawl up to the machine function and get TRI/MRI/TII from it.
7473
static void tryToGetTargetInfo(const MachineInstr &MI,
7574
const TargetRegisterInfo *&TRI,
7675
const MachineRegisterInfo *&MRI,
77-
const TargetIntrinsicInfo *&IntrinsicInfo,
7876
const TargetInstrInfo *&TII) {
7977

8078
if (const MachineFunction *MF = getMFIfAvailable(MI)) {
8179
TRI = MF->getSubtarget().getRegisterInfo();
8280
MRI = &MF->getRegInfo();
83-
IntrinsicInfo = MF->getTarget().getIntrinsicInfo();
8481
TII = MF->getSubtarget().getInstrInfo();
8582
}
8683
}
@@ -1703,8 +1700,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
17031700
// We can be a bit tidier if we know the MachineFunction.
17041701
const TargetRegisterInfo *TRI = nullptr;
17051702
const MachineRegisterInfo *MRI = nullptr;
1706-
const TargetIntrinsicInfo *IntrinsicInfo = nullptr;
1707-
tryToGetTargetInfo(*this, TRI, MRI, IntrinsicInfo, TII);
1703+
tryToGetTargetInfo(*this, TRI, MRI, TII);
17081704

17091705
if (isCFIInstruction())
17101706
assert(getNumOperands() == 1 && "Expected 1 operand in CFI instruction");
@@ -1734,7 +1730,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
17341730
LLT TypeToPrint = MRI ? getTypeToPrint(StartOp, PrintedTypes, *MRI) : LLT{};
17351731
unsigned TiedOperandIdx = getTiedOperandIdx(StartOp);
17361732
MO.print(OS, MST, TypeToPrint, StartOp, /*PrintDef=*/false, IsStandalone,
1737-
ShouldPrintRegisterTies, TiedOperandIdx, TRI, IntrinsicInfo);
1733+
ShouldPrintRegisterTies, TiedOperandIdx, TRI);
17381734
++StartOp;
17391735
}
17401736

@@ -1794,9 +1790,9 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
17941790
const unsigned OpIdx = InlineAsm::MIOp_AsmString;
17951791
LLT TypeToPrint = MRI ? getTypeToPrint(OpIdx, PrintedTypes, *MRI) : LLT{};
17961792
unsigned TiedOperandIdx = getTiedOperandIdx(OpIdx);
1797-
getOperand(OpIdx).print(OS, MST, TypeToPrint, OpIdx, /*PrintDef=*/true, IsStandalone,
1798-
ShouldPrintRegisterTies, TiedOperandIdx, TRI,
1799-
IntrinsicInfo);
1793+
getOperand(OpIdx).print(OS, MST, TypeToPrint, OpIdx, /*PrintDef=*/true,
1794+
IsStandalone, ShouldPrintRegisterTies,
1795+
TiedOperandIdx, TRI);
18001796

18011797
// Print HasSideEffects, MayLoad, MayStore, IsAlignStack
18021798
unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
@@ -1834,7 +1830,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
18341830
LLT TypeToPrint = MRI ? getTypeToPrint(i, PrintedTypes, *MRI) : LLT{};
18351831
unsigned TiedOperandIdx = getTiedOperandIdx(i);
18361832
MO.print(OS, MST, TypeToPrint, i, /*PrintDef=*/true, IsStandalone,
1837-
ShouldPrintRegisterTies, TiedOperandIdx, TRI, IntrinsicInfo);
1833+
ShouldPrintRegisterTies, TiedOperandIdx, TRI);
18381834
}
18391835
} else if (isDebugLabel() && MO.isMetadata()) {
18401836
// Pretty print DBG_LABEL instructions.
@@ -1845,7 +1841,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
18451841
LLT TypeToPrint = MRI ? getTypeToPrint(i, PrintedTypes, *MRI) : LLT{};
18461842
unsigned TiedOperandIdx = getTiedOperandIdx(i);
18471843
MO.print(OS, MST, TypeToPrint, i, /*PrintDef=*/true, IsStandalone,
1848-
ShouldPrintRegisterTies, TiedOperandIdx, TRI, IntrinsicInfo);
1844+
ShouldPrintRegisterTies, TiedOperandIdx, TRI);
18491845
}
18501846
} else if (i == AsmDescOp && MO.isImm()) {
18511847
// Pretty print the inline asm operand descriptor.
@@ -1889,7 +1885,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
18891885
MachineOperand::printSubRegIdx(OS, MO.getImm(), TRI);
18901886
else
18911887
MO.print(OS, MST, TypeToPrint, i, /*PrintDef=*/true, IsStandalone,
1892-
ShouldPrintRegisterTies, TiedOperandIdx, TRI, IntrinsicInfo);
1888+
ShouldPrintRegisterTies, TiedOperandIdx, TRI);
18931889
}
18941890
}
18951891

llvm/lib/CodeGen/MachineOperand.cpp

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include "llvm/IR/Instructions.h"
2828
#include "llvm/IR/ModuleSlotTracker.h"
2929
#include "llvm/MC/MCDwarf.h"
30-
#include "llvm/Target/TargetIntrinsicInfo.h"
3130
#include "llvm/Target/TargetMachine.h"
3231
#include <optional>
3332

@@ -449,14 +448,11 @@ hash_code llvm::hash_value(const MachineOperand &MO) {
449448
llvm_unreachable("Invalid machine operand type");
450449
}
451450

452-
// Try to crawl up to the machine function and get TRI and IntrinsicInfo from
453-
// it.
451+
// Try to crawl up to the machine function and get TRI from it.
454452
static void tryToGetTargetInfo(const MachineOperand &MO,
455-
const TargetRegisterInfo *&TRI,
456-
const TargetIntrinsicInfo *&IntrinsicInfo) {
453+
const TargetRegisterInfo *&TRI) {
457454
if (const MachineFunction *MF = getMFIfAvailable(MO)) {
458455
TRI = MF->getSubtarget().getRegisterInfo();
459-
IntrinsicInfo = MF->getTarget().getIntrinsicInfo();
460456
}
461457
}
462458

@@ -775,29 +771,27 @@ static void printCFI(raw_ostream &OS, const MCCFIInstruction &CFI,
775771
}
776772
}
777773

778-
void MachineOperand::print(raw_ostream &OS, const TargetRegisterInfo *TRI,
779-
const TargetIntrinsicInfo *IntrinsicInfo) const {
780-
print(OS, LLT{}, TRI, IntrinsicInfo);
774+
void MachineOperand::print(raw_ostream &OS,
775+
const TargetRegisterInfo *TRI) const {
776+
print(OS, LLT{}, TRI);
781777
}
782778

783779
void MachineOperand::print(raw_ostream &OS, LLT TypeToPrint,
784-
const TargetRegisterInfo *TRI,
785-
const TargetIntrinsicInfo *IntrinsicInfo) const {
786-
tryToGetTargetInfo(*this, TRI, IntrinsicInfo);
780+
const TargetRegisterInfo *TRI) const {
781+
tryToGetTargetInfo(*this, TRI);
787782
ModuleSlotTracker DummyMST(nullptr);
788783
print(OS, DummyMST, TypeToPrint, std::nullopt, /*PrintDef=*/false,
789784
/*IsStandalone=*/true,
790785
/*ShouldPrintRegisterTies=*/true,
791-
/*TiedOperandIdx=*/0, TRI, IntrinsicInfo);
786+
/*TiedOperandIdx=*/0, TRI);
792787
}
793788

794789
void MachineOperand::print(raw_ostream &OS, ModuleSlotTracker &MST,
795790
LLT TypeToPrint, std::optional<unsigned> OpIdx,
796791
bool PrintDef, bool IsStandalone,
797792
bool ShouldPrintRegisterTies,
798793
unsigned TiedOperandIdx,
799-
const TargetRegisterInfo *TRI,
800-
const TargetIntrinsicInfo *IntrinsicInfo) const {
794+
const TargetRegisterInfo *TRI) const {
801795
printTargetFlags(OS, *this);
802796
switch (getType()) {
803797
case MachineOperand::MO_Register: {
@@ -994,8 +988,6 @@ void MachineOperand::print(raw_ostream &OS, ModuleSlotTracker &MST,
994988
Intrinsic::ID ID = getIntrinsicID();
995989
if (ID < Intrinsic::num_intrinsics)
996990
OS << "intrinsic(@" << Intrinsic::getBaseName(ID) << ')';
997-
else if (IntrinsicInfo)
998-
OS << "intrinsic(@" << IntrinsicInfo->getName(ID) << ')';
999991
else
1000992
OS << "intrinsic(" << ID << ')';
1001993
break;

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@
9898
#include "llvm/Support/InstructionCost.h"
9999
#include "llvm/Support/MathExtras.h"
100100
#include "llvm/Support/raw_ostream.h"
101-
#include "llvm/Target/TargetIntrinsicInfo.h"
102101
#include "llvm/Target/TargetMachine.h"
103102
#include "llvm/Target/TargetOptions.h"
104103
#include "llvm/TargetParser/Triple.h"
@@ -9254,13 +9253,8 @@ void SelectionDAGBuilder::visitCall(const CallInst &I) {
92549253

92559254
if (Function *F = I.getCalledFunction()) {
92569255
if (F->isDeclaration()) {
9257-
// Is this an LLVM intrinsic or a target-specific intrinsic?
9258-
unsigned IID = F->getIntrinsicID();
9259-
if (!IID)
9260-
if (const TargetIntrinsicInfo *II = TM.getIntrinsicInfo())
9261-
IID = II->getIntrinsicID(F);
9262-
9263-
if (IID) {
9256+
// Is this an LLVM intrinsic?
9257+
if (unsigned IID = F->getIntrinsicID()) {
92649258
visitIntrinsicCall(I, IID);
92659259
return;
92669260
}

llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
#include "llvm/Support/ErrorHandling.h"
4444
#include "llvm/Support/Printable.h"
4545
#include "llvm/Support/raw_ostream.h"
46-
#include "llvm/Target/TargetIntrinsicInfo.h"
4746
#include "llvm/Target/TargetMachine.h"
4847
#include <cstdint>
4948
#include <iterator>
@@ -164,8 +163,6 @@ std::string SDNode::getOperationName(const SelectionDAG *G) const {
164163
return Intrinsic::getBaseName((Intrinsic::ID)IID).str();
165164
if (!G)
166165
return "Unknown intrinsic";
167-
if (const TargetIntrinsicInfo *TII = G->getTarget().getIntrinsicInfo())
168-
return TII->getName(IID);
169166
llvm_unreachable("Invalid intrinsic ID");
170167
}
171168

0 commit comments

Comments
 (0)