[llvm] r274919 - TableGen: Update style in CodeGenIntrinsics. NFC
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 8 13:14:28 PDT 2016
Author: bogner
Date: Fri Jul 8 15:14:27 2016
New Revision: 274919
URL: http://llvm.org/viewvc/llvm-project?rev=274919&view=rev
Log:
TableGen: Update style in CodeGenIntrinsics. NFC
Ran clang-format to remove the namespace indentation, and stopped
repeating names in doc comments since I was updating every line
anyway.
Modified:
llvm/trunk/utils/TableGen/CodeGenIntrinsics.h
Modified: llvm/trunk/utils/TableGen/CodeGenIntrinsics.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenIntrinsics.h?rev=274919&r1=274918&r2=274919&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenIntrinsics.h (original)
+++ llvm/trunk/utils/TableGen/CodeGenIntrinsics.h Fri Jul 8 15:14:27 2016
@@ -19,111 +19,104 @@
#include <vector>
namespace llvm {
- class Record;
- class RecordKeeper;
- class CodeGenTarget;
-
- struct CodeGenIntrinsic {
- Record *TheDef; // The actual record defining this intrinsic.
- std::string Name; // The name of the LLVM function "llvm.bswap.i32"
- std::string EnumName; // The name of the enum "bswap_i32"
- std::string GCCBuiltinName;// Name of the corresponding GCC builtin, or "".
- std::string MSBuiltinName; // Name of the corresponding MS builtin, or "".
- std::string TargetPrefix; // Target prefix, e.g. "ppc" for t-s intrinsics.
-
- /// IntrinsicSignature - This structure holds the return values and
- /// parameter values of an intrinsic. If the number of return values is > 1,
- /// then the intrinsic implicitly returns a first-class aggregate. The
- /// numbering of the types starts at 0 with the first return value and
- /// continues from there through the parameter list. This is useful for
- /// "matching" types.
- struct IntrinsicSignature {
- /// RetVTs - The MVT::SimpleValueType for each return type. Note that this
- /// list is only populated when in the context of a target .td file. When
- /// building Intrinsics.td, this isn't available, because we don't know
- /// the target pointer size.
- std::vector<MVT::SimpleValueType> RetVTs;
-
- /// RetTypeDefs - The records for each return type.
- std::vector<Record*> RetTypeDefs;
-
- /// ParamVTs - The MVT::SimpleValueType for each parameter type. Note that
- /// this list is only populated when in the context of a target .td file.
- /// When building Intrinsics.td, this isn't available, because we don't
- /// know the target pointer size.
- std::vector<MVT::SimpleValueType> ParamVTs;
-
- /// ParamTypeDefs - The records for each parameter type.
- std::vector<Record*> ParamTypeDefs;
- };
-
- IntrinsicSignature IS;
-
- /// Bit flags describing the type (ref/mod) and location of memory
- /// accesses that may be performed by the intrinsics. Analogous to
- /// \c FunctionModRefBehaviour.
- enum ModRefBits {
- /// The intrinsic may access memory anywhere, i.e. it is not restricted
- /// to access through pointer arguments.
- MR_Anywhere = 1,
-
- /// The intrinsic may read memory.
- MR_Ref = 2,
-
- /// The intrinsic may write memory.
- MR_Mod = 4,
-
- /// The intrinsic may both read and write memory.
- MR_ModRef = MR_Ref | MR_Mod,
- };
-
- /// Memory mod/ref behavior of this intrinsic, corresponding to
- /// intrinsic properties (IntrReadMem, IntrArgMemOnly, etc.).
- enum ModRefBehavior {
- NoMem = 0,
- ReadArgMem = MR_Ref,
- ReadMem = MR_Ref | MR_Anywhere,
- WriteArgMem = MR_Mod,
- WriteMem = MR_Mod | MR_Anywhere,
- ReadWriteArgMem = MR_ModRef,
- ReadWriteMem = MR_ModRef | MR_Anywhere,
- };
- ModRefBehavior ModRef;
-
- /// This is set to true if the intrinsic is overloaded by its argument
- /// types.
- bool isOverloaded;
-
- /// isCommutative - True if the intrinsic is commutative.
- bool isCommutative;
-
- /// canThrow - True if the intrinsic can throw.
- bool canThrow;
-
- /// isNoDuplicate - True if the intrinsic is marked as noduplicate.
- bool isNoDuplicate;
-
- /// 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,
- WriteOnly,
- ReadNone
- };
- std::vector<std::pair<unsigned, ArgAttribute> > ArgumentAttributes;
+class Record;
+class RecordKeeper;
+class CodeGenTarget;
+
+struct CodeGenIntrinsic {
+ Record *TheDef; // The actual record defining this intrinsic.
+ std::string Name; // The name of the LLVM function "llvm.bswap.i32"
+ std::string EnumName; // The name of the enum "bswap_i32"
+ std::string GCCBuiltinName; // Name of the corresponding GCC builtin, or "".
+ std::string MSBuiltinName; // Name of the corresponding MS builtin, or "".
+ std::string TargetPrefix; // Target prefix, e.g. "ppc" for t-s intrinsics.
+
+ /// This structure holds the return values and parameter values of an
+ /// intrinsic. If the number of return values is > 1, then the intrinsic
+ /// implicitly returns a first-class aggregate. The numbering of the types
+ /// starts at 0 with the first return value and continues from there through
+ /// the parameter list. This is useful for "matching" types.
+ struct IntrinsicSignature {
+ /// The MVT::SimpleValueType for each return type. Note that this list is
+ /// only populated when in the context of a target .td file. When building
+ /// Intrinsics.td, this isn't available, because we don't know the target
+ /// pointer size.
+ std::vector<MVT::SimpleValueType> RetVTs;
+
+ /// The records for each return type.
+ std::vector<Record *> RetTypeDefs;
+
+ /// The MVT::SimpleValueType for each parameter type. Note that this list is
+ /// only populated when in the context of a target .td file. When building
+ /// Intrinsics.td, this isn't available, because we don't know the target
+ /// pointer size.
+ std::vector<MVT::SimpleValueType> ParamVTs;
- CodeGenIntrinsic(Record *R);
+ /// The records for each parameter type.
+ std::vector<Record *> ParamTypeDefs;
};
- /// LoadIntrinsics - Read all of the intrinsics defined in the specified
- /// .td file.
- std::vector<CodeGenIntrinsic> LoadIntrinsics(const RecordKeeper &RC,
- bool TargetOnly);
+ IntrinsicSignature IS;
+
+ /// Bit flags describing the type (ref/mod) and location of memory
+ /// accesses that may be performed by the intrinsics. Analogous to
+ /// \c FunctionModRefBehaviour.
+ enum ModRefBits {
+ /// The intrinsic may access memory anywhere, i.e. it is not restricted
+ /// to access through pointer arguments.
+ MR_Anywhere = 1,
+
+ /// The intrinsic may read memory.
+ MR_Ref = 2,
+
+ /// The intrinsic may write memory.
+ MR_Mod = 4,
+
+ /// The intrinsic may both read and write memory.
+ MR_ModRef = MR_Ref | MR_Mod,
+ };
+
+ /// Memory mod/ref behavior of this intrinsic, corresponding to intrinsic
+ /// properties (IntrReadMem, IntrArgMemOnly, etc.).
+ enum ModRefBehavior {
+ NoMem = 0,
+ ReadArgMem = MR_Ref,
+ ReadMem = MR_Ref | MR_Anywhere,
+ WriteArgMem = MR_Mod,
+ WriteMem = MR_Mod | MR_Anywhere,
+ ReadWriteArgMem = MR_ModRef,
+ ReadWriteMem = MR_ModRef | MR_Anywhere,
+ };
+ ModRefBehavior ModRef;
+
+ /// This is set to true if the intrinsic is overloaded by its argument
+ /// types.
+ bool isOverloaded;
+
+ /// True if the intrinsic is commutative.
+ bool isCommutative;
+
+ /// True if the intrinsic can throw.
+ bool canThrow;
+
+ /// True if the intrinsic is marked as noduplicate.
+ bool isNoDuplicate;
+
+ /// True if the intrinsic is no-return.
+ bool isNoReturn;
+
+ /// True if the intrinsic is marked as convergent.
+ bool isConvergent;
+
+ enum ArgAttribute { NoCapture, ReadOnly, WriteOnly, ReadNone };
+ std::vector<std::pair<unsigned, ArgAttribute>> ArgumentAttributes;
+
+ CodeGenIntrinsic(Record *R);
+};
+
+/// Read all of the intrinsics defined in the specified .td file.
+std::vector<CodeGenIntrinsic> LoadIntrinsics(const RecordKeeper &RC,
+ bool TargetOnly);
}
#endif
More information about the llvm-commits
mailing list