RFR(S): 8085932: Fixing bugs in detecting memory alignments in SuperWord (original) (raw)

Civlin, Jan jan.civlin at intel.com
Mon Jun 8 16:15:22 UTC 2015


Hi All,

We would like to contribute to Fixing bugs in detecting memory alignments in SuperWord. The contribution Bug ID: 8085932.

Please review this patch:

Bug-id: https://bugs.openjdk.java.net/browse/JDK-8085932

webrev: http://cr.openjdk.java.net/~kvn/8085932/webrev.00/

Description: Fixing bugs in detecting memory alignments in SuperWord

Fixing bugs in detecting memory alignments in SuperWord: SWPointer::scaled_iv_plus_offset (fixing here a bug in detection of "scale"), SWPointer::offset_plus_k (fixing here a bug in detection of "invariant"),

Add tracing output to the code that deal with memory alignment. The following routines are traceable:

SWPointer::scaled_iv_plus_offset SWPointer::offset_plus_k SWPointer::scaled_iv, WPointer::SWPointer, SuperWord::memory_alignment

Tracing is done only for NOT_PRODUCT. Currently tracing is controlled by VectorizeDebug:

#ifndef PRODUCT if (_phase->C->method() != NULL) { _phase->C->method()->has_option_value("VectorizeDebug", _vector_loop_debug); } #endif

And VectorizeDebug may take any combination (bitwise OR) of the following values: bool is_trace_alignment() { return (_vector_loop_debug & 2) > 0; } bool is_trace_mem_slice() { return (_vector_loop_debug & 4) > 0; } bool is_trace_loop() { return (_vector_loop_debug & 8) > 0; } bool is_trace_adjacent() { return (_vector_loop_debug & 16) > 0; } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150608/fe526689/attachment.html>



More information about the hotspot-compiler-dev mailing list