Richard Biener writes:
> On Mon, Dec 5, 2022 at 7:07 PM Jeff Law via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: >> >> >> >> On 12/2/22 10:52, Cupertino Miranda via Gcc-patches wrote: >> > Changed target code to select .rodata section for 'const volatile' >> > defined variables. >> > This change is in the context of the bugzilla #170181. >> > >> > gcc/ChangeLog: >> > >> > v850.c(v850_select_section): Changed function. >> I'm not sure this is safe/correct. ISTM that you need to look at the >> underlying TREE_TYPE to check for const-volatile rather than >> TREE_SIDE_EFFECTS. > > Just to quote tree.h: > > /* In any expression, decl, or constant, nonzero means it has side effects or > reevaluation of the whole expression could produce a different value. > This is set if any subexpression is a function call, a side effect or a > reference to a volatile variable. In a ..._DECL, this is set only if the > declaration said `volatile'. This will never be set for a constant. */ > #define TREE_SIDE_EFFECTS(NODE) \ > (NON_TYPE_CHECK (NODE)->base.side_effects_flag) > > so if exp is a decl then that's the volatile check. > Thank you Richard for the review. Jeff: Can you please let me know if Richard comments reply to your concerns? Cupertino >> Of secondary importance is the ChangeLog. Just saying "Changed >> function" provides no real information. Something like this would be >> better: >> >> * config/v850/v850.c (v850_select_section): Put const volatile >> objects into read-only sections. >> >> >> Jeff >> >> >> >> >> > --- >> > gcc/config/v850/v850.cc | 1 - >> > 1 file changed, 1 deletion(-) >> > >> > diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc >> > index c7d432990ab..e66893fede4 100644 >> > --- a/gcc/config/v850/v850.cc >> > +++ b/gcc/config/v850/v850.cc >> > @@ -2865,7 +2865,6 @@ v850_select_section (tree exp, >> > { >> > int is_const; >> > if (!TREE_READONLY (exp) >> > - || TREE_SIDE_EFFECTS (exp) >> > || !DECL_INITIAL (exp) >> > || (DECL_INITIAL (exp) != error_mark_node >> > && !TREE_CONSTANT (DECL_INITIAL (exp))))