consistent naming of passes....

Basile Starynkevitch basile@starynkevitch.net
Wed Aug 27 18:29:00 GMT 2014


Hello all,

When I compile some file (precisely, the gcc/melt-runtime.cc from the latest melt branch) with -O1 -fdump-passes (using GCC 4.9) I'm getting
notably

   ipa-cp                                              :  OFF
   ipa-cdtor                                           :  OFF
   ipa-inline                                          :  ON
   ipa-pure-const                                      :  ON
   ipa-static-var                                      :  ON
   ipa-pta                                             :  OFF
   ipa-simdclone                                       :  OFF
   *free_cfg_annotations                               :  ON

However, in file gcc/ipa-inline.c there is

const pass_data pass_data_ipa_inline =
{
  IPA_PASS, /* type */
  "inline", /* name */
  OPTGROUP_INLINE, /* optinfo_flags */
  false, /* has_gate */
  true, /* has_execute */
  TV_IPA_INLINING, /* tv_id */

I find strange that the two names (the one given by -fdump-passes and the one in the pass_data_ipa_inline object) are different.

When I try to insert a plugin pass (actually in MELT, file gcc/melt/xtramelt-ana-simple.melt) named "inline" it gives:

cc1plus: fatal error: pass 'inline' not found but is referenced by new pass 'melt_justcountipa'

If I use "ipa-inline" I'm getting
cc1plus: fatal error: pass 'ipa-inline' not found but is referenced by new pass 'melt_justcountipa'

How should a plugin writer find the name of the reference pass to insert his own new pass? At the very least it should be documented, and preferably it should be identical to output of -fdump-passes

Regards.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***



More information about the Gcc mailing list