< 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 >