1fa3d789dSPierre van Houtryve //===- SDNodeProperties.h ---------------------------------------*- C++ -*-===// 2fa3d789dSPierre van Houtryve // 3fa3d789dSPierre van Houtryve // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4fa3d789dSPierre van Houtryve // See https://llvm.org/LICENSE.txt for license information. 5fa3d789dSPierre van Houtryve // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6fa3d789dSPierre van Houtryve // 7fa3d789dSPierre van Houtryve //===----------------------------------------------------------------------===// 8fa3d789dSPierre van Houtryve 98a61bfcfSRahul Joshi #ifndef LLVM_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H 108a61bfcfSRahul Joshi #define LLVM_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H 11fa3d789dSPierre van Houtryve 12fa3d789dSPierre van Houtryve namespace llvm { 13fa3d789dSPierre van Houtryve 14fa3d789dSPierre van Houtryve class Record; 15fa3d789dSPierre van Houtryve 16fa3d789dSPierre van Houtryve // SelectionDAG node properties. 17fa3d789dSPierre van Houtryve // SDNPMemOperand: indicates that a node touches memory and therefore must 18fa3d789dSPierre van Houtryve // have an associated memory operand that describes the access. 19fa3d789dSPierre van Houtryve enum SDNP { 20fa3d789dSPierre van Houtryve SDNPCommutative, 21fa3d789dSPierre van Houtryve SDNPAssociative, 22fa3d789dSPierre van Houtryve SDNPHasChain, 23fa3d789dSPierre van Houtryve SDNPOutGlue, 24fa3d789dSPierre van Houtryve SDNPInGlue, 25fa3d789dSPierre van Houtryve SDNPOptInGlue, 26fa3d789dSPierre van Houtryve SDNPMayLoad, 27fa3d789dSPierre van Houtryve SDNPMayStore, 28fa3d789dSPierre van Houtryve SDNPSideEffect, 29fa3d789dSPierre van Houtryve SDNPMemOperand, 30fa3d789dSPierre van Houtryve SDNPVariadic, 31fa3d789dSPierre van Houtryve }; 32fa3d789dSPierre van Houtryve 33*ddda37a6SRahul Joshi unsigned parseSDPatternOperatorProperties(const Record *R); 34fa3d789dSPierre van Houtryve 35fa3d789dSPierre van Houtryve } // namespace llvm 36fa3d789dSPierre van Houtryve 378a61bfcfSRahul Joshi #endif // LLVM_UTILS_TABLEGEN_BASIC_SDNODEPROPERTIES_H 38