| //===- SDNodeProperties.h ---------------------------------------*- C++ -*-===// | |
| // | |
| // The LLVM Compiler Infrastructure | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H | |
| #define LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H | |
| namespace llvm { | |
| class Record; | |
| // SelectionDAG node properties. | |
| // SDNPMemOperand: indicates that a node touches memory and therefore must | |
| // have an associated memory operand that describes the access. | |
| enum SDNP { | |
| SDNPCommutative, | |
| SDNPAssociative, | |
| SDNPHasChain, | |
| SDNPOutGlue, | |
| SDNPInGlue, | |
| SDNPOptInGlue, | |
| SDNPMayLoad, | |
| SDNPMayStore, | |
| SDNPSideEffect, | |
| SDNPMemOperand, | |
| SDNPVariadic, | |
| SDNPWantRoot, | |
| SDNPWantParent | |
| }; | |
| unsigned parseSDPatternOperatorProperties(Record *R); | |
| } | |
| #endif |