RFR: 8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture

Daniel Skantz duke at openjdk.org
Wed Sep 27 06:20:47 UTC 2023


This PR adds support for platform features in IR Framework preconditions. This allows us to write platform-specific IR checks in the same .java test file.

Platforms considered in this PR are: operating system, arch, and data model (32 or 64-bit VM). Supported field values correspond to vm.simpleArch, os.family, and vm.bits, as used in jtreg `@requires` fields. We use the Platform library methods to accomplish this. Otherwise, the new preconditions work similar to the corresponding CPUFeature preconditions.

Testing: T1-T3, GHA.

Additional testing: Tweaked SW test succeeds with removed `@requires` field and added IR platform precondition, but fails with just removed `@requires` field on 32-bit Linux. Performed a few spot tests with incorrectly formatted preconditions, and with valid platform checks but invalid counts.

-------------

Commit messages:
 - small tweak
 - update README.md. Tweak test.
 - comment
 - Use Platform methods in checkPlatformFeature
 - whitespace; tweak verified list using vm.simpleArch; put platform features before cpu features; lint new test; tweak tests.
 - tweak test
 - rebase
 - typo
 - rebased

Changes: https://git.openjdk.org/jdk/pull/15938/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15938&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8280120
  Stats: 255 lines in 6 files changed: 253 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/15938.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15938/head:pull/15938

PR: https://git.openjdk.org/jdk/pull/15938


More information about the hotspot-compiler-dev mailing list