blob: a8d4efb5dab049ee60a579ce2c4663b1e03d23ab [file] [log] [blame]
Matt Arsenault082879a2017-12-20 19:36:28 +00001//===- 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
13namespace llvm {
14
15class 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.
20enum 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
36unsigned parseSDPatternOperatorProperties(Record *R);
37
38}
39
40#endif