Home | History | Annotate | Line # | Download | only in TableGen
      1 //===- SDNodeProperties.h ---------------------------------------*- C++ -*-===//
      2 //
      3 // 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
      6 //
      7 //===----------------------------------------------------------------------===//
      8 
      9 #ifndef LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H
     10 #define LLVM_UTILS_TABLEGEN_SDNODEPROPERTIES_H
     11 
     12 namespace llvm {
     13 
     14 class 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.
     19 enum 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 
     35 unsigned parseSDPatternOperatorProperties(Record *R);
     36 
     37 }
     38 
     39 #endif
     40