This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, stage1] Make parloops gate more strict


On 13-03-15 13:36, Richard Biener wrote:
On Fri, Mar 13, 2015 at 1:07 PM, Jakub Jelinek <jakub@redhat.com> wrote:
On Fri, Mar 13, 2015 at 01:04:57PM +0100, Richard Biener wrote:
Not really (I don't like -fdump-passes ...), but we need to make sure
that -fdump-passes doesn't crash (because it runs very early and
with cfun == NULL I think)

If it runs with cfun == NULL, then supposedly the gates that are dependent
on current function should for -fdump-passes purposes also return true
if cfun == NULL (well, of course do all the unconditional checks).
Though of course, with optimize/target attributes this is harder, as
different functions can use different options.

Yes, one reason why I think -fdump-passes is just broken implementation-wise.


Atm fdump-passes doesn't run with cfun == NULL.

From pass_manager::dump_passes:
...
  FOR_EACH_FUNCTION (n)
    if (DECL_STRUCT_FUNCTION (n->decl))
      {
       	node = n;
        break;
      }

  if (!node)
    return;

  push_cfun (DECL_STRUCT_FUNCTION (node->decl));
...

This was discussed here: https://gcc.gnu.org/ml/gcc-patches/2011-06/msg00856.html

Thanks,
- Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]