aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.compile/static_2.java
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2026-02-09 09:04:05 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2026-02-09 09:06:01 -0500
commit1900dcf5521c9b2b734eb3b805eb23b066b988c1 (patch)
treee92ef8aee0166d5156f88be761cbea9d50819379 /libjava/testsuite/libjava.compile/static_2.java
parent2a1220a4a02033fe3c4a8cb6e27d1e0646bf2040 (diff)
downloadgcc-1900dcf5521c9b2b734eb3b805eb23b066b988c1.zip
gcc-1900dcf5521c9b2b734eb3b805eb23b066b988c1.tar.gz
gcc-1900dcf5521c9b2b734eb3b805eb23b066b988c1.tar.bz2
[PR123796, LRA]: Propagate pointer flag from the equivalence target
Some targets can use pointer (frame related) flag to generate the correct code and improve the code. Substitution of equivalence in an insn and reloading it resulted in loosing pointer flag of the original equivalence target in the reload register. The patch solves this problem by using set of equivalences whose original targets have the pointer flags and propagating this flag to equivalence copies and reload registers. gcc/ChangeLog: PR rtl-optimization/123796 * lra-int.h (lra_pointer_equiv_set_add): Add prototype. (lra_pointer_equiv_set_in, lra_finish_equiv): Ditto. * lra.cc (lra_emit_move): Set up pointer flag of the destination if necessary. (lra): Call lra_finish_equiv. * lra-constraints.cc: Include hash-set.h. (pointer_equiv_set, lra_pointer_equiv_set_add): New. (lra_pointer_equiv_set_in, lra_finish_equiv): New. (get_equiv_with_elimination): Propagate pointer flag by adding to pointer_equiv_set. (process_addr_reg, curr_insn_transform): Ditto.
Diffstat (limited to 'libjava/testsuite/libjava.compile/static_2.java')
0 files changed, 0 insertions, 0 deletions