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]

new timevars


Hi,
the time of these common analysis is attributed to various passes making
it dificult to figure out what really is eating the time.

Honza

Sat Feb 22 12:53:13 CET 2003  Jan Hubicka  <jh at suse dot cz>
	* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
	* alias.c: Include timevar.h
	(init_alias_analysis):  Set timevar
	* jump.c: Include timevar.h
	(rebuild_jump_labels):  Set timevar
	* regcalss.c: Include timevar.h
	(reg_scan):  Set timevar
	* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1000
diff -c -3 -p -r1.1000 Makefile.in
*** Makefile.in	22 Feb 2003 10:02:25 -0000	1.1000
--- Makefile.in	22 Feb 2003 11:52:06 -0000
*************** integrate.o : integrate.c $(CONFIG_H) $(
*** 1526,1532 ****
     $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h gt-integrate.h
  jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
     hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h function.h \
!    toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H)
  
  simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(REGS_H) hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
--- 1526,1532 ----
     $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h gt-integrate.h
  jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
     hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h function.h \
!    toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H)
  
  simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(REGS_H) hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
*************** combine.o : combine.c $(CONFIG_H) $(SYST
*** 1620,1626 ****
     $(BASIC_BLOCK_H) $(RECOG_H) real.h hard-reg-set.h toplev.h $(TM_P_H)
  regclass.o : regclass.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     hard-reg-set.h flags.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h $(RECOG_H) reload.h \
!    real.h toplev.h function.h output.h $(GGC_H) $(TM_P_H) $(EXPR_H)
  local-alloc.o : local-alloc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     flags.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
     output.h function.h $(INSN_ATTR_H) toplev.h  except.h $(TM_P_H)
--- 1620,1626 ----
     $(BASIC_BLOCK_H) $(RECOG_H) real.h hard-reg-set.h toplev.h $(TM_P_H)
  regclass.o : regclass.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     hard-reg-set.h flags.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h $(RECOG_H) reload.h \
!    real.h toplev.h function.h output.h $(GGC_H) $(TM_P_H) $(EXPR_H) $(TIMEVAR_H)
  local-alloc.o : local-alloc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     flags.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
     output.h function.h $(INSN_ATTR_H) toplev.h  except.h $(TM_P_H)
*************** reorg.o : reorg.c $(CONFIG_H) $(SYSTEM_H
*** 1661,1667 ****
  alias.o : alias.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
     hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) toplev.h output.h $(EXPR_H) \
     $(GGC_H) function.h cselib.h $(TREE_H) $(TM_P_H) langhooks.h $(TARGET_H) \
!    gt-alias.h
  regmove.o : regmove.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-config.h \
     $(RECOG_H) output.h $(REGS_H) hard-reg-set.h flags.h function.h \
     $(EXPR_H) $(BASIC_BLOCK_H) toplev.h $(TM_P_H) except.h reload.h
--- 1661,1667 ----
  alias.o : alias.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
     hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) toplev.h output.h $(EXPR_H) \
     $(GGC_H) function.h cselib.h $(TREE_H) $(TM_P_H) langhooks.h $(TARGET_H) \
!    gt-alias.h $(TIMEVAR_H)
  regmove.o : regmove.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-config.h \
     $(RECOG_H) output.h $(REGS_H) hard-reg-set.h flags.h function.h \
     $(EXPR_H) $(BASIC_BLOCK_H) toplev.h $(TM_P_H) except.h reload.h
Index: alias.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/alias.c,v
retrieving revision 1.186
diff -c -3 -p -r1.186 alias.c
*** alias.c	18 Jan 2003 02:26:39 -0000	1.186
--- alias.c	22 Feb 2003 11:52:06 -0000
*************** Software Foundation, 59 Temple Place - S
*** 39,44 ****
--- 39,45 ----
  #include "splay-tree.h"
  #include "ggc.h"
  #include "langhooks.h"
