LLVM 22.0.0git
AMDGPUSelectionDAGInfo.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_AMDGPU_AMDGPUSELECTIONDAGINFO_H
10#define LLVM_LIB_TARGET_AMDGPU_AMDGPUSELECTIONDAGINFO_H
11
13
14#define GET_SDNODE_ENUM
15#include "AMDGPUGenSDNodeInfo.inc"
16
17namespace llvm {
18namespace AMDGPUISD {
19
20enum NodeType : unsigned {
21 // Convert a unswizzled wave uniform stack address to an address compatible
22 // with a vector offset for use in stack access.
23 WAVE_ADDRESS = GENERATED_OPCODE_END,
24
31
32 /// This node is for VLIW targets and it is used to represent a vector
33 /// that is stored in consecutive registers with the same channel.
34 /// For example:
35 /// |X |Y|Z|W|
36 /// T0|v.x| | | |
37 /// T1|v.y| | | |
38 /// T2|v.z| | | |
39 /// T3|v.w| | | |
41
43};
44
45} // namespace AMDGPUISD
46
48public:
50
52
53 const char *getTargetNodeName(unsigned Opcode) const override;
54
55 void verifyTargetNode(const SelectionDAG &DAG,
56 const SDNode *N) const override;
57};
58
59} // namespace llvm
60
61#endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUSELECTIONDAGINFO_H
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.
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...
@ BUILD_VERTICAL_VECTOR
This node is for VLIW targets and it is used to represent a vector that is stored in consecutive regi...
This is an optimization pass for GlobalISel generic memory operations.
#define N