• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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