1 //===- SDNodeProperties.h ---------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H 11 #define LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H 12 13 namespace llvm { 14 15 class Record; 16 17 // SelectionDAG node properties. 18 // SDNPMemOperand: indicates that a node touches memory and therefore must 19 // have an associated memory operand that describes the access. 20 enum SDNP { 21 SDNPCommutative, 22 SDNPAssociative, 23 SDNPHasChain, 24 SDNPOutGlue, 25 SDNPInGlue, 26 SDNPOptInGlue, 27 SDNPMayLoad, 28 SDNPMayStore, 29 SDNPSideEffect, 30 SDNPMemOperand, 31 SDNPVariadic, 32 SDNPWantRoot, 33 SDNPWantParent 34 }; 35 36 unsigned parseSDPatternOperatorProperties(Record *R); 37 38 } 39 40 #endif 41