diff options
author | Martin Jambor <mjambor@suse.cz> | 2024-11-14 14:42:27 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2024-11-14 14:42:59 +0100 |
commit | da29560711b2a66b26738caf46dbf67d3f7cff85 (patch) | |
tree | a3dd843aad5ee0fe60905e7f47446833f96ae2bd /gcc/ipa-prop.h | |
parent | 20faea418d580d4db99aa5293c976ab16867aca5 (diff) | |
download | gcc-da29560711b2a66b26738caf46dbf67d3f7cff85.zip gcc-da29560711b2a66b26738caf46dbf67d3f7cff85.tar.gz gcc-da29560711b2a66b26738caf46dbf67d3f7cff85.tar.bz2 |
ipa-cp: Fix constant dumping
Commit gcc-14-5368-ge0787da2633 removed an overloaded variant of
function print_ipcp_constant_value for tree constants. That did not
break build because the other overloaded variant for polymorphic
contexts-has a parameter which is constructible from a tree, but it
prints polymorphic contexts, not tree constants, so we in dumps we got
things like:
param [0]: VARIABLE
ctxs: VARIABLE
Bits: value = 0x0, mask = 0xfffffffffffffffc
[prange] struct S * [1, +INF] MASK 0xfffffffffffffffc VALUE 0x0
ref offset 0: nothing known [scc: 1, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
ref offset 32: nothing known [scc: 2, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
ref offset 64: nothing known [scc: 3, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
instead of:
param [0]: VARIABLE
ctxs: VARIABLE
Bits: value = 0x0, mask = 0xfffffffffffffffc
[prange] struct S * [1, +INF] MASK 0xfffffffffffffffc VALUE 0x0
ref offset 0: 1 [scc: 1, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
ref offset 32: 64 [scc: 2, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
ref offset 64: 32 [scc: 3, from: 1(1.000000)] [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
This commit re-adds the needed overloaded variant though it uses the
printing function added in the aforementioned commit instead of
printing it itself.
gcc/ChangeLog:
2024-11-13 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (ipa_print_constant_value): Declare.
* ipa-prop.cc (ipa_print_constant_value): Make public.
* ipa-cp.cc (print_ipcp_constant_value): Re-add this overloaded
function for printing tree constants.
gcc/testsuite/ChangeLog:
2024-11-14 Martin Jambor <mjambor@suse.cz>
* gcc.dg/ipa/ipcp-agg-1.c: Add a scan dump for a constant value in
the latice dump.
Diffstat (limited to 'gcc/ipa-prop.h')
-rw-r--r-- | gcc/ipa-prop.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 7a05c16..a9ef3fe 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -1179,6 +1179,7 @@ ipcp_get_transformation_summary (cgraph_node *node) /* Function formal parameters related computations. */ void ipa_initialize_node_params (struct cgraph_node *node); +void ipa_print_constant_value (FILE *f, tree val); bool ipa_propagate_indirect_call_infos (struct cgraph_edge *cs, vec<cgraph_edge *> *new_edges); |