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-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H 10#define LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H 11 12namespace llvm { 13 14class Record; 15 16// SelectionDAG node properties. 17// SDNPMemOperand: indicates that a node touches memory and therefore must 18// 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 SDNPWantRoot, 32 SDNPWantParent 33}; 34 35unsigned parseSDPatternOperatorProperties(Record *R); 36 37} 38 39#endif 40