After merging `TestRedundantLea.java` into valhalla it turned out that the `StringInflate` and `StoreN*` subtests fail. This PR fixes that by bringing over two commits from mainline that fix problems with this test, which already fixes `StringInflate`.
The problem with the `StoreN` cases is that with valhalla C2 does not generate spills that the peephole can remove. To still test removing spills I came up with a new test case specifically for spills. Testing: - [x] tier1,tier2 plus some stress testing ------------- Commit messages: - Fix TestRedundantLea an un-problem-list - Unproblemlist TestRedundantLea#InflateString - 8360175: C2 crash: assert(edge_from_to(prior_use,n)) failed: before block local scheduling - 8361040: compiler/codegen/TestRedundantLea.java#StringInflate fails with failed IR rules Changes: https://git.openjdk.org/valhalla/pull/1605/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1605&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8367518 Stats: 102 lines in 3 files changed: 47 ins; 35 del; 20 mod Patch: https://git.openjdk.org/valhalla/pull/1605.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1605/head:pull/1605 PR: https://git.openjdk.org/valhalla/pull/1605
