Make the '==' operator inline.
authorBill Wendling <isanbard@gmail.com>
Wed, 19 Jun 2013 22:16:11 +0000 (22:16 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 19 Jun 2013 22:16:11 +0000 (22:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184375 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetOptions.h

index 037a5f2fadd24511dc52865ada046d5d42a22a65..54d5ae45c800b1bc841098434d35f3f3c5c4b414 100644 (file)
@@ -207,9 +207,36 @@ namespace llvm {
 
 // Comparison operators:
 
-bool operator==(const TargetOptions &LHS, const TargetOptions &RHS);
 
-static inline bool operator!=(const TargetOptions &LHS, const TargetOptions &RHS) {
+static inline bool operator==(const TargetOptions &LHS,
+                              const TargetOptions &RHS) {
+#define ARE_EQUAL(X) LHS.X == RHS.X
+  return
+    ARE_EQUAL(UnsafeFPMath) &&
+    ARE_EQUAL(NoInfsFPMath) &&
+    ARE_EQUAL(NoNaNsFPMath) &&
+    ARE_EQUAL(HonorSignDependentRoundingFPMathOption) &&
+    ARE_EQUAL(UseSoftFloat) &&
+    ARE_EQUAL(NoZerosInBSS) &&
+    ARE_EQUAL(JITEmitDebugInfo) &&
+    ARE_EQUAL(JITEmitDebugInfoToDisk) &&
+    ARE_EQUAL(GuaranteedTailCallOpt) &&
+    ARE_EQUAL(DisableTailCalls) &&
+    ARE_EQUAL(StackAlignmentOverride) &&
+    ARE_EQUAL(RealignStack) &&
+    ARE_EQUAL(SSPBufferSize) &&
+    ARE_EQUAL(EnableFastISel) &&
+    ARE_EQUAL(PositionIndependentExecutable) &&
+    ARE_EQUAL(EnableSegmentedStacks) &&
+    ARE_EQUAL(UseInitArray) &&
+    ARE_EQUAL(TrapFuncName) &&
+    ARE_EQUAL(FloatABIType) &&
+    ARE_EQUAL(AllowFPOpFusion);
+#undef ARE_EQUAL
+}
+
+static inline bool operator!=(const TargetOptions &LHS,
+                              const TargetOptions &RHS) {
   return !(LHS == RHS);
 }