1. 11 Jan, 2011 1 commit
    • re PR lto/45721 (ICE: in function_and_variable_visibility, at ipa.c:673 with -flto) · 6e701822
      	PR lto/45721
      	PR lto/45375
      	* tree.h (symbol_alias_set_t): Move typedef here from varasm.c
      	(symbol_alias_set_destroy, symbol_alias_set_contains,
      	propagate_aliases_backward): Declare.
      	* lto-streamer-out.c (struct sets): New sturcture.
      	(trivally_defined_alias): New function.
      	(output_alias_pair_p): Rewrite.
      	(output_unreferenced_globals): Fix output of alias pairs.
      	(produce_symtab): Likewise.
      	* ipa.c (function_and_variable_visibility): Set weak alias destination
      	as needed in lto.
      	* varasm.c (symbol_alias_set_t): Remove.
      	(symbol_alias_set_destroy): Export.
      	(propagate_aliases_forward, propagate_aliases_backward): New functions
      	based on ...
      	(compute_visible_aliases): ... this one; remove.
      	(trivially_visible_alias): New
      	(trivially_defined_alias): New.
      	(remove_unreachable_alias_pairs): Rewrite.
      	(finish_aliases_1): Reorganize code checking if alias is defined.
      	* passes.c (rest_of_decl_compilation): Do not call assemble_alias when
      	in LTO mode.
      
      	* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs are
      	not partitioned.
      
      	* testsuite/gcc.dg/lto/pr45721_1.c: New file.
      	* testsuite/gcc.dg/lto/pr45721_0.c: New file.
      
      From-SVN: r168666
      Jan Hubicka committed
  2. 03 Jan, 2011 1 commit
  3. 22 Dec, 2010 1 commit
    • c-aux-info.c (gen_formal_list_for_type): Use prototype_p. · f4da8dce
      gcc/
      	* c-aux-info.c (gen_formal_list_for_type): Use prototype_p.
      	* c-decl.c (diagnose_arglist_conflict): Likewise.
      	(diagnose_mismatched_decls, merge_decls): Likewise.
      	(c_builtin_function, c_builtin_function_ext_scope): Likewise.
      	(start_decl, start_function): Likewise.
      	* c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise.
      	* config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise.
      	* config/mep/mep.c (mep_validate_interrupt): Likewise.
      	* config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise.
      	* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
      	* config/sh/sh.c (sh_init_cumulative_args): Likewise.
      	* config/sparc/sparc.c (init_cumulative_args): Likewise.
      	* dwarf2out.c (add_prototyped_attribute): Likewise.
      	(gen_subprogram_die): Likewise.
      	* ipa-type-escape.c (check_function_parameter_and_return_types):
      	Likewise.
      	(check_call): Likewise.
      	* tree-ssa.c (useless_type_conversion_p): Likewise.
      
      gcc/ada/
      	* gcc-interface/utils.c (handle_nonnull_attribute): Use prototype_p.
      	(handle_sentinel_attribute): Likewise.
      
      gcc/c-family/
      	* c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
      	Use prototype_p.
      
      gcc/cp/
      	* decl.c (decls_match, duplicate_decls): Use prototype_p.
      	* pt.c (push_template_decl_real): Likewise.
      
      gcc/lto/
      	* lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
      	Use prototype_p.
      
      gcc/objc/
      	* objc-act.c (next_sjlj_build_enter_and_setjmp): Use prototype_p.
      
      From-SVN: r168181
      Nathan Froyd committed
  4. 06 Dec, 2010 1 commit
  5. 30 Nov, 2010 2 commits
    • hwint.c: New. · c59ffc41
      	* hwint.c:  New.  Extracted from toplev.c.
      	* hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
      	Move from toplev.h.
      	* toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
      	Move to hwint.c.
      	* toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
      	Move to hwint.h.
      	* builtins.c, combine.c, config/i386/winnt.c, double-int.c,
      	explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
      	ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
      	real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
      	stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
      	tree-ssa-loop-niter.c, tree-vect-data-refs.c,
      	tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
      	tree-vrp.c: Don't include toplev.h.
      	* genattrtab.c, genconditions.c, genemit.c, genextract.c,
      	genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
      	toplev.h in generated output.
      	* Makefile.in (OBJS-common): Add hwint.o.
      	Dependencies for above files changed to remove toplev.h.
      	(hwint.o): New.
      	(insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
      	insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on
      	toplev.h.
      	* config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
      	* config/i386/t-interix (winnt.o): Don't depend on toplev.h.
      
      fortran:
      	* trans-common.c: Don't include toplev.h.
      
      java:
      	* boehm.c: Don't include toplev.h.
      	* Make-lang.in (java/boehm.o): Don't depend on toplev.h.
      
      lto:
      	* lto-object.c: Don't include toplev.h.
      	* Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
      
      From-SVN: r167301
      Joseph Myers committed
    • diagnostic-core.h: Include bversion.h. · 7c475d11
      	* diagnostic-core.h: Include bversion.h.
      	* toplev.h: Don't include input.h or bversion.h.
      	(parse_optimize_options): Don't declare here.
      	* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
      	caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
      	combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
      	config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/host-mingw32.c, config/i386/msformat-c.c,
      	config/i386/netware.c, config/i386/nwld.c,
      	config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
      	config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
      	config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
      	config/score/score3.c, config/score/score7.c,
      	config/sh/symbian-base.c, config/sh/symbian-c.c,
      	config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
      	config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
      	cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
      	fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
      	graphite-blocking.c, graphite-clast-to-gimple.c,
      	graphite-dependences.c, graphite-flattening.c,
      	graphite-interchange.c, graphite-poly.c,
      	graphite-scop-detection.c, graphite.c, haifa-sched.c,
      	implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
      	ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
      	lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
      	lto-opts.c, lto-section-in.c, lto-section-out.c,
      	lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
      	params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
      	regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
      	sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
      	sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
      	tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
      	tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
      	tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
      	tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
      	tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
      	tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
      	include toplev.h.
      	* Makefile.in (TOPLEV_H): Remove.  All uses changed to use
      	toplev.h.  Dependencies for above files and c-family files changed
      	to remove $(TOPLEV_H) or toplev.h.
      	(C_TREE_H): Don't include $(TOPLEV_H).
      	(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
      	bversion.h.
      	* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
      	config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
      	config/t-darwin, config/t-sol2,
      	config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
      	Dependencies for above files changed to remove $(TOPLEV_H) or
      	toplev.h.
      
      c-family:
      	* c-common.h (parse_optimize_options): Declare.
      	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
      	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
      
      cp:
      	* cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c,
      	except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c,
      	optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include
      	toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      java:
      	* expr.c, lang.c, mangle.c, mangle_name.c, typeck.c,
      	verify-glue.c: Don't include toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      lto:
      	* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
      	$(TOPLEV_H).
      
      From-SVN: r167293
      Joseph Myers committed
  6. 29 Nov, 2010 1 commit
    • system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. · 71f3e391
      	* system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
      	Include <signal.h>, <sys/mman.h>, <sys/resource.h> and
      	<sys/times.h>.
      	(O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
      	Conditionally define.
      	(GET_ENVIRONMENT): Poison.
      	* configure.ac: Don't test for mincore.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* collect2-aix.c: Don't include <sys/mman.h>.
      	* collect2.c: Don't include <signal.h>.
      	(SIGCHLD): Don't define.
      	(prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
      	* config/alpha/alpha.c: Include "splay-tree.h" instead of
      	<splay-tree.h>.
      	* config/arm/arm.c (arm_target_help): Use getenv instead of
      	GET_ENVIRONMENT.
      	* config/avr/driver-avr.c: Don't include <stdlib.h>.
      	* config/frv/frv.c: Don't include <ctype.h>.
      	* config/host-darwin.c: Don't include <sys/mman.h>.
      	* config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
      	(MAP_FAILED): Don't define.
      	* config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
      	* config/host-solaris.c: Don't include <sys/mman.h>.
      	* config/i386/cygming.h: Don't include <stdio.h>.
      	* config/i386/driver-i386.c: Don't include <stdlib.h>.
      	* config/i386/host-cygwin.c: Don't include <sys/mman.h>.
      	* config/iq2000/iq2000.c: Don't include <signal.h>.
      	* config/m32c/m32c-pragma.c: Don't include <stdio.h>.
      	* config/m68hc11/m68hc11.c: Don't include <stdio.h>.
      	* config/mep/mep-pragma.c: Don't include <stdio.h>.
      	* config/microblaze/microblaze.c: Don't include <signal.h>.
      	* config/mips/mips.c: Don't include <signal.h>.
      	* config/rs6000/host-darwin.c: Don't include <signal.h>.
      	* cppdefault.c (cpp_relocated): Use getenv instead of
      	GET_ENVIRONMENT.
      	* defaults.h (GET_ENVIRONMENT): Don't define.
      	* et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
      	* gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
      	(SIGCHLD, MAP_FAILED, kill): Don't define.
      	(process_command): Use getenv instead of GET_ENVIRONMENT.
      	* genhooks.c: Don't include <string.h>.
      	* ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
      	<sys/types.h>.
      	(MAP_FAILED): Don't define.
      	* ggc-page.c Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* ggc-zone.c: Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* graph.c: Include "config.h" instead of <config.h>.
      	* incpath.c (add_env_var_paths): Use getenv instead of
      	GET_ENVIRONMENT.
      	* lto-wrapper.c: Don't include <errno.h>, <signal.h> or
      	"libiberty.h".
      	(SIGCHLD, kill): Don't define.
      	* mips-tfile.c: Don't include <signal.h>.
      	* opts.c: Don't include <signal.h> or <sys/resource.h>.
      	(print_specific_help): Use getenv instead of GET_ENVIRONMENT.
      	* passes.c: Don't include <signal.h>, <sys/resource.h> or
      	<sys/times.h>.
      	* sparseset.h: Don't include <assert.h>.
      	* timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
      	* tlink.c: Don't include "libiberty.h".
      	* toplev.c: Don't include <signal.h> or <sys/times.h>.
      	* tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
      	* tree-switch-conversion.c: Don't include <signal.h>.
      	* vmsdbgout.c: Don't include <errno.h> or <string.h>.
      
      c-family:
      	* c-opts.c (check_deps_environment_vars): Use getenv instead of
      	GET_ENVIRONMENT.
      	* c-pch.c (O_BINARY): Don't define here.
      	* c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
      
      fortran:
      	* gfortran.h (alloca): Don't include definitions.
      	(NULL): Don't define.
      
      java:
      	* boehm.c: Include "config.h" instead of <config.h>.
      	* builtins.c: Don't include <stdarg.h>.
      	* class.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* jcf-depend.c: Don't include <assert.h>.
      	(jcf_dependency_set_dep_file, jcf_dependency_init,
      	jcf_dependency_write): Use gcc_assert.
      	* jcf-io.c (O_BINARY): Don't define here.
      	* jcf-path.c: Don't include "tm.h".
      	(jcf_path_init): Use getenv instead of GET_ENVIRONMENT.
      	* resource.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* verify-impl.c: Don't include <stdio.h>.
      
      lto:
      	* lto-endian.h: Delete.
      	* lto-object.c: Don't include "libiberty.h".
      	(O_BINARY): Don't define.
      	* lto.c: Don't include "libiberty.h" or <sys/mman.h>.
      	(O_BINARY): Don't define.
      
      From-SVN: r167241
      Joseph Myers committed
  7. 24 Nov, 2010 2 commits
    • revert accidentally committed changes · a3c1f9ef
      From-SVN: r167130
      Nathan Froyd committed
    • cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__… · a3abe41c
      cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
      
      gcc/
      	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
      	__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
      	* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
      	* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
      	* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
      
      libgcc/
      	* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
      	__FLOAT_WORD_ORDER__.
      	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
      	Delete.
      
      libdecnumber/
      	* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
      	(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.
      
      From-SVN: r167129
      Nathan Froyd committed
  8. 23 Nov, 2010 2 commits
  9. 17 Nov, 2010 2 commits
    • invoke.texi (-dy): Remove. · b37421c6
      	* doc/invoke.texi (-dy): Remove.
      	* langhooks-def.h (lhd_do_nothing_i): Don't declare.
      	(LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
      	* langhooks.c (lhd_do_nothing_i): Remove.
      	* langhooks.h (lang_hooks.parse_file): Take no arguments.
      	* toplev.c (set_yydebug): Remove.
      	(compile_file): Update call to lang_hooks.parse_file.
      	(decode_d_option): Don't handle -dy.
      
      ada:
      	* gcc-interface/misc.c (gnat_parse_file): Take no arguments.
      
      c-family:
      	* c-opts.c (c_common_parse_file): Take no arguments.
      	* c-common.h (c_common_parse_file): Update prototype.
      
      fortran:
      	* f95-lang.c (gfc_be_parse_file): Take no arguments.
      
      java:
      	* jcf-parse.c (java_parse_file): Take no arguments.
      	* java-tree.h (java_parse_file): Update prototype.
      
      lto:
      	* lto.c (lto_main): Take no arguments.
      	* lto.h (lto_main): Update prototype.
      
      From-SVN: r166868
      Joseph Myers committed
    • simple-object.h (simple_object_attributes_merge): Declare, replacing… · d82f74d3
      simple-object.h (simple_object_attributes_merge): Declare, replacing simple_object_attributes_compare.
      
      include/:
      	* simple-object.h (simple_object_attributes_merge): Declare,
      	replacing simple_object_attributes_compare.
      libiberty/:
      	* simple-object.c (simple_object_attributes_merge): Rename from
      	simple_object_attributes_compare.  Call merge field.
      	* simple-object-common.h (struct simple_object_functions): Rename
      	attributes_compare field to attribute_merge.
      	* simple-object-elf.c (EM_SPARC): Define.
      	(EM_SPARC32PLUS): Define.
      	(simple_object_elf_attributes_merge): Renamed from
      	simple_object_elf_attributes_compare.  Permit EM_SPARC and
      	EM_SPARC32PLUS objects to be merged.
      	(simple_object_elf_functions): Update function name.
      	* simple-object-coff.c (simple_object_coff_attributes_merge):
      	Rename from simple_object_coff_attributes_compare.
      	(simple_object_coff_functions): Update function name.
      	* simple-object-mach-o.c (simple_object_mach_o_attributes_merge):
      	Renamed from simple_object_mach_o_attributes_compare.
      	(simple_object_mach_o_functions): Update function name.
      gcc/lto/:
      	* lto-object.c (lto_obj_file_open): Call
      	simple_object_attributes_merge rather than
      	simple_object_attributes_compare.
      
      From-SVN: r166848
      Ian Lance Taylor committed
  10. 12 Nov, 2010 1 commit
    • Makefile.in (OPTS_H): Define. · a4d8c676
      	* Makefile.in (OPTS_H): Define.
      	(c-decl.o, c-family/c-common.o, c-family/c-opts.o,
      	c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
      	cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
      	opts-common.o, toplev.o, passes.o, matrix-reorg.o,
      	ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
      	* gcc.c (driver_handle_option): Take location_t parameter.
      	(process_command, do_self_spec): Update calls to
      	read_cmdline_option.
      	* langhooks-def.h (lhd_handle_option): Take location_t parameter.
      	* langhooks.c (lhd_handle_option): Take location_t parameter.
      	* langhooks.h (handle_option): Take location_t parameter.
      	* lto-opts.c (lto_reissue_options): Update call to set_option.
      	* opts-common.c (handle_option): Make static.  Take location_t
      	parameter and pass it to other functions.
      	(handle_generated_option): Take location_t parameter and pass it
      	to other functions.
      	(read_cmdline_option): Take location_t parameter and pass it to
      	other functions.  Use warning_at and error_at.
      	(set_option): Take location_t parameter and pass it to other
      	functions.
      	* opts.c (common_handle_option): Take location_t parameter and
      	pass it to other functions.
      	(enable_warning_as_error): Make static.  Take location_t parameter
      	and pass it to other functions.
      	(lang_handle_option): Take location_t parameter and pass it to
      	other functions.
      	(target_handle_option): Take location_t parameter.
      	(read_cmdline_options, maybe_default_option,
      	maybe_default_options, default_options_optimization,
      	decode_options): Take location_t parameter and pass it to other
      	functions.
      	* opts.h: Include input.h.
      	(struct cl_option_handler_func, decode_options, set_option,
      	handle_generated_option, read_cmdline_option): Take location_t
      	parameters.
      	(handle_option, enable_warning_as_error): Remove.
      	* toplev.c (toplev_main): Update call to decode_options.
      
      ada:
      	* gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTS_H).
      	* gcc-interface/misc.c (gnat_handle_option): Take location_t
      	parameter.
      
      c-family:
      	* c-common.c (parse_optimize_options): Update call to
      	decode_options.
      	* c-common.h (c_common_handle_option): Update prototype.
      	* c-opts.c (c_common_handle_option): Take location_t parameter and
      	pass it to other functions.
      
      cp:
      	* Make-lang.in (g++spec.o): Use $(OPTS_H).
      
      fortran:
      	* Make-lang.in (gfortranspec.o): Use $(OPTS_H).
      	* gfortran.h (gfc_handle_option): Take location_t parameter.
      	* options.c (gfc_handle_option): Take location_t parameter.
      
      java:
      	* Make-lang.in (jvspec.o, java/lang.o): Use $(OPTS_H).
      	* lang.c (java_handle_option): Take location_t parameter.
      
      lto:
      	* Make-lang.in (lto/lto.o): Use $(OPTS_H).
      	* lto-lang.c (lto_handle_option): Take location_t parameter.
      
      From-SVN: r166688
      Joseph Myers committed
  11. 10 Nov, 2010 1 commit
    • cfgloop.c (verify_loop_structure): Use %' in diagnostics. · d8a07487
      	* cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
      	diagnostics with lowercase letters.
      	* cgraphunit.c (verify_cgraph_node): Start diagnostics with
      	lowercase letters.
      	* collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
      	diagnostic.
      	* config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
      	lowercase letters.
      	* config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	Remove trailing ' ' from diagnostic.
      	* config/avr/avr.c (print_operand_address): Start diagnostic with
      	a lowercase letter and remove trailing '.'.
      	* config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
      	* config/bfin/bfin.c (bfin_option_override): Start diagnostics
      	with lowercase letters.  Use %' in diagnostics.  Remove trailing
      	'.' from diagnostics.
      	(bfin_handle_longcall_attribute): Use %' in diagnostic.
      	* config/cris/cris.c (cris_split_movdx,
      	cris_expand_pic_call_address): Start diagnostics with lowercase
      	letters.
      	(cris_asm_output_label_ref): Use %' in diagnostic.
      	* config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
      	letter.
      	* config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
      	lowercase letter.
      	* config/darwin-c.c (version_as_macro): Start diagnostic with a
      	lowercase letter.
      	* config/darwin-driver.c (darwin_default_min_version): Use %' in
      	diagnostic.
      	* config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
      	diagnostic.
      	* config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
      	diagnostics.
      	* config/i386/i386.c (ix86_option_override_internal): Write
      	diagnostic as a single sentence without trailing '.'.  Use %' in
      	diagnostics.
      	(ix86_function_sseregparm, classify_argument): Start diagnostics
      	with lowercase letters.
      	(ix86_expand_prologue): Use %' in diagnostic.
      	* config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
      	diagnostic.
      	* config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
      	lowercase letter.
      	* config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
      	diagnostic.
      	* config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
      	'`' in help text.
      	* config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
      	lowercase letter.
      	* config/mep/mep.c (mep_validate_vliw): Start diagnostics with
      	lowercase letters.
      	* config/microblaze/microblaze.c (microblaze_handle_option):
      	Remove trailing '.' from diagnostic.
      	(print_operand): Start diagnostic with a lowercase letter.
      	* config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
      	lowercase letters.  Avoid '`' in diagnostics.
      	* config/picochip/picochip.c (picochip_option_override,
      	picochip_emit_save_register, picochip_function_arg,
      	picochip_output_label, picochip_output_internal_label,
      	picochip_asm_output_opcode, picochip_output_cbranch,
      	picochip_output_compare, picochip_output_branch,
      	picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
      	diagnostics. Start diagnostics with lowercase letters.  Use %' in
      	diagnostics.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Use
      	"SPE" capitalization.  Start diagnostic with a lowercase letter.
      	(rs6000_handle_option): Start diagnostics with lowercase letters.
      	(def_builtin): Remove trailing '.' from diagnostic.
      	(rs6000_savres_routine_name): Start diagnostic with a lowercase
      	letter.
      	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
      	diagnostic.
      	* config/rx/rx.c (rx_handle_option): Start diagnostic with a
      	lowercase letter.
      	* config/s390/s390.c (s390_option_override) Start diagnostics with
      	lowercase letters.  Use %' in diagnostic.
      	* config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
      	lowercase letters.
      	* config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
      	diagnostic.
      	* config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
      	diagnostic.
      	* config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
      	diagnostic.
      	* config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
      	* config/spu/spu.c (spu_option_override): Start diagnostics with
      	lowercase letters.  Use %qs for quoting in diagnostics.
      	(spu_check_builtin_parm): Remove trailing '.' from diagnostics.
      	Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
      	* config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
      	from diagnostic.
      	* convert.c (convert_to_integer, convert_to_vector): Use %' in
      	diagnostics.
      	* dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
      	letter and use "cannot" spelling.
      	* expmed.c (extract_fixed_bit_field): Start diagnostic with
      	lowercase letter and format as a single sentence without '.'.
      	* ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
      	Use %' in diagnostics.
      	* ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
      	Use %' in diagnostics.
      	* ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
      	Use %' in diagnostics.
      	* graph.c (clean_graph_dump_file): Use %' in diagnostic.
      	* graphite-poly.c (graphite_read_scop_file): Start diagnostics
      	with lowercase letters and remove tailing '.' and '\n'.
      	* lto-cgraph.c (input_profile_summary): Start diagnostic with
      	lowercase letter and remove trailing '.'.
      	(input_cgraph): Start diagnostics with lowercase letters and
      	remove trailing '\n'.
      	* opts.c (finish_options, common_handle_option): Start diagnostics
      	with lowercase letters and remove trailing '.'.  Fix typo in
      	diagnostic.
      	* passes.c (position_pass): Start diagnostic with lowercase
      	letter.	
      	* plugin.c (add_new_plugin, parse_plugin_arg_opt,
      	register_callback, try_init_one_plugin): Start diagnostics with
      	lowercase letters.
      	* reload1.c (spill_failure): Use %' in diagnostic.
      	(gen_reload): Start diagnostic with a lowercase letter.
      	* stor-layout.c (place_field): Start diagnostic with a lowercase
      	letter.
      	* toplev.c (open_auxiliary_file): Use %' in diagnostic.
      	* tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
      	verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
      	Start diagnostics with lowercase letters, remove trailing '.' and
      	use %' in diagnostics.
      	* tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
      	(verify_ssa): Don't split diagnostic across two error calls.
      	Spell out "number" and use %' in diagnostic.
      	* value-prof.c (visit_hist, check_counter): Start diagnostics with
      	lowercase letters.
      
      c-family:
      	* c-common.c (handle_mode_attribute): Use %' and word "signedness"
      	in diagnostic.
      	* c-opts.c (c_common_parse_file): Start diagnostics with lowercase
      	letter.
      	* c-pragma.c (handle_pragma_target, handle_pragma_optimize):
      	Remove trailing '.' from diagnostics.
      	* c.opt (Wwrite-strings_: Avoid '`' in help text.
      
      cp:
      	* cvt.c (cp_convert_to_pointer): Use %' in diagnostic.
      	* decl.c (layout_var_decl, maybe_commonize_var, grokdeclarator):
      	Use %' in diagnostics.
      	* decl2.c (check_classfn): Use %' in diagnostic.
      	* init.c (build_java_class_ref): Use %' in diagnostic.
      	(build_delete): Remove trailing '.' from diagnostic.
      	* method.c (do_build_copy_assign, walk_field_subobs): Use %' in
      	diagnostics.
      	* name-lookup.c (pushdecl_maybe_friend): Use %' in diagnostic.
      	* parser.c (cp_parser_exception_specification_opt): Remove
      	trailing '.' from diagnostic.
      	(cp_parser_objc_interstitial_code): Use %qs for quoting in
      	diagnostic.
      	* pt.c (check_valid_ptrmem_cst_expr): Use %< and %> for quoting in
      	diagnostic.
      	* repo.c (reopen_repo_file_for_write): Use %' in diagnostic.
      
      fortran:
      	* trans-array.c (gfc_trans_deferred_array): Use "front-end"
      	spelling in diagnostic.
      	* trans.c (gfc_allocate_array_with_status): Add missing space in
      	diagnostic.
      
      java:
      	* expr.c (expand_java_field_op): Use %' in diagnostic.
      	* jcf-parse.c (java_parse_file): Use %' in diagnostics.
      	* jvspec.c (lang_specific_driver): Use %' in diagnostic.
      	* lang.c (java_post_options): Use %' in diagnostics.
      
      lto:
      	* lto.c (lto_resolution_read): Start diagnostics with lowercase
      	letters and remove trailing '.'.
      	(lto_file_finalize): Start diagnostic with a lowercase letter.
      
      objc:
      	* objc-act.c (objc_init): Use %' in diagnostic.
      	(objc_set_method_opt): Remove trailing '.' from diagnostic.
      
      From-SVN: r166570
      Joseph Myers committed
  12. 02 Nov, 2010 1 commit
    • lto-object.c: New file. · 6b3456d1
      	* lto-object.c: New file.
      	* lto-elf.c: Remove file.
      	* lto-macho.c: Remove file.
      	* lto-macho.h: Remove file.
      	* lto-coff.c: Remove file.
      	* lto-coff.h: Remove file.
      	* Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
      	lto/lto-object.o.
      	($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
      	(lto/lto-objfile.o): New target.
      	(lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
      	(lto/lto.o): Remove $(LIBIBERTY_H).
      
      From-SVN: r166187
      Ian Lance Taylor committed
  13. 26 Oct, 2010 1 commit
  14. 22 Oct, 2010 1 commit
    • gimple.h (gimple_register_canonical_type): Declare. · 4490cae6
      2010-10-22  Richard Guenther  <rguenther@suse.de>
      
      	* gimple.h (gimple_register_canonical_type): Declare.
      	* gimple.c (gimple_canonical_types): New global hashtable.
      	(struct gimple_type_leader_entry_s): New type.
      	(gimple_type_leader): New global cache.
      	(gimple_lookup_type_leader): New function.
      	(gtc_visit): Query the proper cache.
      	(gimple_types_compatible_p): Likewise.
      	(gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
      	(gimple_canonical_type_eq): New function.
      	(gimple_register_canonical_type): Likewise.
      	(print_gimple_types_stats): Adjust for gimple_canonical_types.
      	(free_gimple_type_tables): Likewise.  Free gimple_type_leader.
      	* tree-ssa.c (useless_type_conversion_p): Do not dispatch to
      	gimple_types_compatible_p for LTO.
      
      	lto/
      	* lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
      	the new gimple_register_canonical_type.
      
      From-SVN: r165848
      Richard Guenther committed
  15. 20 Oct, 2010 1 commit
  16. 18 Oct, 2010 1 commit
  17. 14 Oct, 2010 1 commit
  18. 11 Oct, 2010 1 commit
    • vec.h (VEC_qsort): Define. · 5095da95
      gcc/
      	* vec.h (VEC_qsort): Define.
      	* dbxout.c (output_used_types): Use it.
      	* df-scan.c (df_sort_and_compress_refs): Likewise.
      	(df_sort_and_compress_mws): Likewise.
      	* genautomata.c (uniq_sort_alt_states): Likewise.
      	(evaluate_equiv_classes): Likewise.
      	(output_trans_table): Likewise.
      	(output_state): Likewise.
      	* gimplify.c (compare_case_labels): Likewise.
      	* graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
      	* ipa.c (build_cdtor_fns): Likewise.
      	* lto.c (lto_wpa_write_files): Likewise.
      	* sel-sched.c (fill_vec_av_set): Likewise.
      	* tree-predcom.c (determine_roots_comp): Likewise.
      	* tree-sra.c (sort_and_spliace_var_accesses): Likewise.
      	(splice_param_accesses): Likewise.
      	* tree-ssa-live.c (dump_enumerated_decls): Likewise.
      	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
      	(reassociate_bb): Likewise.
      	* tree-ssa-sccvn.c (sort_scc): Likewise.
      	* tree-ssa-structalias.c (sort_fieldstack): Likewise.
      
      gcc/ada/
      	* gcc-interface/utils2.c (gnat_build_constructor): Use VEC_qsort.
      
      From-SVN: r165314
      Nathan Froyd committed
  19. 08 Oct, 2010 2 commits
    • Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h. · a75bfaa6
      	* Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
      	(TREE_H): Include $(FLAGS_H) instead of options.h.
      	(opts-common.o): Depend on $(FLAGS_H) instead of options.h.
      	* c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      	* common.opt (flag_complex_method, flag_evaluation_order,
      	flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
      	Variable declarations.
      	* configure.ac (tm_include_list): Include flags.h instead of
      	options.h.
      	* configure: Regenerate.
      	* flags.h: Condition out contents for target libraries.  Include
      	options.h at end of file.
      	(flag_complex_method, flag_ira_algorithm, flag_ira_region,
      	flag_evaluation_order, flag_warn_unused_result): Remove.
      	* gcc.c (main): Intialize global_options with global_options_init.
      	* langhooks-def.h (lhd_init_options_struct): Declare.
      	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      	(LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
      	* langhooks.c (lhd_init_options_struct): New.
      	* langhooks.h (struct lang_hooks): Add init_options_struct.
      	Update comment on init_options.
      	* optc-gen.awk: Generate initializer for global_options_init, not
      	global_options.
      	* opth-gen.awk: Condition out structure declarations for target
      	libraries.  Declare global_options_init.
      	* opts-common.c: Include flags.h instead of options.h.
      	* opts.c (flag_warn_unused_result): Remove.
      	(read_cmdline_options): Take gcc_options parameters.  Pass them to
      	read_cmdline_option.
      	(initial_lang_mask, initial_min_crossjump_insns,
      	initial_max_fields_for_field_sensitive,
      	initial_loop_invariant_max_bbs_in_loop): Define at file scope.
      	(init_options_once): New.  Split out of decode_options.
      	(init_options_struct): New.  Split out of decode_options.
      	(decode_cmdline_options_to_array_default_mask): New.
      	(default_options_optimization): New.  Split out of decode_options.
      	(decode_options): Move most code to other functions.  Update call
      	to read_cmdline_options.
      	(finish_options): New.  Split out of decode_options.
      	* opts.h (decode_options): Add gcc_options parameters.
      	(init_options_once, init_options_struct,
      	decode_cmdline_options_to_array_default_mask): New.
      	* toplev.c (flag_complex_method, flag_ira_algorithm,
      	flag_ira_region, flag_evaluation_order): Remove.
      	(general_init): Use global_options_init for initial flag values
      	for global_dc.
      	(toplev_main): Call init_options_once, init_options_struct,
      	lang_hooks.init_options_struct,
      	decode_cmdline_options_to_array_default_mask and
      	lang_hooks.init_option before decode_options.  Update arguments to
      	decode_options.
      	* tree.h: Include flags.h instead of options.h.
      
      ada:
      	* gcc-interface/misc.c (gnat_init_options_struct): New.  Split out
      	from gnat_init_options.
      	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      
      c-family:
      	* c-common.c (parse_optimize_options): Call
      	decode_cmdline_options_to_array_default_mask before
      	decode_options.  Update arguments to decode_options.
      	* c-common.h (c_common_init_options_struct): Declare.
      	* c-opts.c (c_common_init_options_struct): New.  Split out from
      	c_common_init_options.
      
      cp:
      	* cp-objcp-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      
      fortran:
      	* f95-lang.c (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      	* gfortran.h (gfc_init_options_struct): Declare.
      	* options.c (gfc_init_options_struct): New.  Split out from
      	gfc_init_options.
      
      java:
      	* lang.c (java_init_options_struct): New.  Split out from
      	java_init_options.
      	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      
      lto:
      	* lto-lang.c (lto_init_options): Change to
      	lto_init_options_struct.  Update parameters.
      	(LANG_HOOKS_INIT_OPTIONS): Don't define.
      	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
      
      From-SVN: r165189
      Joseph Myers committed
  20. 07 Oct, 2010 1 commit
  21. 06 Oct, 2010 2 commits
    • [PATCH] Report LTO phase in lto1 process name v2 · 6e9bd0f8
      On larger parallel WHOPR builds I find it useful to see in top which
      phase a given lto1 is in.
      
      Set the process name to lto1-wpa, lto1-ltrans, lto1-lto depending
      on the current mode.
      
      This is currently only implemented for Linux and only
      using the "comm" process name, which is reported in top.
      
      v2: Moved function to libiberty, renamed setproctitle to match
      BSD. In theory it should pick up BSD's libc function for this
      on a BSD system, but I haven't tested this.
      
      gcc/lto/
      
      2010-10-06  Andi Kleen <ak@linux.intel.com>
      
      	* lto.c (lto_process_name): Add.
      	(lto_main): Call lto_process_name.
      
      include/
      
      2010-10-06  Andi Kleen <ak@linux.intel.com>
      
      	* libiberty.h (setproctitle): Add prototype.
      
      libiberty/
      
      2010-10-06  Andi Kleen <ak@linux.intel.com>
      
      	* Makefile.in (CFILES): Add setproctitle.
      	(CONFIGURED_OFILES): Add setproctitle.
      	(setproctitle): Add rule.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Add checks for prctl PR_SET_NAME and setproctitle.
      	* setproctitle.c: Add file.
      	* functions.texi: Regenerate.
      
      From-SVN: r165066
      Andi Kleen committed
    • lto.c (partition_cgraph_node_p, [...]): Handle COMDATs required by the linker. · 06ed016f
      	* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
      	COMDATs required by the linker.
      
      From-SVN: r165058
      Jan Hubicka committed
  22. 05 Oct, 2010 2 commits
    • invoke.texi (-flto-partition, [...]): Document. · 852e4bd2
      	* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
      	Document.
      	* opts.c (decode_options): Handle lto partitions.
      	* common.opt (flto-partition=1to1, flto-partition=balanced): New.
      	* params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
      
      	* lto.c:  Include params.h.
      	(add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
      	refcounting in aux field.
      	(undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
      	New functions.
      	(lto_1_to_1_map): Simplify.
      	(lto_balanced_map): New function.
      	(do_whole_program_analysis): Chose proper partitioning alg.
      	* Make-lang.in (lto.o): Add dependency on params.h
      
      From-SVN: r164995
      Jan Hubicka committed
  23. 04 Oct, 2010 1 commit
    • Mark linker Makefile rules for job server build · a90163e9
      -fwhopr=jobserver requires telling GNU make that the linker (= lto)
      rules support job server, so that the necessary jobserver
      information is passed through.
      
      Add + to all the executable targets that run LTO for this purpose.
      
      This improves build performance with a -fwhopr=jobserver
      bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly.
      
      I didn't change Ada because that apparently doesn't support LTO.
      
      Passes bootstrap and test suite. Ok to commit?
      
      gcc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
              gcov-dump, cc1-dummy, genprog, build/gcov-iov):
              Add + to build rule.
      
      gcc/cp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (g++, cc1plus): Add + to build rule.
      
      gcc/fortran/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (gfortran, f951): Add + to build rule.
      
      gcc/java/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
              Add + to build rule.
      
      gcc/lto/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (lto1): Add + to build rule.
      
      gcc/objc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
      
      gcc/objcp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.
      
      More plus fixes
      
      From-SVN: r164949
      Andi Kleen committed
  24. 03 Oct, 2010 1 commit
  25. 28 Sep, 2010 1 commit
    • builtin-attrs.def (ATTR_LEAF): New attribute. · 0d6e14fd
      	* builtin-attrs.def (ATTR_LEAF): New attribute.
      	(ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
      	ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
      	ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
      	ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
      	ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
      	ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
      	ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
      	* sync-builtins.def: Annotate all builtins by leaf.
      	* omp-builtins.def: Annotate all builtins by leaf.
      	* builtins.def: Annotate relevant builtins with leaf attribute.
      	(ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
      	ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
      	leaf.
              * gcc-interface/utils.c (handle_leaf_attribute): New function.
              (gnat_internal_attribute_tables): Add leaf.
      
              * lto-lang.c (handle_leaf_attribute): New function.
              (lto_attribute_tables): Add leaf.
      
              * f95-lang.c (gfc_define_builtin): Make leaf.
              (gfc_init_builtin_functions): Handle only ATTR_CONST_NOTHROW_LEAF_LIST
              and ATTR_NOTHROW_LEAF_LIST.
              (DEF_SYNC_BUILTIN): Check ATTR_CONST_NOTHROW_LEAF_LIST.
              (DEF_GOMP_BUILTIN): Likewise.
      
      From-SVN: r164689
      Jan Hubicka committed
  26. 25 Sep, 2010 1 commit
  27. 24 Sep, 2010 1 commit
    • lto-symtab.c (lto_symtab_entry_def): Add guessed field. · 051f8cc6
      	* lto-symtab.c (lto_symtab_entry_def): Add guessed field.
      	(lto_symtab_resolve_symbols): Set it.
      	(lto_symtab_merge_decls_1): Do not compute used_from_object_file;
      	store resolution field in cgraph/varpool.
      	* cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
      	(cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
      	(cgraph_dump_node): Drop used_from_object_file.
      	(cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
      	(cgraph_function_body_availability): Use decl_replaceable_p.
      	(cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
      	(cgraph_can_remove_if_no_direct_calls_and_refs): Use
      	cgraph_used_from_object_file_p.
      	(cgraph_will_be_removed_from_program_if_no_direct_calls): Use
      	cgraph_used_from_object_file_p.
      	(resolution_used_from_other_file_p): New functoin.
      	(cgraph_used_from_object_file_p): New predicate.
      	* cgraph.h: Include plugin-api.h
      	(struct cgraph_local_info): Remove used_from_object_file.
      	(struct cgraph_node): Add resolution field.
      	(struct varpool_node): Likewise; remove used_from_object_file;
      	reove const_value_known.
      	(cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
      	cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
      	(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
      	varpool_used_from_object_file_p): Declare.
      	(varpool_get_node, varpool_extra_name_alias): Update prototype.
      	* tree.h (DECL_REPLACEABLE_P): Remove.
      	(decl_replaceable_p, decl_binds_to_current_def_p): Declare.
      	* final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
      	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
      	input_overwrite_node, input_node, input_varpool_node): Stream
      	resolution.
      	* expr.c (expand_expr_real_1): Use const_value_known_p
      	* ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
      	const_value_known.
      	(cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
      	(function_and_variable_visibility): Set resolution for local vars
      	and functions.
      	use varpool_used_from_object_file_p.
      	* varasm.c (resolution_to_local_definition_p, resolution_local_p): New
      	static functions.
      	(default_binds_local_p_1): Use resolutoin info.
      	(decl_binds_to_current_def_p, decl_replaceable_p): New functions.
      	* varpool.c (varpool_get_node): Constify.
      	(const_value_known_p): Do not use vnode->const_value_known;
      	use decl_replaceable_p.
      	(varpool_finalize_decl): Do not set const_value_known.
      	(cgraph_variable_initializer_availability): Use decl_replaceable_p
      	(varpool_extra_name_alias): Return new node.
      	(varpool_used_from_object_file_p): New function.
      
      	* decl.c (finish_function): Use decl_replaceable_p
      	* method.c (make_alias_for_thunk): Update call of cgraph_same_body_alias.
      
      	* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
      
      From-SVN: r164610
      Jan Hubicka committed
  28. 20 Sep, 2010 1 commit
    • re PR tree-optimization/45605 (Missed devirtualization) · 64e0f5ff
      	PR tree-optimize/45605
      	* cgraph.h (const_value_known_p): Declare.
      	(varpool_decide_const_value_known): Remove.
      	* tree-ssa-ccp.c (get_base_constructor): Use it.
      	* lto-cgraph.c (compute_ltrans_boundary): Likewise.
      	* expr.c (string_constant): Likewise.
      	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
      	* ipa.c (ipa_discover_readonly_nonaddressable_var,
      	function_and_variable_visibility): Likewise.
      	* gimplify.c (gimplify_call_expr): Likewise.
      	* gimple-fold.c (get_symbol_constant_value): Likewise.
      	* varpool.c (varpool_decide_const_value_known): Replace by...
      	(const_value_known_p): ... this one; handle other kinds of DECLs
      	too and work for automatic vars.
      	(varpool_finalize_decl): Use const_value_known_p.
      
      	* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
      
      	* g++.dg/tree-ssa/pr45605.C: New testcase.
      
      From-SVN: r164438
      Jan Hubicka committed
  29. 18 Sep, 2010 1 commit
  30. 17 Sep, 2010 3 commits
    • lto-cgraph.c (compute_ltrans_boundary): Use const_value_known. · 4c588abf
      	* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
      	* lto.c (lto_promote_cross_file_statics): Use const_value_known.
      
      From-SVN: r164366
      Jan Hubicka committed
    • common.opt (combine): Remove. · c3224d6f
      2010-09-17  Richard Guenther  <rguenther@suse.de>
      
      	* common.opt (combine): Remove.
      	* gcc.c (default_compilers): Remove specs testing combine.
      	The C compilers no longer can combine.
      	(option_map): Remove -combine.
      	(display_help): Remove -combine.
      	(driver_handle_option): Remove OPT_combine handling.
      	(compile_input_file_p): Remove.
      	(do_spec): Remove code concerning combine.
      	(main): Likewise.
      	* doc/invoke.texi: Remove traces of -combine.
      	* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
      	driver.
      
      	lto/
      	* lang.opt (flag_wpa): Also enable for the driver.
      
      	* gcc.dg/pr27898.c: Use -flto instead of -combine.
      	* gcc.dg/pr28706.c: Likewise.
      	* gcc.dg/pr28712.c: Likewise.
      	* gcc.dg/pr30762-1.c: Likewise.
      	* gcc.dg/pr30762-2.c: Likewise.
      	* gcc.dg/pr31529-1.c: Likewise.
      	* gcc.dg/pr31529-2.c: Likewise.
      	* gcc.dg/pr34457-1.c: Likewise.
      	* gcc.dg/pr34457-2.c: Likewise.
      	* gcc.dg/pr34668-1.c: Likewise.
      	* gcc.dg/pr34668-2.c: Likewise.
      	* gcc.dg/pr34989-1.c: Likewise.
      	* gcc.dg/pr34989-2.c: Likewise.
      	* gcc.dg/pr43557-1.c: Likewise.
      	* gcc.dg/pr43557-2.c: Likewise.
      	* gcc.dg/debug/pr41893-1.c: Likewise.
      	* gcc.dg/matrix/matrix.exp: Do not use -combine.
      	* gcc.dg/matrix/matrix-3.c: Drop dg-options.
      	* gcc.dg/matrix/matrix-4.c: Likewise.
      	* gcc.dg/struct/struct-reorg.exp: Do not use -combine.
      	* gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
      	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
      
      From-SVN: r164357
      Richard Guenther committed
    • lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone. · 52b3b3c7
      	* lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
      	processing clone.
      	* lto.c (lto_materialize_function): Do not tamper with STATIC and
      	EXTERNAL flags.
      
      From-SVN: r164354
      Jan Hubicka committed
  31. 15 Sep, 2010 1 commit