LLVM 22.0.0git
VESelectionDAGInfo.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H
10#define LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H
11
13
14#define GET_SDNODE_ENUM
15#include "VEGenSDNodeInfo.inc"
16
17namespace llvm {
18namespace VEISD {
19
20enum NodeType : unsigned {
21 GLOBAL_BASE_REG = GENERATED_OPCODE_END, // Global base reg for PIC.
22
23 // Annotation as a wrapper. LEGALAVL(VL) means that VL refers to 64bit of
24 // data, whereas the raw EVL coming in from VP nodes always refers to number
25 // of elements, regardless of their size.
27};
28
29} // namespace VEISD
30
32public:
34
36
37 const char *getTargetNodeName(unsigned Opcode) const override;
38
39 void verifyTargetNode(const SelectionDAG &DAG,
40 const SDNode *N) const override;
41};
42
43} // namespace llvm
44
45#endif // LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H
Represents one node in the SelectionDAG.
SelectionDAGGenTargetInfo(const SDNodeInfo &GenNodeInfo)
This is used to represent a portion of an LLVM function in a low-level Data Dependence DAG representa...
~VESelectionDAGInfo() override
void verifyTargetNode(const SelectionDAG &DAG, const SDNode *N) const override
Checks that the given target-specific node is valid. Aborts if it is not.
const char * getTargetNodeName(unsigned Opcode) const override
Returns the name of the given target-specific opcode, suitable for debug printing.
This is an optimization pass for GlobalISel generic memory operations.
#define N