Skip to content

Commit 0b5bb12

Browse files
authored
[RISCV] Move RISCV vector load/store searchable tables from RISCVISelDAGToDAG.cpp to RISCVBaseInfo.cpp. NFC (#129172)
llvm-mca needs some of them for #128978. I'm relying on -ffunction-sections and -fdata-sections allowing these to be stripped from tools that don't need them like llvm-mc.
1 parent 8138775 commit 0b5bb12

File tree

4 files changed

+89
-89
lines changed

4 files changed

+89
-89
lines changed

llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ using namespace RISCV;
3939
#include "RISCVGenSearchableTables.inc"
4040
} // namespace RISCVVInversePseudosTable
4141

42+
namespace RISCV {
43+
#define GET_RISCVVSSEGTable_IMPL
44+
#define GET_RISCVVLSEGTable_IMPL
45+
#define GET_RISCVVLXSEGTable_IMPL
46+
#define GET_RISCVVSXSEGTable_IMPL
47+
#define GET_RISCVVLETable_IMPL
48+
#define GET_RISCVVSETable_IMPL
49+
#define GET_RISCVVLXTable_IMPL
50+
#define GET_RISCVVSXTable_IMPL
51+
#include "RISCVGenSearchableTables.inc"
52+
} // namespace RISCV
53+
4254
namespace RISCVABI {
4355
ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits,
4456
StringRef ABIName) {

llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,83 @@ struct PseudoInfo {
666666
#include "RISCVGenSearchableTables.inc"
667667
} // namespace RISCVVInversePseudosTable
668668

669+
namespace RISCV {
670+
struct VLSEGPseudo {
671+
uint16_t NF : 4;
672+
uint16_t Masked : 1;
673+
uint16_t Strided : 1;
674+
uint16_t FF : 1;
675+
uint16_t Log2SEW : 3;
676+
uint16_t LMUL : 3;
677+
uint16_t Pseudo;
678+
};
679+
680+
struct VLXSEGPseudo {
681+
uint16_t NF : 4;
682+
uint16_t Masked : 1;
683+
uint16_t Ordered : 1;
684+
uint16_t Log2SEW : 3;
685+
uint16_t LMUL : 3;
686+
uint16_t IndexLMUL : 3;
687+
uint16_t Pseudo;
688+
};
689+
690+
struct VSSEGPseudo {
691+
uint16_t NF : 4;
692+
uint16_t Masked : 1;
693+
uint16_t Strided : 1;
694+
uint16_t Log2SEW : 3;
695+
uint16_t LMUL : 3;
696+
uint16_t Pseudo;
697+
};
698+
699+
struct VSXSEGPseudo {
700+
uint16_t NF : 4;
701+
uint16_t Masked : 1;
702+
uint16_t Ordered : 1;
703+
uint16_t Log2SEW : 3;
704+
uint16_t LMUL : 3;
705+
uint16_t IndexLMUL : 3;
706+
uint16_t Pseudo;
707+
};
708+
709+
struct VLEPseudo {
710+
uint16_t Masked : 1;
711+
uint16_t Strided : 1;
712+
uint16_t FF : 1;
713+
uint16_t Log2SEW : 3;
714+
uint16_t LMUL : 3;
715+
uint16_t Pseudo;
716+
};
717+
718+
struct VSEPseudo {
719+
uint16_t Masked : 1;
720+
uint16_t Strided : 1;
721+
uint16_t Log2SEW : 3;
722+
uint16_t LMUL : 3;
723+
uint16_t Pseudo;
724+
};
725+
726+
struct VLX_VSXPseudo {
727+
uint16_t Masked : 1;
728+
uint16_t Ordered : 1;
729+
uint16_t Log2SEW : 3;
730+
uint16_t LMUL : 3;
731+
uint16_t IndexLMUL : 3;
732+
uint16_t Pseudo;
733+
};
734+
735+
#define GET_RISCVVSSEGTable_DECL
736+
#define GET_RISCVVLSEGTable_DECL
737+
#define GET_RISCVVLXSEGTable_DECL
738+
#define GET_RISCVVSXSEGTable_DECL
739+
#define GET_RISCVVLETable_DECL
740+
#define GET_RISCVVSETable_DECL
741+
#define GET_RISCVVLXTable_DECL
742+
#define GET_RISCVVSXTable_DECL
743+
#include "RISCVGenSearchableTables.inc"
744+
} // namespace RISCV
745+
669746
} // namespace llvm
670747

