> Hi all,
> This patch adds a new pass to consolidate lowering of complex 
> backend-specific code patterns, such as `MacroLogicV` and the optimization 
> proposed by #21244. Moving these optimizations to backend code can simplify 
> shared code, while also making it easier to develop more in-depth 
> optimizations. The linked bug has an example of a new optimization this could 
> enable. The new phase does GVN to de-duplicate nodes and calls nodes' 
> `Value()` method, but it does not call `Identity()` or `Ideal()` to avoid 
> undoing any changes done during lowering. It also reuses the IGVN worklist to 
> avoid needing to re-create the notification mechanism.
> 
> In this PR only the skeleton code for the pass is added, moving `MacroLogicV` 
> to this system will be done separately in a future patch. Tier 1 tests pass 
> on my linux x64 machine. Feedback on this patch would be greatly appreciated!

Jasmine Karthikeyan has updated the pull request incrementally with one 
additional commit since the last revision:

  Address some changes from code review

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21599/files
  - new: https://git.openjdk.org/jdk/pull/21599/files/0ce85525..7fbc4509

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21599&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21599&range=00-01

  Stats: 27 lines in 9 files changed: 12 ins; 2 del; 13 mod
  Patch: https://git.openjdk.org/jdk/pull/21599.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21599/head:pull/21599

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

Reply via email to