]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - utils/TableGen/SDNodeProperties.h
Vendor import of llvm trunk r321414:
[FreeBSD/FreeBSD.git] / utils / TableGen / SDNodeProperties.h
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