blob: 66a04e63150c40e0d41f7be9b0277eefe5b69fcb [file] [log] [blame]
Matt Arsenault303327d2017-12-20 19:36:28 +00001//===- SDNodeProperties.h ---------------------------------------*- C++ -*-===//
2//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Matt Arsenault303327d2017-12-20 19:36:28 +00006//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H
10#define LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H
11
12namespace llvm {
13
14class Record;
15
16// SelectionDAG node properties.
17// SDNPMemOperand: indicates that a node touches memory and therefore must
18// have an associated memory operand that describes the access.
19enum SDNP {
20 SDNPCommutative,
21 SDNPAssociative,
22 SDNPHasChain,
23 SDNPOutGlue,
24 SDNPInGlue,
25 SDNPOptInGlue,
26 SDNPMayLoad,
27 SDNPMayStore,
28 SDNPSideEffect,
29 SDNPMemOperand,
30 SDNPVariadic,
31 SDNPWantRoot,
32 SDNPWantParent
33};
34
35unsigned parseSDPatternOperatorProperties(Record *R);
36
37}
38
39#endif