Clean up generated operator<<(os, enum).

Pass enums by value instead of const reference.

Do not generate operator<< sources for headers that have no
enums or no declarations of operator<<. Do not define the
operator<< for flag enums; these were unused anyway.

Add generated operator<< for some enums in nodes.h . Change
the operator<< for ComparisonBias so that the graph
visualizer can use it but do not use the generated
operator<< yet as that would require changing checker tests.

Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ifd4c455c2fa921a9668c966a13068d43b9c6e173
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index d94c1fa..23b93fc 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -449,10 +449,7 @@
   }
 
   void VisitCompare(HCompare* compare) override {
-    ComparisonBias bias = compare->GetBias();
-    StartAttributeStream("bias") << (bias == ComparisonBias::kGtBias
-                                     ? "gt"
-                                     : (bias == ComparisonBias::kLtBias ? "lt" : "none"));
+    StartAttributeStream("bias") << compare->GetBias();
   }
 
   void VisitInvoke(HInvoke* invoke) override {