LLVM 22.0.0git
VESelectionDAGInfo.cpp
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
10
11#define GET_SDNODE_DESC
12#include "VEGenSDNodeInfo.inc"
13
14using namespace llvm;
15
18
20
21const char *VESelectionDAGInfo::getTargetNodeName(unsigned Opcode) const {
22#define TARGET_NODE_CASE(NAME) \
23 case VEISD::NAME: \
24 return "VEISD::" #NAME;
25
26 switch (static_cast<VEISD::NodeType>(Opcode)) {
27 TARGET_NODE_CASE(GLOBAL_BASE_REG)
28 TARGET_NODE_CASE(LEGALAVL)
29 }
30#undef TARGET_NODE_CASE
31
33}
34
36 const SDNode *N) const {
37 switch (N->getOpcode()) {
38 case VEISD::GETSTACKTOP:
39 // result #0 has invalid type; expected ch, got i64
40 return;
41 }
42
44}
#define TARGET_NODE_CASE(NAME)
Represents one node in the SelectionDAG.
const char * getTargetNodeName(unsigned Opcode) const override
Returns the name of the given target-specific opcode, suitable for debug printing.
SelectionDAGGenTargetInfo(const SDNodeInfo &GenNodeInfo)
void verifyTargetNode(const SelectionDAG &DAG, const SDNode *N) const override
Checks that the given target-specific node is valid. Aborts if it is not.
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