From c49c0ff74cffb636bba435756b655a20583b4b9a Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Sun, 19 Jun 2011 02:26:33 +0000 Subject: [PATCH] Add the remaining instructions/constant expressions as Operators so that code can manipulate instructions and constantexpr's uniformly. No users yet though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133373 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Operator.h | 102 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h index e9aa4997f2..d253c8fe09 100644 --- a/include/llvm/Operator.h +++ b/include/llvm/Operator.h @@ -15,8 +15,8 @@ #ifndef LLVM_OPERATOR_H #define LLVM_OPERATOR_H -#include "llvm/Instruction.h" #include "llvm/Constants.h" +#include "llvm/Instruction.h" namespace llvm { @@ -185,6 +185,106 @@ public: } }; +class FAddOperator : public ConcreteOperator { + ~FAddOperator(); // DO NOT IMPLEMENT +}; +class FSubOperator : public ConcreteOperator { + ~FSubOperator(); // DO NOT IMPLEMENT +}; +class FMulOperator : public ConcreteOperator { + ~FMulOperator(); // DO NOT IMPLEMENT +}; +class FDivOperator : public ConcreteOperator { + ~FDivOperator(); // DO NOT IMPLEMENT +}; +class URemOperator : public ConcreteOperator { + ~URemOperator(); // DO NOT IMPLEMENT +}; +class SRemOperator : public ConcreteOperator { + ~SRemOperator(); // DO NOT IMPLEMENT +}; +class FRemOperator : public ConcreteOperator { + ~FRemOperator(); // DO NOT IMPLEMENT +}; +class AndOperator : public ConcreteOperator { + ~AndOperator(); // DO NOT IMPLEMENT +}; +class OrOperator : public ConcreteOperator { + ~OrOperator(); // DO NOT IMPLEMENT +}; +class XorOperator : public ConcreteOperator { + ~XorOperator(); // DO NOT IMPLEMENT +}; +class TruncOperator : public ConcreteOperator { + ~TruncOperator(); // DO NOT IMPLEMENT +}; +class ZExtOperator : public ConcreteOperator { + ~ZExtOperator(); // DO NOT IMPLEMENT +}; +class SExtOperator : public ConcreteOperator { + ~SExtOperator(); // DO NOT IMPLEMENT +}; +class FPToUIOperator : public ConcreteOperator { + ~FPToUIOperator(); // DO NOT IMPLEMENT +}; +class FPToSIOperator : public ConcreteOperator { + ~FPToSIOperator(); // DO NOT IMPLEMENT +}; +class UIToFPOperator : public ConcreteOperator { + ~UIToFPOperator(); // DO NOT IMPLEMENT +}; +class SIToFPOperator : public ConcreteOperator { + ~SIToFPOperator(); // DO NOT IMPLEMENT +}; +class FPTruncOperator + : public ConcreteOperator { + ~FPTruncOperator(); // DO NOT IMPLEMENT +}; +class FPExtOperator : public ConcreteOperator { + ~FPExtOperator(); // DO NOT IMPLEMENT +}; +class PtrToIntOperator + : public ConcreteOperator { + ~PtrToIntOperator(); // DO NOT IMPLEMENT +}; +class IntToPtrOperator + : public ConcreteOperator { + ~IntToPtrOperator(); // DO NOT IMPLEMENT +}; +class BitCastOperator + : public ConcreteOperator { + ~BitCastOperator(); // DO NOT IMPLEMENT +}; +class ICmpOperator : public ConcreteOperator { + ~ICmpOperator(); // DO NOT IMPLEMENT +}; +class FCmpOperator : public ConcreteOperator { + ~FCmpOperator(); // DO NOT IMPLEMENT +}; +class SelectOperator : public ConcreteOperator { + ~SelectOperator(); // DO NOT IMPLEMENT +}; +class ExtractElementOperator + : public ConcreteOperator { + ~ExtractElementOperator(); // DO NOT IMPLEMENT +}; +class InsertElementOperator + : public ConcreteOperator { + ~InsertElementOperator(); // DO NOT IMPLEMENT +}; +class ShuffleVectorOperator + : public ConcreteOperator { + ~ShuffleVectorOperator(); // DO NOT IMPLEMENT +}; +class ExtractValueOperator + : public ConcreteOperator { + ~ExtractValueOperator(); // DO NOT IMPLEMENT +}; +class InsertValueOperator + : public ConcreteOperator { + ~InsertValueOperator(); // DO NOT IMPLEMENT +}; + class AddOperator : public ConcreteOperator { ~AddOperator(); // DO NOT IMPLEMENT -- 2.11.4.GIT