Jesper Wilhelmsson
efd1054686
8182299: Enable disabled clang warnings, build on OSX 10 + Xcode 8
...
8182656: Make the required changes in GC code to build on OSX 10 + Xcode 8
8182657: Make the required changes in Runtime code to build on OSX 10 + Xcode 8
8182658: Make the required changes in Compiler code to build on OSX 10 + Xcode 8
Co-authored-by: Paul Hohensee <hohensee@amazon.com>
Reviewed-by: jwilhelm, ehelin, phh
2017-07-06 01:50:26 +02:00
Vivek Deshpande
4fd6f92702
8181616: FMA Vectorization on x86
...
Reviewed-by: kvn
2017-06-07 13:09:46 -07:00
Roland Westrelin
0ab61a6e28
8155717: Aarch64: enable loop superword's unrolling analysis
...
Reviewed-by: aph, kvn, mcberg
2016-05-04 13:32:03 -07:00
Roland Westrelin
23ce249250
8154939: 8153998 broke vectorization on aarch64
...
Reviewed-by: kvn, mcberg
2016-04-27 01:14:07 -07:00
Tobias Hartmann
3a358f4cff
8086057: Crash with "modified node is not on IGVN._worklist" when running with -XX:-SplitIfBlocks
...
Pre-loop Opaque1 node 'pre_opaq' should be put on the IGVN worklist after modification.
Reviewed-by: kvn
2016-04-25 10:53:42 +02:00
Michael Berg
64cf7e6b6f
8153998: Masked vector post loops
...
Masked vectorization for post loops to execute in a single iteration in place of fixup scalar loops which used to take many iterations to complete work for user loops.
Reviewed-by: twisti, kvn
2016-04-18 15:18:14 -07:00
Bharadwaj Yadavalli
cecf2d83d5
Merge
2016-04-08 12:36:27 -04:00
Michael Berg
ff80cc58c9
8151573: Multiversioning for range check elimination
...
Range check elimination in post loops
Reviewed-by: kvn
2016-04-05 10:34:05 -07:00
Joseph Provino
5cef85023b
8132524: Missing includes to resourceArea.hpp
...
Files that use ResourceMark are missing the include of resourceArea.hpp
Reviewed-by: tschatzl, jwilhelm
2016-04-04 12:57:48 -04:00
Zoltan Majo
5751808a6c
8148754: C2 loop unrolling fails due to unexpected graph shape
...
Check if graph shape is appropriate for optimization, bail out optimization if not.
Reviewed-by: kvn, twisti, shade, dnsimon
2016-03-21 09:51:20 +01:00
Michael Berg
3ade110066
8149421: Vectorized Post Loops
...
Add vectorised post loop for counted loops with vectors.
Reviewed-by: kvn
2016-02-12 16:12:15 -08:00
Tobias Hartmann
ca56200977
6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
...
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.
Reviewed-by: kvn, roland
2016-01-18 08:40:25 +01:00
Roland Westrelin
631c143469
8145322: Code generated from unsafe loops can be slightly improved
...
Improve code generated from checkIndex and unsafe loops
Reviewed-by: kvn, thartmann
2016-01-11 16:33:27 +01:00
Nils Eliasson
2f9e32256d
Merge
2015-11-13 13:31:48 +01:00
Christian Thalinger
6896030b96
8140424: don't prefix developer and notproduct flag variables with CONST_ in product builds
...
Reviewed-by: goetz, stefank
2015-11-11 16:32:17 -10:00
Vladimir Kozlov
6ed8c23581
8141624: Limit calculation of pre loop during super word optimization is wrong
...
Reviewed-by: vlivanov, kvn
2015-11-10 21:36:35 -08:00
Michael C Berg
e86e38619e
8140779: Code generation fixes for avx512
...
Assembler refactoring. Abstract away instruction attributes.
Reviewed-by: kvn, roland, iveresov
2015-11-09 11:26:41 -08:00
Jesper Wilhelmsson
1a5787d42e
Merge
2015-11-05 19:31:57 +01:00
Jan Civlin
0485593fbc
8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
...
Emit vector conditional moves
Reviewed-by: kvn
2015-10-26 19:33:31 -07:00
Nils Eliasson
5a5faf94bf
8137167: JEP165: Compiler Control: Implementation task
...
Compiler Control JEP
Reviewed-by: roland, twisti, zmajo, simonis
2015-10-20 18:07:28 +02:00
Goetz Lindenmaier
83b3b21342
8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux
...
Reviewed-by: stuefe, coleenp, roland
2015-10-22 13:07:10 -04:00
Dean Long
344a9becee
Merge
2015-10-17 19:40:30 -04:00
Jesper Wilhelmsson
7078962b9c
Merge
2015-10-15 13:28:22 +02:00
Jesper Wilhelmsson
e75e2e04f7
Merge
2015-10-07 01:03:24 +02:00
Felix Yang
12cba200a3
8138583: aarch64: add support for vectorizing fabs/fneg
...
Reviewed-by: aph, roland
2015-09-30 04:35:39 -04:00
Jan Civlin
115afda88e
8136725: Provide utility for creation a counted loop reserve copy (clone)
...
Make it easier to revert to the original loop should that be needed
Reviewed-by: kvn
2015-10-09 12:17:58 -07:00
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Roland Westrelin
f8abd0e843
8136820: Generate better code for some Unsafe addressing patterns
...
Reshape address computation to move invariant part out of loops
Reviewed-by: kvn
2015-09-17 16:53:42 +02:00
Tobias Hartmann
f298249547
8134739: compiler/loopopts/superword/TestVectorizationWithInvariant crashes in loop opts
...
Bail out of superword optimization if loop was removed (i.e., if zero-trip Opaque1Node was removed).
Reviewed-by: kvn, roland
2015-09-17 08:08:47 +02:00
Michael Berg
e75f5a5cde
8135028: support for vectorizing double precision sqrt
...
Reviewed-by: kvn, twisti
2015-09-09 10:34:17 -07:00
Goetz Lindenmaier
ad601cca0c
8131676: Fix warning 'negative int converted to unsigned' after 8085932
...
Also fix 64-bit constant added in 8076276.
Reviewed-by: kvn
2015-07-16 14:18:13 +02:00
Jan Civlin
2a4f18ccbd
8085932: Fixing bugs in detecting memory alignments in SuperWord
...
Reviewed-by: kvn
2015-07-14 09:55:22 -07:00
Vladimir Kozlov
b5284a93ce
8129920: Vectorized loop unrolling
...
Optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
2015-07-10 11:59:09 -07:00
Vladimir Kozlov
d71bb8c72b
8129893: 8129094 fix is incomplete
...
Move old and add new primitive type check.
Reviewed-by: iveresov
2015-06-30 12:12:18 -07:00
Vladimir Kozlov
d62598136b
8129094: assert(is_java_primitive(bt)) failed: only primitive type vectors
...
Ignored non-primitive type memory operation regardless its (or its inputs) control.
Reviewed-by: roland, mcberg
2015-06-18 11:09:29 -07:00
Michael Berg
7c7b91845f
8080325: SuperWord loop unrolling analysis
...
Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
2015-06-16 16:10:36 -07:00
Roland Westrelin
a3c77df5f1
8077504: Unsafe load can loose control dependency and cause crash
...
Node::depends_only_on_test() should return false for Unsafe loads
Reviewed-by: kvn, adinn
2015-05-21 13:54:07 +02:00
Tobias Hartmann
e113dfc652
8079343: Crash in PhaseIdealLoop with "assert(!had_error) failed: bad dominance"
...
C2 should not try to vectorize loops with loop variant vector base address.
Reviewed-by: kvn
2015-05-11 07:44:46 +02:00
Tobias Hartmann
43a5abc876
8078497: C2's superword optimization causes unaligned memory accesses
...
Prevent vectorization of memory operations with different invariant offsets if unaligned memory accesses are not allowed.
Reviewed-by: kvn
2015-05-08 12:19:17 +02:00
Jan Civlin
c7d33de202
8076284: Improve vectorization of parallel streams
...
Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
2015-05-05 12:33:57 -07:00
Michael C Berg
a880f3d139
8078563: Restrict reduction optimization
...
Reviewed-by: kvn, twisti
2015-04-29 15:34:04 -07:00
Vladimir Kozlov
81bb7521bd
8076523: assert(((ABS(iv_adjustment_in_bytes) % elt_size) == 0)) fails in superword.cpp
...
Check that offset % mem_oper_size == 0 when alignment is verified during vectorization.
Reviewed-by: iveresov
2015-04-02 17:16:39 -07:00
Michael C Berg
9e55e44c85
8074981: Integer/FP scalar reduction optimization
...
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
2015-04-01 18:07:50 -07:00
Vladimir Kozlov
7764490363
8052081: Optimize generated by C2 code for Intel's Atom processor
...
Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland
2014-08-05 15:02:10 -07:00
Tobias Hartmann
70a55eac34
8054033: Remove unused references to Compile*
...
Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Tobias Hartmann
2a0815a55e
8034812: remove IDX_INIT macro hack in Node class
...
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.
Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Vladimir Kozlov
26de6296e0
8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
...
Add missing is_mem() check when we collect load nodes in SuperWord::co_locate_pack().
Reviewed-by: iveresov
2014-04-22 17:45:56 -07:00
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Niclas Adlertz
94a86285a7
8010500: [parfait] Possible null pointer dereference at hotspot/src/share/vm/opto/loopnode.hpp
...
Added NULL check for loopnode() in get_pre_loop_end()
Reviewed-by: kvn, roland
2014-02-26 07:46:46 +01:00
Mikael Vidstedt
a0da47fd66
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
...
Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00