+ #include "timevar.h"
  #include "target.h"
  
  /* The alias sets assigned to MEMs assist the back-end in determining
*************** init_alias_analysis ()
*** 2745,2750 ****
--- 2746,2753 ----
    unsigned int ui;
    rtx insn;
  
+   timevar_push (TV_ALIAS_ANALYSIS);
+ 
    reg_known_value_size = maxreg;
  
    reg_known_value
*************** init_alias_analysis ()
*** 2950,2955 ****
--- 2953,2959 ----
    new_reg_base_value = 0;
    free (reg_seen);
    reg_seen = 0;
+   timevar_pop (TV_ALIAS_ANALYSIS);
  }
  
  void
Index: jump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/jump.c,v
retrieving revision 1.217
diff -c -3 -p -r1.217 jump.c
*** jump.c	22 Feb 2003 05:35:27 -0000	1.217
--- jump.c	22 Feb 2003 11:52:06 -0000
*************** Software Foundation, 59 Temple Place - S
*** 53,58 ****
--- 53,59 ----
  #include "toplev.h"
  #include "reload.h"
  #include "predict.h"
+ #include "timevar.h"
  
  /* Optimize jump y; x: ... y: jumpif... x?
     Don't know if it is worth bothering with.  */
*************** rebuild_jump_labels (f)
*** 82,87 ****
--- 83,89 ----
  {
    rtx insn;
  
+   timevar_push (TV_REBUILD_JUMP);
    init_label_info (f);
    mark_all_labels (f);
  
*************** rebuild_jump_labels (f)
*** 92,97 ****
--- 94,100 ----
    for (insn = forced_labels; insn; insn = XEXP (insn, 1))
      if (GET_CODE (XEXP (insn, 0)) == CODE_LABEL)
        LABEL_NUSES (XEXP (insn, 0))++;
+   timevar_pop (TV_REBUILD_JUMP);
  }
  
  /* Some old code expects exactly one BARRIER as the NEXT_INSN of a
Index: regclass.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/regclass.c,v
retrieving revision 1.169
diff -c -3 -p -r1.169 regclass.c
*** regclass.c	3 Feb 2003 00:31:53 -0000	1.169
--- regclass.c	22 Feb 2003 11:52:06 -0000
*************** Software Foundation, 59 Temple Place - S
*** 43,48 ****
--- 43,49 ----
  #include "toplev.h"
  #include "output.h"
  #include "ggc.h"
+ #include "timevar.h"
  
  #ifndef REGISTER_MOVE_COST
  #define REGISTER_MOVE_COST(m, x, y) 2
*************** reg_scan (f, nregs, repeat)
*** 2338,2343 ****
--- 2339,2346 ----
    max_parallel = 3;
    max_set_parallel = 0;
  
+   timevar_push (TV_REG_SCAN);
+ 
    for (insn = f; insn; insn = NEXT_INSN (insn))
      if (GET_CODE (insn) == INSN
  	|| GET_CODE (insn) == CALL_INSN
*************** reg_scan (f, nregs, repeat)
*** 2353,2358 ****
--- 2356,2363 ----
        }
  
    max_parallel += max_set_parallel;
+ 
+   timevar_pop (TV_REG_SCAN);
  }
  
  /* Update 'regscan' information by looking at the insns
Index: timevar.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/timevar.def,v
retrieving revision 1.17
diff -c -3 -p -r1.17 timevar.def
*** timevar.def	27 Jan 2003 02:22:21 -0000	1.17
--- timevar.def	22 Feb 2003 11:52:06 -0000
*************** DEFTIMEVAR (TV_DELETE_TRIVIALLY_DEAD , "
*** 47,52 ****
--- 47,56 ----
  /* Time spent by life analysis.  */
  DEFTIMEVAR (TV_LIFE		     , "life analysis")
  DEFTIMEVAR (TV_LIFE_UPDATE	     , "life info update")
+ 
+ DEFTIMEVAR (TV_ALIAS_ANALYSIS	     , "alias analysis")
+ DEFTIMEVAR (TV_REG_SCAN		     , "register scan")
+ DEFTIMEVAR (TV_REBUILD_JUMP	     , "rebuild jump labels")
  /* Timing in various stages of the compiler.  */
  DEFTIMEVAR (TV_CPP		     , "preprocessing")
  DEFTIMEVAR (TV_LEX		     , "lexical analysis")


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