//
//===----------------------------------------------------------------------===//
-#ifndef CODEGEN_INTRINSIC_H
-#define CODEGEN_INTRINSIC_H
+#ifndef LLVM_UTILS_TABLEGEN_CODEGENINTRINSICS_H
+#define LLVM_UTILS_TABLEGEN_CODEGENINTRINSICS_H
#include "llvm/CodeGen/MachineValueType.h"
#include <string>
IntrinsicSignature IS;
// Memory mod/ref behavior of this intrinsic.
- enum {
+ enum ModRefKind {
NoMem, ReadArgMem, ReadMem, ReadWriteArgMem, ReadWriteMem
- } ModRef;
+ };
+ ModRefKind ModRef;
/// This is set to true if the intrinsic is overloaded by its argument
/// types.
/// isNoReturn - True if the intrinsic is no-return.
bool isNoReturn;
+ /// isConvergent - True if the intrinsic is marked as convergent.
+ bool isConvergent;
+
enum ArgAttribute {
NoCapture,
ReadOnly,