Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions src/hotspot/share/opto/c2_globals.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -339,9 +339,6 @@
product(bool, UseSuperWord, true, \
"Transform scalar operations into superword operations") \
\
develop(bool, SuperWordRTDepCheck, false, \
"Enable runtime dependency checks.") \
\
product(bool, SuperWordReductions, true, \
"Enable reductions support in superword.") \
\
Expand Down
24 changes: 1 addition & 23 deletions src/hotspot/share/opto/superword.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ SuperWord::SuperWord(PhaseIdealLoop* phase) :
_node_info(arena(), 8, 0, SWNodeInfo::initial), // info needed per node
_clone_map(phase->C->clone_map()), // map of nodes created in cloning
_align_to_ref(nullptr), // memory reference to align vectors to
_disjoint_ptrs(arena(), 8, 0, OrderedPair::initial), // runtime disambiguated pointer pairs
_dg(_arena), // dependence graph
_visited(arena()), // visited node set
_post_visited(arena()), // post visited node set
Expand Down Expand Up @@ -545,7 +544,7 @@ bool SuperWord::SLP_extract() {
return false; // Exit if no interesting nodes or complex graph.
}

// build _dg, _disjoint_ptrs
// build _dg
dependence_graph();

// compute function depth(Node*)
Expand Down Expand Up @@ -896,12 +895,6 @@ void SuperWord::dependence_graph() {
VPointer p2(s2->as_Mem(), phase(), lpt(), nullptr, false);

int cmp = p1.cmp(p2);
if (SuperWordRTDepCheck &&
p1.base() != p2.base() && p1.valid() && p2.valid()) {
// Trace disjoint pointers
OrderedPair pp(p1.base(), p2.base());
_disjoint_ptrs.append_if_missing(pp);
}
if (!VPointer::not_equal(cmp)) {
// Possibly same address
_dg.make_edge(s1, s2);
Expand All @@ -923,16 +916,6 @@ void SuperWord::dependence_graph() {

_nlist.clear();
}

if (TraceSuperWord) {
tty->print_cr("\ndisjoint_ptrs: %s", _disjoint_ptrs.length() > 0 ? "" : "NONE");
for (int r = 0; r < _disjoint_ptrs.length(); r++) {
_disjoint_ptrs.at(r).print();
tty->cr();
}
tty->cr();
}

}

//---------------------------mem_slice_preds---------------------------
Expand Down Expand Up @@ -3801,7 +3784,6 @@ void SuperWord::adjust_pre_loop_limit_to_align_main_loop_vectors() {
void SuperWord::init() {
_dg.init();
_packset.clear();
_disjoint_ptrs.clear();
_block.clear();
_data_entry.clear();
_mem_slice_head.clear();
Expand Down Expand Up @@ -3859,10 +3841,6 @@ void SuperWord::print_stmt(Node* s) {
#endif
}

// ========================= OrderedPair =====================

const OrderedPair OrderedPair::initial;

// ========================= SWNodeInfo =====================

const SWNodeInfo SWNodeInfo::initial;
Expand Down
30 changes: 0 additions & 30 deletions src/hotspot/share/opto/superword.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
// second statement is considered the right element.

class VPointer;
class OrderedPair;

// ========================= Dependence Graph =====================

Expand Down Expand Up @@ -198,33 +197,6 @@ class SWNodeInfo {
static const SWNodeInfo initial;
};

class SuperWord;

// JVMCI: OrderedPair is moved up to deal with compilation issues on Windows
//------------------------------OrderedPair---------------------------
// Ordered pair of Node*.
class OrderedPair {
protected:
Node* _p1;
Node* _p2;
public:
OrderedPair() : _p1(nullptr), _p2(nullptr) {}
OrderedPair(Node* p1, Node* p2) {
if (p1->_idx < p2->_idx) {
_p1 = p1; _p2 = p2;
} else {
_p1 = p2; _p2 = p1;
}
}

bool operator==(const OrderedPair &rhs) {
return _p1 == rhs._p1 && _p2 == rhs._p2;
}
void print() { tty->print(" (%d, %d)", _p1->_idx, _p2->_idx); }

static const OrderedPair initial;
};

// -----------------------------SuperWord---------------------------------
// Transforms scalar operations into packed (superword) operations.
class SuperWord : public ResourceObj {
Expand All @@ -249,8 +221,6 @@ class SuperWord : public ResourceObj {
CloneMap& _clone_map; // map of nodes created in cloning
MemNode const* _align_to_ref; // Memory reference that pre-loop will align to

GrowableArray<OrderedPair> _disjoint_ptrs; // runtime disambiguated pointer pairs

DepGraph _dg; // Dependence graph

// Scratch pads
Expand Down