clang 20.0.0 (based on r547379) from build 12806354. Bug: http://b/379133546 Test: N/A Change-Id: I2eb8938af55d809de674be63cb30cf27e801862b Upstream-Commit: ad834e67b1105d15ef907f6255d4c96e8e733f57
115 lines
4.0 KiB
C++
115 lines
4.0 KiB
C++
//===- SandboxIRValues.def --------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// ClassID, Class
|
|
#ifndef DEF_VALUE
|
|
#define DEF_VALUE(ID, CLASS)
|
|
#endif
|
|
DEF_VALUE(Function, Function)
|
|
DEF_VALUE(Argument, Argument)
|
|
|
|
#ifndef DEF_USER
|
|
#define DEF_USER(ID, CLASS)
|
|
#endif
|
|
DEF_USER(User, User)
|
|
DEF_VALUE(Block, BasicBlock)
|
|
DEF_USER(Constant, Constant)
|
|
DEF_USER(ConstantInt, ConstantInt)
|
|
|
|
#ifndef DEF_INSTR
|
|
#define DEF_INSTR(ID, OPCODE, CLASS)
|
|
#endif
|
|
|
|
#ifndef OP
|
|
#define OP(OPCODE)
|
|
#endif
|
|
|
|
#ifndef OPCODES
|
|
#define OPCODES(...)
|
|
#endif
|
|
// clang-format off
|
|
// ClassID, Opcode(s), Class
|
|
DEF_INSTR(Opaque, OP(Opaque), OpaqueInst)
|
|
DEF_INSTR(ExtractElement, OP(ExtractElement), ExtractElementInst)
|
|
DEF_INSTR(InsertElement, OP(InsertElement), InsertElementInst)
|
|
DEF_INSTR(ShuffleVector, OP(ShuffleVector), ShuffleVectorInst)
|
|
DEF_INSTR(Select, OP(Select), SelectInst)
|
|
DEF_INSTR(Br, OP(Br), BranchInst)
|
|
DEF_INSTR(Load, OP(Load), LoadInst)
|
|
DEF_INSTR(Store, OP(Store), StoreInst)
|
|
DEF_INSTR(Ret, OP(Ret), ReturnInst)
|
|
DEF_INSTR(Call, OP(Call), CallInst)
|
|
DEF_INSTR(Invoke, OP(Invoke), InvokeInst)
|
|
DEF_INSTR(CallBr, OP(CallBr), CallBrInst)
|
|
DEF_INSTR(CatchPad, OP(CatchPad), CatchPadInst)
|
|
DEF_INSTR(CleanupPad, OP(CleanupPad), CleanupPadInst)
|
|
DEF_INSTR(CatchRet, OP(CatchRet), CatchReturnInst)
|
|
DEF_INSTR(GetElementPtr, OP(GetElementPtr), GetElementPtrInst)
|
|
DEF_INSTR(CatchSwitch, OP(CatchSwitch), CatchSwitchInst)
|
|
DEF_INSTR(Switch, OP(Switch), SwitchInst)
|
|
DEF_INSTR(UnOp, OPCODES( \
|
|
OP(FNeg) \
|
|
), UnaryOperator)
|
|
DEF_INSTR(BinaryOperator, OPCODES(\
|
|
OP(Add) \
|
|
OP(FAdd) \
|
|
OP(Sub) \
|
|
OP(FSub) \
|
|
OP(Mul) \
|
|
OP(FMul) \
|
|
OP(UDiv) \
|
|
OP(SDiv) \
|
|
OP(FDiv) \
|
|
OP(URem) \
|
|
OP(SRem) \
|
|
OP(FRem) \
|
|
OP(Shl) \
|
|
OP(LShr) \
|
|
OP(AShr) \
|
|
OP(And) \
|
|
OP(Or) \
|
|
OP(Xor) \
|
|
), BinaryOperator)
|
|
DEF_INSTR(AtomicRMW, OP(AtomicRMW), AtomicRMWInst)
|
|
DEF_INSTR(AtomicCmpXchg, OP(AtomicCmpXchg), AtomicCmpXchgInst)
|
|
DEF_INSTR(Alloca, OP(Alloca), AllocaInst)
|
|
DEF_INSTR(Cast, OPCODES(\
|
|
OP(ZExt) \
|
|
OP(SExt) \
|
|
OP(FPToUI) \
|
|
OP(FPToSI) \
|
|
OP(FPExt) \
|
|
OP(PtrToInt) \
|
|
OP(IntToPtr) \
|
|
OP(SIToFP) \
|
|
OP(UIToFP) \
|
|
OP(Trunc) \
|
|
OP(FPTrunc) \
|
|
OP(BitCast) \
|
|
OP(AddrSpaceCast) \
|
|
), CastInst)
|
|
DEF_INSTR(PHI, OP(PHI), PHINode)
|
|
DEF_INSTR(Unreachable, OP(Unreachable), UnreachableInst)
|
|
|
|
// clang-format on
|
|
#ifdef DEF_VALUE
|
|
#undef DEF_VALUE
|
|
#endif
|
|
#ifdef DEF_USER
|
|
#undef DEF_USER
|
|
#endif
|
|
#ifdef DEF_INSTR
|
|
#undef DEF_INSTR
|
|
#endif
|
|
#ifdef OP
|
|
#undef OP
|
|
#endif
|
|
#ifdef OPCODES
|
|
#undef OPCODES
|
|
#endif
|