Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/llvm/SandboxIR/Values.def is written in an unsupported language. File is not indexed.

0001 //===- Values.def -----------------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 //    ClassID, Class
0010 #ifndef DEF_VALUE
0011 #define DEF_VALUE(ID, CLASS)
0012 #endif
0013 
0014 #ifndef DEF_USER
0015 #define DEF_USER(ID, CLASS)
0016 #endif
0017 
0018 #ifndef DEF_CONST
0019 #define DEF_CONST(ID, CLASS)
0020 #endif
0021 
0022 DEF_CONST(Function, Function)
0023 DEF_VALUE(Argument, Argument)
0024 
0025 DEF_USER(User, User)
0026 DEF_VALUE(Block, BasicBlock)
0027 DEF_CONST(Constant, Constant)
0028 DEF_CONST(ConstantInt, ConstantInt)
0029 DEF_CONST(ConstantFP, ConstantFP)
0030 DEF_CONST(ConstantArray, ConstantArray)
0031 DEF_CONST(ConstantStruct, ConstantStruct)
0032 DEF_CONST(ConstantVector, ConstantVector)
0033 DEF_CONST(ConstantAggregateZero, ConstantAggregateZero)
0034 DEF_CONST(ConstantPointerNull, ConstantPointerNull)
0035 DEF_CONST(UndefValue, UndefValue)
0036 DEF_CONST(PoisonValue, PoisonValue)
0037 DEF_CONST(GlobalVariable, GlobalVariable)
0038 DEF_CONST(GlobalIFunc, GlobalIFunc)
0039 DEF_CONST(GlobalAlias, GlobalAlias)
0040 DEF_CONST(BlockAddress, BlockAddress)
0041 DEF_CONST(NoCFIValue, NoCFIValue)
0042 DEF_CONST(ConstantPtrAuth, ConstantPtrAuth)
0043 DEF_CONST(ConstantExpr, ConstantExpr)
0044 DEF_CONST(DSOLocalEquivalent, DSOLocalEquivalent)
0045 DEF_CONST(ConstantTokenNone, ConstantTokenNone)
0046 
0047 #ifndef DEF_INSTR
0048 #define DEF_INSTR(ID, OPCODE, CLASS)
0049 #endif
0050 
0051 #ifndef OP
0052 #define OP(OPCODE)
0053 #endif
0054 
0055 #ifndef OPCODES
0056 #define OPCODES(...)
0057 #endif
0058 // clang-format off
0059 //        ClassID,        Opcode(s),          Class
0060 DEF_INSTR(Opaque,         OP(Opaque),         OpaqueInst)
0061 DEF_INSTR(ExtractElement, OP(ExtractElement), ExtractElementInst)
0062 DEF_INSTR(InsertElement,  OP(InsertElement),  InsertElementInst)
0063 DEF_INSTR(VAArg,          OP(VAArg),          VAArgInst)
0064 DEF_INSTR(Freeze,         OP(Freeze),         FreezeInst)
0065 DEF_INSTR(Fence,          OP(Fence),          FenceInst)
0066 DEF_INSTR(ShuffleVector,  OP(ShuffleVector),  ShuffleVectorInst)
0067 DEF_INSTR(ExtractValue,   OP(ExtractValue),   ExtractValueInst)
0068 DEF_INSTR(InsertValue,    OP(InsertValue),    InsertValueInst)
0069 DEF_INSTR(Select,         OP(Select),         SelectInst)
0070 DEF_INSTR(Br,             OP(Br),             BranchInst)
0071 DEF_INSTR(Load,           OP(Load),           LoadInst)
0072 DEF_INSTR(Store,          OP(Store),          StoreInst)
0073 DEF_INSTR(Ret,            OP(Ret),            ReturnInst)
0074 DEF_INSTR(Call,           OP(Call),           CallInst)
0075 DEF_INSTR(Invoke,         OP(Invoke),         InvokeInst)
0076 DEF_INSTR(CallBr,         OP(CallBr),         CallBrInst)
0077 DEF_INSTR(LandingPad,     OP(LandingPad),     LandingPadInst)
0078 DEF_INSTR(CatchPad,       OP(CatchPad),       CatchPadInst)
0079 DEF_INSTR(CleanupPad,     OP(CleanupPad),     CleanupPadInst)
0080 DEF_INSTR(CatchRet,       OP(CatchRet),       CatchReturnInst)
0081 DEF_INSTR(CleanupRet,     OP(CleanupRet),     CleanupReturnInst)
0082 DEF_INSTR(GetElementPtr,  OP(GetElementPtr),  GetElementPtrInst)
0083 DEF_INSTR(Resume,         OP(Resume),         ResumeInst)
0084 DEF_INSTR(CatchSwitch,    OP(CatchSwitch),    CatchSwitchInst)
0085 DEF_INSTR(Switch,         OP(Switch),         SwitchInst)
0086 DEF_INSTR(UnOp,           OPCODES( \
0087                           OP(FNeg) \
0088                           ),                  UnaryOperator)
0089 DEF_INSTR(BinaryOperator, OPCODES(\
0090                           OP(Add)  \
0091                           OP(FAdd) \
0092                           OP(Sub)  \
0093                           OP(FSub) \
0094                           OP(Mul)  \
0095                           OP(FMul) \
0096                           OP(UDiv) \
0097                           OP(SDiv) \
0098                           OP(FDiv) \
0099                           OP(URem) \
0100                           OP(SRem) \
0101                           OP(FRem) \
0102                           OP(Shl)  \
0103                           OP(LShr) \
0104                           OP(AShr) \
0105                           OP(And)  \
0106                           OP(Or)   \
0107                           OP(Xor)  \
0108                           ),                  BinaryOperator)
0109 DEF_INSTR(AtomicRMW,      OP(AtomicRMW),      AtomicRMWInst)
0110 DEF_INSTR(AtomicCmpXchg,  OP(AtomicCmpXchg),  AtomicCmpXchgInst)
0111 DEF_INSTR(Alloca,         OP(Alloca),         AllocaInst)
0112 DEF_INSTR(Cast,   OPCODES(\
0113                           OP(ZExt)          \
0114                           OP(SExt)          \
0115                           OP(FPToUI)        \
0116                           OP(FPToSI)        \
0117                           OP(FPExt)         \
0118                           OP(PtrToInt)      \
0119                           OP(IntToPtr)      \
0120                           OP(SIToFP)        \
0121                           OP(UIToFP)        \
0122                           OP(Trunc)         \
0123                           OP(FPTrunc)       \
0124                           OP(BitCast)       \
0125                           OP(AddrSpaceCast) \
0126                           ),                  CastInst)
0127 DEF_INSTR(PHI,            OP(PHI),            PHINode)
0128 DEF_INSTR(Unreachable,    OP(Unreachable),    UnreachableInst)
0129 DEF_INSTR(ICmp,           OP(ICmp),          FCmpInst)
0130 DEF_INSTR(FCmp,           OP(FCmp),          ICmpInst)
0131 
0132 // clang-format on
0133 #ifdef DEF_VALUE
0134 #undef DEF_VALUE
0135 #endif
0136 #ifdef DEF_USER
0137 #undef DEF_USER
0138 #endif
0139 #ifdef DEF_CONST
0140 #undef DEF_CONST
0141 #endif
0142 #ifdef DEF_INSTR
0143 #undef DEF_INSTR
0144 #endif
0145 #ifdef OP
0146 #undef OP
0147 #endif
0148 #ifdef OPCODES
0149 #undef OPCODES
0150 #endif