[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