| //===- 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 |