38 lines · c
1//===- SDNodeProperties.h ---------------------------------------*- C++ -*-===//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_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H10#define LLVM_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H11 12namespace llvm {13 14class Record;15 16// SelectionDAG node properties.17// SDNPMemOperand: indicates that a node touches memory and therefore must18// have an associated memory operand that describes the access.19enum SDNP {20 SDNPCommutative,21 SDNPAssociative,22 SDNPHasChain,23 SDNPOutGlue,24 SDNPInGlue,25 SDNPOptInGlue,26 SDNPMayLoad,27 SDNPMayStore,28 SDNPSideEffect,29 SDNPMemOperand,30 SDNPVariadic,31};32 33unsigned parseSDPatternOperatorProperties(const Record *R);34 35} // namespace llvm36 37#endif // LLVM_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H38