< prev index next >

src/share/vm/opto/superword.cpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -323,10 +323,13 @@
             // TODO: Remove when support completed for mask context with LONG.
             //       Support needs to be augmented for logical qword operations, currently we map to dword
             //       buckets for vectors on logicals as these were legacy.
             small_basic_type = true;
             break;
+
+          default:
+            break;
           }
         }
       }
 
       if (is_java_primitive(bt) == false) continue;

@@ -750,17 +753,17 @@
     MemNode* s = memops.at(j)->as_Mem();
     if (s->is_Store()) {
       int vw = vector_width_in_bytes(s);
       assert(vw > 1, "sanity");
       SWPointer p(s, this, NULL, false);
-      if (cmp_ct.at(j) >  max_ct ||
-          cmp_ct.at(j) == max_ct &&
-            (vw >  max_vw ||
-             vw == max_vw &&
-              (data_size(s) <  min_size ||
-               data_size(s) == min_size &&
-                 (p.offset_in_bytes() < min_iv_offset)))) {
+      if ( cmp_ct.at(j) >  max_ct ||
+          (cmp_ct.at(j) == max_ct &&
+            ( vw >  max_vw ||
+             (vw == max_vw &&
+              ( data_size(s) <  min_size ||
+               (data_size(s) == min_size &&
+                p.offset_in_bytes() < min_iv_offset)))))) {
         max_ct = cmp_ct.at(j);
         max_vw = vw;
         max_idx = j;
         min_size = data_size(s);
         min_iv_offset = p.offset_in_bytes();

@@ -773,17 +776,17 @@
       MemNode* s = memops.at(j)->as_Mem();
       if (s->is_Load()) {
         int vw = vector_width_in_bytes(s);
         assert(vw > 1, "sanity");
         SWPointer p(s, this, NULL, false);
-        if (cmp_ct.at(j) >  max_ct ||
-            cmp_ct.at(j) == max_ct &&
-              (vw >  max_vw ||
-               vw == max_vw &&
-                (data_size(s) <  min_size ||
-                 data_size(s) == min_size &&
-                   (p.offset_in_bytes() < min_iv_offset)))) {
+        if ( cmp_ct.at(j) >  max_ct ||
+            (cmp_ct.at(j) == max_ct &&
+              ( vw >  max_vw ||
+               (vw == max_vw &&
+                ( data_size(s) <  min_size ||
+                 (data_size(s) == min_size &&
+                  p.offset_in_bytes() < min_iv_offset)))))) {
           max_ct = cmp_ct.at(j);
           max_vw = vw;
           max_idx = j;
           min_size = data_size(s);
           min_iv_offset = p.offset_in_bytes();

@@ -923,11 +926,11 @@
 void SuperWord::dependence_graph() {
   CountedLoopNode *cl = lpt()->_head->as_CountedLoop();
   // First, assign a dependence node to each memory node
   for (int i = 0; i < _block.length(); i++ ) {
     Node *n = _block.at(i);
-    if (n->is_Mem() || n->is_Phi() && n->bottom_type() == Type::MEMORY) {
+    if (n->is_Mem() || (n->is_Phi() && n->bottom_type() == Type::MEMORY)) {
       _dg.make_node(n);
     }
   }
 
   // For each memory slice, create the dependences

@@ -1743,12 +1746,12 @@
   Node* in1 = cmpd0->in(1);
   Node* in2 = cmpd0->in(2);
   Node_List* in1_pk = _sw->my_pack(in1);
   Node_List* in2_pk = _sw->my_pack(in2);
 
-  if (in1_pk != NULL && in1_pk->size() != cmpd_pk->size()
-    || in2_pk != NULL && in2_pk->size() != cmpd_pk->size() ) {
+  if (  (in1_pk != NULL && in1_pk->size() != cmpd_pk->size())
+     || (in2_pk != NULL && in2_pk->size() != cmpd_pk->size()) ) {
     return false;
   }
 
   // test if "all" in1 are in the same pack or the same node
   if (in1_pk == NULL) {

@@ -4036,11 +4039,11 @@
   _done = false;
   if (_n->is_Load()) {
     _next_idx = 0;
     _end_idx  = _n->outcnt();
     _dep_next = dg.dep(_n)->out_head();
-  } else if (_n->is_Mem() || _n->is_Phi() && _n->bottom_type() == Type::MEMORY) {
+  } else if (_n->is_Mem() || (_n->is_Phi() && _n->bottom_type() == Type::MEMORY)) {
     _next_idx = 0;
     _end_idx  = 0;
     _dep_next = dg.dep(_n)->out_head();
   } else {
     _next_idx = 0;
< prev index next >