[llvm-commits] [llvm] r133373 - /llvm/trunk/include/llvm/Operator.h

Nick Lewycky nicholas at mxc.ca
Sat Jun 18 19:26:33 PDT 2011


Author: nicholas
Date: Sat Jun 18 21:26:33 2011
New Revision: 133373

URL: http://llvm.org/viewvc/llvm-project?rev=133373&view=rev
Log:
Add the remaining instructions/constant expressions as Operators so that code
can manipulate instructions and constantexpr's uniformly. No users yet though.

Modified:
    llvm/trunk/include/llvm/Operator.h

Modified: llvm/trunk/include/llvm/Operator.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Operator.h?rev=133373&r1=133372&r2=133373&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Operator.h (original)
+++ llvm/trunk/include/llvm/Operator.h Sat Jun 18 21:26:33 2011
@@ -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 @@
   }
 };
 
+class FAddOperator : public ConcreteOperator<Operator, Instruction::FAdd> {
+  ~FAddOperator(); // DO NOT IMPLEMENT
+};
+class FSubOperator : public ConcreteOperator<Operator, Instruction::FSub> {
+  ~FSubOperator(); // DO NOT IMPLEMENT
+};
+class FMulOperator : public ConcreteOperator<Operator, Instruction::FMul> {
+  ~FMulOperator(); // DO NOT IMPLEMENT
+};
+class FDivOperator : public ConcreteOperator<Operator, Instruction::FDiv> {
+  ~FDivOperator(); // DO NOT IMPLEMENT
+};
+class URemOperator : public ConcreteOperator<Operator, Instruction::URem> {
+  ~URemOperator(); // DO NOT IMPLEMENT
+};
+class SRemOperator : public ConcreteOperator<Operator, Instruction::SRem> {
+  ~SRemOperator(); // DO NOT IMPLEMENT
+};
+class FRemOperator : public ConcreteOperator<Operator, Instruction::FRem> {
+  ~FRemOperator(); // DO NOT IMPLEMENT
+};
+class AndOperator : public ConcreteOperator<Operator, Instruction::And> {
+  ~AndOperator(); // DO NOT IMPLEMENT
+};
+class OrOperator : public ConcreteOperator<Operator, Instruction::Or> {
+  ~OrOperator(); // DO NOT IMPLEMENT
+};
+class XorOperator : public ConcreteOperator<Operator, Instruction::Xor> {
+  ~XorOperator(); // DO NOT IMPLEMENT
+};
+class TruncOperator : public ConcreteOperator<Operator, Instruction::Trunc> {
+  ~TruncOperator(); // DO NOT IMPLEMENT
+};
+class ZExtOperator : public ConcreteOperator<Operator, Instruction::ZExt> {
+  ~ZExtOperator(); // DO NOT IMPLEMENT
+};
+class SExtOperator : public ConcreteOperator<Operator, Instruction::SExt> {
+  ~SExtOperator(); // DO NOT IMPLEMENT
+};
+class FPToUIOperator : public ConcreteOperator<Operator, Instruction::FPToUI> {
+  ~FPToUIOperator(); // DO NOT IMPLEMENT
+};
+class FPToSIOperator : public ConcreteOperator<Operator, Instruction::FPToSI> {
+  ~FPToSIOperator(); // DO NOT IMPLEMENT
+};
+class UIToFPOperator : public ConcreteOperator<Operator, Instruction::UIToFP> {
+  ~UIToFPOperator(); // DO NOT IMPLEMENT
+};
+class SIToFPOperator : public ConcreteOperator<Operator, Instruction::SIToFP> {
+  ~SIToFPOperator(); // DO NOT IMPLEMENT
+};
+class FPTruncOperator
+  : public ConcreteOperator<Operator, Instruction::FPTrunc> {
+  ~FPTruncOperator(); // DO NOT IMPLEMENT
+};
+class FPExtOperator : public ConcreteOperator<Operator, Instruction::FPExt> {
+  ~FPExtOperator(); // DO NOT IMPLEMENT
+};
+class PtrToIntOperator
+  : public ConcreteOperator<Operator, Instruction::PtrToInt> {
+  ~PtrToIntOperator(); // DO NOT IMPLEMENT
+};
+class IntToPtrOperator
+  : public ConcreteOperator<Operator, Instruction::IntToPtr> {
+  ~IntToPtrOperator(); // DO NOT IMPLEMENT
+};
+class BitCastOperator
+  : public ConcreteOperator<Operator, Instruction::BitCast> {
+  ~BitCastOperator(); // DO NOT IMPLEMENT
+};
+class ICmpOperator : public ConcreteOperator<Operator, Instruction::ICmp> {
+  ~ICmpOperator(); // DO NOT IMPLEMENT
+};
+class FCmpOperator : public ConcreteOperator<Operator, Instruction::FCmp> {
+  ~FCmpOperator(); // DO NOT IMPLEMENT
+};
+class SelectOperator : public ConcreteOperator<Operator, Instruction::Select> {
+  ~SelectOperator(); // DO NOT IMPLEMENT
+};
+class ExtractElementOperator
+  : public ConcreteOperator<Operator, Instruction::ExtractElement> {
+  ~ExtractElementOperator(); // DO NOT IMPLEMENT
+};
+class InsertElementOperator
+  : public ConcreteOperator<Operator, Instruction::InsertElement> {
+  ~InsertElementOperator(); // DO NOT IMPLEMENT
+};
+class ShuffleVectorOperator
+  : public ConcreteOperator<Operator, Instruction::ShuffleVector> {
+  ~ShuffleVectorOperator(); // DO NOT IMPLEMENT
+};
+class ExtractValueOperator
+  : public ConcreteOperator<Operator, Instruction::ExtractValue> {
+  ~ExtractValueOperator(); // DO NOT IMPLEMENT
+};
+class InsertValueOperator
+  : public ConcreteOperator<Operator, Instruction::InsertValue> {
+  ~InsertValueOperator(); // DO NOT IMPLEMENT
+};
+
 class AddOperator
   : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
   ~AddOperator(); // DO NOT IMPLEMENT





More information about the llvm-commits mailing list