brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 98ead1b Raw
46 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H10#define LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H11 12#include "llvm/CodeGen/SelectionDAGTargetInfo.h"13 14#define GET_SDNODE_ENUM15#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 of24  // data, whereas the raw EVL coming in from VP nodes always refers to number25  // of elements, regardless of their size.26  LEGALAVL,27};28 29} // namespace VEISD30 31class VESelectionDAGInfo : public SelectionDAGGenTargetInfo {32public:33  VESelectionDAGInfo();34 35  ~VESelectionDAGInfo() override;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 llvm44 45#endif // LLVM_LIB_TARGET_VE_VESELECTIONDAGINFO_H46