671748
#endif

llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,6 @@ static cl::opt<bool> UsePseudoMovImm(
3434
"constant materialization"),
3535
cl::init(false));
3636

37-
namespace llvm::RISCV {
38-
#define GET_RISCVVSSEGTable_IMPL
39-
#define GET_RISCVVLSEGTable_IMPL
40-
#define GET_RISCVVLXSEGTable_IMPL
41-
#define GET_RISCVVSXSEGTable_IMPL
42-
#define GET_RISCVVLETable_IMPL
43-
#define GET_RISCVVSETable_IMPL
44-
#define GET_RISCVVLXTable_IMPL
45-
#define GET_RISCVVSXTable_IMPL
46-
#include "RISCVGenSearchableTables.inc"
47-
} // namespace llvm::RISCV
48-
4937
void RISCVDAGToDAGISel::PreprocessISelDAG() {
5038
SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
5139

llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -204,83 +204,6 @@ class RISCVDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
204204
CodeGenOptLevel OptLevel);
205205
};
206206

207-
namespace RISCV {
208-
struct VLSEGPseudo {
209-
uint16_t NF : 4;
210-
uint16_t Masked : 1;
211-
uint16_t Strided : 1;
212-
uint16_t FF : 1;
213-
uint16_t Log2SEW : 3;
214-
uint16_t LMUL : 3;
215-
uint16_t Pseudo;
216-
};
217-
218-
struct VLXSEGPseudo {
219-
uint16_t NF : 4;
220-
uint16_t Masked : 1;
221-
uint16_t Ordered : 1;
222-
uint16_t Log2SEW : 3;
223-
uint16_t LMUL : 3;
224-
uint16_t IndexLMUL : 3;
225-
uint16_t Pseudo;
226-
};
227-
228-
struct VSSEGPseudo {
229-
uint16_t NF : 4;
230-
uint16_t Masked : 1;
231-
uint16_t Strided : 1;
232-
uint16_t Log2SEW : 3;
233-
uint16_t LMUL : 3;
234-
uint16_t Pseudo;
235-
};
236-
237-
struct VSXSEGPseudo {
238-
uint16_t NF : 4;
239-
uint16_t Masked : 1;
240-
uint16_t Ordered : 1;
241-
uint16_t Log2SEW : 3;
242-
uint16_t LMUL : 3;
243-
uint16_t IndexLMUL : 3;
244-
uint16_t Pseudo;
245-
};
246-
247-
struct VLEPseudo {
248-
uint16_t Masked : 1;
249-
uint16_t Strided : 1;
250-
uint16_t FF : 1;
251-
uint16_t Log2SEW : 3;
252-
uint16_t LMUL : 3;
253-
uint16_t Pseudo;
254-
};
255-
256-
struct VSEPseudo {
257-
uint16_t Masked :1;
258-
uint16_t Strided : 1;
259-
uint16_t Log2SEW : 3;
260-
uint16_t LMUL : 3;
261-
uint16_t Pseudo;
262-
};
263-
264-
struct VLX_VSXPseudo {
265-
uint16_t Masked : 1;
266-
uint16_t Ordered : 1;
267-
uint16_t Log2SEW : 3;
268-
uint16_t LMUL : 3;
269-
uint16_t IndexLMUL : 3;
270-
uint16_t Pseudo;
271-
};
272-
273-
#define GET_RISCVVSSEGTable_DECL
274-
#define GET_RISCVVLSEGTable_DECL
275-
#define GET_RISCVVLXSEGTable_DECL
276-
#define GET_RISCVVSXSEGTable_DECL
277-
#define GET_RISCVVLETable_DECL
278-
#define GET_RISCVVSETable_DECL
279-
#define GET_RISCVVLXTable_DECL
280-
#define GET_RISCVVSXTable_DECL
281-
#include "RISCVGenSearchableTables.inc"
282-
} // namespace RISCV
283-
284207
} // namespace llvm
285208

286209
#endif

0 commit comments

Comments
 (0)