X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FCodeGenIntrinsics.h;h=ababfa4e7e77af10e30b4fb6ba2e6f6fad5aba3a;hb=715d98d657491b3fb8ea0e14643e9801b2f9628c;hp=7e7bdf989acf8c17f35cb92300c9a5fde9642341;hpb=825b72b0571821bf2d378749f69d6c4cfb52d2f9;p=oota-llvm.git diff --git a/utils/TableGen/CodeGenIntrinsics.h b/utils/TableGen/CodeGenIntrinsics.h index 7e7bdf989ac..ababfa4e7e7 100644 --- a/utils/TableGen/CodeGenIntrinsics.h +++ b/utils/TableGen/CodeGenIntrinsics.h @@ -14,9 +14,9 @@ #ifndef CODEGEN_INTRINSIC_H #define CODEGEN_INTRINSIC_H +#include "llvm/CodeGen/ValueTypes.h" #include #include -#include "llvm/CodeGen/ValueTypes.h" namespace llvm { class Record; @@ -60,7 +60,7 @@ namespace llvm { // Memory mod/ref behavior of this intrinsic. enum { - NoMem, ReadArgMem, ReadMem, WriteArgMem, WriteMem + NoMem, ReadArgMem, ReadMem, ReadWriteArgMem, ReadWriteMem } ModRef; /// This is set to true if the intrinsic is overloaded by its argument @@ -69,9 +69,17 @@ namespace llvm { /// isCommutative - True if the intrinsic is commutative. bool isCommutative; - + + /// canThrow - True if the intrinsic can throw. + bool canThrow; + + /// isNoReturn - True if the intrinsic is no-return. + bool isNoReturn; + enum ArgAttribute { - NoCapture + NoCapture, + ReadOnly, + ReadNone }; std::vector > ArgumentAttributes;