Code size regressions, mainline+branch

Jan Hubicka jh@suse.cz
Sun Mar 24 09:22:00 GMT 2002


HI,
it looks like we do have important regression in code size (69->82Kb and
82->120Kb on gzip) in mainline and branch around 15th and 20th, see
http://www.suse.de/~aj/SPEC Digging the changelogs pointed me to the following
hunks:

Regression 1:

+ 2002-03-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* toplev.c (wrapup_global_declarations): Clarify variable handling.
+ 	-fkeep-static-consts doesn't apply to comdats.
+ 
+ 2002-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c: Include c-pragma.h.
+ 	(start_decl, start_function): Invoke maybe_apply_pragma_weak.
+ 	(finish_function): Tidy.
+ 	* c-pragma.c: Include c-common.h.
+ 	(pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
+ 	(handle_pragma_weak): Use them.
+ 	(init_pragma): Register pending_weaks.
+ 	* c-pragma.h (maybe_apply_pragma_weak): Declare.
+ 	* print-tree.c (print_node): Print DECL_WEAK.
+ 	* varasm.c (mark_weak_decls): Remove.
+ 	(remove_from_pending_weak_list): Remove.
+ 	(add_weak): Remove.
+ 	(asm_emit_uninitialised): Call globalize_decl for weak commons.
+ 	(weak_decls): Make a tree_list.
+ 	(declare_weak): Cons weak_decls directly.
+ 	(globalize_decl): Remove weak_decls elements directly.
+ 	(weak_finish): Simplify weak_decls walk.  Don't weaken unused
+ 	symbols.  Don't pretend to handle aliases.
+ 	(init_varasm_once): Update weak_decls registry.
+ 	* Makefile.in: Update dependencies.
+ 
+ 2002-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5312
+ 	* config/ia64/ia64.c: Include tm_p.h last.
+ 	(gen_nop_type): Remove duplicate definition.
+ 	(cycle_end_fill_slots): Set sched_data for second L slot.
+ 	(maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
+ 	(nop_cycles_until): Fix typos.
+ 
+ 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5891
+ 	* unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
+ 

Regression 2:

+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (EH_USES): Provide default.
+ 	(calculate_global_regs_live): Use it for EH edges and noreturn calls.
+ 	* doc/tm.texi (EH_USES): New.
+ 
+ 	* config/ia64/ia64.c (ia64_eh_uses): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.h (EH_USES): New.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (output_constant_def): Fix stupid typo.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 5879
+ 	* except.c (current_function_has_exception_handlers): New.
+ 	* except.h: Declare it.
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
+ 	Combine tests that disable all sibcalls for the function.
+ 
+ 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
+ 	for INTEGER_CST.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 5977, 5991
+ 	* config/ia64/ia64.c: Revert 2002-03-01 patch.
+ 	* config/ia64/ia64.h (INIT_EXPANDERS): New.
+ 
+ 2002-03-19  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* cppmacro.c (cpp_macro_definition): Emit a space after the macro
+ 	name, even if the replacement list contains no tokens, as required
+ 	by Dwarf.
+ 
+ 2002-03-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* varasm.c (globalize_decl): Get the name from the RTL, not
+ 	DECL_ASSEMBLER_NAME.
+ 
+ 	* Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
+ 
+ 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
+ 	subdi_carry): Define.
+ 
+ 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Only warn
+ 	about -fpic/-fPIC if extra_warnings set.
+ 
+ 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (expand_expr): Sign-extend CONST_INT generated from
+ 	TREE_STRING_POINTER.
+ 	* fold-const.c (fold): Delete #if 0 ARRAY_REF case.
+ 
+ Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
+ 	in favor of SP if FRAME_POINTER_REQUIRED is false.
+ 
+ 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* emit-rtl.c (gen_int_mode): New function.
+ 	* rtl.h: Prototype for it.
+ 	* combine.c (make_extraction, simplify_comparison), expmed.c
+ 	(store_bit_field, expand_mult_highpart, expand_divmod), expr.c
+ 	(convert_modes, store_field), optabs.c (expand_fix),
+ 	simplify-rtx.c (neg_const_int, simplify_unary_real),
+ 
+ 	* config/rs6000/rs6000.c, config/rs6000/rs6000.md:
+ 	Use it instead of GEN_INT (trunc_int_for_mode (...)).
+ 

Does someone have idea about the real purpose of these changes? Doubling iimage
size is not good

Honza



More information about the Gcc mailing list