[GlobalISel] fix a compilation error with gcc 6.3.0
authorYonghong Song <yhs@fb.com>
Fri, 28 Aug 2020 16:07:20 +0000 (09:07 -0700)
committerYonghong Song <yhs@fb.com>
Fri, 28 Aug 2020 16:16:52 +0000 (09:16 -0700)
With gcc 6.3.0, I hit the following compilation error:
  ../lib/CodeGen/GlobalISel/Combiner.cpp: In member function
      ‘bool llvm::Combiner::combineMachineInstrs(llvm::MachineFunction&,
       llvm::GISelCSEInfo*)’:
  ../lib/CodeGen/GlobalISel/Combiner.cpp:156:54: error: suggest parentheses
       around ‘&&’ within ‘||’ [-Werror=parentheses]
     assert(!CSEInfo || !errorToBool(CSEInfo->verify()) &&
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
                            "CSEInfo is not consistent. Likely missing calls to "
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            "observer on mutations");

Fix the code as suggested by the compiler.

llvm/lib/CodeGen/GlobalISel/Combiner.cpp

index 0e17a61..f1071d9 100644 (file)
@@ -153,8 +153,8 @@ bool Combiner::combineMachineInstrs(MachineFunction &MF,
     MFChanged |= Changed;
   } while (Changed);
 
-  assert(!CSEInfo || !errorToBool(CSEInfo->verify()) &&
+  assert(!CSEInfo || (!errorToBool(CSEInfo->verify()) &&
                          "CSEInfo is not consistent. Likely missing calls to "
-                         "observer on mutations");
+                         "observer on mutations"));
   return MFChanged;
 }