2018-01-25 09:17:27 +01:00
|
|
|
|
2018-01-25 Release Manager
|
|
|
|
|
|
|
|
|
|
* GCC 7.3.0 released.
|
|
|
|
|
|
2017-08-14 09:59:11 +02:00
|
|
|
|
2017-08-14 Release Manager
|
|
|
|
|
|
|
|
|
|
* GCC 7.2.0 released.
|
|
|
|
|
|
2017-05-02 14:42:24 +02:00
|
|
|
|
2017-05-02 Release Manager
|
|
|
|
|
|
|
|
|
|
* GCC 7.1.0 released.
|
|
|
|
|
|
2017-04-12 09:35:49 +02:00
|
|
|
|
2017-04-12 Richard Biener <rguenther@suse.de>
|
|
|
|
|
Bernd Edlinger <bernd.edlinger@hotmail.de>
|
|
|
|
|
|
|
|
|
|
PR middle-end/79671
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
|
|
|
|
|
|
2017-02-14 15:56:11 +01:00
|
|
|
|
2017-02-14 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (do_stream_out): Free LTO file filename string.
|
|
|
|
|
|
2017-01-19 18:27:54 +01:00
|
|
|
|
2017-01-19 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (builtin_type_for_size): Convert call to
|
|
|
|
|
lto_type_for_size to one through the langhook.
|
|
|
|
|
(lto_type_for_size): Move to langhooks.c and rename to
|
|
|
|
|
lhd_type_for_size.
|
|
|
|
|
(LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
|
|
|
|
|
|
2017-01-11 09:40:59 +01:00
|
|
|
|
2017-01-11 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR middle-end/50199
|
|
|
|
|
* lto-lang.c (lto_post_options): Force flag_merge_constants = 1
|
|
|
|
|
if it was 0.
|
|
|
|
|
|
2017-01-09 22:48:33 +01:00
|
|
|
|
2017-01-09 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR translation/79019
|
|
|
|
|
PR translation/79020
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
|
|
|
|
|
|
2017-01-06 15:04:05 +01:00
|
|
|
|
2017-01-06 Nathan Sidwell <nathan@acm.org>
|
|
|
|
|
|
2017-01-06 15:08:02 +01:00
|
|
|
|
* lto-partition.c (promote_symbol): Write to dump file sooner,
|
|
|
|
|
include alias promoting too.
|
|
|
|
|
|
2017-01-06 15:04:05 +01:00
|
|
|
|
* lto-partition.c (lto_balanced_map): Reformat/respell comment.
|
|
|
|
|
(may_need_named_section_p): Likewise.
|
|
|
|
|
(rename_statics): Likewise.
|
|
|
|
|
(lto_promote_cross_file_statics): Likewise.
|
|
|
|
|
|
2017-01-01 13:07:43 +01:00
|
|
|
|
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
Update copyright years.
|
|
|
|
|
|
2016-11-30 12:08:37 +01:00
|
|
|
|
2016-11-30 Georg-Johann Lay <avr@gjlay.de>
|
|
|
|
|
|
|
|
|
|
PR lto/78562
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
|
|
|
|
|
mismatch if the two types are built-in.
|
|
|
|
|
|
2016-11-26 11:41:55 +01:00
|
|
|
|
2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
|
|
|
|
|
|
2016-11-23 12:24:55 +01:00
|
|
|
|
2016-11-23 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/78472
|
|
|
|
|
* lto.c (hash_canonical_type): Ignore zero-sized fields.
|
|
|
|
|
|
2016-11-21 15:17:05 +01:00
|
|
|
|
2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
|
|
|
|
|
|
|
|
|
PR c++/71973
|
|
|
|
|
* lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
|
|
|
|
|
|
2016-11-18 11:03:12 +01:00
|
|
|
|
2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
|
2016-11-21 15:17:05 +01:00
|
|
|
|
Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
David Sherwood <david.sherwood@arm.com>
|
2016-11-18 11:03:12 +01:00
|
|
|
|
|
|
|
|
|
* lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
|
|
|
|
|
|
2016-10-31 13:52:23 +01:00
|
|
|
|
2016-10-31 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/78129
|
|
|
|
|
* lto.c (do_whole_program_analysis): Bail out after errors
|
|
|
|
|
from WPA analysis.
|
|
|
|
|
|
2016-09-21 01:29:05 +02:00
|
|
|
|
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c: Include tree-vrp.h.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2016-09-20 09:37:53 +02:00
|
|
|
|
2016-09-20 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Call early_finish with "<artificial>" as
|
|
|
|
|
filename.
|
|
|
|
|
|
2016-09-19 09:20:16 +02:00
|
|
|
|
2016-09-19 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Invoke early_finish debug hook.
|
|
|
|
|
|
2016-07-25 14:35:08 +02:00
|
|
|
|
2016-07-25 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
|
|
|
|
|
(unify_scc): Likewise.
|
|
|
|
|
(lto_read_decls): Likewise.
|
|
|
|
|
|
2016-06-28 10:38:38 +02:00
|
|
|
|
2016-06-28 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in: Don't cat ../stage_current if it does not exist.
|
|
|
|
|
|
Add make autoprofiledbootstrap
Add support for profiledbootstrap with autofdo. Will be useful
to get better testing coverage of autofdo.
This requires Linux perf and autofdo to be installed, only
really for x86_64 linux on Intel so far.
Profile the whole build process with perf, then convert the file,
and pass it back to the compiler in the feedback stage.
The conversion has to be done per language, as only that knows
the name of the binary. Currently we only do it for C and C++,
as the other languages don't have enough coverage during a normal
bootstrap.
For lto1 it is also disabled, because it would only be useful during a LTO
bootstrap, but right now autofdo and LTO are not working together due to
PR66229
For common backend files always the profile output of the C++ compiler
is used. In theory multiple inputs could be merged here, but so far
that is not implemented.
The method is not friendly to partial rebuilds, as only the profile
information from the current rebuild is used. So if an error
occurs it is best to clean and restart, otherwise the code
quality may be worse.
This patch is fairly large, but most of it is auto generated from
autogen in Makefile.in. for the new stage targets.
Passes profiledbootstrap and normal bootstrap on x86_64-linux.
autoprofiledbootstrap is currently not working due to
PR70427 (but it finishes with that worked around)
The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for
profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for
profiledfeedback) on a Sandy Bridge system.
gcc/lto/:
2016-06-23 Andi Kleen <ak@linux.intel.com>
* Make-lang.in: Add support for autofdo (disabled for now)
gcc/cp/:
2016-06-23 Andi Kleen <ak@linux.intel.com>
* Make-lang.in: Add support for autofdo.
gcc/:
2016-06-23 Andi Kleen <ak@linux.intel.com>
* Makefile.in: Regenerate.
* doc/install.texi: Document autoprofiledbootstrap.
/:
2016-06-23 Andi Kleen <ak@linux.intel.com>
* Makefile.def: Add autoprofiledbootstrap.
* Makefile.tpl: Dito.
* Makefile.in: Regenerate.
gcc/c/:
2016-06-23 Andi Kleen <ak@linux.intel.com>
* Make-lang.in: Add support for autofdo.
From-SVN: r237733
2016-06-23 16:34:16 +02:00
|
|
|
|
2016-06-23 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in: Add support for autofdo (disabled for now)
|
|
|
|
|
|
2016-06-10 19:38:19 +02:00
|
|
|
|
2016-06-10 Martin Sebor <msebor@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c/71392
|
|
|
|
|
* gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
|
|
|
|
|
attribute in type-generic builtins.
|
|
|
|
|
|
2016-05-16 11:55:14 +02:00
|
|
|
|
2016-05-16 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): Likewise.
|
|
|
|
|
|
2016-05-03 21:05:31 +02:00
|
|
|
|
2016-05-03 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
|
|
|
|
|
|
2016-04-27 12:46:16 +02:00
|
|
|
|
2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
|
|
|
|
|
|
|
|
|
* lto-partition.h (lto_balanced_map): New parameter.
|
|
|
|
|
* lto-partition.c (lto_balanced_map): New parameter
|
|
|
|
|
max_partition_size.
|
|
|
|
|
Check if partition size is greater than max_partition_size.
|
|
|
|
|
* lto.c (do_whole_program_analysis): Adjust calls to
|
|
|
|
|
lto_balanced_map() to pass 2nd argument.
|
|
|
|
|
|
2016-03-17 12:07:10 +01:00
|
|
|
|
2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/70258
|
|
|
|
|
* lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
|
|
|
|
|
PIE.
|
|
|
|
|
|
2016-03-08 18:49:34 +01:00
|
|
|
|
2016-03-08 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
|
|
|
|
|
- becuase -> because.
|
|
|
|
|
|
2016-02-15 10:30:31 +01:00
|
|
|
|
2016-02-15 Tom de Vries <tom@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR lto/69655
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Call input_offload_tables with
|
|
|
|
|
argument.
|
|
|
|
|
|
2016-01-27 13:50:05 +01:00
|
|
|
|
2016-01-27 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): Remove usage
|
|
|
|
|
of hsa_summaries.
|
|
|
|
|
|
2016-01-19 12:59:58 +01:00
|
|
|
|
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/69136
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
|
|
|
|
|
decls have no assemblernames.
|
|
|
|
|
|
2016-01-19 11:35:10 +01:00
|
|
|
|
2016-01-19 Martin Liska <mliska@suse.cz>
|
|
|
|
|
Martin Jambor <mjambor@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c: Include "hsa.h"
|
|
|
|
|
(add_symbol_to_partition_1): Put hsa implementations into the
|
|
|
|
|
same partition as host implementations.
|
|
|
|
|
|
2016-01-18 16:58:06 +01:00
|
|
|
|
2016-01-12 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/69003
|
|
|
|
|
* lto-partition.c (rename_statics): Fix pasto.
|
|
|
|
|
|
2016-01-18 13:19:31 +01:00
|
|
|
|
2016-01-18 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/69337
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge): Return early for mismatched
|
|
|
|
|
function vs. variable.
|
|
|
|
|
|
2016-01-12 15:22:40 +01:00
|
|
|
|
2016-01-12 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/69077
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
|
|
|
|
|
merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
|
|
|
|
|
|
2016-01-04 15:30:50 +01:00
|
|
|
|
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
Update copyright years.
|
|
|
|
|
|
2015-12-16 05:58:13 +01:00
|
|
|
|
2015-12-10 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/68878
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
|
|
|
|
|
* lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
|
|
|
|
|
(lto_symtab_prevailing_decl): Use it.
|
|
|
|
|
|
2015-12-15 15:56:50 +01:00
|
|
|
|
2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include stringpool.h and fold-const.h.
|
|
|
|
|
(offload_handle_link_vars): New static function.
|
|
|
|
|
(lto_main): Call offload_handle_link_vars.
|
|
|
|
|
|
2015-12-13 03:12:15 +01:00
|
|
|
|
2015-12-10 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
|
|
|
|
|
|
2015-12-11 00:57:15 +01:00
|
|
|
|
2015-12-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/61886
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
|
|
|
|
|
values of error and warning attributes.
|
|
|
|
|
|
2015-12-09 23:37:02 +01:00
|
|
|
|
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/68811
|
|
|
|
|
* lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
|
|
|
|
|
DECL.
|
|
|
|
|
(LTO_NO_PREVAIL): Use gcc_checking_assert.
|
|
|
|
|
|
2015-12-09 20:35:18 +01:00
|
|
|
|
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/68811
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
|
|
|
|
|
by itself.
|
|
|
|
|
|
2015-12-09 03:15:05 +01:00
|
|
|
|
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/61886
|
|
|
|
|
* lto-symtab.c: Include lto-symtab.h.
|
|
|
|
|
(lto_cgraph_replace_node): Do not merge profiles here.
|
|
|
|
|
(lto_symtab_merge_p): New function.
|
|
|
|
|
(lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
|
|
|
|
|
(lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
|
|
|
|
|
aliases.
|
|
|
|
|
(lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
|
|
|
|
|
(lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
|
|
|
|
|
* lto.c: Include lto-symtab.h
|
|
|
|
|
* lto-symtab.h: New.
|
|
|
|
|
|
2015-12-08 21:46:42 +01:00
|
|
|
|
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/61886
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): Transparent aliases
|
|
|
|
|
are not part of the definition.
|
|
|
|
|
(contained_in_symbol): Likewise.
|
|
|
|
|
(promote_symbol): When promoting a symbol also promote all transparent
|
|
|
|
|
aliases.
|
|
|
|
|
(rename_statics): Weakref needs unique name, too.
|
|
|
|
|
|
2015-12-07 18:36:54 +01:00
|
|
|
|
2015-12-07 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/61886
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
|
|
|
|
|
rename_statics, rename_statics): Handle transparent aliases.
|
|
|
|
|
|
2015-12-04 19:02:26 +01:00
|
|
|
|
2015-12-04 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_cgraph_replace_node): Update code computing
|
|
|
|
|
merged_comdat.
|
|
|
|
|
|
2015-12-01 20:13:12 +01:00
|
|
|
|
2015-12-01 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
|
|
|
|
|
|
2015-11-26 00:05:07 +01:00
|
|
|
|
2015-11-25 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_post_options): Process flag_lto_linker_output.
|
|
|
|
|
* lang.opt (lto_linker_output): New enum.
|
|
|
|
|
(flinker_output): New flag.
|
|
|
|
|
|
2015-11-25 23:22:37 +01:00
|
|
|
|
2015-11-24 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c: Include alias.h
|
|
|
|
|
(warn_type_compatibility_p): Replace types_compatible_p checks by
|
|
|
|
|
TBAA and size checks; set bit 2 if locations are TBAA incompatible.
|
|
|
|
|
(lto_symtab_merge): Compare DECL sizes.
|
|
|
|
|
(lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
|
|
|
|
|
|
2015-11-24 20:35:38 +01:00
|
|
|
|
2015-11-24 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (iterative_hash_canonical_type): Recruse for all types
|
|
|
|
|
which pass !canonical_type_used_p.
|
|
|
|
|
(gimple_register_canonical_type_1): Sanity check we do not compute
|
|
|
|
|
canonical type of anything with !canonical_type_used_p.
|
|
|
|
|
(gimple_register_canonical_type): Skip all types that are
|
|
|
|
|
!canonical_type_used_p
|
|
|
|
|
|
2015-11-24 20:04:04 +01:00
|
|
|
|
2015-11-24 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (unify_scc): Use free_node.
|
|
|
|
|
|
2015-11-22 00:59:49 +01:00
|
|
|
|
2015-11-21 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (iterative_hash_canonical_type): Always recurse for pointers.
|
|
|
|
|
(gimple_register_canonical_type_1): Check that pointers do not get
|
|
|
|
|
canonical types.
|
|
|
|
|
(gimple_register_canonical_type): Do not register pointers.
|
|
|
|
|
|
|
|
|
|
2015-11-21 Jan Hubicka <hubicka@ucw.cz>
|
2015-11-21 23:30:28 +01:00
|
|
|
|
|
|
|
|
|
* lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
|
|
|
|
|
flag for types that are not ODR; fix loop walking parameters.
|
|
|
|
|
|
2015-11-11 15:18:08 +01:00
|
|
|
|
2015-11-11 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Remove unused header files.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2015-11-08 19:33:42 +01:00
|
|
|
|
2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
|
|
|
|
|
|
2015-11-07 11:18:38 +01:00
|
|
|
|
2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Don't undef DEF_BUILTIN.
|
|
|
|
|
|
2015-10-29 16:27:20 +01:00
|
|
|
|
2015-10-29 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Reorder #include's and remove duplicates.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
[PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FE
[PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FE
gcc/lto/ChangeLog:
2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
* lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
conditionals.
(lto_fixup_state): Likewise.
(do_whole_program_analysis): Use
symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
conditionals.
gcc/ChangeLog:
2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
* attribs.c (check_attribute_tables): New function, broken out from...
(init_attributes): Use it.
* cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
gcc_checking_assert and checking_* functions to eliminate
ENABLE_CHECKING conditionals.
* cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
(pass_expand::execute): Likewise.
* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
* cgraphunit.c (mark_functions_to_output): Likewise.
(cgraph_node::expand_thunk): Likewise.
(symbol_table::compile): Likewise.
* ddg.c (add_cross_iteration_register_deps): Likewise.
(create_ddg_all_sccs): Likewise.
* df-core.c (df_finish_pass, df_analyze): Likewise.
* diagnostic-core.h: Likewise.
* diagnostic.c (diagnostic_report_diagnostic): Likewise.
* dominance.c (calculate_dominance_info): Likewise.
* dwarf2out.c (add_AT_die_ref): Likewise.
(const_ok_for_output_1, mem_loc_descriptor): Likewise.
(loc_list_from_tree, gen_lexical_block_die): Likewise.
gen_type_die_with_usage, gen_type_die): Likewise.
(dwarf2out_decl): Likewise.
* emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
* except.c (duplicate_eh_regions): Likewise.
* fwprop.c (register_active_defs, update_df_init): Likewise.
(fwprop_init, fwprop_done): Likewise.
(update_uses): Likewise.
* ggc-page.c (ggc_grow): Likewise.
* gimplify.c (gimplify_body): Likewise.
(gimplify_hasher::equal): Likewise.
* graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
Likewise.
* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
* hash-table.h (::find_empty_slot_for_expand): Likewise.
* ifcvt.c (if_convert): Likewise.
* ipa-cp.c (ipcp_propagate_stage): Likewise.
* ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
(odr_type_p, odr_types_equivalent_p): Likewise.
(add_type_duplicate, get_odr_type): Likewise.
* ipa-icf.c (sem_item_optimizer::execute): Likewise.
(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
(sem_item_optimizer::verify_classes): Likewise.
(sem_item_optimizer::traverse_congruence_split): Likewise.
(sem_item_optimizer::checking_verify_classes): New.
* ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
method.
* cfgrtl.c (commit_edge_insertions): Likewise.
(fixup_reorder_chain, cfg_layout_finalize): Likewise.
(rtl_flow_call_edges_add): Likewise.
* cgraph.c (symbol_table::create_edge): Likewise.
(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
* cgraph.h (symtab_node): Likewise.
(symtab_node::checking_verify_symtab_nodes): Define.
(cgraph_node::checking_verify_cgraph_nodes): Define.
* cfghooks.h (checking_verify_flow_info): Define.
* cfgloop.h (checking_verify_loop_structure): Define.
* dominance.h (checking_verify_dominators): Define.
* et-forest.c: Fix comment.
* ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
CHECKING_P gcc_checking_assert and checking_* functions to eliminate
ENABLE_CHECKING conditionals.
* ipa-inline-transform.c (save_inline_function_body): Likewise.
* ipa-inline.c (inline_small_functions): Likewise.
(early_inliner): Likewise.
* ipa-inline.h (estimate_edge_growth): Likewise.
* ipa-visibility.c (function_and_variable_visibility): Likewise.
* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
(ipa_single_use): Likewise.
* ira-int.h: Likewise.
* ira.c (ira): Likewise.
* loop-doloop.c (doloop_optimize_loops): Likewise.
* loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
* loop-invariant.c (move_loop_invariants): Likewise.
* lra-assigns.c (lra_assign): Likewise.
* lra-constraints.c (lra_constraints): Likewise.
* lra-eliminations.c (lra_eliminate): Likewise.
* lra-int.h (struct lra_reg): Likewise.
* lra-lives.c (check_pseudos_live_through_calls): Likewise.
(lra_create_live_ranges_1): Likewise.
* lra-remat.c (create_remat_bb_data): Likewise.
* lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
(lra): Likewise.
(check_rtl): Always define. Remove incorrect guard around
extract_constrain_insn call.
* lto-cgraph.c (input_cgraph_1: Use flag_checking,
CHECKING_P gcc_checking_assert and checking_* functions to eliminate
ENABLE_CHECKING conditionals.
* lto-streamer-out.c (DFS::DFS): Likewise.
(lto_output): Likewise.
* lto-streamer.c (lto_streamer_init): Likewise.
* omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
expand_omp_target, execute_expand_omp): Likewise.
(lower_omp_target): Likewise.
* passes.c (execute_function_todo): Likewise.
(execute_todo, execute_one_pass): Likewise.
(verify_curr_properties): Always define.
* predict.c (tree_estimate_probability: Use flag_checking,
CHECKING_P gcc_checking_assert and checking_* functions to eliminate
ENABLE_CHECKING conditionals.
(propagate_freq): Likewise.
* pretty-print.c (pp_format): Likewise.
* real.c (real_to_decimal_for_mode): Likewise.
* recog.c (split_all_insns): Likewise.
* regcprop.c (kill_value_one_regno): Likewise.
(copy_value): Likewise.
(validate_value_data): Define unconditionally.
* reload.c: Fix comment.
* timevar.c: Include options.h
* tree-ssa.h (checking_verify_ssa): Define.
* tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
* sched-deps.c (CHECK): Remove unused macro.
(add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
gcc_checking_assert and checking_* functions to eliminate
ENABLE_CHECKING conditionals.
* sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
* sel-sched.c (struct moveop_static_params): Likewise.
(find_best_reg_for_expr, move_cond_jump): Likewise.
(move_op_orig_expr_not_found): Likewise.
(code_motion_process_successors, move_op): Likewise.
* ssa-iterators.h (first_readonly_imm_use): Likewise.
(next_readonly_imm_use): Likewise.
* store-motion.c (compute_store_table): Likewise.
* symbol-summary.h (function_summary::function_summary): Likewise.
* target.h (cumulative_args_t): Likewise.
(get_cumulative_args, pack_cumulative_args): Likewise.
* timevar.c: (timer::print): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
* tree-cfg.c (move_stmt_op): Likewise.
(move_sese_region_to_fn): Likewise.
(gimple_flow_call_edges_add): Likewise.
* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
Likewise.
* tree-eh.c (remove_unreachable_handlers): Likewise.
* tree-if-conv.c (pass_if_conversion::execute): Likewise.
* tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
* tree-into-ssa.c (update_ssa): Likewise.
* tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
* tree-parloops.c (pass_parallelize_loops::execute): Likewise.
* tree-predcom.c (suitable_component_p): Likewise.
* tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
* tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
* tree-ssa-live.c (verify_live_on_entry): Likewise.
* tree-ssa-live.h (register_ssa_partition): Likewise.
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
* tree-ssa-loop-manip.c (add_exit_phi): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-propagate.c (replace_exp_1): Likewise.
* tree-ssa-structalias.c (rewrite_constraints): Likewise.
* tree-ssa-ter.c (free_temp_expr_table): Likewise.
* tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
* tree-ssanames.c (release_ssa_name_fn): Likewise.
* tree-stdarg.c (expand_ifn_va_arg): Likewise.
* tree-vect-loop-manip.c
(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
(slpeel_checking_verify_cfg_after_peeling): Likewise.
(vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vrp.c (supports_overflow_infinity): Likewise.
(set_value_range): Likewise.
* tree.c (free_lang_data_in_cgraph): Likewise.
* value-prof.c (gimple_remove_histogram_value): Likewise.
(free_hist): Likewise.
* var-tracking.c (canonicalize_values_star): Likewise.
(compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
From-SVN: r229470
2015-10-28 02:05:53 +01:00
|
|
|
|
2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
|
|
|
|
|
conditionals.
|
|
|
|
|
(lto_fixup_state): Likewise.
|
|
|
|
|
(do_whole_program_analysis): Use
|
|
|
|
|
symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
|
|
|
|
|
conditionals.
|
|
|
|
|
|
builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New.
gcc/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Ilya Verbin <ilya.verbin@intel.com>
* builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
* cgraph.h (enum cgraph_simd_clone_arg_type): Add
SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
(struct cgraph_simd_clone_arg): Adjust comment.
* coretypes.h (struct gomp_ordered): New forward decl.
* gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
set critical clauses to it.
(gimple_build_omp_ordered): Return gomp_ordered * instead of
gimple *. Add CLAUSES argument, set ordered clauses to it.
(gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
GIMPLE_OMP_ORDERED.
* gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
* gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
renumber
GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
(gomp_critical): Add clauses field.
(gomp_ordered): New struct.
(is_a_helper <gomp_ordered *>::test): New inline.
(gimple_build_omp_critical): Add CLAUSES argument.
(gimple_build_omp_ordered): Likewise. Return gomp_ordered *
instead of gimple *.
(gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
inline functions.
* gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
(dump_gimple_omp_target): Handle enter data and exit data.
(dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
(dump_gimple_omp_critical): Print clauses.
(dump_gimple_omp_ordered): New function.
(dump_gimple_omp_task): Handle taskloop.
(pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
GIMPLE_OMP_ORDERED.
* gimple-walk.c (walk_gimple_op): Walk clauses on
GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
* gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
(enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
(struct gimplify_omp_ctx): Add loop_iter_var,
target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
and target_firstprivatize_array_bases fields.
(delete_omp_context): Release loop_iter_var.
(gimplify_bind_expr): Handle ORT_NONE.
(maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
ORT_COMBINED_TARGET.
(is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
(omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
ctx->target_map_scalars_firstprivate.
(omp_add_variable): Handle ORT_NONE. Allow map clause together with
data sharing clauses. For data sharing clause with VLA decl
on omp target/target data don't add firstprivate for the pointer.
Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
(omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
the addition of ORT_COMBINED_TARGET.
(omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
pointers as zero length array sections and
ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
data sharing.
(omp_check_private): Handle omp_member_access_dummy_var vars.
(find_decl_expr): New function.
(gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
Handle OMP_CLAUSE_GANG separately. Handle
OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
clauses. Diagnose linear clause on combined
distribute {, parallel for} simd construct, unless it is the loop
iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
Handle map clauses with COMPONENT_REF. Initialize
ctx->target_map_scalars_firstprivate,
ctx->target_firstprivatize_array_bases and
ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
linear clause even to target region if combined. Remove
map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
For linear clause on worksharing loop combined with parallel add
shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
omp_member_access_dummy_var vars. Add lastprivate clause to outer
taskloop if needed.
(gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
GOMP_MAP_POINTER.
(gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
in target body. Handle removal of struct mapping if struct is not
seen in target body. Remove GOMP_MAP_STRUCT map clause on
OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
clause appear together. Handle
OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
clause if it has map-type-modifier always. Handle
OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
clauses.
(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
callers.
(gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
iterators in doacross loops.
(gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
for the addition of ORT_COMBINED_TARGET.
(gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
and OMP_TARGET_EXIT_DATA.
(gimplify_omp_ordered): New function.
(gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
Gimplify clauses on OMP_CRITICAL.
* internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
expand_GOMP_SIMD_ORDERED_END): New functions.
* internal-fn.def (GOMP_SIMD_ORDERED_START,
GOMP_SIMD_ORDERED_END): New internal functions.
* omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
(BUILT_IN_GOMP_TASK): Add INT argument to the end.
(BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
adjust type.
(BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
GOMP_target_data_41, adjust type.
(BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
GOMP_target_update_41, adjust type.
* omp-low.c (struct omp_region): Adjust comments, add ord_stmt
field.
(struct omp_for_data): Add ordered and simd_schedule fields.
(omp_member_access_dummy_var, unshare_and_remap_1,
unshare_and_remap, is_taskloop_ctx): New functions.
(is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
(extract_omp_for_data): Handle taskloops and doacross loops
and simd schedule modifier.
(omp_adjust_chunk_size): New function.
(get_ws_args_for): Use it.
(lookup_sfield): Change first argument to splay_tree_key,
add overload with first argument tree.
(maybe_lookup_field): Likewise.
(use_pointer_for_field): Handle omp_member_access_dummy_var.
(omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
task_shared_vars, clear TREE_ADDRESSABLE on the copy.
(build_outer_var_ref): Add LASTPRIVATE argument, handle
taskloops and omp_member_access_dummy_var vars.
(build_sender_ref): Change first argument to splay_tree_key,
add overload with first argument tree.
(install_var_field): For mask & 8 use &DECL_UID as key instead
of the tree itself.
(fixup_child_record_type): Const qualify *.omp_data_i.
(scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
(create_omp_child_function): Set TREE_READONLY on .omp_data_i.
(find_combined_for): Allow searching for different GIMPLE_OMP_FOR
kinds.
(add_taskreg_looptemp_clauses): New function.
(scan_omp_parallel): Use it.
(scan_omp_task): Likewise.
(finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
(check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
sandwiched taskloop constructs. Type check
OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
region. Diagnose depend(source) or depend(sink:...) on
target constructs or task/taskloop.
(handle_simd_reference): Use get_name.
(lower_rec_input_clauses): Likewise. Ignore all
OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
before passing it to omp_clause_{default,copy}_ctor. Handle
OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
lastprivate_firstprivate flag for linear that needs copyin and
copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
(lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
on taskloop lookup decl in outer context. Pass true to
build_outer_var_ref lastprivate argument. Handle
OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
outside of outer taskloop for.
(lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
OMP_CLAUSE_DECL.
(lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
(lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
abstract origin. Handle omp_member_access_dummy_var vars.
(expand_parallel_call): Use expand_omp_build_assign.
(expand_task_call): Handle taskloop construct expansion. Add
REGION argument. Use GOMP_TASK_* defines instead of hardcoded
integers. Add priority argument to GOMP_task* calls. Or in
GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
GOMP_task call.
(expand_omp_build_assign): Add prototype. Add AFTER
argument, if true emit statements after *GSI_P and continue linking.
(expand_omp_taskreg): Adjust expand_task_call caller.
(expand_omp_for_init_counts): Rename zero_iter_bb argument to
zero_iter1_bb and first_zero_iter to first_zero_iter1, add
zero_iter2_bb and first_zero_iter2 arguments, handle computation
of counts even for ordered loops.
(expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
(expand_omp_ordered_source, expand_omp_ordered_sink,
expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
functions.
(expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
clauses on worksharing loop. Handle DOACROSS loop expansion.
(expand_omp_for_static_nochunk): Handle linear clauses on
worksharing loop. Adjust expand_omp_for_init_counts
callers.
(expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
(expand_omp_simd): Handle addressable fd->loop.v. Adjust
expand_omp_for_init_counts callers.
(expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
functions.
(expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
Handle doacross loops.
(expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
GOMP_target_{41,update_41,enter_exit_data} libcalls.
(expand_omp): Don't expand ordered depend constructs here, record
ord_stmt instead for later expand_omp_for_generic.
(build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
clause as stand-alone directive.
(lower_omp_ordered_clauses): New function.
(lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
don't lower anything.
(lower_omp_for_lastprivate): Use last _looptemp_ clause
on taskloop for comparison.
(lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
expansion for linear adjustments.
(create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
(lower_depend_clauses): Assert not seeing sink/source depend kinds.
Set TREE_ADDRESSABLE on array. Change first argument from gimple *
to tree * pointing to the stmt's clauses.
(lower_omp_taskreg): Adjust lower_depend_clauses caller.
(lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
clauses. Always use short kind and 8-bit align shift.
(lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
(struct lower_omp_regimplify_operands_data): New type.
(lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
New functions.
(lower_omp_1): Use lower_omp_regimplify_operands instead of
gimple_regimplify_operands.
(make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
clause as stand-alone directive.
(simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
(simd_clone_mangle): Mangle the various linear kinds
per the new ABI.
(simd_clone_adjust_argument_types): Handle
SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
(simd_clone_init_simd_arrays): Don't do anything for uval.
(simd_clone_adjust): Handle
SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
* omp-low.h (omp_member_access_dummy_var): New prototype.
* passes.def (pass_simduid_cleanup): Schedule another copy of the
pass after all optimizations.
* tree.c (omp_clause_code_name): Add entries for
OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
(omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
(walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
OMP_CLAUSE_REDUCTION 5 arguments. Handle
OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
clauses.
* tree-core.h (enum omp_clause_linear_kind): New.
(struct tree_omp_clause): Change type of map_kind
from unsigned char to unsigned int. Add subcode.if_modifier
and subcode.linear_kind fields.
(enum omp_clause_code): Add
OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
(OMP_CLAUSE_REDUCTION): Document
OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
* tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
(OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
operand.
(OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
operand.
(OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
codes.
* tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
(OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
char.
(OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
(OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
(OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
(OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
* tree-inline.c (remap_gimple_stmt): Handle clauses on
GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
* tree-nested.c (convert_nonlocal_omp_clauses): Handle
OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
(convert_local_omp_clauses): Likewise.
* tree-pretty-print.c (dump_omp_clause): Handle
OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
GOMP_MAP_FORCE_DEALLOC. Handle
GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
(dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
and clauses on OMP_ORDERED and OMP_CRITICAL.
* tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
(vectorize_loops): Adjust comments.
(pass_simduid_cleanup::execute): Likewise.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
* wide-int.h (wi::gcd): New.
gcc/c-family/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
* c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
(c_define_builtins): Likewise.
* c-common.h (enum c_omp_clause_split): Add
C_OMP_CLAUSE_SPLIT_TASKLOOP.
(c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
(c_finish_omp_for): Add ORIG_DECLV argument.
* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
201511 instead of 201307.
* c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
OMP_CRITICAL_CLAUSES to it.
(c_finish_omp_ordered): Add CLAUSES argument, set
OMP_ORDERED_CLAUSES to it.
(c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
(c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
constructs and new OpenMP 4.5 clauses. Clear
OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
verification code.
* c-pragma.c (omp_pragmas_simd): Add taskloop.
* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
(enum pragma_omp_clause): Add
PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
gcc/c/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
* c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
(c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
(c_parser_omp_variable_list): Handle structure elements for
map, to and from clauses. Handle array sections in reduction
clause. Formatting fixes.
(c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
if clause modifiers.
(c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
c_parser_omp_clause_priority, c_parser_omp_clause_hint,
c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
c_parser_omp_clause_is_device_ptr): New functions.
(c_parser_omp_clause_ordered): Parse optional parameter.
(c_parser_omp_clause_reduction): Handle array reductions.
(c_parser_omp_clause_schedule): Parse optional simd modifier.
(c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
functions.
(c_parser_omp_clause_linear): Parse linear clause modifiers.
(c_parser_omp_clause_depend_sink): New function.
(c_parser_omp_clause_depend): Parse source/sink depend kinds.
(c_parser_omp_clause_map): Parse release/delete map kinds and
optional always modifier.
(c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
and c_finish_omp_clauses callers.
(c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
(c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
(OMP_CRITICAL_CLAUSE_MASK): Define.
(c_parser_omp_critical): Parse critical clauses.
(c_parser_omp_for_loop): Handle doacross loops, adjust
c_finish_omp_for and c_finish_omp_clauses callers.
(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
(c_parser_omp_simd): Allow ordered clause if it has no parameter.
(OMP_FOR_CLAUSE_MASK): Add linear clause.
(c_parser_omp_for): Disallow ordered clause when combined with
distribute. Disallow linear clause when combined with distribute
and not combined with simd.
(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
(c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
parse clauses and if depend clause is found, don't parse a body.
(c_parser_omp_parallel): Disallow copyin clause on target parallel.
Allow target parallel without for after it.
(OMP_TASK_CLAUSE_MASK): Add priority clause.
(OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
(c_parser_omp_target_data): Diagnose no map clauses or clauses with
invalid kinds.
(OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
(OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
(c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
functions.
(OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
defaultmap and is_device_ptr clauses.
(c_parser_omp_target): Parse target parallel and target simd. Set
OMP_TARGET_COMBINED on combined constructs. Parse target enter data
and target exit data. Diagnose invalid map kinds.
(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
(c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
construct.
(c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
&omp_priv.
(OMP_TASKLOOP_CLAUSE_MASK): Define.
(c_parser_omp_taskloop): New function.
(c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
handle PRAGMA_OMP_TASKLOOP.
(c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
* c-tree.h (c_finish_omp_clauses): Add two new arguments.
* c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
Add IS_OMP argument, handle structure element bases, diagnose
bitfields, pass IS_OMP recursively, diagnose known zero length
array sections in depend clauses, handle array sections in reduction
clause, diagnose negative length even for pointers.
(handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
types, pass IS_OMP down to handle_omp_array_sections_1, handle
array sections in reduction clause, set
OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
(c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
gcc/cp/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
* class.c (finish_struct_1): Call finish_omp_declare_simd_methods.
* cp-gimplify.c (cp_gimplify_expr): Handle OMP_TASKLOOP.
(cp_genericize_r): Likewise.
(cxx_omp_finish_clause): Don't diagnose references.
(cxx_omp_disregard_value_expr): New function.
* cp-objcp-common.h (LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR): Redefine.
* cp-tree.h (OMP_FOR_GIMPLIFYING_P): Document for OMP_TASKLOOP.
(DECL_OMP_PRIVATIZED_MEMBER): Define.
(finish_omp_declare_simd_methods, push_omp_privatization_clauses,
pop_omp_privatization_clauses, save_omp_privatization_clauses,
restore_omp_privatization_clauses, omp_privatize_field,
cxx_omp_disregard_value_expr): New prototypes.
(finish_omp_clauses): Add two new arguments.
(finish_omp_for): Add ORIG_DECLV argument.
* parser.c (cp_parser_lambda_body): Call
save_omp_privatization_clauses and restore_omp_privatization_clauses.
(cp_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
(cp_parser_omp_var_list_no_open): Handle structure elements for
map, to and from clauses. Handle array sections in reduction
clause. Parse this keyword. Formatting fixes.
(cp_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
if clause modifiers.
(cp_parser_omp_clause_num_tasks, cp_parser_omp_clause_grainsize,
cp_parser_omp_clause_priority, cp_parser_omp_clause_hint,
cp_parser_omp_clause_defaultmap): New functions.
(cp_parser_omp_clause_ordered): Parse optional parameter.
(cp_parser_omp_clause_reduction): Handle array reductions.
(cp_parser_omp_clause_schedule): Parse optional simd modifier.
(cp_parser_omp_clause_nogroup, cp_parser_omp_clause_orderedkind):
New functions.
(cp_parser_omp_clause_linear): Parse linear clause modifiers.
(cp_parser_omp_clause_depend_sink): New function.
(cp_parser_omp_clause_depend): Parse source/sink depend kinds.
(cp_parser_omp_clause_map): Parse release/delete map kinds and
optional always modifier.
(cp_parser_oacc_all_clauses): Adjust cp_parser_omp_clause_if
and finish_omp_clauses callers.
(cp_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
(OMP_CRITICAL_CLAUSE_MASK): Define.
(cp_parser_omp_critical): Parse critical clauses.
(cp_parser_omp_for_incr): Use cp_tree_equal if
processing_template_decl.
(cp_parser_omp_for_loop_init): Return tree instead of bool. Handle
non-static data member iterators.
(cp_parser_omp_for_loop): Handle doacross loops, adjust
finish_omp_for and finish_omp_clauses callers.
(cp_omp_split_clauses): Adjust finish_omp_clauses caller.
(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
(cp_parser_omp_simd): Allow ordered clause if it has no parameter.
(OMP_FOR_CLAUSE_MASK): Add linear clause.
(cp_parser_omp_for): Disallow ordered clause when combined with
distribute. Disallow linear clause when combined with distribute
and not combined with simd.
(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
(cp_parser_omp_ordered): Add CONTEXT argument, return bool instead
of tree, parse clauses and if depend clause is found, don't parse
a body.
(cp_parser_omp_parallel): Disallow copyin clause on target parallel.
Allow target parallel without for after it.
(OMP_TASK_CLAUSE_MASK): Add priority clause.
(OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
(cp_parser_omp_target_data): Diagnose no map clauses or clauses with
invalid kinds.
(OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
(OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
(cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data): New
functions.
(OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
defaultmap and is_device_ptr clauses.
(cp_parser_omp_target): Parse target parallel and target simd. Set
OMP_TARGET_COMBINED on combined constructs. Parse target enter data
and target exit data. Diagnose invalid map kinds.
(cp_parser_oacc_cache): Adjust finish_omp_clauses caller.
(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
(cp_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
construct.
(OMP_TASKLOOP_CLAUSE_MASK): Define.
(cp_parser_omp_taskloop): New function.
(cp_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
handle PRAGMA_OMP_TASKLOOP.
(cp_parser_pragma): Handle PRAGMA_OMP_ORDERED here directly,
handle PRAGMA_OMP_TASKLOOP, call push_omp_privatization_clauses
and pop_omp_privatization_clauses around parsing calls.
(cp_parser_cilk_for): Adjust finish_omp_clauses caller.
* pt.c (apply_late_template_attributes): Adjust tsubst_omp_clauses
and finish_omp_clauses callers.
(tsubst_omp_clause_decl): Return NULL if decl is NULL.
For TREE_LIST, copy over OMP_CLAUSE_DEPEND_SINK_NEGATIVE bit.
Use tsubst_expr instead of tsubst_copy, undo convert_from_reference
effects.
(tsubst_omp_clauses): Add ALLOW_FIELDS argument. Handle new
OpenMP 4.5 clauses. Use tsubst_omp_clause_decl for more clauses.
If ALLOW_FIELDS, handle non-static data members in the clauses.
Clear OMP_CLAUSE_LINEAR_STEP if it has been cleared before.
(omp_parallel_combined_clauses): New variable.
(tsubst_omp_for_iterator): Add ORIG_DECLV argument, recur on
OMP_FOR_ORIG_DECLS, handle non-static data member iterators.
Improve handling of clauses on combined constructs.
(tsubst_expr): Call push_omp_privatization_clauses and
pop_omp_privatization_clauses around instantiation of certain
OpenMP constructs, improve handling of clauses on combined
constructs, handle OMP_TASKLOOP, adjust tsubst_omp_for_iterator,
tsubst_omp_clauses and finish_omp_for callers, handle clauses on
critical and ordered, handle OMP_TARGET_{ENTER,EXIT}_DATA.
(instantiate_decl): Call save_omp_privatization_clauses and
restore_omp_privatization_clauses around instantiation.
(dependent_omp_for_p): Fix up comment typo. Handle SCOPE_REF.
* semantics.c (omp_private_member_map, omp_private_member_vec,
omp_private_member_ignore_next): New variables.
(finish_non_static_data_member): Return dummy decl for privatized
non-static data members.
(omp_clause_decl_field, omp_clause_printable_decl,
omp_note_field_privatization, omp_privatize_field): New functions.
(handle_omp_array_sections_1): Fix comment typo.
Add IS_OMP argument, handle structure element bases, diagnose
bitfields, pass IS_OMP recursively, diagnose known zero length
array sections in depend clauses, handle array sections in reduction
clause, diagnose negative length even for pointers.
(handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
types, pass IS_OMP down to handle_omp_array_sections_1, handle
array sections in reduction clause, set
OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
(finish_omp_reduction_clause): Handle array sections and arrays.
Use omp_clause_printable_decl.
(finish_omp_declare_simd_methods, cp_finish_omp_clause_depend_sink):
New functions.
(finish_omp_clauses): Add ALLOW_FIELDS and DECLARE_SIMD arguments.
Handle new OpenMP 4.5 clauses and new restrictions for the old
ones, handle non-static data members, reject this keyword when not
allowed.
(push_omp_privatization_clauses, pop_omp_privatization_clauses,
save_omp_privatization_clauses, restore_omp_privatization_clauses):
New functions.
(handle_omp_for_class_iterator): Handle OMP_TASKLOOP class iterators.
Add collapse and ordered arguments. Fix handling of lastprivate
iterators in doacross loops.
(finish_omp_for): Add ORIG_DECLV argument, handle doacross loops,
adjust c_finish_omp_for, handle_omp_for_class_iterator and
finish_omp_clauses callers. Fill in OMP_CLAUSE_LINEAR_STEP on simd
loops with non-static data member iterators.
gcc/fortran/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Ilya Verbin <ilya.verbin@intel.com>
* f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
* trans-openmp.c (gfc_trans_omp_clauses): Set
OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
to NULL.
(gfc_trans_omp_critical): Adjust for addition of clauses.
(gfc_trans_omp_ordered): Likewise.
* types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
gcc/lto/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
* lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
DEF_FUNCTION_TYPE_11): Define.
gcc/jit/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
* jit-builtins.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
DEF_FUNCTION_TYPE_11): Define.
* jit-builtins.h (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
DEF_FUNCTION_TYPE_11): Define.
gcc/ada/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
DEF_FUNCTION_TYPE_11): Define.
gcc/testsuite/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
* c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data.
* c-c++-common/gomp/clauses-1.c: New test.
* c-c++-common/gomp/clauses-2.c: New test.
* c-c++-common/gomp/clauses-3.c: New test.
* c-c++-common/gomp/clauses-4.c: New test.
* c-c++-common/gomp/declare-target-1.c: New test.
* c-c++-common/gomp/declare-target-2.c: New test.
* c-c++-common/gomp/depend-3.c: New test.
* c-c++-common/gomp/depend-4.c: New test.
* c-c++-common/gomp/doacross-1.c: New test.
* c-c++-common/gomp/if-1.c: New test.
* c-c++-common/gomp/if-2.c: New test.
* c-c++-common/gomp/linear-1.c: New test.
* c-c++-common/gomp/map-2.c: New test.
* c-c++-common/gomp/map-3.c: New test.
* c-c++-common/gomp/nesting-1.c (f_omp_parallel,
f_omp_target_data): Add map clause to target data.
* c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise.
* c-c++-common/gomp/ordered-1.c: New test.
* c-c++-common/gomp/ordered-2.c: New test.
* c-c++-common/gomp/ordered-3.c: New test.
* c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause
on non-iterator.
* c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered
clause and ordered construct where no longer allowed.
* c-c++-common/gomp/priority-1.c: New test.
* c-c++-common/gomp/reduction-1.c: New test.
* c-c++-common/gomp/schedule-simd-1.c: New test.
* c-c++-common/gomp/sink-1.c: New test.
* c-c++-common/gomp/sink-2.c: New test.
* c-c++-common/gomp/sink-3.c: New test.
* c-c++-common/gomp/sink-4.c: New test.
* c-c++-common/gomp/udr-1.c: New test.
* c-c++-common/taskloop-1.c: New test.
* c-c++-common/cpp/openmp-define-3.c: Adjust for the new
value of _OPENMP macro.
* c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics.
* c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel,
f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data.
* gcc.dg/gomp/clause-1.c:
* gcc.dg/gomp/reduction-1.c: New test.
* gcc.dg/gomp/sink-fold-1.c: New test.
* gcc.dg/gomp/sink-fold-2.c: New test.
* gcc.dg/gomp/sink-fold-3.c: New test.
* gcc.dg/vect/vect-simd-clone-15.c: New test.
* g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization
of non-static data members.
* g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive.
Add some linear clause tests.
* g++.dg/gomp/declare-simd-3.C: New test.
* g++.dg/gomp/linear-1.C: New test.
* g++.dg/gomp/member-1.C: New test.
* g++.dg/gomp/member-2.C: New test.
* g++.dg/gomp/pr66571-2.C: New test.
* g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with
dependent argument.
* g++.dg/gomp/pr67522.C (foo): Add test for invalid array section
in reduction clause.
* g++.dg/gomp/reference-1.C: New test.
* g++.dg/gomp/sink-1.C: New test.
* g++.dg/gomp/sink-2.C: New test.
* g++.dg/gomp/sink-3.C: New test.
* g++.dg/gomp/task-1.C: Remove both dg-error directives.
* g++.dg/gomp/this-1.C: New test.
* g++.dg/gomp/this-2.C: New test.
* g++.dg/vect/simd-clone-2.cc: New test.
* g++.dg/vect/simd-clone-2.h: New test.
* g++.dg/vect/simd-clone-3.cc: New test.
* g++.dg/vect/simd-clone-4.cc: New test.
* g++.dg/vect/simd-clone-4.h: New test.
* g++.dg/vect/simd-clone-5.cc: New test.
include/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Ilya Verbin <ilya.verbin@intel.com>
* gomp-constants.h (GOMP_MAP_FLAG_ALWAYS): Define.
(enum gomp_map_kind): Add GOMP_MAP_FIRSTPRIVATE,
GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_USE_DEVICE_PTR,
GOMP_MAP_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_ALWAYS_TO,
GOMP_MAP_ALWAYS_FROM, GOMP_MAP_ALWAYS_TOFROM, GOMP_MAP_STRUCT,
GOMP_MAP_DELETE_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_DELETE,
GOMP_MAP_RELEASE, GOMP_MAP_FIRSTPRIVATE_POINTER.
(GOMP_MAP_ALWAYS_TO_P, GOMP_MAP_ALWAYS_FROM_P): Define.
(GOMP_TASK_FLAG_UNTIED, GOMP_TASK_FLAG_FINAL, GOMP_TASK_FLAG_MERGEABLE,
GOMP_TASK_FLAG_DEPEND, GOMP_TASK_FLAG_PRIORITY, GOMP_TASK_FLAG_UP,
GOMP_TASK_FLAG_GRAINSIZE, GOMP_TASK_FLAG_IF, GOMP_TASK_FLAG_NOGROUP,
GOMP_TARGET_FLAG_NOWAIT, GOMP_TARGET_FLAG_EXIT_DATA,
GOMP_TARGET_FLAG_UPDATE): Define.
libgomp/
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Ilya Verbin <ilya.verbin@intel.com>
* config/linux/affinity.c (omp_get_place_num_procs,
omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
* config/linux/doacross.h: New file.
* config/posix/affinity.c (omp_get_place_num_procs,
omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
* config/posix/doacross.h: New file.
* env.c: Include gomp-constants.h.
(struct gomp_task_icv): Rename run_sched_modifier to
run_sched_chunk_size.
(gomp_max_task_priority_var): New variable.
(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
(handle_omp_display_env): Change _OPENMP value from 201307 to
201511. Print OMP_MAX_TASK_PRIORITY.
(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
(omp_set_schedule, omp_get_schedule): Rename modifier argument to
chunk_size and run_sched_modifier to run_sched_chunk_size.
(omp_get_max_task_priority, omp_get_initial_device,
omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
omp_get_partition_place_nums): New functions.
* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
to chunk_size.
(omp_get_num_places_, omp_get_place_num_procs_,
omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
omp_get_place_proc_ids_8_, omp_get_place_num_,
omp_get_partition_num_places_, omp_get_partition_place_nums_,
omp_get_partition_place_nums_8_, omp_get_initial_device_,
omp_get_max_task_priority_): New functions.
* libgomp_g.h (GOMP_loop_doacross_static_start,
GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
GOMP_loop_ull_doacross_dynamic_start,
GOMP_loop_ull_doacross_guided_start,
GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
GOMP_target_data_41, GOMP_target_update_41,
GOMP_target_enter_exit_data): New prototypes.
(GOMP_task): Add prototype argument.
* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
(struct gomp_doacross_work_share): New type.
(struct gomp_work_share): Add doacross field.
(struct gomp_task_icv): Rename run_sched_modifier to
run_sched_chunk_size.
(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
GOMP_TASK_UNDEFERRED. Add comments.
(struct gomp_task_depend_entry): Add comments.
(struct gomp_task): Likewise.
(struct gomp_taskgroup): Likewise.
(struct gomp_target_task): New type.
(struct gomp_team): Add comment.
(gomp_get_place_proc_ids_8, gomp_doacross_init,
gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
gomp_create_target_task, gomp_target_task_fn): New prototypes.
(struct target_var_desc): New type.
(struct target_mem_desc): Adjust comment. Use struct
target_var_desc instead of splay_tree_key for list.
(REFCOUNT_INFINITY): Define.
(struct splay_tree_key_s): Remove copy_from field.
(struct gomp_device_descr): Add dev2dev_func field.
(enum gomp_map_vars_kind): New enum.
(gomp_map_vars): Add one argument.
* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
omp_get_place_num_procs, omp_get_place_num_procs_,
omp_get_place_num_procs_8_, omp_get_place_proc_ids,
omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
omp_get_place_num_, omp_get_partition_num_places,
omp_get_partition_num_places_, omp_get_partition_place_nums,
omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
omp_target_free, omp_target_is_present, omp_target_memcpy,
omp_target_memcpy_rect, omp_target_associate_ptr and
omp_target_disassociate_ptr.
(GOMP_4.0.2): Renamed to ...
(GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
GOMP_loop_doacross_static_start, GOMP_doacross_post,
GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
GOMP_loop_ull_doacross_guided_start,
GOMP_loop_ull_doacross_runtime_start,
GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
GOMP_doacross_ull_wait.
* libgomp.texi: Document omp_get_max_task_priority.
Rename modifier argument to chunk_size for omp_set_schedule and
omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
to run_sched_chunk_size renaming.
(GOMP_loop_ordered_runtime_start): Likewise.
(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
GOMP_parallel_loop_runtime_start): New functions.
(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
to run_sched_chunk_size renaming.
(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
GOMP_loop_doacross_guided_start): New functions or aliases.
* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
run_sched_modifier to run_sched_chunk_size renaming.
(GOMP_loop_ull_ordered_runtime_start): Likewise.
(gomp_loop_ull_doacross_static_start,
gomp_loop_ull_doacross_dynamic_start,
gomp_loop_ull_doacross_guided_start,
GOMP_loop_ull_doacross_runtime_start): New functions.
(GOMP_loop_ull_doacross_static_start,
GOMP_loop_ull_doacross_dynamic_start,
GOMP_loop_ull_doacross_guided_start): New functions or aliases.
* oacc-mem.c (acc_map_data, present_create_copy,
gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
to gomp_map_vars.
(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
instead of false to gomp_map_vars.
(GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
* omp.h.in (omp_lock_hint_t): New type.
(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
omp_get_place_num, omp_get_partition_num_places,
omp_get_partition_place_nums, omp_get_initial_device,
omp_get_max_task_priority, omp_target_alloc, omp_target_free,
omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
omp_target_associate_ptr, omp_target_disassociate_ptr): New
prototypes.
* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
(omp_lock_hint_none, omp_lock_hint_uncontended,
omp_lock_hint_contended, omp_lock_hint_nonspeculative,
omp_lock_hint_speculative): New parameters.
(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
omp_get_place_num, omp_get_partition_num_places,
omp_get_partition_place_nums, omp_get_initial_device,
omp_get_max_task_priority): New interfaces.
(omp_set_schedule, omp_get_schedule): Rename modifier argument
to chunk_size.
* omp_lib.h.in (omp_lock_hint_kind): New parameter.
(omp_lock_hint_none, omp_lock_hint_uncontended,
omp_lock_hint_contended, omp_lock_hint_nonspeculative,
omp_lock_hint_speculative): New parameters.
(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
omp_get_place_num, omp_get_partition_num_places,
omp_get_partition_place_nums, omp_get_initial_device,
omp_get_max_task_priority): New functions and subroutines.
* ordered.c: Include stdarg.h and string.h.
(MAX_COLLAPSED_BITS): Define.
(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
gomp_doacross_ull_init, GOMP_doacross_ull_post,
GOMP_doacross_ull_wait): New functions.
* target.c: Include errno.h.
(resolve_device): If device is not initialized, call
gomp_init_device on it.
(gomp_map_lookup): New function.
(gomp_map_vars_existing): Add tgt_var argument, fill it in.
Don't bump refcount if REFCOUNT_INFINITY. Handle
GOMP_MAP_ALWAYS_TO_P.
(get_kind): Rename is_openacc argument to short_mapkind.
(gomp_map_pointer): Use gomp_map_lookup.
(gomp_map_fields_existing): New function.
(gomp_map_vars): Rename is_openacc argument to short_mapkind
and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
Adjust for tgt->list changed type and copy_from living in there.
(gomp_copy_from_async): Adjust for tgt->list changed type and
copy_from living in there.
(gomp_unmap_vars): Likewise.
(gomp_update): Likewise. Rename is_openacc argument to
short_mapkind. Don't fail if object is not mapped.
(gomp_load_image_to_device): Initialize refcount to
REFCOUNT_INFINITY.
(gomp_target_fallback): New function.
(gomp_get_target_fn_addr): Likewise.
(GOMP_target): Adjust gomp_map_vars caller, use
gomp_get_target_fn_addr and gomp_target_fallback.
(GOMP_target_41): New function.
(gomp_target_data_fallback): New function.
(GOMP_target_data): Use it, adjust gomp_map_vars caller.
(GOMP_target_data_41): New function.
(GOMP_target_update): Adjust gomp_update caller.
(GOMP_target_update_41): New function.
(gomp_exit_data, GOMP_target_enter_exit_data,
gomp_target_task_fn, omp_target_alloc, omp_target_free,
omp_target_is_present, omp_target_memcpy,
omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
omp_target_associate_ptr, omp_target_disassociate_ptr,
gomp_load_plugin_for_device): New functions.
* task.c: Include gomp-constants.h. Include taskloop.c
twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
(gomp_task_handle_depend): New function.
(GOMP_task): Use it. Add priority argument. Use
gomp-constant.h constants instead of hardcoded numbers.
Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
(gomp_create_target_task): New function.
(verify_children_queue, verify_taskgroup_queue,
verify_task_queue): New functions.
(gomp_task_run_pre): Call verify_*_queue functions.
If an upcoming tied task is about to leave the sibling or
taskgroup queues in an invalid state, adjust appropriately.
Remove taskgroup argument. Add comments.
(gomp_task_run_post_handle_dependers): Add comments.
(gomp_task_run_post_remove_parent): Likewise.
(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
(GOMP_taskwait): Likewise. Add comments.
(gomp_task_maybe_wait_for_dependencies): Fix scheduling
problem such that the first non parent_depends_on task does not
end up at the end of the children queue.
(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
GOMP_TASK_UNDEFERRED.
(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
* taskloop.c: New file.
* testsuite/lib/libgomp.exp
(check_effective_target_offload_device_nonshared_as): New proc.
* testsuite/libgomp.c/affinity-2.c: New test.
* testsuite/libgomp.c/doacross-1.c: New test.
* testsuite/libgomp.c/doacross-2.c: New test.
* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
Add map clause to target.
* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
Likewise.
* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
not defined. Use those where needed.
* testsuite/libgomp.c/for-4.c: New test.
* testsuite/libgomp.c/for-5.c: New test.
* testsuite/libgomp.c/for-6.c: New test.
* testsuite/libgomp.c/linear-1.c: New test.
* testsuite/libgomp.c/ordered-4.c: New test.
* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
only allowed on the loop iterator.
* testsuite/libgomp.c/pr66199-3.c: New test.
* testsuite/libgomp.c/pr66199-4.c: New test.
* testsuite/libgomp.c/reduction-7.c: New test.
* testsuite/libgomp.c/reduction-8.c: New test.
* testsuite/libgomp.c/reduction-9.c: New test.
* testsuite/libgomp.c/reduction-10.c: New test.
* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
map(tofrom:s).
* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
* testsuite/libgomp.c/target-11.c: New test.
* testsuite/libgomp.c/target-12.c: New test.
* testsuite/libgomp.c/target-13.c: New test.
* testsuite/libgomp.c/target-14.c: New test.
* testsuite/libgomp.c/target-15.c: New test.
* testsuite/libgomp.c/target-16.c: New test.
* testsuite/libgomp.c/target-17.c: New test.
* testsuite/libgomp.c/target-18.c: New test.
* testsuite/libgomp.c/target-19.c: New test.
* testsuite/libgomp.c/target-20.c: New test.
* testsuite/libgomp.c/target-21.c: New test.
* testsuite/libgomp.c/target-22.c: New test.
* testsuite/libgomp.c/target-23.c: New test.
* testsuite/libgomp.c/target-24.c: New test.
* testsuite/libgomp.c/target-25.c: New test.
* testsuite/libgomp.c/target-26.c: New test.
* testsuite/libgomp.c/target-27.c: New test.
* testsuite/libgomp.c/taskloop-1.c: New test.
* testsuite/libgomp.c/taskloop-2.c: New test.
* testsuite/libgomp.c/taskloop-3.c: New test.
* testsuite/libgomp.c/taskloop-4.c: New test.
* testsuite/libgomp.c++/ctor-13.C: New test.
* testsuite/libgomp.c++/doacross-1.C: New test.
* testsuite/libgomp.c++/examples-4/declare_target-2.C:
Replace offload_device with offload_device_nonshared_as.
* testsuite/libgomp.c++/for-12.C: New test.
* testsuite/libgomp.c++/for-13.C: New test.
* testsuite/libgomp.c++/for-14.C: New test.
* testsuite/libgomp.c++/linear-1.C: New test.
* testsuite/libgomp.c++/member-1.C: New test.
* testsuite/libgomp.c++/member-2.C: New test.
* testsuite/libgomp.c++/member-3.C: New test.
* testsuite/libgomp.c++/member-4.C: New test.
* testsuite/libgomp.c++/member-5.C: New test.
* testsuite/libgomp.c++/ordered-1.C: New test.
* testsuite/libgomp.c++/reduction-5.C: New test.
* testsuite/libgomp.c++/reduction-6.C: New test.
* testsuite/libgomp.c++/reduction-7.C: New test.
* testsuite/libgomp.c++/reduction-8.C: New test.
* testsuite/libgomp.c++/reduction-9.C: New test.
* testsuite/libgomp.c++/reduction-10.C: New test.
* testsuite/libgomp.c++/reference-1.C: New test.
* testsuite/libgomp.c++/simd14.C: New test.
* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
* testsuite/libgomp.c++/target-5.C: New test.
* testsuite/libgomp.c++/target-6.C: New test.
* testsuite/libgomp.c++/target-7.C: New test.
* testsuite/libgomp.c++/target-8.C: New test.
* testsuite/libgomp.c++/target-9.C: New test.
* testsuite/libgomp.c++/target-10.C: New test.
* testsuite/libgomp.c++/target-11.C: New test.
* testsuite/libgomp.c++/target-12.C: New test.
* testsuite/libgomp.c++/taskloop-1.C: New test.
* testsuite/libgomp.c++/taskloop-2.C: New test.
* testsuite/libgomp.c++/taskloop-3.C: New test.
* testsuite/libgomp.c++/taskloop-4.C: New test.
* testsuite/libgomp.c++/taskloop-5.C: New test.
* testsuite/libgomp.c++/taskloop-6.C: New test.
* testsuite/libgomp.c++/taskloop-7.C: New test.
* testsuite/libgomp.c++/taskloop-8.C: New test.
* testsuite/libgomp.c++/taskloop-9.C: New test.
* testsuite/libgomp.fortran/affinity1.f90: New test.
* testsuite/libgomp.fortran/affinity2.f90: New test.
liboffloadmic/
2015-10-13 Ilya Verbin <ilya.verbin@intel.com>
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_dev2dev): New
function.
* plugin/offload_target_main.cpp (__offload_target_tgt2tgt): New
static function, register it in liboffloadmic.
From-SVN: r228777
2015-10-13 21:06:23 +02:00
|
|
|
|
2015-10-13 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
|
|
|
|
|
DEF_FUNCTION_TYPE_11): Define.
|
|
|
|
|
|
2015-10-10 21:43:49 +02:00
|
|
|
|
2015-10-10 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Honor
|
|
|
|
|
type_with_interoperable_signedness.
|
|
|
|
|
|
gomp-constants.h (GOMP_VERSION_NVIDIA_PTX): Increment.
inlude/
* gomp-constants.h (GOMP_VERSION_NVIDIA_PTX): Increment.
(GOMP_DIM_GANG, GOMP_DIM_WORKER, GOMP_DIM_VECTOR, GOMP_DIM_MAX,
GOMP_DIM_MASK): New.
(GOMP_LAUNCH_DIM, GOMP_LAUNCH_ASYNC, GOMP_LAUNCH_WAIT): New.
(GOMP_LAUNCH_CODE_SHIFT, GOMP_LAUNCH_DEVICE_SHIFT,
GOMP_LAUNCH_OP_SHIFT): New.
(GOMP_LAUNCH_PACK, GOMP_LAUNCH_CODE, GOMP_LAUNCH_DEVICE,
GOMP_LAUNCH_OP): New.
(GOMP_LAUNCH_OP_MAX): New.
libgomp/
* libgomp.h (acc_dispatch_t): Replace separate geometry args with
array.
* libgomp.map (GOACC_parallel_keyed): New.
* oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
all callers.
(GOACC_parallel_keyed): New interface. Lose geometry arguments
and take keyed varargs list. Adjust call to exec_func.
(GOACC_parallel): Force host fallback.
* libgomp_g.h (GOACC_parallel): Remove.
(GOACC_parallel_keyed): Declare.
* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
(stuct targ_gn_descriptor): Replace name field with launch field.
(nvptx_exec): Lose separate geometry args, take array. Process
dynamic dimensions and adjust.
(struct nvptx_tdata): Replace fn_names field with fn_descs.
(GOMP_OFFLOAD_load_image): Adjust for change in function table
data.
(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
passing.
* oacc-host.c (host_openacc_exec): Adjust for change in dimension
passing.
gcc/
* config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
(nvptx_record_offload_symbol): Record function execution geometry.
* config/nvptx/mkoffload.c (process): Include launch geometry in
function data.
* omp-low.c (oacc_launch_pack): New.
(replace_oacc_fn_attrib): New.
(set_oacc_fn_attrib): New.
(get_oacc_fn_attrib): New.
(expand_omp_target): Create keyed varargs for GOACC_parallel call
generation.
* omp-low.h (get_oacc_fn_attrib): Declare.
* builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
(DEF_FUNCTION_TYPE_VAR_11): Delete.
* tree.h (OMP_CLAUSE_EXPR): New.
* omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
gcc/lto/
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
(DEF_FUNCTION_TYPE_VAR_11): Delete.
gcc/c-family/
* c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
(DEF_FUNCTION_TYPE_VAR_11): Delete.
gcc/fortran/
* f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
(DEF_FUNCTION_TYPE_VAR_11): Delete.
* types.def (DEF_FUNCTION_TYPE_VAR_6): New.
(DEF_FUNCTION_TYPE_VAR_11): Delete.
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define
From-SVN: r228220
2015-09-28 21:37:33 +02:00
|
|
|
|
2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
|
|
|
|
|
(DEF_FUNCTION_TYPE_VAR_11): Delete.
|
|
|
|
|
|
2015-08-31 16:01:45 +02:00
|
|
|
|
2015-08-31 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
|
|
|
|
|
(lto_symtab_prevailing_decl): Do not replace a decl that didn't
|
|
|
|
|
participate in merging with something else.
|
|
|
|
|
|
2015-08-31 13:48:11 +02:00
|
|
|
|
2015-08-31 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
|
|
|
|
|
test, do not replace a non-builtin with a builtin.
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not merge things we stream
|
|
|
|
|
as builtins vs. non-builtins.
|
|
|
|
|
|
remove more useless typedefs
gcc/c-family/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
typedefs.
gcc/c/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
gcc/cp/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
method.c, name-lookup.h, parser.c, parser.h, rtti.c,
semantics.c, typeck2.c: Remove useless typedefs.
gcc/fortran/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* dependency.c, dependency.h, gfortran.h, io.c, module.c,
parse.h, resolve.c, trans-types.h, trans.h: remove useless
typedefs.
gcc/lto/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* lto.h: Remove useless typedefs.
gcc/objc/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
Remove useless typedefs.
gcc/ChangeLog:
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
typedefs.
From-SVN: r227001
2015-08-19 04:48:48 +02:00
|
|
|
|
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
|
|
|
|
|
|
|
|
|
|
* lto.h: Remove useless typedefs.
|
|
|
|
|
|
2015-07-15 21:57:03 +02:00
|
|
|
|
2015-07-15 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Remove redundant includes.
|
|
|
|
|
|
2015-07-13 06:46:34 +02:00
|
|
|
|
2015-07-12 Aldy Hernandez <aldyh@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Fix double word typos.
|
|
|
|
|
|
2015-07-10 14:13:06 +02:00
|
|
|
|
2015-07-10 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include cfghooks.h rather than predict.h.
|
|
|
|
|
|
2015-07-09 16:24:20 +02:00
|
|
|
|
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Adjust includes of target.h, alloc-pool.h and
|
|
|
|
|
lto-streamer.h.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
|
2015-07-09 13:27:35 +02:00
|
|
|
|
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Adjust includes for flags.h changes.
|
|
|
|
|
|
2015-07-08 02:53:03 +02:00
|
|
|
|
2015-07-07 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Adjust includes.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2015-06-25 20:32:38 +02:00
|
|
|
|
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto-tree.h: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2015-06-25 19:06:13 +02:00
|
|
|
|
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
|
|
|
|
|
than typed_noop_remove. Remove redudant typedefs.
|
|
|
|
|
|
coretypes.h: Include input.h and as-a.h.
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
* coretypes.h: Include input.h and as-a.h.
* rtl.h: Include input.h and as-a.h for generator files.
* hwint.c: Include input.h.
* vec.c: Include input.h.
* alias.c: Do not include input.h, line-map.h or is-a.h.
* asan.c: Likewise.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* ccmp.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* convert.c: Likewise.
* coverage.c: Likewise.
* cppbuiltin.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* ddg.c: Likewise.
* debug.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.
* dfp.c: Likewise.
* diagnostic-core.h: Likewise.
* diagnostic.c: Likewise.
* dojump.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* double-int.c: Likewise.
* dse.c: Likewise.
* dumpfile.c: Likewise.
* dumpfile.h: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* et-forest.c: Likewise.
* except.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcc-plugin.h: Likewise.
* gcse.c: Likewise.
* generic-match-head.c: Likewise.
* ggc-page.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-match-head.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple-streamer.h: Likewise.
* gimple-walk.c: Likewise.
* gimple.c: Likewise.
* gimplify-me.c: Likewise.
* gimplify.c: Likewise.
* godump.c: Likewise.
* graph.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ifcvt.c: Likewise.
* init-regs.c: Likewise.
* input.c: Likewise.
* internal-fn.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* jump.c: Likewise.
* langhooks.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-assigns.c: Likewise.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-eliminations.c: Likewise.
* lra-lives.c: Likewise.
* lra-remat.c: Likewise.
* lra-spills.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omega.c: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* opts-global.c: Likewise.
* opts.h: Likewise.
* passes.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* pretty-print.h: Likewise.
* print-rtl.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* realmpfr.c: Likewise.
* recog.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regrename.c: Likewise.
* regstat.c: Likewise.
* reload.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl-chkp.c: Likewise.
* rtl-error.c: Likewise.
* rtlanal.c: Likewise.
* rtlhooks.c: Likewise.
* sanopt.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sched-vis.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* shrink-wrap.c: Likewise.
* simplify-rtx.c: Likewise.
* stack-ptr-mod.c: Likewise.
* statistics.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* streamer-hooks.c: Likewise.
* stringpool.c: Likewise.
* symtab.c: Likewise.
* target-globals.c: Likewise.
* targhooks.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chkp-opt.c: Likewise.
* tree-chkp.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-scopedtables.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* valtrack.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* vtable-verify.c: Likewise.
* web.c: Likewise.
* wide-int.cc: Likewise.
* xcoffout.c: Likewise.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/aarch-common.c: Likewise.
* config/arm/arm-builtins.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr-c.c: Likewise.
* config/avr/avr-log.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/default-c.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/epiphany/mode-switch-use.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/glibc-c.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/msformat-c.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/microblaze/microblaze-c.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430-c.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rl78/rl78-c.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390-c.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh-c.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2-cxx.c: Likewise.
* config/sol2-stubs.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc-c.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.
* config/tilegx/tilegx-c.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/mul-tables.c: Likewise.
* config/tilepro/tilepro-c.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/vms/vms-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/winnt-c.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
ada
* ada/gcc-interface/cuintp.c: Do not include input.h, line-map.h or
is-a.h.
* ada/gcc-interface/decl.c: Likewise.
* ada/gcc-interface/misc.c: Likewise.
* ada/gcc-interface/targtyps.c: Likewise.
* ada/gcc-interface/trans.c: Likewise.
* ada/gcc-interface/utils.c: Likewise.
* ada/gcc-interface/utils2.c: Likewise.
c
* c/c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
* c/c-aux-info.c: Likewise.
* c/c-convert.c: Likewise.
* c/c-decl.c: Likewise.
* c/c-errors.c: Likewise.
* c/c-lang.c: Likewise.
* c/c-objc-common.c: Likewise.
* c/c-parser.c: Likewise.
* c/c-typeck.c: Likewise.
c-family
* c-family/array-notation-common.c: Do not include input.h, line-map.h
or is-a.h.
* c-family/c-ada-spec.c: Likewise.
* c-family/c-cilkplus.c: Likewise.
* c-family/c-common.c: Likewise.
* c-family/c-common.h: Likewise.
* c-family/c-cppbuiltin.c: Likewise.
* c-family/c-dump.c: Likewise.
* c-family/c-format.c: Likewise.
* c-family/c-gimplify.c: Likewise.
* c-family/c-indentation.c: Likewise.
* c-family/c-lex.c: Likewise.
* c-family/c-omp.c: Likewise.
* c-family/c-opts.c: Likewise.
* c-family/c-pch.c: Likewise.
* c-family/c-ppoutput.c: Likewise.
* c-family/c-pragma.c: Likewise.
* c-family/c-pretty-print.c: Likewise.
* c-family/c-semantics.c: Likewise.
* c-family/c-ubsan.c: Likewise.
* c-family/cilk.c: Likewise.
* c-family/stub-objc.c: Likewise.
common
* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
* common/common-targhooks.c: Likewise.
cp
* cp/call.c: Do not include input.h, line-map.h or is-a.h.
* cp/class.c: Likewise.
* cp/constexpr.c: Likewise.
* cp/cp-array-notation.c: Likewise.
* cp/cp-gimplify.c: Likewise.
* cp/cp-lang.c: Likewise.
* cp/cp-objcp-common.c: Likewise.
* cp/cp-tree.h: Likewise.
* cp/cp-ubsan.c: Likewise.
* cp/cvt.c: Likewise.
* cp/decl.c: Likewise.
* cp/decl2.c: Likewise.
* cp/dump.c: Likewise.
* cp/error.c: Likewise.
* cp/except.c: Likewise.
* cp/expr.c: Likewise.
* cp/friend.c: Likewise.
* cp/init.c: Likewise.
* cp/lambda.c: Likewise.
* cp/lex.c: Likewise.
* cp/mangle.c: Likewise.
* cp/method.c: Likewise.
* cp/name-lookup.c: Likewise.
* cp/optimize.c: Likewise.
* cp/parser.c: Likewise.
* cp/pt.c: Likewise.
* cp/ptree.c: Likewise.
* cp/repo.c: Likewise.
* cp/rtti.c: Likewise.
* cp/search.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/typeck.c: Likewise.
* cp/typeck2.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.
fortran
* fortran/convert.c: Do not include input.h, line-map.h or is-a.h.
* fortran/cpp.c: Likewise.
* fortran/decl.c: Likewise.
* fortran/f95-lang.c: Likewise.
* fortran/gfortran.h: Likewise.
* fortran/iresolve.c: Likewise.
* fortran/match.c: Likewise.
* fortran/module.c: Likewise.
* fortran/options.c: Likewise.
* fortran/target-memory.c: Likewise.
* fortran/trans-array.c: Likewise.
* fortran/trans-common.c: Likewise.
* fortran/trans-const.c: Likewise.
* fortran/trans-decl.c: Likewise.
* fortran/trans-expr.c: Likewise.
* fortran/trans-intrinsic.c: Likewise.
* fortran/trans-io.c: Likewise.
* fortran/trans-openmp.c: Likewise.
* fortran/trans-stmt.c: Likewise.
* fortran/trans-types.c: Likewise.
* fortran/trans.c: Likewise.
go
* go/go-backend.c: Do not include input.h, line-map.h or is-a.h.
* go/go-gcc.cc: Likewise.
* go/go-lang.c: Likewise.
* go/go-system.h: Likewise.
java
* java/boehm.c: Do not include input.h, line-map.h or is-a.h.
* java/builtins.c: Likewise.
* java/class.c: Likewise.
* java/constants.c: Likewise.
* java/decl.c: Likewise.
* java/except.c: Likewise.
* java/expr.c: Likewise.
* java/java-gimplify.c: Likewise.
* java/jcf-dump.c: Likewise.
* java/jcf-io.c: Likewise.
* java/jcf-parse.c: Likewise.
* java/jvgenmain.c: Likewise.
* java/lang.c: Likewise.
* java/mangle.c: Likewise.
* java/mangle_name.c: Likewise.
* java/resource.c: Likewise.
* java/typeck.c: Likewise.
* java/verify-glue.c: Likewise.
* java/verify-impl.c: Likewise.
jit
* jit/dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
* jit/jit-common.h: Likewise.
* jit/jit-playback.c: Likewise.
lto
* lto/lto-lang.c: Do not include input.h, line-map.h or is-a.h.
* lto/lto-object.c: Likewise.
* lto/lto-partition.c: Likewise.
* lto/lto-symtab.c: Likewise.
* lto/lto.c: Likewise.
objc
* objc/objc-act.c: Do not include input.h, line-map.h or is-a.h.
* objc/objc-encoding.c: Likewise.
* objc/objc-gnu-runtime-abi-01.c: Likewise.
* objc/objc-lang.c: Likewise.
* objc/objc-map.c: Likewise.
* objc/objc-next-runtime-abi-01.c: Likewise.
* objc/objc-next-runtime-abi-02.c: Likewise.
* objc/objc-runtime-shared-support.c: Likewise.
objcp
* objcp/objcp-decl.c: Do not include input.h, line-map.h or is-a.h.
* objcp/objcp-lang.c: Likewise.
From-SVN: r224562
2015-06-17 16:58:44 +02:00
|
|
|
|
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Do not include input.h, line-map.h or is-a.h.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2015-06-15 01:40:12 +02:00
|
|
|
|
2015-06-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/66181
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
|
|
|
|
|
|
2015-06-12 07:59:31 +02:00
|
|
|
|
2015-06-12 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_type_for_size): Include intN types.
|
|
|
|
|
(lto_type_for_mode): Likewise.
|
|
|
|
|
|
2015-06-09 00:24:57 +02:00
|
|
|
|
2015-06-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
|
|
|
|
|
|
2015-06-08 23:06:50 +02:00
|
|
|
|
2015-06-08 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c : Adjust include files.
|
|
|
|
|
* lto-object.c : Likewise.
|
|
|
|
|
* lto-partition.c : Likewise.
|
|
|
|
|
* lto-partition.h : Likewise.
|
|
|
|
|
* lto-symtab.c : Likewise.
|
|
|
|
|
* lto.c : Likewise.
|
|
|
|
|
* lto.h : Likewise.
|
|
|
|
|
|
2015-06-07 23:30:58 +02:00
|
|
|
|
2015-06-06 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
2015-06-08 22:37:53 +02:00
|
|
|
|
PR lto/65378
|
|
|
|
|
* lto-symtab.c (warn_type_compatibility_p): Fix call of
|
|
|
|
|
odr_or_derived_type_p.
|
|
|
|
|
(lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
|
|
|
|
|
|
|
|
|
|
2015-06-08 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
|
2015-06-07 23:30:58 +02:00
|
|
|
|
* lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
|
|
|
|
|
pointers.
|
|
|
|
|
|
2015-06-05 20:44:53 +02:00
|
|
|
|
2015-06-05 Aldy Hernandez <aldyh@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_write_globals): Remove.
|
|
|
|
|
(LANG_HOOKS_WRITE_GLOBALS): Same.
|
|
|
|
|
|
2015-06-04 19:49:54 +02:00
|
|
|
|
2015-06-04 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Adjust includes for restructured coretypes.h.
|
|
|
|
|
* lto-object.c: Likewise.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2015-06-04 18:38:50 +02:00
|
|
|
|
2015-06-04 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
|
|
|
|
|
|
2015-06-04 01:13:49 +02:00
|
|
|
|
2015-06-03 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (iterative_hash_canonical_type,
|
|
|
|
|
gimple_register_canonical_type): only hash main variants of types
|
|
|
|
|
|
2015-05-27 15:17:13 +02:00
|
|
|
|
2015-05-27 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (new_partition): Reset number of symbols.
|
|
|
|
|
(add_symbol_to_partition_1): Increment number of symbols.
|
|
|
|
|
(undo_partition): Decrement number of symbols.
|
|
|
|
|
(lto_balanced_map): Dump number of symbols and insns that
|
|
|
|
|
belong to a partition.
|
|
|
|
|
* lto-partition.h (struct ltrans_partition_def): Add symbol counter.
|
|
|
|
|
|
2015-05-23 20:25:41 +02:00
|
|
|
|
2015-05-22 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Be sure we hash only types that
|
|
|
|
|
need alias set.
|
|
|
|
|
(gimple_register_canonical_type_1): Do not produce canonical
|
|
|
|
|
types for types that do not need alias sets.
|
|
|
|
|
|
2015-05-23 16:32:26 +02:00
|
|
|
|
2015-05-22 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
|
|
|
|
|
|
2015-05-19 19:17:21 +02:00
|
|
|
|
2015-05-19 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (gimple_canonical_types_compatible_p): Move to tree.c
|
|
|
|
|
|
2015-05-17 01:18:29 +02:00
|
|
|
|
2015-05-17 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (warn_type_compatibility_p): Break out from ...;
|
|
|
|
|
compare ODR types (if available) and function types.
|
|
|
|
|
(lto_symtab_merge): ... here; output ODR violation warnings
|
|
|
|
|
and call warn_types_mismatch.
|
|
|
|
|
|
2015-04-30 04:45:54 +02:00
|
|
|
|
2015-04-29 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_state): Call verify_type.
|
|
|
|
|
|
remove need for store_values_directly
This switches all hash_table users to use the layout that stores
elements of type value_type in the hash table instead of the one storing
value_type *. Since it becomes unused support for the value_type *
layout is removed.
gcc/
* hash-table.h: Remove version of hash_table that stored value_type *.
* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
libcc1/
* plugin.cc: Adjust for hash_table changes.
gcc/java/
* jcf-io.c: Adjust for hash_table changes.
gcc/lto/
* lto.c: Adjust for hash_table changes.
gcc/objc/
* objc-act.c: Adjust for hash_table changes.
From-SVN: r222213
2015-04-18 20:13:18 +02:00
|
|
|
|
2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
2015-04-30 04:45:54 +02:00
|
|
|
|
* lto.c: Adjust for hash_table changes.
|
remove need for store_values_directly
This switches all hash_table users to use the layout that stores
elements of type value_type in the hash table instead of the one storing
value_type *. Since it becomes unused support for the value_type *
layout is removed.
gcc/
* hash-table.h: Remove version of hash_table that stored value_type *.
* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
libcc1/
* plugin.cc: Adjust for hash_table changes.
gcc/java/
* jcf-io.c: Adjust for hash_table changes.
gcc/lto/
* lto.c: Adjust for hash_table changes.
gcc/objc/
* objc-act.c: Adjust for hash_table changes.
From-SVN: r222213
2015-04-18 20:13:18 +02:00
|
|
|
|
|
2015-03-31 19:03:16 +02:00
|
|
|
|
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Move code registering odr types out
|
|
|
|
|
of TYPE_CANONICAL conditional and also register polymorphic types.
|
|
|
|
|
|
2015-03-30 10:51:50 +02:00
|
|
|
|
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
|
|
|
|
|
DECL_ARTIFICAL symbols.
|
|
|
|
|
|
2015-03-27 07:58:59 +01:00
|
|
|
|
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/65536
|
|
|
|
|
* lto.c (unify_scc): Revert location cache when unification
|
|
|
|
|
suceeded.
|
|
|
|
|
(lto_read_decls): Accept location cache after sucess;
|
|
|
|
|
apply location cache before calling debug hooks.
|
|
|
|
|
|
2015-03-12 01:14:19 +01:00
|
|
|
|
2015-03-10 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Do not do merging
|
|
|
|
|
at ltrans stage.
|
|
|
|
|
|
passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
(ipa_write_optimization_summaries): Likewise.
* tree-streamer.h: Include data-streamer.h.
(streamer_mode_table): Declare extern variable.
(bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
* lto-streamer-out.c (lto_output_init_mode_table,
lto_write_mode_table): New functions.
(produce_asm_for_decls): Call lto_write_mode_table when streaming
offloading LTO.
* lto-section-in.c (lto_section_name): Add "mode_table" entry.
(lto_create_simple_input_block): Add mode_table argument to the
lto_input_block constructors.
* ipa-prop.c (ipa_prop_read_section, read_replacements_section):
Likewise.
* data-streamer-in.c (string_for_index): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-icf.c (sem_item_optimizer::read_section): Likewise.
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
* lto-streamer-in.c (lto_read_body_or_constructor,
lto_input_toplevel_asms): Likewise.
(lto_input_mode_table): New function.
* tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
Use bp_pack_machine_mode.
* real.h (struct real_format): Add name field.
* lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
(class lto_input_block): Add mode_table member.
(lto_input_block::lto_input_block): Add mode_table_ argument,
initialize mode_table.
(struct lto_file_decl_data): Add mode_table field.
(lto_input_mode_table, lto_output_init_mode_table): New prototypes.
* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
unpack_ts_decl_common_value_fields,
unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
* tree-streamer.c (streamer_mode_table): New variable.
* real.c (ieee_single_format, mips_single_format,
motorola_single_format, spu_single_format, ieee_double_format,
mips_double_format, motorola_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
ibm_extended_format, mips_extended_format, ieee_quad_format,
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
decimal_single_format, decimal_double_format, decimal_quad_format,
ieee_half_format, arm_half_format, real_internal_format): Add name
field.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
lto/
* lto.c (lto_mode_identity_table): New variable.
(lto_read_decls): Add mode_table argument to the lto_input_block
constructor.
(lto_file_finalize): Initialize mode_table.
(lto_init): Initialize lto_mode_identity_table.
From-SVN: r221005
2015-02-26 13:26:11 +01:00
|
|
|
|
2015-02-26 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_mode_identity_table): New variable.
|
|
|
|
|
(lto_read_decls): Add mode_table argument to the lto_input_block
|
|
|
|
|
constructor.
|
|
|
|
|
(lto_file_finalize): Initialize mode_table.
|
|
|
|
|
(lto_init): Initialize lto_mode_identity_table.
|
|
|
|
|
|
[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
Fixup for r219836: adjust builtin function prototypes.
PR libgomp/64625
gcc/
* omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
(BUILT_IN_GOACC_PARALLEL): Specify as
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
* builtin-types.def
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
Remove function types.
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
New function types.
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
gcc/c-family/
* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
gcc/fortran/
* f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
* types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
Remove function types.
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
New function types.
gcc/jit/
* jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8)
(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
* jit-builtins.h (DEF_FUNCTION_TYPE_VAR_8)
(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
gcc/lto/
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
Remove macros.
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
From-SVN: r220944
2015-02-24 18:00:36 +01:00
|
|
|
|
2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR libgomp/64625
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
|
|
|
|
|
Remove macros.
|
|
|
|
|
(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
|
|
|
|
|
|
2015-02-03 17:57:20 +01:00
|
|
|
|
2015-02-03 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
|
|
|
|
|
|
Always pass explicit location to fatal_error.
The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
adding an overload for fatal_error that passes an explicit location
broke gcc.pot regeneration because xgettext cannot handle function
overloads with the diagnostic string argument in different positions.
As the desired direction is for all diagnostics to have explicit
locations, this patch addresses the regression by removing the version
of fatal_error that does not pass a location, passing explicit
input_location everywhere (in the hope that those will incrementally
be changed to other locations, much as with the addition of a location
argument to pedwarn some time ago - a lot of cases aren't meaningfully
associated with a source file so UNKNOWN_LOCATION may be better).
Note that this patch does not attempt to fix any existing issues with
these diagnostics (such as wrongly starting with capital letters or
ending with '.' or '\n'); it just adds the input_location argument.
Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
excluded).
gcc:
* diagnostic.c (fatal_error (const char *, ...)): Remove function.
* diagnostic-core.h (fatal_error (const char *, ...)): Remove
prototype.
* toplev.h (init_asm_output): Update comment on use of
UNKNOWN_LOCATION with fatal_error.
* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
fatal_error changed to pass input_location as first argument.
gcc/c-family:
* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
to pass input_location as first argument.
gcc/cp:
* class.c, except.c, parser.c, pt.c: All callers of fatal_error
changed to pass input_location as first argument.
gcc/fortran:
* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
callers of fatal_error changed to pass input_location as first
argument.
gcc/java:
* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
fatal_error changed to pass input_location as first argument.
gcc/lto:
* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
changed to pass input_location as first argument.
libcc1:
* plugin.cc: All callers of fatal_error changed to pass
input_location as first argument.
From-SVN: r220293
2015-01-30 17:15:00 +01:00
|
|
|
|
2015-01-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
|
|
|
|
|
changed to pass input_location as first argument.
|
|
|
|
|
|
2015-01-28 20:57:35 +01:00
|
|
|
|
2014-12-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
|
|
|
|
|
|
2015-01-18 20:33:32 +01:00
|
|
|
|
2014-12-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Add comparsion of
|
|
|
|
|
DECL_FUNCTION_SPECIFIC_TARGET
|
|
|
|
|
|
Merge current set of OpenACC changes from gomp-4_0-branch.
contrib/
* gcc_update (files_and_dependencies): Update rules for new
libgomp/plugin/Makefrag.am and libgomp/plugin/configfrag.ac files.
gcc/
* builtin-types.def (BT_FN_VOID_INT_INT_VAR)
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
New function types.
* builtins.c: Include "gomp-constants.h".
(expand_builtin_acc_on_device): New function.
(expand_builtin, is_inexpensive_builtin): Handle
BUILT_IN_ACC_ON_DEVICE.
* builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
New macros.
* cgraph.c (cgraph_node::create): Consider flag_openacc next to
flag_openmp.
* config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
<*-intelmic-* | *-intelmicemul-*> (tm_file): Add
i386/intelmic-offload.h.
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
to libgomp and its dependencies.
* config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
* doc/generic.texi: Update for OpenACC changes.
* doc/gimple.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/sourcebuild.texi: Likewise.
* gimple-pretty-print.c (dump_gimple_omp_for): Handle
GF_OMP_FOR_KIND_OACC_LOOP.
(dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
GF_OMP_TARGET_KIND_OACC_UPDATE,
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
Dump more data.
* gimple.c: Update comments for OpenACC changes.
* gimple.def: Likewise.
* gimple.h: Likewise.
(enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
(gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
appropriate place.
(is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
* gimplify.c: Include "gomp-constants.h".
Update comments for OpenACC changes.
(is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
OMP_CLAUSE_SEQ.
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
OMP_CLAUSE_SET_MAP_KIND.
(gimplify_oacc_cache): New function.
(gimplify_omp_for): Handle OACC_LOOP.
(gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
OACC_DATA.
(gimplify_omp_target_update): Handle OACC_ENTER_DATA,
OACC_EXIT_DATA, OACC_UPDATE.
(gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
(gimplify_body): Consider flag_openacc next to flag_openmp.
* lto-streamer-out.c: Include "gomp-constants.h".
* omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
(BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
(BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
(BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
(BUILT_IN_ACC_ON_DEVICE): New builtins.
* omp-low.c: Include "gomp-constants.h".
Update comments for OpenACC changes.
(struct omp_context): Add reduction_map, gwv_below, gwv_this
members.
(extract_omp_for_data, use_pointer_for_field, install_var_field)
(new_omp_context, delete_omp_context, scan_sharing_clauses)
(create_omp_child_function, scan_omp_for, scan_omp_target)
(check_omp_nesting_restrictions, lower_reduction_clauses)
(build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
Update for OpenACC changes.
(scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
OMP_CLAUSE_MAP_*.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
Handle GF_OMP_FOR_KIND_OACC_LOOP.
(expand_omp_target, lower_omp_target): Handle
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
GF_OMP_TARGET_KIND_OACC_UPDATE,
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
GF_OMP_TARGET_KIND_OACC_DATA.
(pass_expand_omp::execute, execute_lower_omp)
(pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
flag_openmp.
(offload_symbol_decl): New variable.
(oacc_get_reduction_array_id, oacc_max_threads)
(get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
(maybe_lookup_oacc_reduction, enclosing_target_ctx)
(oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
(oacc_gimple_assign, oacc_initialize_reduction_data)
(oacc_finalize_reduction_data, oacc_process_reduction_data): New
functions.
(is_targetreg_ctx): Remove function.
* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
* tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
* tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
(OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
(OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
(OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
(OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
* tree-core.h: Update comments for OpenACC changes.
(enum omp_clause_map_kind): Remove.
(struct tree_omp_clause): Change type of map_kind member from enum
omp_clause_map_kind to unsigned char.
* tree-inline.c: Update comments for OpenACC changes.
* tree-nested.c: Likewise. Include "gomp-constants.h".
(convert_nonlocal_reference_stmt, convert_local_reference_stmt)
(convert_tramp_reference_stmt, convert_gimple_call): Update for
OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
OMP_CLAUSE_SET_MAP_KIND.
* tree-pretty-print.c: Include "gomp-constants.h".
(dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
instead of OMP_CLAUSE_MAP_*.
(dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
* tree-streamer-in.c: Include "gomp-constants.h".
(unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
* tree-streamer-out.c: Include "gomp-constants.h".
(pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
OMP_CLAUSE_MAP_*.
* tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
(OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
(OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
* tree.c (omp_clause_num_ops): Update accordingly.
* tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
Likewise.
(OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
(OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
(OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
(OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
(OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
(OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
* tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
(OMP_CLAUSE_SET_MAP_KIND): New macro.
* varpool.c (varpool_node::get_create): Consider flag_openacc next
to flag_openmp.
* config/i386/intelmic-offload.h: New file.
* config/nvptx/offload.h: Likewise.
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
(DEF_FUNCTION_TYPE_VAR_12): New macros.
gcc/c-family/
* c.opt (fopenacc): New option.
* c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
New macros.
* c-common.h (c_finish_oacc_wait): New prototype.
* c-omp.c: Include "omp-low.h" and "gomp-constants.h".
(c_finish_oacc_wait): New function.
* c-pragma.c (oacc_pragmas): New variable.
(c_pp_lookup_pragma, init_pragma): Handle it.
* c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
(enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
PRAGMA_OACC_CLAUSE_WORKER.
gcc/c/
* c-parser.c: Include "gomp-constants.h".
(c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
Use OMP_CLAUSE_SET_MAP_KIND.
(c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
(c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
(c_parser_omp_clause_name): Handle "auto", "async", "copy",
"copyout", "create", "delete", "deviceptr", "gang", "host",
"num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
"present_or_create", "pcreate", "seq", "self", "vector",
"vector_length", "wait", "worker".
(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
(OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
(c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
(c_parser_oacc_wait_list, c_parser_oacc_data_clause)
(c_parser_oacc_data_clause_deviceptr)
(c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
(c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
(c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
(c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
(c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
(c_parser_oacc_parallel, c_parser_oacc_update)
(c_parser_oacc_wait): New functions.
* c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
(c_finish_oacc_data): New prototypes.
* c-typeck.c: Include "gomp-constants.h".
(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
OMP_CLAUSE_SET_MAP_KIND.
(c_finish_oacc_parallel, c_finish_oacc_kernels)
(c_finish_oacc_data): New functions.
(c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
GOMP_MAP_FORCE_DEVICEPTR.
gcc/cp/
* parser.c: Include "gomp-constants.h".
(cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
Use OMP_CLAUSE_SET_MAP_KIND.
(cp_parser_omp_construct, cp_parser_pragma): Handle
PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
(cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
"create", "delete", "deviceptr", "host", "num_gangs",
"num_workers", "present", "present_or_copy", "pcopy",
"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
"present_or_create", "pcreate", "vector_length", "wait".
(OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
(OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
(cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
(cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
(cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
(cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
(cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
(cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
(cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
(cp_parser_oacc_kernels, cp_parser_oacc_loop)
(cp_parser_oacc_parallel, cp_parser_oacc_update)
(cp_parser_oacc_wait): New functions.
* cp-tree.h (finish_oacc_data, finish_oacc_kernels)
(finish_oacc_parallel): New prototypes.
* semantics.c: Include "gomp-constants.h".
(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
OMP_CLAUSE_SET_MAP_KIND.
(finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
(finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
functions.
gcc/fortran/
* lang.opt (fopenacc): New option.
* cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
* dump-parse-tree.c (show_omp_node): Split part of it into...
(show_omp_clauses): ... this new function.
(show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
(show_namespace): Update for OpenACC.
* f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
(DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
(DEF_GOACC_BUILTIN_COMPILER): New macros.
* types.def (BT_FN_VOID_INT_INT_VAR)
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
New function types.
* gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
ST_OACC_ROUTINE.
(struct gfc_expr_list): New data type.
(gfc_get_expr_list): New macro.
(gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
(OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
(OMP_LIST_CACHE): New enumerators.
(struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
wait_list, tile_list, async, gang, worker, vector, seq,
independent, wait, par_auto, gang_static, and loc members.
(struct gfc_namespace): Add oacc_declare_clauses member.
(gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
(gfc_free_expr_list, gfc_resolve_oacc_directive)
(gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
(gfc_resolve_oacc_blocks): New prototypes.
* match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
EXEC_OACC_PARALLEL_LOOP.
* match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
(gfc_match_oacc_update, gfc_match_oacc_declare)
(gfc_match_oacc_loop, gfc_match_oacc_host_data)
(gfc_match_oacc_data, gfc_match_oacc_kernels)
(gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
(gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
(gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
prototypes.
* openmp.c: Include "diagnostic.h" and "gomp-constants.h".
(gfc_free_omp_clauses): Update for members added to struct
gfc_omp_clauses.
(gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
openacc parameter.
(resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
(struct fortran_omp_context): Add is_openmp member.
(gfc_resolve_omp_parallel_blocks): Initialize it.
(gfc_resolve_do_iterator): Update for OpenACC.
(gfc_resolve_omp_directive): Call
resolve_omp_directive_inside_oacc_region.
(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
(OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
(OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
(OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
(OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
(OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
(OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
(OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
(OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
(OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
(OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
(OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
(OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
(OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
(OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
(OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
(OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
(OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
(OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
(gfc_match_omp_clauses): Handle those.
(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
(OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
(OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
(OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
(OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
(OACC_WAIT_CLAUSES): New macros.
(gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
(gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
(gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
(gfc_match_oacc_kernels, gfc_match_oacc_data)
(gfc_match_oacc_host_data, gfc_match_oacc_loop)
(gfc_match_oacc_declare, gfc_match_oacc_update)
(gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
(gfc_match_oacc_wait, gfc_match_oacc_cache)
(gfc_match_oacc_routine, oacc_is_loop)
(resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
(check_symbol_not_pointer, check_array_not_assumed)
(resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
(oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
(omp_code_to_statement, oacc_code_to_statement)
(resolve_oacc_directive_inside_omp_region)
(resolve_omp_directive_inside_oacc_region)
(resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
(resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
(resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
(gfc_resolve_oacc_directive): New functions.
* parse.c (next_free): Update for OpenACC. Move some code into...
(verify_token_free): ... this new function.
(next_fixed): Update for OpenACC. Move some code into...
(verify_token_fixed): ... this new function.
(case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
(case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
ST_OACC_KERNELS_LOOP.
(case_decl): Add ST_OACC_ROUTINE.
(push_state, parse_critical_block, parse_progunit): Update for
OpenACC.
(gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
ST_OACC_ROUTINE.
(verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
(parse_executable): Handle ST_OACC_PARALLEL_LOOP,
ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
(decode_oacc_directive, parse_oacc_structured_block)
(parse_oacc_loop, is_oacc): New functions.
* parse.h (struct gfc_state_data): Add oacc_declare_clauses
member.
(is_oacc): New prototype.
* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
EXEC_OACC_EXIT_DATA.
(resolve_codes): Call gfc_resolve_oacc_declare.
* scanner.c (openacc_flag, openacc_locus): New variables.
(skip_free_comments): Update for OpenACC. Move some code into...
(skip_omp_attribute): ... this new function.
(skip_oacc_attribute): New function.
(skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
* st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
* trans-decl.c (gfc_generate_function_code): Update for OpenACC.
* trans-openmp.c: Include "gomp-constants.h".
(gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
(gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
independent, wait_list, num_gangs_expr, num_workers_expr,
vector_length_expr, vector, vector_expr, worker, worker_expr,
gang, gang_expr members.
(gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
(gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
(gfc_trans_oacc_executable_directive)
(gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
(gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
* trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
* trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
New prototypes.
* trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
EXEC_OACC_EXIT_DATA.
* gfortran.texi: Update for OpenACC.
* intrinsic.texi: Likewise.
* invoke.texi: Likewise.
gcc/lto/
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
New macros.
* lto.c: Include "gomp-constants.h".
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_fopenacc): New
procedure.
* g++.dg/goacc-gomp/goacc-gomp.exp: New file.
* g++.dg/goacc/goacc.exp: Likewise.
* gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise.
* gcc.dg/goacc/goacc.exp: Likewise.
* gfortran.dg/goacc/goacc.exp: Likewise.
* c-c++-common/cpp/openacc-define-1.c: New file.
* c-c++-common/cpp/openacc-define-2.c: Likewise.
* c-c++-common/cpp/openacc-define-3.c: Likewise.
* c-c++-common/goacc-gomp/nesting-1.c: Likewise.
* c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
* c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
* c-c++-common/goacc/acc_on_device-2.c: Likewise.
* c-c++-common/goacc/asyncwait-1.c: Likewise.
* c-c++-common/goacc/cache-1.c: Likewise.
* c-c++-common/goacc/clauses-fail.c: Likewise.
* c-c++-common/goacc/collapse-1.c: Likewise.
* c-c++-common/goacc/data-1.c: Likewise.
* c-c++-common/goacc/data-2.c: Likewise.
* c-c++-common/goacc/data-clause-duplicate-1.c: Likewise.
* c-c++-common/goacc/deviceptr-1.c: Likewise.
* c-c++-common/goacc/deviceptr-2.c: Likewise.
* c-c++-common/goacc/deviceptr-3.c: Likewise.
* c-c++-common/goacc/if-clause-1.c: Likewise.
* c-c++-common/goacc/if-clause-2.c: Likewise.
* c-c++-common/goacc/kernels-1.c: Likewise.
* c-c++-common/goacc/loop-1.c: Likewise.
* c-c++-common/goacc/loop-private-1.c: Likewise.
* c-c++-common/goacc/nesting-1.c: Likewise.
* c-c++-common/goacc/nesting-data-1.c: Likewise.
* c-c++-common/goacc/nesting-fail-1.c: Likewise.
* c-c++-common/goacc/parallel-1.c: Likewise.
* c-c++-common/goacc/pcopy.c: Likewise.
* c-c++-common/goacc/pcopyin.c: Likewise.
* c-c++-common/goacc/pcopyout.c: Likewise.
* c-c++-common/goacc/pcreate.c: Likewise.
* c-c++-common/goacc/pragma_context.c: Likewise.
* c-c++-common/goacc/present-1.c: Likewise.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
* c-c++-common/goacc/sb-1.c: Likewise.
* c-c++-common/goacc/sb-2.c: Likewise.
* c-c++-common/goacc/sb-3.c: Likewise.
* c-c++-common/goacc/update-1.c: Likewise.
* gcc.dg/goacc/acc_on_device-1.c: Likewise.
* gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
* gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
* gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
* gfortran.dg/goacc/assumed.f95: Likewise.
* gfortran.dg/goacc/asyncwait-1.f95: Likewise.
* gfortran.dg/goacc/asyncwait-2.f95: Likewise.
* gfortran.dg/goacc/asyncwait-3.f95: Likewise.
* gfortran.dg/goacc/asyncwait-4.f95: Likewise.
* gfortran.dg/goacc/branch.f95: Likewise.
* gfortran.dg/goacc/cache-1.f95: Likewise.
* gfortran.dg/goacc/coarray.f95: Likewise.
* gfortran.dg/goacc/continuation-free-form.f95: Likewise.
* gfortran.dg/goacc/cray.f95: Likewise.
* gfortran.dg/goacc/critical.f95: Likewise.
* gfortran.dg/goacc/data-clauses.f95: Likewise.
* gfortran.dg/goacc/data-tree.f95: Likewise.
* gfortran.dg/goacc/declare-1.f95: Likewise.
* gfortran.dg/goacc/enter-exit-data.f95: Likewise.
* gfortran.dg/goacc/fixed-1.f: Likewise.
* gfortran.dg/goacc/fixed-2.f: Likewise.
* gfortran.dg/goacc/fixed-3.f: Likewise.
* gfortran.dg/goacc/fixed-4.f: Likewise.
* gfortran.dg/goacc/host_data-tree.f95: Likewise.
* gfortran.dg/goacc/if.f95: Likewise.
* gfortran.dg/goacc/kernels-tree.f95: Likewise.
* gfortran.dg/goacc/list.f95: Likewise.
* gfortran.dg/goacc/literal.f95: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-2.f95: Likewise.
* gfortran.dg/goacc/loop-3.f95: Likewise.
* gfortran.dg/goacc/loop-tree-1.f90: Likewise.
* gfortran.dg/goacc/omp.f95: Likewise.
* gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise.
* gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise.
* gfortran.dg/goacc/parallel-tree.f95: Likewise.
* gfortran.dg/goacc/parameter.f95: Likewise.
* gfortran.dg/goacc/private-1.f95: Likewise.
* gfortran.dg/goacc/private-2.f95: Likewise.
* gfortran.dg/goacc/private-3.f95: Likewise.
* gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise.
* gfortran.dg/goacc/reduction-2.f95: Likewise.
* gfortran.dg/goacc/reduction.f95: Likewise.
* gfortran.dg/goacc/routine-1.f90: Likewise.
* gfortran.dg/goacc/routine-2.f90: Likewise.
* gfortran.dg/goacc/sentinel-free-form.f95: Likewise.
* gfortran.dg/goacc/several-directives.f95: Likewise.
* gfortran.dg/goacc/sie.f95: Likewise.
* gfortran.dg/goacc/subarrays.f95: Likewise.
* gfortran.dg/gomp/map-1.f90: Likewise.
* gfortran.dg/openacc-define-1.f90: Likewise.
* gfortran.dg/openacc-define-2.f90: Likewise.
* gfortran.dg/openacc-define-3.f90: Likewise.
* g++.dg/gomp/block-1.C: Update for changed compiler output.
* g++.dg/gomp/block-2.C: Likewise.
* g++.dg/gomp/block-3.C: Likewise.
* g++.dg/gomp/block-5.C: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* gcc.dg/cilk-plus/jump-openmp.c: Likewise.
* gcc.dg/cilk-plus/jump.c: Likewise.
* gcc.dg/gomp/block-1.c: Likewise.
* gcc.dg/gomp/block-10.c: Likewise.
* gcc.dg/gomp/block-2.c: Likewise.
* gcc.dg/gomp/block-3.c: Likewise.
* gcc.dg/gomp/block-4.c: Likewise.
* gcc.dg/gomp/block-5.c: Likewise.
* gcc.dg/gomp/block-6.c: Likewise.
* gcc.dg/gomp/block-7.c: Likewise.
* gcc.dg/gomp/block-8.c: Likewise.
* gcc.dg/gomp/block-9.c: Likewise.
* gcc.dg/gomp/target-1.c: Likewise.
* gcc.dg/gomp/target-2.c: Likewise.
* gcc.dg/gomp/taskgroup-1.c: Likewise.
* gcc.dg/gomp/teams-1.c: Likewise.
include/
* gomp-constants.h: New file.
libgomp/
* Makefile.am (search_path): Add $(top_srcdir)/../include.
(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
oacc-async.c, oacc-plugin.c, oacc-cuda.c.
[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
Include $(top_srcdir)/plugin/Makefrag.am.
(nodist_libsubinclude_HEADERS): Add openacc.h.
[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
openacc.f90, openacc.mod, openacc_kinds.mod.
(omp_lib.mod): Generalize into...
(%.mod): ... this new rule.
(openacc_kinds.mod, openacc.mod): New rules.
* plugin/configfrag.ac: New file.
* configure.ac: Move plugin/offloading support into it. Include
it. Instantiate testsuite/libgomp-test-support.pt.exp.
* plugin/Makefrag.am: New file.
* testsuite/Makefile.am (OFFLOAD_TARGETS)
(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
export.
(libgomp-test-support.exp): New rule.
(all-local): Depend on it.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* configure.tgt: Harden shell syntax.
* env.c: Include "oacc-int.h".
(parse_acc_device_type): New function.
(gomp_debug_var, goacc_device_type, goacc_device_num): New
variables.
(initialize_env): Initialize those. Call
goacc_runtime_initialize.
* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
(gomp_fatal): Call gomp_vfatal.
* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
(splay_tree_node, splay_tree, splay_tree_key)
(struct target_mem_desc, struct splay_tree_key_s)
(struct gomp_memory_mapping, struct acc_dispatch_t)
(struct gomp_device_descr, gomp_acc_insert_pointer)
(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
(gomp_free_memmap, gomp_fini_device): New declarations.
(gomp_vdebug, gomp_debug): New macros.
Include "splay-tree.h".
* libgomp.map (OACC_2.0): New symbol version. Use for
acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
acc_set_device_type_h_, acc_get_device_type,
acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
acc_get_device_num, acc_get_device_num_h_, acc_async_test,
acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
acc_copyin_array_h_, acc_present_or_copyin,
acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
acc_present_or_create_32_h_, acc_present_or_create_64_h_,
acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
acc_update_device, acc_update_device_32_h_,
acc_update_device_64_h_, acc_update_device_array_h_,
acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
acc_update_self_array_h_, acc_map_data, acc_unmap_data,
acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
acc_is_present_64_h_, acc_is_present_array_h_,
acc_memcpy_to_device, acc_memcpy_from_device,
acc_get_current_cuda_device, acc_get_current_cuda_context,
acc_get_cuda_stream, acc_set_cuda_stream.
(GOACC_2.0): New symbol version. Use for GOACC_data_end,
GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
GOACC_update, GOACC_wait, GOACC_get_thread_num,
GOACC_get_num_threads.
(GOMP_PLUGIN_1.0): New symbol version. Use for
GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
GOMP_PLUGIN_acc_thread.
* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
environment variable.
* libgomp_g.h (GOACC_data_start, GOACC_data_end)
(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
* splay-tree.h (splay_tree_lookup, splay_tree_insert)
(splay_tree_remove): New declarations.
(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
(splay_tree_remove, splay_tree_lookup): Move into...
* splay-tree.c: ... this new file.
* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
(splay_tree_node, splay_tree, splay_tree_key)
(struct target_mem_desc, struct splay_tree_key_s)
(struct gomp_device_descr): Don't declare.
(num_devices_openmp): New variable.
(gomp_get_num_devices ): Use it.
(gomp_init_targets_once): New function.
(gomp_get_num_devices ): Use it.
(get_kind, gomp_copy_from_async, gomp_free_memmap)
(gomp_fini_device, gomp_register_image_for_device): New functions.
(gomp_map_vars): Add devaddrs parameter.
(gomp_update): Add mm parameter.
(gomp_init_device): Move most of it into...
(gomp_init_tables): ... this new function.
(gomp_register_images_for_device): Remove function.
(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
Make them hidden instead of static.
(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
(GOMP_target_end_data, GOMP_target_update)
(gomp_load_plugin_for_device, gomp_target_init): Update for
OpenACC changes.
* oacc-async.c: New file.
* oacc-cuda.c: Likewise.
* oacc-host.c: Likewise.
* oacc-init.c: Likewise.
* oacc-int.h: Likewise.
* oacc-mem.c: Likewise.
* oacc-parallel.c: Likewise.
* oacc-plugin.c: Likewise.
* oacc-plugin.h: Likewise.
* oacc-ptx.h: Likewise.
* openacc.f90: Likewise.
* openacc.h: Likewise.
* openacc_lib.h: Likewise.
* plugin/plugin-host.c: Likewise.
* plugin/plugin-nvptx.c: Likewise.
* libgomp-plugin.c: Likewise.
* libgomp-plugin.h: Likewise.
* libgomp_target.h: Remove file after merging content into the
former file. Update all users.
* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
(offload_targets_s, offload_targets_s_openacc): New variables.
(check_effective_target_openacc_nvidia_accel_present)
(check_effective_target_openacc_nvidia_accel_selected): New
procedures.
(libgomp_init): Update for OpenACC changes.
* testsuite/libgomp-test-support.exp.in: New file.
* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
* testsuite/libgomp.oacc-c/c.exp: Likewise.
* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_name)
(GOMP_OFFLOAD_get_caps, GOMP_OFFLOAD_fini_device): New functions.
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Dmitry Bocharnikov <dmitry.b@samsung.com>
Co-Authored-By: Evgeny Gavrin <e.gavrin@samsung.com>
Co-Authored-By: Ilmir Usmanov <i.usmanov@samsung.com>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: James Norris <jnorris@codesourcery.com>
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r219682
2015-01-15 21:11:12 +01:00
|
|
|
|
2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
|
James Norris <jnorris@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
|
|
|
|
|
New macros.
|
|
|
|
|
* lto.c: Include "gomp-constants.h".
|
|
|
|
|
|
2015-01-14 16:15:21 +01:00
|
|
|
|
2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (lto_promote_cross_file_statics): Remove argument
|
|
|
|
|
from select_what_to_stream.
|
|
|
|
|
|
2015-01-09 22:38:00 +01:00
|
|
|
|
2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR middle-end/64412
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
|
|
|
|
|
if ACCEL_COMPILER.
|
|
|
|
|
|
2015-01-09 22:17:10 +01:00
|
|
|
|
2015-01-09 Michael Collison <michael.collison@linaro.org>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
|
|
|
|
|
input.h, alias.h, symtab.h, options, fold-const.h,
|
|
|
|
|
wide-int.h, and inchash.h due to flattening of tree.h.
|
|
|
|
|
* lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
|
|
|
|
|
input.h, alias.h, symtab.h, fold-const.h,
|
|
|
|
|
wide-int.h, and inchash.h due to flattening of tree.h.
|
|
|
|
|
* lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
|
|
|
|
|
input.h, alias.h, symtab.h, options, fold-const.h,
|
|
|
|
|
wide-int.h, and inchash.h due to flattening of tree.h.
|
|
|
|
|
* lto-partition.c: Ditto.
|
|
|
|
|
* lto-symtab.c: Ditto.
|
|
|
|
|
|
2015-01-05 13:33:28 +01:00
|
|
|
|
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
Update copyright years.
|
|
|
|
|
|
2014-12-22 10:33:05 +01:00
|
|
|
|
2014-12-22 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): New inline_summaries
|
|
|
|
|
is used.
|
|
|
|
|
(undo_partition): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
|
2014-12-22 10:19:09 +01:00
|
|
|
|
2014-12-22 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c: Include of symbol-summary.h is added.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2014-12-11 22:48:48 +01:00
|
|
|
|
2014-12-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/61324
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Update call of
|
|
|
|
|
remove_unreachable_nodes.
|
|
|
|
|
(do_whole_program_analysis): Remove call of
|
|
|
|
|
symtab->remove_unreachable_nodes
|
|
|
|
|
|
2014-12-09 03:30:13 +01:00
|
|
|
|
2014-12-08 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
|
|
|
|
|
htab with malloc instead of ggc.
|
|
|
|
|
|
2014-11-20 16:10:49 +01:00
|
|
|
|
2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Replace htab with hash_table.
|
|
|
|
|
|
2014-11-20 16:10:42 +01:00
|
|
|
|
2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_in_decl_state): Adjust.
|
|
|
|
|
(lto_fixup_state): Likewise.
|
|
|
|
|
|
2014-11-17 17:48:29 +01:00
|
|
|
|
2014-11-17 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
|
|
|
|
|
|
2014-11-14 16:47:53 +01:00
|
|
|
|
2014-11-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
|
|
|
|
|
|
2014-11-13 14:37:38 +01:00
|
|
|
|
2014-11-13 Ilya Verbin <ilya.verbin@intel.com>
|
|
|
|
|
Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
Andrey Turetskiy <andrey.turetskiy@intel.com>
|
|
|
|
|
Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
|
|
|
|
|
2014-11-13 14:44:04 +01:00
|
|
|
|
* lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
|
|
|
|
|
|
|
|
|
|
2014-11-13 Ilya Verbin <ilya.verbin@intel.com>
|
|
|
|
|
Ilya Tocar <ilya.tocar@intel.com>
|
|
|
|
|
Andrey Turetskiy <andrey.turetskiy@intel.com>
|
|
|
|
|
Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
|
2014-11-13 14:37:38 +01:00
|
|
|
|
* lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
|
|
|
|
|
LTO_SECTION_NAME_PREFIX.
|
|
|
|
|
* lto-partition.c (lto_promote_cross_file_statics): Call
|
|
|
|
|
select_what_to_stream.
|
|
|
|
|
* lto.c (lto_section_with_id): Use section_name_prefix instead of
|
|
|
|
|
LTO_SECTION_NAME_PREFIX.
|
|
|
|
|
(read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
|
|
|
|
|
being built as an offload compiler.
|
|
|
|
|
|
decl.c, [...]: Remove redundant enum from machine_mode.
gcc/ada/
* gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c,
gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c:
Remove redundant enum from machine_mode.
gcc/c-family/
* c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
enum from machine_mode.
gcc/c/
* c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
machine_mode.
gcc/cp/
* constexpr.c: Remove redundant enum from machine_mode.
gcc/fortran/
* trans-types.c, trans-types.h: Remove redundant enum from
machine_mode.
gcc/go/
* go-lang.c: Remove redundant enum from machine_mode.
gcc/java/
* builtins.c, java-tree.h, typeck.c: Remove redundant enum from
machine_mode.
gcc/lto/
* lto-lang.c: Remove redundant enum from machine_mode.
gcc/
* addresses.h, alias.c, asan.c, auto-inc-dec.c, bt-load.c, builtins.c,
builtins.h, caller-save.c, calls.c, calls.h, cfgexpand.c, cfgloop.h,
cfgrtl.c, combine.c, compare-elim.c, config/aarch64/aarch64-builtins.c,
config/aarch64/aarch64-protos.h, config/aarch64/aarch64-simd.md,
config/aarch64/aarch64.c, config/aarch64/aarch64.h,
config/aarch64/aarch64.md, config/alpha/alpha-protos.h,
config/alpha/alpha.c, config/arc/arc-protos.h, config/arc/arc.c,
config/arc/arc.h, config/arc/predicates.md,
config/arm/aarch-common-protos.h, config/arm/aarch-common.c,
config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
config/arm/arm.md, config/arm/neon.md, config/arm/thumb2.md,
config/avr/avr-log.c, config/avr/avr-protos.h, config/avr/avr.c,
config/avr/avr.md, config/bfin/bfin-protos.h, config/bfin/bfin.c,
config/c6x/c6x-protos.h, config/c6x/c6x.c, config/c6x/c6x.md,
config/cr16/cr16-protos.h, config/cr16/cr16.c,
config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.md,
config/darwin-protos.h, config/darwin.c,
config/epiphany/epiphany-protos.h, config/epiphany/epiphany.c,
config/epiphany/epiphany.md, config/fr30/fr30.c,
config/frv/frv-protos.h, config/frv/frv.c, config/frv/predicates.md,
config/h8300/h8300-protos.h, config/h8300/h8300.c,
config/i386/i386-builtin-types.awk, config/i386/i386-protos.h,
config/i386/i386.c, config/i386/i386.md, config/i386/predicates.md,
config/i386/sse.md, config/i386/sync.md, config/ia64/ia64-protos.h,
config/ia64/ia64.c, config/iq2000/iq2000-protos.h,
config/iq2000/iq2000.c, config/iq2000/iq2000.md,
config/lm32/lm32-protos.h, config/lm32/lm32.c,
config/m32c/m32c-protos.h, config/m32c/m32c.c,
config/m32r/m32r-protos.h, config/m32r/m32r.c,
config/m68k/m68k-protos.h, config/m68k/m68k.c,
config/mcore/mcore-protos.h, config/mcore/mcore.c,
config/mcore/mcore.md, config/mep/mep-protos.h, config/mep/mep.c,
config/microblaze/microblaze-protos.h, config/microblaze/microblaze.c,
config/mips/mips-protos.h, config/mips/mips.c,
config/mmix/mmix-protos.h, config/mmix/mmix.c,
config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
config/moxie/moxie.c, config/msp430/msp430-protos.h,
config/msp430/msp430.c, config/nds32/nds32-cost.c,
config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
config/nds32/nds32-protos.h, config/nds32/nds32.c,
config/nios2/nios2-protos.h, config/nios2/nios2.c,
config/pa/pa-protos.h, config/pa/pa.c, config/pdp11/pdp11-protos.h,
config/pdp11/pdp11.c, config/rl78/rl78-protos.h, config/rl78/rl78.c,
config/rs6000/altivec.md, config/rs6000/rs6000-c.c,
config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
config/rs6000/rs6000.h, config/rx/rx-protos.h, config/rx/rx.c,
config/s390/predicates.md, config/s390/s390-protos.h,
config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
config/sh/predicates.md, config/sh/sh-protos.h, config/sh/sh.c,
config/sh/sh.md, config/sparc/predicates.md,
config/sparc/sparc-protos.h, config/sparc/sparc.c,
config/sparc/sparc.md, config/spu/spu-protos.h, config/spu/spu.c,
config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
config/tilegx/tilegx-protos.h, config/tilegx/tilegx.c,
config/tilegx/tilegx.md, config/tilepro/tilepro-protos.h,
config/tilepro/tilepro.c, config/v850/v850-protos.h,
config/v850/v850.c, config/v850/v850.md, config/vax/vax-protos.h,
config/vax/vax.c, config/vms/vms-c.c, config/xtensa/xtensa-protos.h,
config/xtensa/xtensa.c, coverage.c, cprop.c, cse.c, cselib.c, cselib.h,
dbxout.c, ddg.c, df-problems.c, dfp.c, dfp.h, doc/md.texi,
doc/rtl.texi, doc/tm.texi, doc/tm.texi.in, dojump.c, dse.c,
dwarf2cfi.c, dwarf2out.c, dwarf2out.h, emit-rtl.c, emit-rtl.h,
except.c, explow.c, expmed.c, expmed.h, expr.c, expr.h, final.c,
fixed-value.c, fixed-value.h, fold-const.c, function.c, function.h,
fwprop.c, gcse.c, gengenrtl.c, genmodes.c, genopinit.c, genoutput.c,
genpreds.c, genrecog.c, gensupport.c, gimple-ssa-strength-reduction.c,
graphite-clast-to-gimple.c, haifa-sched.c, hooks.c, hooks.h, ifcvt.c,
internal-fn.c, ira-build.c, ira-color.c, ira-conflicts.c, ira-costs.c,
ira-emit.c, ira-int.h, ira-lives.c, ira.c, ira.h, jump.c, langhooks.h,
libfuncs.h, lists.c, loop-doloop.c, loop-invariant.c, loop-iv.c,
loop-unroll.c, lower-subreg.c, lower-subreg.h, lra-assigns.c,
lra-constraints.c, lra-eliminations.c, lra-int.h, lra-lives.c,
lra-spills.c, lra.c, lra.h, machmode.h, omp-low.c, optabs.c, optabs.h,
output.h, postreload.c, print-tree.c, read-rtl.c, real.c, real.h,
recog.c, recog.h, ree.c, reg-stack.c, regcprop.c, reginfo.c,
regrename.c, regs.h, reload.c, reload.h, reload1.c, rtl.c, rtl.h,
rtlanal.c, rtlhash.c, rtlhooks-def.h, rtlhooks.c, sched-deps.c,
sel-sched-dump.c, sel-sched-ir.c, sel-sched-ir.h, sel-sched.c,
simplify-rtx.c, stmt.c, stor-layout.c, stor-layout.h, target.def,
targhooks.c, targhooks.h, tree-affine.c, tree-call-cdce.c,
tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-if-conv.c,
tree-inline.c, tree-outof-ssa.c, tree-scalar-evolution.c,
tree-ssa-address.c, tree-ssa-ccp.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-ivopts.h, tree-ssa-loop-manip.c,
tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c, tree-ssa-reassoc.c,
tree-ssa-sccvn.c, tree-streamer-in.c, tree-switch-conversion.c,
tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop.c,
tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
tree-vrp.c, tree.c, tree.h, tsan.c, ubsan.c, valtrack.c,
var-tracking.c, varasm.c: Remove redundant enum from
machine_mode.
gcc/
* gengtype.c (main): Treat machine_mode as a scalar typedef.
* genmodes.c (emit_insn_modes_h): Hide inline functions if
USED_FOR_TARGET.
From-SVN: r216834
2014-10-29 13:02:45 +01:00
|
|
|
|
2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Remove redundant enum from machine_mode.
|
|
|
|
|
|
2014-10-28 17:17:19 +01:00
|
|
|
|
2014-10-28 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Adjust include files.
|
|
|
|
|
* lto-lang.c: Ditto.
|
|
|
|
|
* lto-object.c: Ditto.
|
|
|
|
|
* lto-partition.c: Ditto.
|
|
|
|
|
* lto-symtab.c: Ditto.
|
|
|
|
|
|
2014-10-27 13:41:01 +01:00
|
|
|
|
2014-10-27 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Adjust include files.
|
|
|
|
|
* lto-object.c: Ditto.
|
|
|
|
|
* lto-partition.c: Ditto.
|
|
|
|
|
* lto-symtab.c: Ditto.
|
|
|
|
|
* lto.c: Ditto.
|
|
|
|
|
|
2014-10-16 23:06:34 +02:00
|
|
|
|
2014-10-16 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-object.c (lto_obj_begin_section): In the event that pointer
|
|
|
|
|
sizes aren't powers of two, choose a more suitable alignment
|
|
|
|
|
than (unsigned)(-1).
|
|
|
|
|
|
machmode.h (int_n_data_t): New.
* machmode.h (int_n_data_t): New.
(int_n_enabled_p): New.
(int_n_data): New.
* tree.c (int_n_enabled_p): New.
(int_n_trees): New.
(make_or_reuse_type): Check for all __intN types, not just
__int128.
(build_common_tree_nodes): Likewise. Also fill in integer_typs[]
entries.
* tree.h (int128_integer_type_node): Remove.
(int128_unsigned_type_node): Remove.
(int_n_trees_t): New.
(int_n_enabled_p): New.
(int_n_trees): New.
* toplev.c (standard_type_bitsize): New.
(do_compile): Check which __intN types are enabled for the current
run.
* builtin-types.def (BT_INT128): Remove.
(BT_UINT128): Remove.
* machmode.def: Add macro to create __int128 for all targets.
* stor-layout.c (mode_for_size): Support __intN types.
(smallest_mode_for_size): Likewise.
(initialize_sizetypes): Support __intN types.
* genmodes.c (struct mode_data): Add int_n field.
(blank_mode): Likewise.
(INT_N): New.
(make_int_n): New.
(emit_insn_modes_h): Count __intN entries and define
NUM_INT_N_ENTS.
(emit_mode_int_n): New.
(emit_insn_modes_c): Call it.
* gimple.c (gimple_signed_or_unsigned_type): Check for all __intN
types, not just __int128.
* tree-core.h (integer_type_kind): Remove __int128-specific
entries, reserve spots for __intN entries.
libstdc++-v3/
* src/c++11/limits.cc: Add support for __intN types.
* include/std/type_traits: Likewise.
* include/std/limits: Likewise.
* include/c_std/cstdlib: Likewise.
* include/bits/cpp_type_traits.h: Likewise.
* include/c_global/cstdlib: Likewise.
c-family/
* c-pretty-print.c (pp_c_integer_constant): Check for all __intN
types, not just __int128.
* c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
types, not just __int128.
(cpp_atomic_builtins): Round pointer sizes up.
(type_suffix): Use type precision, not specific types.
* c-common.c (c_common_reswords): Remove __int128 special case.
(c_common_type_for_size): Check for all __intN types, not just
__int128.
(c_common_type_for_mode): Likewise.
(c_common_signed_or_unsigned_type): Likewise.
(c_build_bitfield_integer_type): Likewise.
(c_common_nodes_and_builtins): Likewise.
(keyword_begins_type_specifier): Likewise.
* c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
__intN variants.
c/
* c-parser.c (c_parse_init): Add RID entries for each __intN.
(c_token_starts_typename): Check all __intN, not just __int128.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attribute_any_word): Likewise.
(c_parser_objc_selector): Likewise.
* c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
(struct c_declspecs): Add int_n_idx field to record *which* __intN
is specified.
* c-decl.c (declspecs_add_type): Check for all __intN, not just
__int128.
(finish_declspecs): Likewise.
testsuite/
* g++.dg/abi/mangle64.C: New.
cp/
* typeck.c (cp_common_type): Check for all __intN types, not just
__int128.
* decl.c (grokdeclarator): Likewise.
* rtti.c (emit_support_tinfos): Check for all __intN types, not just
__int128.
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Check
for all __intN types, not just __int128.
(cp_parser_simple_type_specifier): Likewise.
* mangle.c (integer_type_codes): Remove int128-specific codes.
* cp-tree.h (cp_decl_specifier_seq): Add int_n_idx to store which
__intN was specified.
* lex.c (init_reswords): Reserve all __intN keywords.
lto/
* lto-lang.c (lto_build_c_type_nodes): Check intN types for
size-type as well.
(lto_init): Initialize all intN types, not just int128.
From-SVN: r216220
2014-10-14 21:44:36 +02:00
|
|
|
|
2014-10-14 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_build_c_type_nodes): Check intN types for
|
|
|
|
|
size-type as well.
|
|
|
|
|
(lto_init): Initialize all intN types, not just int128.
|
|
|
|
|
|
2014-10-06 13:51:09 +02:00
|
|
|
|
2014-10-06 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (stream_out): ARG_UNUSED added for last argument.
|
|
|
|
|
|
cgraph.h, [...]: Rename all instances of DECL_ABSTRACT to DECL_ABSTRACT_P.
* cgraph.h, dbxout.c, dwarfout2.c, gimple-fold.c,
lto-streamer-out.c, print-tree.c, symtab.c, tree-inline.c,
tree-streamer-in.c, tree-streamer-out.c, tree.c, tree.h,
varpool.c: Rename all instances of DECL_ABSTRACT to
DECL_ABSTRACT_P.
cp/
* class.c, decl.c, optimize.c: Rename all instances of
DECL_ABSTRACT to DECL_ABSTRACT_P.
lto/
* lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
DECL_ABSTRACT_P.
From-SVN: r215567
2014-09-24 21:50:24 +02:00
|
|
|
|
2014-09-24 Aldy Hernandez <aldyh@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
|
|
|
|
|
DECL_ABSTRACT_P.
|
|
|
|
|
|
2014-09-24 05:29:24 +02:00
|
|
|
|
2014-09-23 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (node_cmp): Update comment.
|
|
|
|
|
(varpool_node_cmp): Use symtab_node for comparison.
|
|
|
|
|
(add_sorted_nodes): New function.
|
|
|
|
|
(lto_balanced_map): Change to keep ordered queue
|
|
|
|
|
of ordered node. Handle no_reorder attribute.
|
|
|
|
|
|
2014-09-12 01:16:42 +02:00
|
|
|
|
2014-09-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Register ODR types.
|
|
|
|
|
|
2014-08-20 15:55:06 +02:00
|
|
|
|
2014-08-20 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
|
|
|
|
|
call.
|
|
|
|
|
(do_whole_program_analysis): Only sanity check that IPA passes cleans up.
|
|
|
|
|
|
2014-08-15 01:30:46 +02:00
|
|
|
|
2014-08-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
|
|
|
|
|
|
2014-08-14 15:13:41 +02:00
|
|
|
|
2014-08-14 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/62067
|
|
|
|
|
* lto-lang.c (def_fn_type): Fix error handling wrt va_end.
|
|
|
|
|
|
2014-08-08 14:55:31 +02:00
|
|
|
|
2014-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Adjust for lto_input_block changes.
|
|
|
|
|
|
2014-08-08 12:21:12 +02:00
|
|
|
|
2014-08-08 Bin Cheng <bin.cheng@arm.com>
|
|
|
|
|
|
|
|
|
|
PR lto/62032
|
|
|
|
|
* lto-lang.c (lto_init): Switch mis-matched arguments.
|
|
|
|
|
|
convert the rest of the users of pointer_map to hash_map
gcc/
* hash-map.h (default_hashmap_traits): Adjust overloads of hash
function to not conflict.
* alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
of pointer_map.
gcc/cp/
* cp-tree.h, pt.c: Use hash_map instead of pointer_map.
gcc/lto/
* lto-partition.c, lto.c: Use hash_map instead of pointer_map.
From-SVN: r213703
2014-08-07 12:44:14 +02:00
|
|
|
|
2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c, lto.c: Use hash_map instead of pointer_map.
|
|
|
|
|
|
add a hash_set based on hash_table
This allows us to replace the usage of pointer_set outside of
pointer_map with a nicer interface.
gcc/ada/
* gcc-interface/trans.c: Use hash_set instead of pointer_set.
gcc/c-family/
* c-gimplify.c: Use hash_set instead of pointer_set.
gcc/c/
* c-decl.c: Use hash_set instead of pointer_set.
gcc/cp/
* class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
instead of pointer_set.
gcc/fortran/
* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
gcc/
* hash-set.h: new File.
* cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
varpool.c: Use hash_set instead of pointer_set.
gcc/lto/
* lto-partition.c, lto-partition.h: Use hash_set instead of
pointer_set.
From-SVN: r213516
2014-08-02 13:23:49 +02:00
|
|
|
|
2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c, lto-partition.h: Use hash_set instead of
|
|
|
|
|
pointer_set.
|
|
|
|
|
|
2014-08-01 04:51:46 +02:00
|
|
|
|
2014-07-31 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Use inchash::hash
|
|
|
|
|
and use inchash::add_expr.
|
|
|
|
|
(iterative_hash_canonical_type): Dito.
|
|
|
|
|
|
2014-07-30 14:14:58 +02:00
|
|
|
|
2014-07-30 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-streamer.h (lto_write_data): New function.
|
|
|
|
|
* langhooks.c (lhd_append_data): Do not free block.
|
|
|
|
|
* lto-section-out.c (lto_write_data): New function writing
|
|
|
|
|
raw data to the current section.
|
|
|
|
|
(lto_write_stream): Adjust for langhook semantic change.
|
|
|
|
|
(lto_destroy_simple_output_block): Write header directly.
|
|
|
|
|
* lto-opts.c (lto_write_options): Write options directly.
|
|
|
|
|
* lto-streamer-out.c (produce_asm): Write heaeder directly.
|
|
|
|
|
(lto_output_toplevel_asms): Likewise.
|
|
|
|
|
(copy_function_or_variable): Copy data directly.
|
|
|
|
|
(write_global_references): Output index table directly.
|
|
|
|
|
(lto_output_decl_state_refs): Likewise.
|
|
|
|
|
(write_symbol): Write data directly.
|
|
|
|
|
(produce_symtab): Adjust.
|
|
|
|
|
(produce_asm_for_decls): Output header and refs directly.
|
|
|
|
|
|
2014-07-25 15:39:36 +02:00
|
|
|
|
2014-07-25 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Call iterative_hstate_expr.
|
|
|
|
|
|
2014-07-25 15:39:24 +02:00
|
|
|
|
2014-07-25 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Convert to inchash.
|
|
|
|
|
(iterative_hash_canonical_type): Dito.
|
|
|
|
|
|
2014-07-25 15:39:05 +02:00
|
|
|
|
2014-07-25 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include inchash.h
|
|
|
|
|
|
tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL, NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL...
* tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL,
NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL;
call langhook for unknown declaration.
(find_decls_types_r): Do not walk DECL_ARGUMENT_FLD.
* tree.h (DECL_ARGUMENTS): Update.
* print-tree.c (print_node): Update.
* tree-core.h (tree_decl_non_common): Remove arguments.
(tree_function_decl): Add arguments.
* class.c (build_clone): Do not clear assembler names of
templates.
* decl.c (cp_tree_node_structure): Add TEMPLATE_DECL.
* cp-objcp-common.c (cp_tree_size): Add TEMPLATE_DECL
as a special case return sizeof (struct tree_decl_non_common)
for other decls.
(cp_common_init_ts): Do not initialize NAMESPACE_DECL;
initialize TEMPLATE_DECL as MARK_TS_DECL_COMMON.
* cp/cp-tree.h (tree_template_decl): New structure.
(cp_tree_node_structure_enum): Add TS_CP_TEMPLATE_DECL.
(union cp_lang_tree_node): Add template_decl.
(DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT): Update.
* lto/lto.c (mentions_vars_p_decl_non_common): Skip
DECL_ARGUMENT_FLD.
mentions_vars_p_function): Do DECL_ARGUMENTS.
(lto_fixup_prevailing_decls): Update.
* objc-act.c (objc_common_tree_size): New function.
* objc-act.h (KEYWORD_KEY_NAME, KEYWORD_ARG_NAME): Add type
checking.
(INSTANCE_METHOD_OR_CLASS_METHOD_DECL_CHECK): New macro.
(METHOD_SEL_NAME, METHOD_SEL_ARGS, METHOD_ADD_ARGS,
METHOD_ADD_ARGS_ELLIPSIS_P, METHOD_DEFINITION, METHOD_ENCODING,
METHOD_TYPE_ATTRIBUTES, METHOD_PROPERTY_CONTEXT): Add type checking.
(METHOD_SEL_ARGS): Use decl_common.size instead of
decl_non_common.result.
(PROPERTY_NAME, PROPERTY_GETTER_NAME, PROPERTY_SETTER_NAME,
PROPERTY_READONLY, PROPERTY_NONATOMIC, PROPERTY_ASSIGN_SEMANTICS,
PROPERTY_IVAR_NAME, PROPERTY_DYNAMIC, PROPERTY_HAS_NO_GETTER,
PROPERTY_HAS_NO_SETTER, PROPERTY_OPTIONAL): Add type checking.
(objc_common_tree_size): Declare.
* objc/objc-lang.c (LANG_HOOKS_TREE_SIZE): New macro.
From-SVN: r212549
2014-07-15 12:17:32 +02:00
|
|
|
|
2014-07-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (mentions_vars_p_decl_non_common): Skip
|
|
|
|
|
DECL_ARGUMENT_FLD.
|
|
|
|
|
mentions_vars_p_function): Do DECL_ARGUMENTS.
|
|
|
|
|
(lto_fixup_prevailing_decls): Update.
|
|
|
|
|
|
2014-07-12 11:35:00 +02:00
|
|
|
|
2014-07-12 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
|
|
|
|
|
timevar
|
|
|
|
|
(materialize_cgraph): Do not push GIMPLE_IN timevar.
|
|
|
|
|
|
2014-07-11 19:43:44 +02:00
|
|
|
|
2014-07-11 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_references_to_partition): Use
|
|
|
|
|
varpool_ctor_useable_for_folding_p.
|
|
|
|
|
* lto.c (lto_read_in_decl_state): Update sanity check.
|
|
|
|
|
|
2014-07-01 08:45:26 +02:00
|
|
|
|
2014-07-01 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
IPA REF alias refactoring
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): Usage of
|
|
|
|
|
FOR_EACH_ALIAS added.
|
|
|
|
|
|
2014-07-01 00:18:25 +02:00
|
|
|
|
2014-06-28 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
Revert:
|
|
|
|
|
* lto.c (lto_copy_fields_not_streamed): New function.
|
|
|
|
|
(compare_tree_sccs_1): Do not compare fields shared in between type
|
|
|
|
|
and variant.
|
|
|
|
|
(lto_read_decls): Fixup types first before inserting into hash.
|
|
|
|
|
|
2014-06-29 06:46:07 +02:00
|
|
|
|
2014-06-28 Andrew Pinski <apinski@cavium.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Fix comment in comment.
|
|
|
|
|
|
2014-06-29 01:40:46 +02:00
|
|
|
|
2014-06-28 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_copy_fields_not_streamed): New function.
|
|
|
|
|
(compare_tree_sccs_1): Do not compare fields shared in between type
|
|
|
|
|
and variant.
|
|
|
|
|
(lto_read_decls): Fixup types first before inserting into hash.
|
|
|
|
|
|
2014-06-26 15:07:29 +02:00
|
|
|
|
2014-06-25 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto/lto-partition.c (add_references_to_partition): New IPA REF function
|
|
|
|
|
used.
|
|
|
|
|
(add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
* lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
|
|
|
|
|
|
2014-06-25 01:14:26 +02:00
|
|
|
|
2014-06-24 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
|
|
|
|
|
(mentions_vars_p_function): ... here.
|
|
|
|
|
(compare_tree_sccs_1): Update VINDEX checks.
|
|
|
|
|
(lto_fixup_prevailing_decls): Likewise.
|
|
|
|
|
|
2014-06-24 15:22:11 +02:00
|
|
|
|
2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (canonical_type_hash_cache): Use hash_map instead of
|
|
|
|
|
pointer_map.
|
|
|
|
|
|
Remove a layer of indirection from hash_table
gcc/
* hash-table.h: Remove a layer of indirection from hash_table so that
it contains the hash table's data instead of a pointer to the data.
* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
fold-const.c, gcse.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c,
graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
postreload-gcse.c, sese.c, statistics.c, store-motion.c,
trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
tree-ssa-live.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust.
gcc/c/
* c-decl.c: Adjust.
gcc/cp/
* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
Adjust.
gcc/java/
* jcf-io.c: Adjust.
gcc/lto/
* lto.c: Adjust.
gcc/objc/
* objc-act.c: Adjust.
From-SVN: r211936
2014-06-24 15:21:35 +02:00
|
|
|
|
2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Adjust.
|
|
|
|
|
|
2014-06-21 04:46:34 +02:00
|
|
|
|
2014-06-20 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
|
|
|
|
|
|
cgraph.h (struct symtab_node): Add field in_init_priority_hash (set_init_priority...
* cgraph.h (struct symtab_node): Add field in_init_priority_hash
(set_init_priority, get_init_priority, set_fini_priority,
get_fini_priority): New methods.
* tree.c (init_priority_for_decl): Remove.
(init_ttree): Do not initialize init priority.
(decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
(decl_priority_info): Remove.
(decl_init_priority_insert): Rewrite.
(decl_fini_priority_insert): Rewrite.
* tree.h (tree_priority_map_eq, tree_priority_map_hash,
tree_priority_map_marked_p): Remove.
* lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
* lto-streamer-out.c (hash_tree): Do not hash priorities.
* tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
not output priorities.
(pack_ts_function_decl_value_fields): Likewise.
* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
not input priorities.
(unpack_ts_function_decl_value_fields): Likewise.
* symtab.c (symbol_priority_map): Declare.
(init_priority_hash): Declare.
(symtab_unregister_node): Unregister from priority hash, too.
(symtab_node::get_init_priority, cgraph_node::get_fini_priority):
New methods.
(symbol_priority_map_eq, symbol_priority_map_hash): New functions.
(symbol_priority_info): New function.
(symtab_node::set_init_priority, cgraph_node::set_fini_priority):
New methods.
* tree-core.h (tree_priority_map): Remove.
* lto.c (compare_tree_sccs_1): Do not compare priorities.
From-SVN: r211838
2014-06-20 09:09:27 +02:00
|
|
|
|
2014-06-20 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare priorities.
|
|
|
|
|
|
2014-06-16 01:38:29 +02:00
|
|
|
|
2014-06-15 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
|
|
|
|
|
|
2014-06-11 07:51:23 +02:00
|
|
|
|
2014-06-10 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
|
|
|
|
|
(do_whole_program_analysis): Use verify_symtab.
|
|
|
|
|
|
2014-06-09 04:30:30 +02:00
|
|
|
|
2014-06-07 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
|
|
|
|
|
lto_fixup_prevailing_decls): Skip section names.
|
|
|
|
|
|
expr.h: Remove prototypes of functions defined in builtins.c.
* expr.h: Remove prototypes of functions defined in builtins.c.
* tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
Remove prototypes of functions defined in builtins.c.
* builtins.h: Update prototype list to include all exported functions.
* builtins.c: (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Move to targhooks.c
(build_string_literal, build_call_expr_loc_array,
build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
to tree.c.
(expand_builtin_object_size, fold_builtin_object_size): Make static.
* targhooks.c (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Relocate from builtins.c.
* tree.c: Include builtins.h.
(build_call_expr_loc_array, build_call_expr_loc_vec,
build_call_expr_loc, build_call_expr, build_string_literal): Relocate
from builtins.c.
* fold-const.h (fold_fma): Move prototype to builtins.h.
* realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
* fortran/trans.c (trans_runtime_error_vararg): Call
fold_build_call_array_loc instead of fold_builtin_call_array.
* asan.c: Include builtins.h.
* cfgexpand.c: Likewise.
* convert.c: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimplify.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* lto-streamer-out.c: Likewise.
* stmt.c: Likewise.
* tree-inline.c: Likewise.
* tree-object-size.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
c
* c-decl.c: Include builtins.h.
* c-parser.c: Likewise.
cp
* decl.c: Include builtins.h.
* semantics.c: Likewise.
go
* go-gcc.cc: Include builtins.h.
lto
* lto-symtab.c: Include builtins.h.
config
* aarch64/aarch64.c: Include builtins.h.
* alpha/alpha.c: Likewise.
* arc/arc.c: Likewise.
* arm/arm.c: Likewise.
* avr/avr.c: Likewise.
* bfin/bfin.c: Likewise.
* c6x/c6x.c: Likewise.
* cr16/cr16.c: Likewise.
* cris/cris.c: Likewise.
* epiphany/epiphany.c: Likewise.
* fr30/fr30.c: Likewise.
* frv/frv.c: Likewise.
* h8300/h8300.c: Likewise.
* i386/i386.c: Likewise.
* i386/winnt.c: Likewise.
* ia64/ia64.c: Likewise.
* iq2000/iq2000.c: Likewise.
* lm32/lm32.c: Likewise.
* m32c/m32c.c: Likewise.
* m32r/m32r.c: Likewise.
* m68k/m68k.c: Likewise.
* mcore/mcore.c: Likewise.
* mep/mep.c: Likewise.
* microblaze/microblaze.c: Likewise.
* mips/mips.c: Likewise.
* mmix/mmix.c: Likewise.
* mn10300/mn10300.c: Likewise.
* moxie/moxie.c: Likewise.
* msp430/msp430.c: Likewise.
* nds32/nds32.c: Likewise.
* pa/pa.c: Likewise.
* pdp11/pdp11.c: Likewise.
* picochip/picochip.c: Likewise.
* rl78/rl78.c: Likewise.
* rs6000/rs6000.c: Likewise.
* rx/rx.c: Likewise.
* s390/s390.c: Likewise.
* score/score.c: Likewise.
* sh/sh.c: Likewise.
* sparc/sparc.c: Likewise.
* spu/spu.c: Likewise.
* stormy16/stormy16.c: Likewise.
* tilegx/tilegx.c: Likewise.
* tilepro/tilepro.c: Likewise.
* v850/v850.c: Likewise.
* vax/vax.c: Likewise.
* xtensa/xtensa.c: Likewise.
From-SVN: r211145
2014-06-02 22:13:44 +02:00
|
|
|
|
2014-06-02 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c: Include builtins.h.
|
|
|
|
|
|
system.h: Define __STDC_FORMAT_MACROS before including inttypes.h.
2014-05-23 Richard Biener <rguenther@suse.de>
* system.h: Define __STDC_FORMAT_MACROS before
including inttypes.h.
* hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
HOST_WIDEST_INT_C): Remove.
(PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
if C99 inttypes.h is not available.
* coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
* gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
* gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
* cfgloop.h (struct niter_desc): Use uint64_t for niter field.
* bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
(struct output_info): Likewise.
(print_statistics): Adjust.
(dump_bitmap_statistics): Likewise.
* bt-load.c (migrate_btr_defs): Print with PRId64.
* cfg.c (dump_edge_info, dump_bb_info): Likewise.
(MAX_SAFE_MULTIPLIER): Adjust.
* cfghooks.c (dump_bb_for_graph): Print with PRId64.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
dump_cgraph_node): Likewise.
* final.c (dump_basic_block_info): Likewise.
* gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
* gcov.c (format_gcov): Likewise.
* ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
for calculation.
(get_clone_agg_value): Use HOST_WIDE_INT for offset.
* ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
(inline_small_functions, dump_overall_stats, dump_inline_stats):
Use PRId64 for dumping.
* ipa-profile.c (dump_histogram, ipa_profile): Likewise.
* ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
(add_allocno_hard_regs): Adjust.
* loop-doloop.c (doloop_modify): Print using PRId64.
* loop-iv.c (inverse): Compute in uint64_t.
(determine_max_iter, iv_number_of_iterations): Likewise.
* loop-unroll.c (decide_peel_completely, decide_peel_simple):
Print using PRId64.
* lto-streamer-out.c (write_symbol): Use uint64_t.
* mcf.c (CAP_INFINITY): Use int64_t maximum.
(dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
* modulo-sched.c (const_iteration_count): Use int64_t.
(sms_schedule): Dump using PRId64.
* predict.c (dump_prediction): Likewise.
* pretty-print.h (pp_widest_integer): Remove.
* profile.c (get_working_sets, is_edge_inconsistent,
is_inconsistent, read_profile_edge_counts): Dump using PRId64.
* tree-pretty-print.c (pp_double_int): Remove case handling
HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
* tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
and adjust users.
(pass_optimize_bswap::execute): Remove restriction on hosts.
* tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
* tree-streamer-out.c (streamer_write_tree_header): Likewise.
* tree.c (widest_int_cst_value): Remove.
* tree.h (widest_int_cst_value): Likewise.
* value-prof.c (dump_histogram_value): Print using PRId64.
* gengtype.c (main): Also inject int64_t.
* ggc-page.c (struct max_alignment): Use int64_t.
* alloc-pool.c (struct allocation_object_def): Likewise.
* ira-conflicts.c (build_conflict_bit_table): Use uint64_t
for computation.
* doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
* doc/tm.texi: Regenerated.
* gengtype-lex.l (IWORD): Handle [u]int64_t.
* config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
* config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
mmix_output_register_setting): Use [u]int64_t in prototypes.
* config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
mmix_output_octa, mmix_output_shifted_value): Adjust.
(mmix_intval): Adjust. Remove unreachable case.
* config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use
int64_t.
lto/
* lto.c (lto_parse_hex): Use int64_t.
(lto_resolution_read): Likewise.
From-SVN: r210931
2014-05-26 12:42:43 +02:00
|
|
|
|
2014-05-26 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_parse_hex): Use int64_t.
|
|
|
|
|
(lto_resolution_read): Likewise.
|
|
|
|
|
|
2014-05-25 04:58:54 +02:00
|
|
|
|
2014-05-23 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
|
|
|
|
|
|
2014-05-25 00:00:14 +02:00
|
|
|
|
2014-05-23 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_symbols): Update code setting
|
|
|
|
|
symtab pointer.
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare comdat groups.
|
|
|
|
|
|
2014-05-22 22:16:07 +02:00
|
|
|
|
2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
|
|
|
|
|
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
|
|
|
|
|
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
|
|
|
|
|
|
2014-05-22 18:21:18 +02:00
|
|
|
|
2012-05-22 Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-object.c: Include "lto-section-names.h".
|
|
|
|
|
(LTO_SEGMENT_NAME): Don't define.
|
|
|
|
|
* lto.c: Include "lto-section-names.h".
|
|
|
|
|
|
2014-05-22 07:38:04 +02:00
|
|
|
|
2014-05-17 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/61012
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
|
|
|
|
|
mixed with variables.
|
|
|
|
|
|
2014-05-18 01:07:23 +02:00
|
|
|
|
2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h: Don't use variable_size gty attribute.
|
|
|
|
|
* lto.c (lto_read_in_decl_state): Adjust.
|
|
|
|
|
(create_subid_section_table): Likewise.
|
|
|
|
|
(lto_flatten_files): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
|
2014-05-06 18:35:35 +02:00
|
|
|
|
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
|
|
|
|
|
Mike Stump <mikestump@comcast.net>
|
|
|
|
|
Richard Sandiford <rdsandiford@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Use wide-int interfaces.
|
|
|
|
|
* lto-lang.c (get_nonnull_operand): Likewise.
|
|
|
|
|
|
2014-04-28 16:36:13 +02:00
|
|
|
|
2014-04-28 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR middle-end/60092
|
|
|
|
|
* lto-lang.c: Define flag_isoc11.
|
|
|
|
|
|
2014-04-23 21:06:40 +02:00
|
|
|
|
2014-04-23 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_references_to_partition): Update for
|
|
|
|
|
removal of implicit pointer from the is-a.h API.
|
|
|
|
|
(add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(contained_in_symbol): Likewise.
|
|
|
|
|
(undo_partition): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(promote_symbol): Likewise.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols): Likewise.
|
|
|
|
|
* lto.c (lto_wpa_write_files): Likewise.
|
|
|
|
|
|
2014-04-15 14:56:16 +02:00
|
|
|
|
2014-04-15 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include params.h.
|
|
|
|
|
(do_whole_program_analysis): Switch on flag_lto_partition value,
|
|
|
|
|
add support for LTO_PARTITION_ONE.
|
|
|
|
|
* lto-partition.h (lto_balanced_map): Adjust.
|
|
|
|
|
* lto-partition.c (lto_balanced_map): Get number of desired
|
|
|
|
|
partitions as argument to support -flto-partition=one.
|
|
|
|
|
|
2014-04-14 19:18:54 +02:00
|
|
|
|
2014-04-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
|
|
|
|
|
tp_first_run.
|
|
|
|
|
|
2014-04-11 21:22:20 +02:00
|
|
|
|
2014-03-19 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include ipa-inline.h
|
|
|
|
|
(do_whole_program_analysis): Free inline summary after partitioning.
|
|
|
|
|
|
2014-03-19 16:37:28 +01:00
|
|
|
|
2014-03-19 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR middle-end/60553
|
|
|
|
|
* lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
|
|
|
|
|
instead of TREE_CHAIN as chain_next.
|
|
|
|
|
|
2014-03-19 12:35:59 +01:00
|
|
|
|
2014-03-19 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Move call to
|
|
|
|
|
lto_promote_cross_file_statics ...
|
|
|
|
|
(do_whole_program_analysis): ... here, into the partitioning
|
|
|
|
|
block. Do not ggc_collect after lto_wpa_write_files but
|
|
|
|
|
for a last time before it.
|
|
|
|
|
|
2014-03-19 08:18:46 +01:00
|
|
|
|
2014-03-19 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR lto/60571
|
|
|
|
|
* lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
|
|
|
|
|
Fix formatting.
|
|
|
|
|
|
2014-03-18 15:56:23 +01:00
|
|
|
|
2014-03-18 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR sanitizer/60535
|
|
|
|
|
* lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
|
|
|
|
|
and complex_{float,{,long_}double}_type_node.
|
|
|
|
|
|
2014-03-08 11:54:05 +01:00
|
|
|
|
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
|
|
|
|
|
|
2014-03-18 15:56:23 +01:00
|
|
|
|
* lto-lang.c (lto_init): Pass flag_short_double to
|
|
|
|
|
build_common_tree_nodes.
|
2014-03-08 11:54:05 +01:00
|
|
|
|
|
2014-02-24 23:58:44 +01:00
|
|
|
|
2014-02-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/60295
|
|
|
|
|
* lto.c (stream_out): Avoid parallel streaming with
|
|
|
|
|
-flto=jobserver until we are able to throttle it down
|
|
|
|
|
resonably.
|
|
|
|
|
|
2014-02-20 20:40:14 +01:00
|
|
|
|
2014-02-14 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1,
|
|
|
|
|
undo_partition, lto_balanced_map): Aliases have no
|
|
|
|
|
defined size.
|
|
|
|
|
(lto_balanced_map): Do not follow refering variables
|
|
|
|
|
if they can be optimized out.
|
|
|
|
|
|
2014-02-14 13:03:43 +01:00
|
|
|
|
2014-02-14 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/60179
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Do not compare
|
|
|
|
|
DECL_FUNCTION_SPECIFIC_TARGET.
|
|
|
|
|
(lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
|
|
|
|
|
|
2014-02-12 10:01:30 +01:00
|
|
|
|
2014-02-12 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/60060
|
|
|
|
|
* lto-lang.c (lto_write_globals): Do not call
|
|
|
|
|
wrapup_global_declarations or emit_debug_global_declarations
|
|
|
|
|
but emit debug info for non-function scope variables
|
|
|
|
|
directly.
|
|
|
|
|
|
2014-02-08 00:47:17 +01:00
|
|
|
|
2014-02-06 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
|
|
|
|
|
|
2014-02-07 03:27:05 +01:00
|
|
|
|
2014-02-06 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
PR ipa/59469
|
|
|
|
|
* lto-partition.c (symbol_class): Move to cgraph.h
|
|
|
|
|
(get_symbol_class): Move to symtab.c
|
|
|
|
|
(add_references_to_partition, add_symbol_to_partition_1,
|
|
|
|
|
lto_max_map, lto_1_to_1_map, lto_balanced_map,
|
|
|
|
|
lto_promote_cross_file_statics): Update.
|
|
|
|
|
|
2014-02-05 18:21:07 +01:00
|
|
|
|
2014-02-05 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_parallelism): New static var.
|
|
|
|
|
(do_stream_out, wait_for_child, stream_out): New static functions.
|
|
|
|
|
(lto_wpa_write_files): Add support for parallel streaming.
|
|
|
|
|
(do_whole_program_analysis): Set parallelism.
|
|
|
|
|
* lang.opt (fwpa): Add parameter.
|
|
|
|
|
* lto-lang.c (lto_handle_option): Handle flag_wpa.
|
|
|
|
|
(lto_init): Update use of flag_wpa.
|
|
|
|
|
* lto-streamer.h (asm_nodes_output): Declare.
|
|
|
|
|
|
2014-02-05 16:23:36 +01:00
|
|
|
|
2014-02-05 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_global_var_decls): Remove.
|
|
|
|
|
* lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
|
|
|
|
|
(lto_write_globals): Do nothing in WPA stage, gather globals from
|
|
|
|
|
the varpool here ...
|
|
|
|
|
* lto.c (lto_main): ... not here.
|
|
|
|
|
(materialize_cgraph): Do not call rest_of_decl_compilation
|
|
|
|
|
on the empty lto_global_var_decls vector.
|
|
|
|
|
(lto_global_var_decls): Remove.
|
|
|
|
|
|
2014-02-05 00:26:36 +01:00
|
|
|
|
2014-02-04 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
|
|
|
|
|
needs duplicating, not generic COMDAT.
|
|
|
|
|
|
2014-02-04 15:53:24 +01:00
|
|
|
|
2014-02-04 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/59723
|
|
|
|
|
* lto.c (mentions_vars_p): Handle NAMELIST_DECL.
|
|
|
|
|
(lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
|
|
|
|
|
|
2014-02-04 06:50:18 +01:00
|
|
|
|
2014-02-04 Jan Hubicka <hubicka@ucw.cz>
|
|
|
|
|
Markus Trippelsdorf
|
|
|
|
|
|
|
|
|
|
PR ipa/59469
|
|
|
|
|
* lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
|
|
|
|
|
merge force_output and forced_by_abi flags.
|
|
|
|
|
|
2014-01-25 00:13:49 +01:00
|
|
|
|
2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
|
|
|
|
|
flag_cilkplus.
|
|
|
|
|
|
2014-01-09 13:34:39 +01:00
|
|
|
|
2014-01-09 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (gimple_canonical_types_compatible_p): Fix comment.
|
|
|
|
|
|
2014-01-09 12:52:43 +01:00
|
|
|
|
2014-01-09 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/45586
|
|
|
|
|
* lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
|
|
|
|
|
TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
|
|
|
|
|
(gimple_canonical_types_compatible_p): Do not compare them either.
|
|
|
|
|
|
2014-01-02 23:23:26 +01:00
|
|
|
|
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
|
|
|
|
|
|
|
|
|
Update copyright years
|
|
|
|
|
|
2013-12-06 11:40:53 +01:00
|
|
|
|
2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto.c: Remove struct tags when referring to class varpool_node.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-symtab.c: Likewise.
|
|
|
|
|
|
2013-11-29 11:41:12 +01:00
|
|
|
|
2013-11-29 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/59326
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
|
|
|
|
|
|
2013-11-29 11:36:10 +01:00
|
|
|
|
2013-11-29 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR lto/59326
|
|
|
|
|
* lto.c (mentions_vars_p_omp_clause): New function.
|
|
|
|
|
(mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
|
|
|
|
|
after return stmts.
|
|
|
|
|
|
2013-11-22 16:58:51 +01:00
|
|
|
|
2013-11-22 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Add required include files from gimple.h.
|
|
|
|
|
* lto-lang.c: Likewise
|
|
|
|
|
* lto-object.c: Likewise
|
|
|
|
|
* lto-partition.c: Likewise
|
|
|
|
|
* lto-symtab.c: Likewise
|
|
|
|
|
|
2013-11-18 13:18:12 +01:00
|
|
|
|
2013-11-18 Trevor Saunders <tsaunders@mozilla.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c lto-symtab.c lto.c Adjust.
|
|
|
|
|
|
2013-11-19 13:31:09 +01:00
|
|
|
|
2013-11-14 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Include stringpool.h.
|
|
|
|
|
Include stor-layout.h.
|
|
|
|
|
* lto-partition.c: Include gcc-symtab.h.
|
|
|
|
|
* lto.c: Include stor-layout.h.
|
|
|
|
|
|
2013-10-31 22:26:14 +01:00
|
|
|
|
2013-10-31 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
Automated part of renaming of symtab_node_base to symtab_node.
|
|
|
|
|
|
|
|
|
|
Patch autogenerated by rename_symtab.py from
|
|
|
|
|
https://github.com/davidmalcolm/gcc-refactoring-scripts
|
|
|
|
|
revision 58bb219cc090b2f4516a9297d868c245495ee622
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition): Rename
|
|
|
|
|
symtab_node_base to symtab_node.
|
|
|
|
|
(get_symbol_class): Likewise.
|
|
|
|
|
(symbol_partitioned_p): Likewise.
|
|
|
|
|
(add_references_to_partition): Likewise.
|
|
|
|
|
(add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(contained_in_symbol): Likewise.
|
|
|
|
|
(add_symbol_to_partition): Likewise.
|
|
|
|
|
(lto_1_to_1_map): Likewise.
|
|
|
|
|
(lto_max_map): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(privatize_symbol_name): Likewise.
|
|
|
|
|
(promote_symbol): Likewise.
|
|
|
|
|
(may_need_named_section_p): Likewise.
|
|
|
|
|
(rename_statics): Likewise.
|
|
|
|
|
(lto_promote_statics_nonwpa): Likewise.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge): Likewise.
|
|
|
|
|
(lto_symtab_resolve_replaceable_p): Likewise.
|
|
|
|
|
(lto_symtab_symbol_p): Likewise.
|
|
|
|
|
(lto_symtab_resolve_can_prevail_p): Likewise.
|
|
|
|
|
(lto_symtab_resolve_symbols): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls_2): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols): Likewise.
|
|
|
|
|
(lto_symtab_prevailing_decl): Likewise.
|
|
|
|
|
* lto.c (lto_wpa_write_files): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
(do_whole_program_analysis): Likewise.
|
|
|
|
|
|
2013-10-30 16:58:45 +01:00
|
|
|
|
2013-10-30 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
|
|
|
|
|
declarations onto multiple lines to make things easier for
|
|
|
|
|
rename_symtab.py.
|
|
|
|
|
(lto_symtab_merge_decls_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols_1): Likewise.
|
|
|
|
|
|
2013-10-29 19:36:31 +01:00
|
|
|
|
2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
|
|
|
|
|
* lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
|
|
|
|
|
Plus is enabled.
|
|
|
|
|
|
2013-10-29 19:30:00 +01:00
|
|
|
|
2013-10-29 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
Patch autogenerated by refactor_symtab.py from
|
|
|
|
|
https://github.com/davidmalcolm/gcc-refactoring-scripts
|
|
|
|
|
revision 58bb219cc090b2f4516a9297d868c245495ee622
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (lto_promote_cross_file_statics): Update for
|
|
|
|
|
conversion of symtab types to a true class hierarchy.
|
|
|
|
|
(rename_statics): Likewise.
|
|
|
|
|
(promote_symbol): Likewise.
|
|
|
|
|
(privatize_symbol_name): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(varpool_node_cmp): Likewise.
|
|
|
|
|
(node_cmp): Likewise.
|
|
|
|
|
(lto_1_to_1_map): Likewise.
|
|
|
|
|
(undo_partition): Likewise.
|
|
|
|
|
(add_symbol_to_partition): Likewise.
|
|
|
|
|
(contained_in_symbol): Likewise.
|
|
|
|
|
(add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(add_references_to_partition): Likewise.
|
|
|
|
|
(symbol_partitioned_p): Likewise.
|
|
|
|
|
(get_symbol_class): Likewise.
|
|
|
|
|
(lto_max_map): Likewise.
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols): Likewise.
|
|
|
|
|
(lto_symtab_merge_symbols_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls_1): Likewise.
|
|
|
|
|
(lto_symtab_merge_decls_2): Likewise.
|
|
|
|
|
(lto_symtab_resolve_symbols): Likewise.
|
|
|
|
|
(lto_symtab_resolve_can_prevail_p): Likewise.
|
|
|
|
|
(lto_symtab_symbol_p): Likewise.
|
|
|
|
|
(lto_symtab_resolve_replaceable_p): Likewise.
|
|
|
|
|
(lto_symtab_merge): Likewise.
|
|
|
|
|
(lto_varpool_replace_node): Likewise.
|
|
|
|
|
(lto_cgraph_replace_node): Likewise.
|
|
|
|
|
* lto.c (lto_main): Likewise.
|
|
|
|
|
(do_whole_program_analysis): Likewise.
|
|
|
|
|
(materialize_cgraph): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
(cmp_partitions_order): Likewise.
|
|
|
|
|
(lto_materialize_function): Likewise.
|
|
|
|
|
(has_analyzed_clone_p): Likewise.
|
|
|
|
|
|
2013-10-29 13:55:50 +01:00
|
|
|
|
2013-10-29 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto/lto-object.c: Add gimple.h to include list.
|
|
|
|
|
* lto/lto-partition.c: Likewise.
|
|
|
|
|
|
2013-10-18 14:39:34 +02:00
|
|
|
|
2013-10-18 Andrew MacLeod <amacleod@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Remove tree-flow.h from include list.
|
|
|
|
|
|
2013-10-15 13:13:04 +02:00
|
|
|
|
2013-10-15 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (hash_canonical_type): Split out from ...
|
|
|
|
|
(iterative_hash_canonical_type): ... here. Register types
|
|
|
|
|
we recurse to.
|
|
|
|
|
(gimple_canonical_type_hash): Adjust.
|
|
|
|
|
(gimple_register_canonical_type_1): Split out from ...
|
|
|
|
|
(gimple_register_canonical_type): ... here. Cache computed
|
|
|
|
|
hash value.
|
|
|
|
|
(lto_register_canonical_types): Split into two modes,
|
|
|
|
|
clearing and computing TYPE_CANONICAL.
|
|
|
|
|
(lto_read_decls): Adjust.
|
|
|
|
|
(read_cgraph_and_symbols): Do two passes over global trees,
|
|
|
|
|
first clearing then computing TYPE_CANONICAL.
|
|
|
|
|
|
2013-10-14 16:32:24 +02:00
|
|
|
|
2013-10-14 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (gimple_canonical_types): Move out-of GC space.
|
|
|
|
|
(canonical_type_hash_cache): Make a pointer-map.
|
|
|
|
|
(num_canonical_type_hash_entries, num_canonical_type_hash_queries):
|
|
|
|
|
New counters.
|
|
|
|
|
(iterative_hash_canonical_type): Adjust.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
(print_lto_report_1): Likewise.
|
|
|
|
|
|
lto.c (gimple_types, [...]): Remove old merging code and statistics.
2013-10-14 Richard Biener <rguenther@suse.de>
lto/
* lto.c (gimple_types, type_hash_cache, struct type_pair_d,
type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
gtc_next_dfs_num, compare_type_names_p, gtc_visit,
gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type, num_not_merged_types,
num_not_merged_types_in_same_scc, num_not_merged_types_trees,
num_not_merged_types_in_same_scc_trees): Remove old merging code
and statistics.
(lto_read_decls): Do not run old merging code in parallel.
(read_cgraph_and_symbols): Do not init/free old merging
data structures.
(print_lto_report_1): Do not report differences of old vs. new
merging code.
From-SVN: r203533
2013-10-14 14:57:11 +02:00
|
|
|
|
2013-10-14 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (gimple_types, type_hash_cache, struct type_pair_d,
|
|
|
|
|
type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
|
|
|
|
|
gtc_next_dfs_num, compare_type_names_p, gtc_visit,
|
|
|
|
|
gimple_types_compatible_p_1, gimple_types_compatible_p,
|
|
|
|
|
visit, iterative_hash_name, struct type_hash_pair,
|
|
|
|
|
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
|
|
|
|
|
gimple_type_eq, gimple_register_type, num_not_merged_types,
|
|
|
|
|
num_not_merged_types_in_same_scc, num_not_merged_types_trees,
|
|
|
|
|
num_not_merged_types_in_same_scc_trees): Remove old merging code
|
|
|
|
|
and statistics.
|
|
|
|
|
(lto_read_decls): Do not run old merging code in parallel.
|
|
|
|
|
(read_cgraph_and_symbols): Do not init/free old merging
|
|
|
|
|
data structures.
|
|
|
|
|
(print_lto_report_1): Do not report differences of old vs. new
|
|
|
|
|
merging code.
|
|
|
|
|
|
gimple.c (gimple_canonical_types, [...]): Move to lto/lto.c
2013-10-14 Richard Biener <rguenther@suse.de>
* gimple.c (gimple_canonical_types, canonical_type_hash_cache,
iterative_hash_canonical_type, gimple_canonical_type_hash,
gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
gimple_register_canonical_type, print_gimple_types_stats,
free_gimple_type_tables): Move to lto/lto.c
(gt-gimple.h): Do not include.
* gimple.h (gimple_register_canonical_type,
print_gimple_types_stats, free_gimple_type_tables): Remove.
* Makefile.in (GTFILES): Remove gimple.c.
lto/
* lto-lang.c (lto_init): Do not re-init canonical types here.
(lto_register_canonical_types): Move to ...
* lto.c (lto_register_canonical_types): ... here.
(gimple_canonical_types, canonical_type_hash_cache,
iterative_hash_canonical_type, gimple_canonical_type_hash,
gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
gimple_register_canonical_type): Add canonical type merging machinery
moved from gimple.c.
(read_cgraph_and_symbols): Init and free canonical type tables
here.
(print_lto_report_1): Report canonical type table stats here.
From-SVN: r203521
2013-10-14 14:06:38 +02:00
|
|
|
|
2013-10-14 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Do not re-init canonical types here.
|
|
|
|
|
(lto_register_canonical_types): Move to ...
|
|
|
|
|
* lto.c (lto_register_canonical_types): ... here.
|
|
|
|
|
(gimple_canonical_types, canonical_type_hash_cache,
|
|
|
|
|
iterative_hash_canonical_type, gimple_canonical_type_hash,
|
|
|
|
|
gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
|
|
|
|
|
gimple_register_canonical_type): Add canonical type merging machinery
|
|
|
|
|
moved from gimple.c.
|
|
|
|
|
(read_cgraph_and_symbols): Init and free canonical type tables
|
|
|
|
|
here.
|
|
|
|
|
(print_lto_report_1): Report canonical type table stats here.
|
|
|
|
|
|
target.c: New file.
libgomp/
* target.c: New file.
* Makefile.am (libgomp_la_SOURCES): Add target.c.
* Makefile.in: Regenerated.
* libgomp_g.h (GOMP_task): Add depend argument.
(GOMP_barrier_cancel, GOMP_loop_end_cancel,
GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
GOMP_target_end_data, GOMP_target_update, GOMP_teams,
GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
GOMP_taskgroup_start, GOMP_taskgroup_end,
GOMP_parallel_sections): New prototypes.
* fortran.c (omp_is_initial_device): Add ialias_redirect.
(omp_is_initial_device_): New function.
(ULP, STR1, STR2, ialias_redirect): Removed.
(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
omp_set_default_device_8_, omp_get_default_device_,
omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
functions.
* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
@@GOMP_4.0.
(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
omp_set_default_device, omp_set_default_device_,
omp_set_default_device_8_, omp_get_default_device,
omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
omp_get_team_num_): Export @@OMP_4.0.
* team.c (struct gomp_thread_start_data): Add place field.
(gomp_thread_start): Clear thr->thread_pool and
thr->task before returning. Use gomp_team_barrier_wait_final
instead of gomp_team_barrier_wait. Initialize thr->place.
(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
team_cancelled and task_queued_count fields.
(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
before calling pthread_exit.
(gomp_free_thread): No longer static. Use
gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
(gomp_team_start): Add flags argument. Set
thr->thread_pool->threads_busy to nthreads immediately after creating
new pool. Use gomp_managed_threads_lock instead of
gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
(gomp_team_end): Use gomp_managed_threads_lock instead of
gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
of gomp_team_barrier_wait. If team->team_cancelled, call
gomp_fini_worshare on ws chain starting at team->work_shares_to_free
rather than thr->ts.work_share.
(initialize_team): Don't call gomp_sem_init here.
* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
caller.
(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
* env.c (gomp_global_icv): Add default_device_var, target_data and
bind_var initializers.
(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
gomp_places_list_len): New variables.
(parse_bind_var, parse_one_place, parse_places_var): New functions.
(parse_affinity): Rewritten to construct OMP_PLACES list with unit
sized places.
(gomp_cancel_var): New global variable.
(parse_int): New function.
(handle_omp_display_env): New function.
(initialize_env): Use it. Initialize default_device_var.
Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
been successfully parsed (and call gomp_init_affinity in that case).
(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
omp_get_team_num, omp_is_initial_device): New functions.
* libgomp.h: Include stdlib.h.
(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
Define.
(struct target_mem_desc): Forward declare.
(struct gomp_task_icv): Add default_device_var, target_data, bind_var
and thread_limit_var fields.
(gomp_get_num_devices): New prototype.
(gomp_cancel_var): New extern decl.
(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
team_cancelled and task_queued_count fields. Add comments about
task_{,queued_,running_}count.
(gomp_cancel_kind): New enum.
(gomp_work_share_end_cancel): New prototype.
(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
and depend fields.
(struct gomp_taskgroup): New type.
(struct gomp_task_depend_entry,
struct gomp_dependers_vec): New types.
(gomp_finish_task): Free depend_hash if non-NULL.
(struct gomp_team_state): Add place_partition_off
and place_partition_len fields.
(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
gomp_places_list_len): New extern decls.
(struct gomp_thread): Add place field.
(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
(gomp_init_thread_affinity): Add place argument.
(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
gomp_affinity_remove_cpu, gomp_affinity_copy_place,
gomp_affinity_same_place, gomp_affinity_finalize_place_list,
gomp_affinity_init_level, gomp_affinity_print_place): New
prototypes.
(gomp_team_start): Add flags argument.
(gomp_thread_limit_var, gomp_remaining_threads_count,
gomp_remaining_threads_lock): Remove.
(gomp_managed_threads_lock): New variable.
(struct gomp_thread_pool): Add threads_busy field.
(gomp_free_thread): New prototype.
* task.c: Include hashtab.h.
(hash_entry_type): New typedef.
(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
(gomp_init_task): Clear dependers, depend_hash, depend_count,
copy_ctors_done and taskgroup fields.
(GOMP_task): Add depend argument, handle depend clauses. If
gomp_team_barrier_cancelled or if it's taskgroup has been
cancelled, don't queue or start new tasks. Set copy_ctors_done
field if needed. Initialize taskgroup field. If copy_ctors_done
and already cancelled, don't discard the task. If taskgroup is
non-NULL, enqueue the task into taskgroup queue. Increment
num_children field in taskgroup. Increment task_queued_count.
(gomp_task_run_pre, gomp_task_run_post_remove_parent,
gomp_task_run_post_remove_taskgroup): New inline functions.
(gomp_task_run_post_handle_depend_hash,
gomp_task_run_post_handle_dependers,
gomp_task_run_post_handle_depend): New functions.
(GOMP_taskwait): Use them. If more than one new tasks
have been queued, wake other threads if needed.
(gomp_barrier_handle_tasks): Likewise. If
gomp_team_barrier_cancelled, don't start any new tasks, just free
all tasks.
(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
* omp_lib.f90.in
(omp_proc_bind_kind, omp_proc_bind_false,
omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
omp_proc_bind_spread): New params.
(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
omp_get_team_num, omp_is_initial_device): New interfaces.
(omp_get_dynamic, omp_get_nested, omp_in_parallel,
omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
omp_get_team_size, omp_get_active_level, omp_in_final): Remove
useless use omp_lib_kinds.
* omp.h.in (omp_proc_bind_t): New typedef.
(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
omp_get_team_num, omp_is_initial_device): New prototypes.
* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
through to gomp_team_start.
(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
Adjust gomp_parallel_loop_start callers.
(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
GOMP_loop_end_cancel): New functions.
(GOMP_parallel_end): Add ialias_redirect.
* hashtab.h: New file.
* libgomp.texi (Environment Variables): Minor cleanup,
update section refs to OpenMP 4.0rc2.
(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
environment variables.
* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
team->work_shares_to_free to thr->ts.work_share before calling
free_work_share.
(gomp_work_share_end_cancel): New function.
* config/linux/proc.c: Include errno.h.
(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
sizeof (cpu_set_t) to determine number of iterations. Fix up check
extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
gomp_cpuset_size is sizeof (cpu_set_t).
(gomp_init_num_threads): Initialize gomp_cpuset_size,
gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
contain any logical CPUs.
(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
is NULL. Use gomp_cpusetp instead of &cpuset and pass
gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
pthread_getaffinity_np. Check gomp_places_list instead of
gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
* config/linux/bar.c (gomp_barrier_wait_end,
gomp_barrier_wait_last): Use BAR_* defines.
(gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
from state where needed. Set work_share_cancelled to 0 on last
thread.
(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
functions.
* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
Add cpusetsize argument.
(gomp_cpuset_size, gomp_cpusetp): Declare.
* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
(affinity_counter): Remove.
(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
if CPU_ALLOC_SIZE isn't defined.
(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
silently create OMP_PLACES=threads, if it is non-NULL afterwards,
bind current thread to the first place.
(gomp_init_thread_affinity): Rewritten. Add place argument, just
pthread_setaffinity_np to gomp_places_list[place].
(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
gomp_affinity_remove_cpu, gomp_affinity_copy_place,
gomp_affinity_same_place, gomp_affinity_finalize_place_list,
gomp_affinity_init_level, gomp_affinity_print_place): New functions.
* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
(gomp_barrier_t): Add awaited_final field.
(gomp_barrier_init): Initialize awaited_final field.
(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
prototypes.
(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
defines.
(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
gomp_team_barrier_cancelled): New inline functions.
(gomp_barrier_last_thread,
gomp_team_barrier_set_task_pending,
gomp_team_barrier_clear_task_pending,
gomp_team_barrier_set_waiting_for_tasks,
gomp_team_barrier_waiting_for_tasks,
gomp_team_barrier_done): Use BAR_* defines.
* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
(gomp_barrier_wait_end): Use BAR_* defines.
(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
Use BAR_* defines.
(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
gomp_team_barrier_cancel): New functions.
* config/posix/affinity.c (gomp_init_thread_affinity): Add place
argument.
(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
gomp_affinity_remove_cpu, gomp_affinity_copy_place,
gomp_affinity_same_place, gomp_affinity_finalize_place_list,
gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
(gomp_barrier_t): Add cancellable field.
(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
gomp_team_barrier_cancel): New prototypes.
(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
gomp_team_barrier_cancelled): New inline functions.
(gomp_barrier_wait_start, gomp_barrier_last_thread,
gomp_team_barrier_set_task_pending,
gomp_team_barrier_clear_task_pending,
gomp_team_barrier_set_waiting_for_tasks,
gomp_team_barrier_waiting_for_tasks,
gomp_team_barrier_done): Use BAR_* defines.
* barrier.c (GOMP_barrier_cancel): New function.
* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
omp_proc_bind_spread): New params.
(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
omp_get_team_num, omp_is_initial_device): New externals.
* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
New functions.
(gomp_resolve_num_threads): Adjust for thread_limit now being in
icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
infinity. If not nested, just return minimum of max_num_threads
and icv->thread_limit_var and if thr->thread_pool, set threads_busy
to the returned value. Otherwise, don't update atomically
gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
(GOMP_parallel_end): Adjust for thread_limit now being in
icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
infinity. Adjust threads_busy in the pool rather than
gomp_remaining_threads_count. Remember team->nthreads and call
gomp_team_end before adjusting threads_busy, if not nested
afterwards, just set it to 1 non-atomically. Add ialias.
(GOMP_parallel_start): Adjust gomp_team_start caller.
* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
* testsuite/libgomp.c/affinity-1.c: New test.
* testsuite/libgomp.c/atomic-15.c: New test.
* testsuite/libgomp.c/atomic-16.c: New test.
* testsuite/libgomp.c/atomic-17.c: New test.
* testsuite/libgomp.c/cancel-for-1.c: New test.
* testsuite/libgomp.c/cancel-for-2.c: New test.
* testsuite/libgomp.c/cancel-parallel-1.c: New test.
* testsuite/libgomp.c/cancel-parallel-2.c: New test.
* testsuite/libgomp.c/cancel-parallel-3.c: New test.
* testsuite/libgomp.c/cancel-sections-1.c: New test.
* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
* testsuite/libgomp.c/depend-1.c: New test.
* testsuite/libgomp.c/depend-2.c: New test.
* testsuite/libgomp.c/depend-3.c: New test.
* testsuite/libgomp.c/depend-4.c: New test.
* testsuite/libgomp.c/for-1.c: New test.
* testsuite/libgomp.c/for-1.h: New file.
* testsuite/libgomp.c/for-2.c: New test.
* testsuite/libgomp.c/for-2.h: New file.
* testsuite/libgomp.c/for-3.c: New test.
* testsuite/libgomp.c/pr58392.c: New test.
* testsuite/libgomp.c/simd-1.c: New test.
* testsuite/libgomp.c/simd-2.c: New test.
* testsuite/libgomp.c/simd-3.c: New test.
* testsuite/libgomp.c/simd-4.c: New test.
* testsuite/libgomp.c/simd-5.c: New test.
* testsuite/libgomp.c/simd-6.c: New test.
* testsuite/libgomp.c/target-1.c: New test.
* testsuite/libgomp.c/target-2.c: New test.
* testsuite/libgomp.c/target-3.c: New test.
* testsuite/libgomp.c/target-4.c: New test.
* testsuite/libgomp.c/target-5.c: New test.
* testsuite/libgomp.c/target-6.c: New test.
* testsuite/libgomp.c/target-7.c: New test.
* testsuite/libgomp.c/taskgroup-1.c: New test.
* testsuite/libgomp.c/thread-limit-1.c: New test.
* testsuite/libgomp.c/thread-limit-2.c: New test.
* testsuite/libgomp.c/thread-limit-3.c: New test.
* testsuite/libgomp.c/udr-1.c: New test.
* testsuite/libgomp.c/udr-2.c: New test.
* testsuite/libgomp.c/udr-3.c: New test.
* testsuite/libgomp.c++/affinity-1.C: New test.
* testsuite/libgomp.c++/atomic-10.C: New test.
* testsuite/libgomp.c++/atomic-11.C: New test.
* testsuite/libgomp.c++/atomic-12.C: New test.
* testsuite/libgomp.c++/atomic-13.C: New test.
* testsuite/libgomp.c++/atomic-14.C: New test.
* testsuite/libgomp.c++/atomic-15.C: New test.
* testsuite/libgomp.c++/cancel-for-1.C: New test.
* testsuite/libgomp.c++/cancel-for-2.C: New test.
* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
* testsuite/libgomp.c++/cancel-sections-1.C: New test.
* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
* testsuite/libgomp.c++/cancel-test.h: New file.
* testsuite/libgomp.c++/for-9.C: New test.
* testsuite/libgomp.c++/for-10.C: New test.
* testsuite/libgomp.c++/for-11.C: New test.
* testsuite/libgomp.c++/simd-1.C: New test.
* testsuite/libgomp.c++/simd-2.C: New test.
* testsuite/libgomp.c++/simd-3.C: New test.
* testsuite/libgomp.c++/simd-4.C: New test.
* testsuite/libgomp.c++/simd-5.C: New test.
* testsuite/libgomp.c++/simd-6.C: New test.
* testsuite/libgomp.c++/simd-7.C: New test.
* testsuite/libgomp.c++/simd-8.C: New test.
* testsuite/libgomp.c++/target-1.C: New test.
* testsuite/libgomp.c++/target-2.C: New test.
* testsuite/libgomp.c++/target-2-aux.cc: New file.
* testsuite/libgomp.c++/target-3.C: New test.
* testsuite/libgomp.c++/taskgroup-1.C: New test.
* testsuite/libgomp.c++/udr-1.C: New test.
* testsuite/libgomp.c++/udr-2.C: New test.
* testsuite/libgomp.c++/udr-3.C: New test.
* testsuite/libgomp.c++/udr-4.C: New test.
* testsuite/libgomp.c++/udr-5.C: New test.
* testsuite/libgomp.c++/udr-6.C: New test.
* testsuite/libgomp.c++/udr-7.C: New test.
* testsuite/libgomp.c++/udr-8.C: New test.
* testsuite/libgomp.c++/udr-9.C: New test.
gcc/
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__LOOPTEMP_
and new OpenMP 4.0 clauses, handle UDR OMP_CLAUSE_REDUCTION,
formatting fixes, use pp_colon instead of pp_character (..., ':'),
similarly pp_right_paren.
(dump_generic_node): Handle OMP_DISTRIBUTE, OMP_TEAMS,
OMP_TARGET_DATA, OMP_TARGET, OMP_TARGET_UPDATE, OMP_TASKGROUP,
allow OMP_FOR_INIT to be NULL, handle OMP_ATOMIC_SEQ_CST.
* tree.c (omp_clause_num_ops, omp_clause_code_name): Add OpenMP 4.0
clauses.
(omp_declare_simd_clauses_equal,
omp_remove_redundant_declare_simd_attrs): New functions.
(attribute_value_equal): Use omp_declare_simd_clauses_equal.
(walk_tree_1): Handle new OpenMP 4.0 clauses.
* tree.h (OMP_LOOP_CHECK): Define.
(OMP_FOR_BODY, OMP_FOR_CLAUSES, OMP_FOR_INIT, OMP_FOR_COND,
OMP_FOR_INCR, OMP_FOR_PRE_BODY): Use it.
(OMP_TASKGROUP_BODY, OMP_TEAMS_BODY, OMP_TEAMS_CLAUSES,
OMP_TARGET_DATA_BODY, OMP_TARGET_DATA_CLAUSES, OMP_TARGET_BODY,
OMP_TARGET_CLAUSES, OMP_TARGET_UPDATE_CLAUSES, OMP_CLAUSE_SIZE,
OMP_ATOMIC_SEQ_CST, OMP_CLAUSE_DEPEND_KIND, OMP_CLAUSE_MAP_KIND,
OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION, OMP_CLAUSE_PROC_BIND_KIND,
OMP_CLAUSE_REDUCTION_OMP_ORIG_REF, OMP_CLAUSE_ALIGNED_ALIGNMENT,
OMP_CLAUSE_NUM_TEAMS_EXPR, OMP_CLAUSE_THREAD_LIMIT_EXPR,
OMP_CLAUSE_DEVICE_ID, OMP_CLAUSE_DIST_SCHEDULE_CHUNK_EXPR,
OMP_CLAUSE_SIMDLEN_EXPR): Define.
(OMP_CLAUSE_DECL): Change range up to OMP_CLAUSE__LOOPTEMP_.
(omp_remove_redundant_declare_simd_attrs): New prototype.
* gimple.def (GIMPLE_OMP_TASKGROUP, GIMPLE_OMP_TARGET,
GIMPLE_OMP_TEAMS): New codes.
(GIMPLE_OMP_RETURN): Use GSS_OMP_ATOMIC_STORE instead of GSS_BASE.
* omp-low.c (struct omp_context): Add cancel_label and cancellable
fields.
(target_nesting_level): New variable.
(extract_omp_for_data): Handle GF_OMP_FOR_KIND_DISTRIBUTE and
OMP_CLAUSE_DIST_SCHEDULE. Don't fallback to library implementation
for collapse > 1 static schedule unless ordered.
(get_ws_args_for): Add par_stmt argument. Handle combined loops.
(determine_parallel_type): Adjust get_ws_args_for caller.
(install_var_field): Handle mask & 4 for double indirection.
(scan_sharing_clauses): Ignore shared clause on teams construct.
Handle OMP_CLAUSE__LOOPTEMP_ and new OpenMP 4.0 clauses.
(create_omp_child_function): If inside target or declare target
constructs, set "omp declare target" attribute on the child
function.
(find_combined_for): New function.
(scan_omp_parallel): Handle combined loops.
(scan_omp_target, scan_omp_teams): New functions.
(check_omp_nesting_restrictions): Check new OpenMP 4.0 nesting
restrictions and set ctx->cancellable for cancellable constructs.
(scan_omp_1_stmt): Call check_omp_nesting_restrictions also on
selected builtin calls. Handle GIMPLE_OMP_TASKGROUP,
GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS.
(build_omp_barrier): Add lhs argument, return gimple rather than
tree.
(omp_clause_aligned_alignment): New function.
(lower_rec_simd_input_clauses): Only call SET_DECL_VALUE_EXPR
on decls.
(lower_rec_input_clauses): Add FD argument. Ignore shared clauses
on teams constructs. Handle user defined reductions and new
OpenMP 4.0 clauses.
(lower_reduction_clauses): Don't set placeholder to address of ref
if it has already the right type.
(lower_send_clauses): Handle OMP_CLAUSE__LOOPTEMP_.
(expand_parallel_call): Use the new non-_start suffixed builtins,
handle OMP_CLAUSE_PROC_BIND, don't call the outlined function
and GOMP_parallel_end after the call.
(expand_task_call): Handle OMP_CLAUSE_DEPEND.
(expand_omp_for_init_counts): Handle combined loops.
(expand_omp_for_init_vars): Add inner_stmt argument, handle combined
loops.
(expand_omp_for_generic): Likewise. Use GOMP_loop_end_cancel at the
end of cancellable loops.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
Likewise. Handle collapse > 1 loops.
(expand_omp_simd): Handle combined loops.
(expand_omp_for): Add inner_stmt argument, adjust callers of
expand_omp_for* functions, use expand_omp_for_static*chunk even
for collapse > 1 unless ordered.
(expand_omp_sections): Use GOMP_sections_end_cancel at the end
of cancellable sections.
(expand_omp_single): Remove need_barrier variable, just rely on
gimple_omp_return_nowait_p. Adjust build_omp_barrier caller.
(expand_omp_synch): Allow GIMPLE_OMP_TASKGROUP and GIMPLE_OMP_TEAMS.
(expand_omp_atomic_load, expand_omp_atomic_store,
expand_omp_atomic_fetch_op): Handle gimple_omp_atomic_seq_cst_p.
(expand_omp_target): New function.
(expand_omp): Handle combined loops. Handle GIMPLE_OMP_TASKGROUP,
GIMPLE_OMP_TEAMS, GIMPLE_OMP_TARGET.
(build_omp_regions_1): Immediately close region for
GF_OMP_TARGET_KIND_UPDATE.
(maybe_add_implicit_barrier_cancel): New function.
(lower_omp_sections): Adjust lower_rec_input_clauses caller. Handle
cancellation.
(lower_omp_single): Likewise. Add clobber after the barrier.
(lower_omp_taskgroup): New function.
(lower_omp_for): Handle combined loops. Adjust
lower_rec_input_clauses caller. Handle cancellation.
(lower_depend_clauses): New function.
(lower_omp_taskreg): Lower depend clauses. Adjust
lower_rec_input_clauses caller. Add clobber after the call. Handle
cancellation.
(lower_omp_target, lower_omp_teams): New functions.
(lower_omp_1): Handle cancellation. Handle GIMPLE_OMP_TASKGROUP,
GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS and GOMP_barrier, GOMP_cancel
and GOMP_cancellation_point calls.
(lower_omp): Fold stmts inside of target region.
(diagnose_sb_1, diagnose_sb_2): Handle GIMPLE_OMP_TASKGROUP,
GIMPLE_OMP_TARGET and GIMPLE_OMP_TEAMS.
* builtin-types.def (DEF_FUNCTION_TYPE_8): Document.
(BT_FN_VOID_OMPFN_PTR_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
(BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Handle BUILT_IN_GOMP_BARRIER_CANCEL,
BUILT_IN_GOMP_TASKGROUP_END, BUILT_IN_GOMP_LOOP_END_CANCEL,
BUILT_IN_GOMP_SECTIONS_END_CANCEL. Don't handle
BUILT_IN_GOMP_PARALLEL_END.
* gimple-low.c (lower_stmt): Handle GIMPLE_OMP_TASKGROUP,
GIMPLE_OMP_TARGET and GIMPLE_OMP_TEAMS.
* gimple-pretty-print.c (dump_gimple_omp_for): Handle
GF_OMP_FOR_KIND_DISTRIBUTE.
(dump_gimple_omp_target, dump_gimple_omp_teams): New functions.
(dump_gimple_omp_block): Handle GIMPLE_OMP_TASKGROUP.
(dump_gimple_omp_return): Print lhs if it has any.
(dump_gimple_omp_atomic_load, dump_gimple_omp_atomic_store): Handle
gimple_omp_atomic_seq_cst_p.
(pp_gimple_stmt_1): Handle GIMPLE_OMP_TASKGROUP, GIMPLE_OMP_TARGET
and GIMPLE_OMP_TEAMS.
* langhooks.c (lhd_omp_mappable_type): New function.
* tree-vectorizer.c (struct simd_array_to_simduid): Fix up comment.
* langhooks.h (struct lang_hooks_for_types): Add omp_mappable_type
hook.
* gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP,
GOVD_ALIGNED and GOVD_MAP_TO_ONLY.
(enum omp_region_type): Add ORT_TEAMS, ORT_TARGET_DATA and
ORT_TARGET.
(struct gimplify_omp_ctx): Add combined_loop field.
(gimplify_call_expr, gimplify_modify_expr): Don't call fold_stmt
on stmts inside of target region.
(is_gimple_stmt): Return true for OMP_DISTRIBUTE and OMP_TASKGROUP.
(omp_firstprivatize_variable): Handle GOVD_MAP, GOVD_ALIGNED,
ORT_TARGET and ORT_TARGET_DATA.
(omp_add_variable): Avoid checks on readding var for GOVD_ALIGNED.
Handle GOVD_MAP.
(omp_notice_threadprivate_variable): Complain about threadprivate
variables in target region.
(omp_notice_variable): Complain about vars with non-mappable type
in target region. Handle ORT_TEAMS, ORT_TARGET and ORT_TARGET_DATA.
(omp_check_private): Ignore ORT_TARGET* regions.
(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1,
gimplify_adjust_omp_clauses): Handle new OpenMP 4.0 clauses.
(find_combined_omp_for): New function.
(gimplify_omp_for): Handle gimplification of combined loops.
(gimplify_omp_workshare): Gimplify also OMP_TARGET, OMP_TARGET_DATA,
OMP_TEAMS.
(gimplify_omp_target_update): New function.
(gimplify_omp_atomic): Handle OMP_ATOMIC_SEQ_CST.
(gimplify_expr): Handle OMP_DISTRIBUTE, OMP_TARGET, OMP_TARGET_DATA,
OMP_TARGET_UPDATE, OMP_TEAMS, OMP_TASKGROUP.
(gimplify_body): If fndecl has "omp declare target" attribute, add
implicit ORT_TARGET context around it.
* tree.def (OMP_DISTRIBUTE, OMP_TEAMS, OMP_TARGET_DATA, OMP_TARGET,
OMP_TASKGROUP, OMP_TARGET_UPDATE): New tree codes.
* tree-nested.c (convert_nonlocal_reference_stmt,
convert_local_reference_stmt, convert_gimple_call): Handle
GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS and GIMPLE_OMP_TASKGROUP.
* omp-builtins.def (BUILT_IN_GOMP_TASK): Use
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR
instead of BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT.
(BUILT_IN_GOMP_TARGET, BUILT_IN_GOMP_TARGET_DATA,
BUILT_IN_GOMP_TARGET_END_DATA, BUILT_IN_GOMP_TARGET_UPDATE,
BUILT_IN_GOMP_TEAMS, BUILT_IN_BARRIER_CANCEL,
BUILT_IN_GOMP_LOOP_END_CANCEL,
BUILT_IN_GOMP_SECTIONS_END_CANCEL, BUILT_IN_OMP_GET_TEAM_NUM,
BUILT_IN_OMP_GET_NUM_TEAMS, BUILT_IN_GOMP_TASKGROUP_START,
BUILT_IN_GOMP_TASKGROUP_END, BUILT_IN_GOMP_PARALLEL_LOOP_STATIC,
BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC,
BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED,
BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME, BUILT_IN_GOMP_PARALLEL,
BUILT_IN_GOMP_PARALLEL_SECTIONS, BUILT_IN_GOMP_CANCEL,
BUILT_IN_GOMP_CANCELLATION_POINT): New built-ins.
(BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Remove.
* tree-inline.c (remap_gimple_stmt, estimate_num_insns):
Handle GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS and GIMPLE_OMP_TASKGROUP.
* gimple.c (gimple_build_omp_taskgroup, gimple_build_omp_target,
gimple_build_omp_teams): New functions.
(walk_gimple_op): Handle GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS and
GIMPLE_OMP_TASKGROUP. Walk optional lhs on GIMPLE_OMP_RETURN.
(walk_gimple_stmt, gimple_copy): Handle GIMPLE_OMP_TARGET,
GIMPLE_OMP_TEAMS and GIMPLE_OMP_TASKGROUP.
* gimple.h (enum gf_mask): GF_OMP_FOR_KIND_DISTRIBUTE,
GF_OMP_FOR_COMBINED, GF_OMP_FOR_COMBINED_INTO,
GF_OMP_TARGET_KIND_MASK, GF_OMP_TARGET_KIND_REGION,
GF_OMP_TARGET_KIND_DATA, GF_OMP_TARGET_KIND_UPDATE,
GF_OMP_ATOMIC_SEQ_CST): New.
(gimple_build_omp_taskgroup, gimple_build_omp_target,
gimple_build_omp_teams): New prototypes.
(gimple_has_substatements): Handle GIMPLE_OMP_TARGET,
GIMPLE_OMP_TEAMS and GIMPLE_OMP_TASKGROUP.
(gimple_omp_subcode): Use GIMPLE_OMP_TEAMS instead of
GIMPLE_OMP_SINGLE as end of range.
(gimple_omp_return_set_lhs, gimple_omp_return_lhs,
gimple_omp_return_lhs_ptr, gimple_omp_atomic_seq_cst_p,
gimple_omp_atomic_set_seq_cst, gimple_omp_for_combined_p,
gimple_omp_for_set_combined_p, gimple_omp_for_combined_into_p,
gimple_omp_for_set_combined_into_p, gimple_omp_target_clauses,
gimple_omp_target_clauses_ptr, gimple_omp_target_set_clauses,
gimple_omp_target_kind, gimple_omp_target_set_kind,
gimple_omp_target_child_fn, gimple_omp_target_child_fn_ptr,
gimple_omp_target_set_child_fn, gimple_omp_target_data_arg,
gimple_omp_target_data_arg_ptr, gimple_omp_target_set_data_arg,
gimple_omp_teams_clauses, gimple_omp_teams_clauses_ptr,
gimple_omp_teams_set_clauses): New inlines.
(CASE_GIMPLE_OMP): Add GIMPLE_OMP_TARGET, GIMPLE_OMP_TEAMS
and GIMPLE_OMP_TASKGROUP.
* tree-core.h (enum omp_clause_code): Add new OpenMP 4.0 clause
codes.
(enum omp_clause_depend_kind, enum omp_clause_map_kind,
enum omp_clause_proc_bind_kind): New.
(union omp_clause_subcode): Add depend_kind, map_kind and
proc_bind_kind fields.
* tree-cfg.c (make_edges): Handle GIMPLE_OMP_TARGET,
GIMPLE_OMP_TEAMS and GIMPLE_OMP_TASKGROUP.
* langhooks-def.h (lhd_omp_mappable_type): New prototype.
(LANG_HOOKS_OMP_MAPPABLE_TYPE): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
201307 instead of 201107.
* c-common.c (DEF_FUNCTION_TYPE_8): Define.
(c_common_attribute_table): Add "omp declare target" and
"omp declare simd" attributes.
(handle_omp_declare_target_attribute,
handle_omp_declare_simd_attribute): New functions.
* c-omp.c: Include c-pragma.h.
(c_finish_omp_taskgroup): New function.
(c_finish_omp_atomic): Add swapped argument, if true,
build the operation first with rhs, lhs arguments and use NOP_EXPR
build_modify_expr.
(c_finish_omp_for): Add code argument, pass it down to make_code.
(c_omp_split_clauses): New function.
(c_split_parallel_clauses): Removed.
(c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
c_omp_declare_simd_clauses_to_decls): New functions.
* c-common.h (omp_clause_mask): New type.
(OMP_CLAUSE_MASK_1): Define.
(omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
omp_clause_mask::operator |=, omp_clause_mask::operator ~,
omp_clause_mask::operator |, omp_clause_mask::operator &,
omp_clause_mask::operator <<, omp_clause_mask::operator >>,
omp_clause_mask::operator ==): New methods.
(enum c_omp_clause_split): New.
(c_finish_omp_taskgroup): New prototype.
(c_finish_omp_atomic): Add swapped argument.
(c_finish_omp_for): Add code argument.
(c_omp_split_clauses): New prototype.
(c_split_parallel_clauses): Removed.
(c_omp_declare_simd_clauses_to_numbers,
c_omp_declare_simd_clauses_to_decls): New prototypes.
* c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
PRAGMA_OMP_CLAUSE_UNIFORM.
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_8): Define.
gcc/fortran/
* trans-openmp.c (gfc_omp_clause_default_ctor,
gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
* f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
* types.def (DEF_FUNCTION_TYPE_8): Document.
(BT_FN_VOID_OMPFN_PTR_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
(BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
gcc/lto/
* lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
gcc/c/
* c-lang.h (current_omp_declare_target_attribute): New extern
decl.
* c-parser.c: Include c-lang.h.
(struct c_parser): Change tokens to c_token *.
Add tokens_buf field. Change tokens_avail type to unsigned int.
(c_parser_consume_token): If parser->tokens isn't
&parser->tokens_buf[0], increment parser->tokens.
(c_parser_consume_pragma): Likewise.
(enum pragma_context): Add pragma_struct and pragma_param.
(c_parser_external_declaration): Adjust
c_parser_declaration_or_fndef caller.
(c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
Adjust recursive call.
(c_parser_struct_or_union_specifier): Use pragma_struct instead
of pragma_external.
(c_parser_parameter_declaration): Use pragma_param instead of
pragma_external.
(c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement): Adjust
c_parser_declaration_or_fndef callers.
(c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
it through to c_parser_conditional_expression.
(c_parser_conditional_expression): Add omp_atomic_lhs argument,
pass it through to c_parser_binary_expression. Adjust recursive
call.
(c_parser_binary_expression): Remove prec argument, add
omp_atomic_lhs argument instead. Always start from PREC_NONE, if
omp_atomic_lhs is non-NULL and one of the arguments of toplevel
binop matches it, use build2 instead of parser_build_binary_op.
(c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
Handle pragma_struct and pragma_param the same as pragma_external.
(c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
(c_parser_omp_variable_list): Parse array sections for
OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
(c_parser_omp_clause_collapse): Fully fold collapse expression.
(c_parser_omp_clause_reduction): Handle user defined reductions.
(c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
c_parser_omp_clause_depend, c_parser_omp_clause_map,
c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
(c_parser_omp_all_clauses): Add finish_p argument. Don't call
c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
(c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
(c_parser_omp_for_loop): Add CODE argument, pass it through
to c_finish_omp_for. Change last argument to cclauses,
and adjust uses to grab parallel clauses from the array of all
the split clauses. Adjust c_parser_binary_expression,
c_parser_declaration_or_fndef and c_finish_omp_for callers.
(omp_split_clauses): New function.
(c_parser_omp_simd): New function.
(c_parser_omp_for): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined constructs,
and call c_parser_omp_simd when parsing for simd.
(c_parser_omp_sections_scope): If section-sequence doesn't start with
#pragma omp section, require exactly one structured-block instead of
sequence of statements.
(c_parser_omp_sections): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined constructs.
(c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined
constructs.
(c_parser_omp_taskgroup, c_parser_omp_cancel,
c_parser_omp_cancellation_point, c_parser_omp_distribute,
c_parser_omp_teams, c_parser_omp_target_data,
c_parser_omp_target_update, c_parser_omp_target,
c_parser_omp_declare_simd, c_finish_omp_declare_simd,
c_parser_omp_declare_target, c_parser_omp_end_declare_target,
c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
(c_parser_omp_construct): Add p_name and mask vars. Handle
PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
and c_parser_omp_sections callers.
(c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
(OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
(OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
OMP_CLAUSE_DEPEND.
(OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
* c-typeck.c: Include tree-inline.h.
(c_finish_omp_cancel, c_finish_omp_cancellation_point,
handle_omp_array_sections_1, handle_omp_array_sections,
c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
(c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
user defined reductions.
(c_tree_equal): New function.
* c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
c_check_omp_declare_reduction_r): New prototypes.
* c-decl.c (current_omp_declare_target_attribute): New variable.
(c_decl_attributes): New function.
(start_decl, start_function): Use it instead of decl_attributes.
(temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
c_omp_reduction_decl, c_omp_reduction_lookup,
c_check_omp_declare_reduction_r): New functions.
gcc/cp/
* decl.c (duplicate_decls): Error out for redeclaration of UDRs.
(declare_simd_adjust_this): New function.
(grokfndecl): If "omp declare simd" attribute is present,
call declare_simd_adjust_this if needed and
c_omp_declare_simd_clauses_to_numbers.
* cp-array-notation.c (expand_array_notation_exprs): Handle
OMP_TASKGROUP.
* cp-gimplify.c (cp_gimplify_expr): Handle OMP_SIMD and
OMP_DISTRIBUTE. Handle is_invisiref_parm decls in
OMP_CLAUSE_REDUCTION.
(cp_genericize_r): Handle OMP_SIMD and OMP_DISTRIBUTE like
OMP_FOR.
(cxx_omp_privatize_by_reference): Return true for
is_invisiref_parm decls.
(cxx_omp_finish_clause): Adjust cxx_omp_create_clause_info
caller.
* pt.c (apply_late_template_attributes): For "omp declare simd"
attribute call tsubst_omp_clauses,
c_omp_declare_simd_clauses_to_decls, finish_omp_clauses
and c_omp_declare_simd_clauses_to_numbers.
(instantiate_class_template_1): Call cp_check_omp_declare_reduction
for UDRs.
(tsubst_decl): Handle UDRs.
(tsubst_omp_clauses): Add declare_simd argument, if true don't
call finish_omp_clauses. Handle new OpenMP 4.0 clauses.
Handle non-NULL OMP_CLAUSE_REDUCTION_PLACEHOLDER on
OMP_CLAUSE_REDUCTION.
(tsubst_expr): For UDRs call pushdecl and
cp_check_omp_declare_reduction. Adjust tsubst_omp_clauses
callers. Handle OMP_SIMD, OMP_DISTRIBUTE, OMP_TEAMS,
OMP_TARGET_DATA, OMP_TARGET_UPDATE, OMP_TARGET, OMP_TASKGROUP.
Adjust finish_omp_atomic caller.
(tsubst_omp_udr): New function.
(instantiate_decl): For UDRs at block scope, don't call
start_preparsed_function/finish_function. Call tsubst_omp_udr.
* semantics.c (cxx_omp_create_clause_info): Add need_dtor argument,
use it instead of need_default_ctor || need_copy_ctor.
(struct cp_check_omp_declare_reduction_data): New type.
(handle_omp_array_sections_1, handle_omp_array_sections,
omp_reduction_id, omp_reduction_lookup,
cp_remove_omp_priv_cleanup_stmt, cp_check_omp_declare_reduction_r,
cp_check_omp_declare_reduction, clone_omp_udr,
find_omp_placeholder_r, finish_omp_reduction_clause): New functions.
(finish_omp_clauses): Handle new OpenMP 4.0 clauses and user defined
reductions.
(finish_omp_for): Add CODE argument, use it instead of hardcoded
OMP_FOR. Adjust c_finish_omp_for caller.
(finish_omp_atomic): Add seq_cst argument, adjust
c_finish_omp_atomic callers, handle seq_cst and new OpenMP 4.0
atomic variants.
(finish_omp_cancel, finish_omp_cancellation_point): New functions.
* decl2.c (mark_used): Force immediate instantiation of
DECL_OMP_DECLARE_REDUCTION_P decls.
(is_late_template_attribute): Return true for "omp declare simd"
attribute.
(cp_omp_mappable_type): New function.
(cplus_decl_attributes): Add implicit "omp declare target" attribute
if requested.
* parser.c (cp_debug_parser): Print
parser->colon_doesnt_start_class_def_p.
(cp_ensure_no_omp_declare_simd, cp_finalize_omp_declare_simd): New
functions.
(enum pragma_context): Add pragma_member and pragma_objc_icode.
(cp_parser_binary_expression): Handle no_toplevel_fold_p
even for binary operations other than comparison.
(cp_parser_linkage_specification): Call
cp_ensure_no_omp_declare_simd if needed.
(cp_parser_namespace_definition): Likewise.
(cp_parser_init_declarator): Call cp_finalize_omp_declare_simd.
(cp_parser_direct_declarator): Pass declarator to
cp_parser_late_return_type_opt.
(cp_parser_late_return_type_opt): Add declarator argument,
call cp_parser_late_parsing_omp_declare_simd for declare simd.
(cp_parser_class_specifier_1): Call cp_ensure_no_omp_declare_simd.
Parse UDRs before all other methods.
(cp_parser_member_specification_opt): Use pragma_member instead of
pragma_external.
(cp_parser_member_declaration): Call cp_finalize_omp_declare_simd.
(cp_parser_function_definition_from_specifiers_and_declarator,
cp_parser_save_member_function_body): Likewise.
(cp_parser_late_parsing_for_member): Handle UDRs specially.
(cp_parser_next_token_starts_class_definition_p): Don't allow
CPP_COLON if colon_doesnt_start_class_def_p flag is true.
(cp_parser_objc_interstitial_code): Use pragma_objc_icode
instead of pragma_external.
(cp_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
(cp_parser_omp_var_list_no_open): Parse array sections for
OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses. Add COLON argument,
if non-NULL, allow parsing to end with a colon rather than close
paren.
(cp_parser_omp_var_list): Adjust cp_parser_omp_var_list_no_open
caller.
(cp_parser_omp_clause_reduction): Handle user defined reductions.
(cp_parser_omp_clause_branch, cp_parser_omp_clause_cancelkind,
cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit,
cp_parser_omp_clause_aligned, cp_parser_omp_clause_linear,
cp_parser_omp_clause_safelen, cp_parser_omp_clause_simdlen,
cp_parser_omp_clause_depend, cp_parser_omp_clause_map,
cp_parser_omp_clause_device, cp_parser_omp_clause_dist_schedule,
cp_parser_omp_clause_proc_bind, cp_parser_omp_clause_to,
cp_parser_omp_clause_from, cp_parser_omp_clause_uniform): New
functions.
(cp_parser_omp_all_clauses): Add finish_p argument. Don't call
finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
(cp_parser_omp_atomic): Parse seq_cst clause, pass
true if it is present to finish_omp_atomic. Handle new OpenMP 4.0
atomic forms.
(cp_parser_omp_for_loop): Add CODE argument, pass it through
to finish_omp_for. Change last argument to cclauses,
and adjust uses to grab parallel clauses from the array of all
the split clauses.
(cp_omp_split_clauses): New function.
(cp_parser_omp_simd): New function.
(cp_parser_omp_for): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined constructs,
and call c_parser_omp_simd when parsing for simd.
(cp_parser_omp_sections_scope): If section-sequence doesn't start with
#pragma omp section, require exactly one structured-block instead of
sequence of statements.
(cp_parser_omp_sections): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined constructs.
(cp_parser_omp_parallel): Add p_name, mask and cclauses arguments.
Allow the function to be called also when parsing combined
constructs.
(cp_parser_omp_taskgroup, cp_parser_omp_cancel,
cp_parser_omp_cancellation_point, cp_parser_omp_distribute,
cp_parser_omp_teams, cp_parser_omp_target_data,
cp_parser_omp_target_update, cp_parser_omp_target,
cp_parser_omp_declare_simd, cp_parser_late_parsing_omp_declare_simd,
cp_parser_omp_declare_target, cp_parser_omp_end_declare_target,
cp_parser_omp_declare_reduction_exprs, cp_parser_omp_declare_reduction,
cp_parser_omp_declare): New functions.
(cp_parser_omp_construct): Add p_name and mask vars. Handle
PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
PRAGMA_OMP_TEAMS. Adjust cp_parser_omp_for, cp_parser_omp_parallel
and cp_parser_omp_sections callers.
(cp_parser_pragma): Handle PRAGMA_OMP_CANCEL,
PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
PRAGMA_OMP_TEAMS, PRAGMA_OMP_TARGET, PRAGMA_OMP_END_DECLARE_TARGET.
Handle pragma_member and pragma_objc_icode like pragma_external.
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
(OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
(OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
OMP_CLAUSE_DEPEND.
(OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
* parser.h (struct cp_omp_declare_simd_data): New type.
(struct cp_parser): Add colon_doesnt_start_class_def_p and
omp_declare_simd fields.
* cp-objcp-common.h (LANG_HOOKS_OMP_MAPPABLE_TYPE): Define.
* cp-tree.h (struct lang_decl_fn): Add omp_declare_reduction_p
bit.
(DECL_OMP_DECLARE_REDUCTION_P): Define.
(OMP_FOR_GIMPLIFYING_P): Use OMP_LOOP_CHECK macro.
(struct saved_scope): Add omp_declare_target_attribute field.
(cp_omp_mappable_type, omp_reduction_id,
cp_remove_omp_priv_cleanup_stmt, cp_check_omp_declare_reduction,
finish_omp_cancel, finish_omp_cancellation_point): New prototypes.
(finish_omp_for): Add CODE argument.
(finish_omp_atomic): Add seq_cst argument.
(cxx_omp_create_clause_info): Add need_dtor argument.
gcc/testsuite/
* c-c++-common/gomp/atomic-15.c: Adjust for C diagnostics.
Remove error test that is now valid in OpenMP 4.0.
* c-c++-common/gomp/atomic-16.c: New test.
* c-c++-common/gomp/cancel-1.c: New test.
* c-c++-common/gomp/depend-1.c: New test.
* c-c++-common/gomp/depend-2.c: New test.
* c-c++-common/gomp/map-1.c: New test.
* c-c++-common/gomp/pr58472.c: New test.
* c-c++-common/gomp/sections1.c: New test.
* c-c++-common/gomp/simd1.c: New test.
* c-c++-common/gomp/simd2.c: New test.
* c-c++-common/gomp/simd3.c: New test.
* c-c++-common/gomp/simd4.c: New test.
* c-c++-common/gomp/simd5.c: New test.
* c-c++-common/gomp/single1.c: New test.
* g++.dg/gomp/block-0.C: Adjust for stricter #pragma omp sections
parser.
* g++.dg/gomp/block-3.C: Likewise.
* g++.dg/gomp/clause-3.C: Adjust error messages.
* g++.dg/gomp/declare-simd-1.C: New test.
* g++.dg/gomp/declare-simd-2.C: New test.
* g++.dg/gomp/depend-1.C: New test.
* g++.dg/gomp/depend-2.C: New test.
* g++.dg/gomp/target-1.C: New test.
* g++.dg/gomp/target-2.C: New test.
* g++.dg/gomp/taskgroup-1.C: New test.
* g++.dg/gomp/teams-1.C: New test.
* g++.dg/gomp/udr-1.C: New test.
* g++.dg/gomp/udr-2.C: New test.
* g++.dg/gomp/udr-3.C: New test.
* g++.dg/gomp/udr-4.C: New test.
* g++.dg/gomp/udr-5.C: New test.
* g++.dg/gomp/udr-6.C: New test.
* gcc.dg/autopar/outer-1.c: Expect 4 instead of 5 loopfn matches.
* gcc.dg/autopar/outer-2.c: Likewise.
* gcc.dg/autopar/outer-3.c: Likewise.
* gcc.dg/autopar/outer-4.c: Likewise.
* gcc.dg/autopar/outer-5.c: Likewise.
* gcc.dg/autopar/outer-6.c: Likewise.
* gcc.dg/autopar/parallelization-1.c: Likewise.
* gcc.dg/gomp/block-3.c: Adjust for stricter #pragma omp sections
parser.
* gcc.dg/gomp/clause-1.c: Adjust error messages.
* gcc.dg/gomp/combined-1.c: Look for GOMP_parallel_loop_runtime
instead of GOMP_parallel_loop_runtime_start.
* gcc.dg/gomp/declare-simd-1.c: New test.
* gcc.dg/gomp/declare-simd-2.c: New test.
* gcc.dg/gomp/nesting-1.c: Adjust for stricter #pragma omp sections
parser. Add further #pragma omp sections nesting tests.
* gcc.dg/gomp/target-1.c: New test.
* gcc.dg/gomp/target-2.c: New test.
* gcc.dg/gomp/taskgroup-1.c: New test.
* gcc.dg/gomp/teams-1.c: New test.
* gcc.dg/gomp/udr-1.c: New test.
* gcc.dg/gomp/udr-2.c: New test.
* gcc.dg/gomp/udr-3.c: New test.
* gcc.dg/gomp/udr-4.c: New test.
* gfortran.dg/gomp/appendix-a/a.35.5.f90: Add dg-error.
Co-Authored-By: Richard Henderson <rth@redhat.com>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r203408
2013-10-11 11:26:50 +02:00
|
|
|
|
2013-10-11 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
|
|
|
|
|
|
2013-09-25 18:28:35 +02:00
|
|
|
|
2013-09-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
|
|
|
|
|
(lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
|
|
|
|
|
(lto/lto-object.o): Remove.
|
|
|
|
|
|
2013-09-06 11:06:25 +02:00
|
|
|
|
2013-09-06 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c: Move from gcc/
|
|
|
|
|
* lto.h: Include vec.h.
|
|
|
|
|
(lto_global_var_decls): Declare.
|
|
|
|
|
* lto.c (lto_global_var_decls): Move definition here.
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
|
|
|
|
|
(lto-symtab.o): Add.
|
|
|
|
|
* config-lang.in (gtfiles): Add lto.h.
|
|
|
|
|
|
2013-09-02 16:45:06 +02:00
|
|
|
|
2013-08-31 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
|
|
|
|
|
DECL_FIELD_OFFSET can contain an reference to variable.
|
|
|
|
|
|
2013-09-01 14:00:35 +02:00
|
|
|
|
2013-08-31 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (tree_with_vars): Turn into vector.
|
|
|
|
|
(MAYBE_REMEMBER_WITH_VARS): Change to...
|
|
|
|
|
(CHECK_VAR): ... this one.
|
|
|
|
|
(CHECK_NO_VAR): New macro.
|
|
|
|
|
(maybe_remember_with_vars_typed): Turn to ...
|
|
|
|
|
(mentions_vars_p_typed): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_common): Turn to ...
|
|
|
|
|
(mentions_vars_p_comon): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_decl_minimal): Turn to ...
|
|
|
|
|
(mentions_vars_p_decl_minmal): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_decl_common): Turn to ...
|
|
|
|
|
(mentions_vars_p_decl_common): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_decl_with_vis): Turn to ...
|
|
|
|
|
(mentions_vars_p_decl_with_vis): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_decl_non_common): Turn to ...
|
|
|
|
|
(mentions_vars_p_decl_non_common): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_function): Turn to ...
|
|
|
|
|
(mentions_vars_p_function): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_field_decl): Turn to ...
|
|
|
|
|
(mentions_vars_p_field_decl): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_type): Turn to ...
|
|
|
|
|
(mentions_vars_p_type): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_binfo): Turn to ...
|
|
|
|
|
(mentions_vars_p_binfo): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_constructor): Turn to ...
|
|
|
|
|
(mentions_vars_p_constructor): ... this one.
|
|
|
|
|
(maybe_remember_with_vars_expr): Turn to ...
|
|
|
|
|
(mentions_vars_p_expr): ... this one.
|
|
|
|
|
(maybe_remember_with_vars): Turn to ...
|
|
|
|
|
(mentions_vars_p): ... this one.
|
|
|
|
|
(lto_read_decls): Update.
|
|
|
|
|
(LTO_SET_PREVAIL): Do not call function for internal decls.
|
|
|
|
|
(lto_fixup_prevailing_decls): Update to match mentions_vars_p;
|
|
|
|
|
check that something was updated.
|
|
|
|
|
(lto_fixup_state): Do not care about internal decls.
|
|
|
|
|
(lto_fixup_decls): Update.
|
|
|
|
|
(read_cgraph_and_symbols): Update.
|
|
|
|
|
|
2013-08-30 09:33:06 +02:00
|
|
|
|
2013-08-29 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Free decl states.
|
|
|
|
|
|
2013-08-29 18:23:40 +02:00
|
|
|
|
2013-08-29 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
|
|
|
|
|
DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
|
|
|
|
|
TYPE_FINAL_P.
|
|
|
|
|
|
lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED, DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
* lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
(unify_scc): Do checking assert.
* lto-streamer-out.c (DFS_write_tree_body): Drop
BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
Do not read DECL_ERROR_ISSUED.
(unpack_ts_decl_with_vis_value_fields): Do not read
DECL_DEFER_OUTPUT.
(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
write DECL_ERROR_ISSUED..
(pack_ts_decl_with_vis_value_fields): Do not write
DECL_DEFER_OUTPUT.
(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
* tree.h (tree_decl_common): Update comment.
(DECL_ERROR_ISSUED): Remove.
From-SVN: r202052
2013-08-28 17:03:43 +02:00
|
|
|
|
2013-08-28 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
|
|
|
|
|
DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
|
|
|
|
|
(unify_scc): Do checking assert.
|
|
|
|
|
|
2013-08-28 08:51:27 +02:00
|
|
|
|
2013-08-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
Martin Liska <marxin.liska@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (lto_balanced_map): Always base order on
|
|
|
|
|
source file order.
|
|
|
|
|
|
2013-08-06 18:59:49 +02:00
|
|
|
|
2013-08-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Do not read body anymore.
|
|
|
|
|
|
2013-08-03 21:54:18 +02:00
|
|
|
|
2013-08-02 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Do not push struct function.
|
|
|
|
|
* lto-partition.c (get_symbol_class): Handle abstracts correctly.
|
|
|
|
|
(may_need_named_section_p): Even abstract origins may need
|
|
|
|
|
named section.
|
|
|
|
|
|
2013-07-30 20:52:03 +02:00
|
|
|
|
2013-07-30 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
|
|
|
|
|
PASS_MANAGER_H.
|
|
|
|
|
|
|
|
|
|
* lto.c (do_whole_program_analysis): Update for move of
|
|
|
|
|
all_regular_ipa_passes from a global to a field of class
|
|
|
|
|
pass_manager.
|
|
|
|
|
|
2013-07-21 20:18:04 +02:00
|
|
|
|
2013-07-21 OndÅej BÃlka <neleai@seznam.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c: Fix typos.
|
|
|
|
|
|
2013-07-19 20:19:48 +02:00
|
|
|
|
2013-06-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
|
|
|
|
|
partitioning of variables.
|
|
|
|
|
|
2013-06-20 16:23:15 +02:00
|
|
|
|
2013-06-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Set cgraph state.
|
|
|
|
|
|
2013-06-19 20:06:12 +02:00
|
|
|
|
2013-06-19 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_references_to_partition): Use
|
|
|
|
|
ctor_for_folding.
|
|
|
|
|
|
2013-06-18 14:56:42 +02:00
|
|
|
|
2013-06-18 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_register_var_decl_in_symtab): Pass in cache index
|
|
|
|
|
and use it.
|
|
|
|
|
(lto_register_function_decl_in_symtab): Likewise.
|
|
|
|
|
(cmp_tree): New function.
|
|
|
|
|
(unify_scc): Instead of using the streamer cache map from entry
|
|
|
|
|
to cache index match up the two maps we have by sorting them.
|
|
|
|
|
Adjust calls to lto_register_var_decl_in_symtab and
|
|
|
|
|
lto_register_function_decl_in_symtab.
|
|
|
|
|
|
lto-streamer.h (enum LTO_tags): Add LTO_tree_scc.
2013-06-17 Richard Biener <rguenther@suse.de>
* lto-streamer.h (enum LTO_tags): Add LTO_tree_scc.
(lto_input_scc): Declare.
(lto_input_tree_1): Likewise.
(struct lto_stats_d): Add num_tree_bodies_output and
num_pickle_refs_output.
* lto-streamer-in.c (lto_read_body): Use streamer_tree_cache_get_tree.
(lto_read_tree_1): Split out from ...
(lto_read_tree): ... this.
(lto_input_scc): New function.
(lto_input_tree_1): Split out from ...
(lto_input_tree): ... this. Handle LTO_tree_scc.
(lto_data_in_create): Create the streamer cache without hashes.
* lto-streamer-out.c (create_output_block): Create the streamer
cache with hashes when not doing WPA.
(lto_write_tree_1): Split out from ...
(lto_write_tree): ... this.
(get_symbol_initial_value): New function.
(lto_output_tree_1): Split out from ...
(lto_output_tree): ... this. Write trees as series of SCCs
using a DFS walk via DFS_write_tree.
(struct sccs, struct scc_entry): New types.
(next_dfs_num, sccstack, sccstate, sccstate_obstack): New globals.
(DFS_write_tree_body): New function.
(DFS_write_tree): Likewise.
(hash_tree): Likewise.
(scc_entry_compare): Likewise.
(hash_scc): Likewise.
(tree_is_indexable): DEBUG_EXPR_DECLs are local entities.
* tree-streamer-in.c (lto_input_ts_list_tree_pointers): Stream
TREE_CHAIN as regular reference.
(streamer_read_integer_cst): Remove.
(streamer_get_pickled_tree): Adjust.
* tree-streamer-out.c (streamer_write_chain): Disable streaming
of DECL_EXTERNALs in BLOCK_VARS for now.
(write_ts_list_tree_pointers): Stream TREE_CHAIN as regular
reference.
* tree-streamer.c (streamer_tree_cache_add_to_node_array):
Add hash value argument and record that if hashes are recorded
in the cache.
(streamer_tree_cache_insert_1): Adjust.
(streamer_tree_cache_insert): Likewise.
(streamer_tree_cache_insert_at): Rename to ...
(streamer_tree_cache_replace_tree): ... this and adjust.
(streamer_tree_cache_append): Adjust.
(record_common_node): Likewise.
(streamer_tree_cache_create): Add argument whether to
record hash values together with trees.
(streamer_tree_cache_delete): Adjust.
* tree-streamer.h (struct streamer_tree_cache_d): Add
vector of hashes.
(streamer_read_integer_cst): Remove.
(streamer_tree_cache_insert): Adjust.
(streamer_tree_cache_append): Likewise.
(streamer_tree_cache_insert_at): Rename to ...
(streamer_tree_cache_replace_tree): ... this and adjust.
(streamer_tree_cache_create): Add argument whether to record hashes.
(streamer_tree_cache_get): Rename to ...
(streamer_tree_cache_get_tree): ... this.
(streamer_tree_cache_get_hash): New function.
* tree.c (cache_integer_cst): New function.
* tree.h (cache_integer_cst): Declare.
(ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Move here from cp/cp-tree.h.
* lto-symtab.c (lto_varpool_replace_node): Only release
DECL_INITIAL of non-prevailing decls.
* varpool.c (varpool_remove_initializer): Do not release
DECL_INITIAL when we are still in CGRAPH_LTO_STREAMING.
cp/
* cp-tree.h (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Move to tree.h.
lto/
* Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
* lto.c: Include data-streamer.h.
(lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
(gimple_type_leader_entry_s, gimple_type_leader,
gimple_lookup_type_leader): Remove.
(gtc_visit): Simplify.
(gimple_types_compatible_p): Likewise.
(gimple_register_type_1): Likewise. Merge into ...
(gimple_register_type): ... this. Keep it as legacy for
statistics purposes for now.
(fixup_integer_cst): Remove.
(LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
rename to ...
(MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
maybe_remember_with_vars_*): ... these.
(uniquify_nodes): Remove.
(lto_fixup_prevailing_type): New function.
(struct tree_scc, struct tree_scc_hasher): New type and hasher.
(tree_scc_hash, tree_scc_hash_obstack): New globals.
(num_merged_types, num_prevailing_types, num_not_merged_types,
num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
total_scc_size_merged, num_sccs_merged, num_scc_compares,
num_scc_compare_collisions): New global counters.
(compare_tree_sccs_1): New function.
(compare_tree_sccs): Likewise.
(unify_scc): Likewise.
(lto_read_decls): Stream in tree SCCs and unify them on the
way in. Finalize prevailing SCC tree members.
(read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
to ggc-collect during merging.
(print_lto_report_1): Adjust for new merging code.
From-SVN: r200151
2013-06-17 17:08:24 +02:00
|
|
|
|
2013-06-17 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
|
|
|
|
|
* lto.c: Include data-streamer.h.
|
|
|
|
|
(lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
|
|
|
|
|
(gimple_type_leader_entry_s, gimple_type_leader,
|
|
|
|
|
gimple_lookup_type_leader): Remove.
|
|
|
|
|
(gtc_visit): Simplify.
|
|
|
|
|
(gimple_types_compatible_p): Likewise.
|
|
|
|
|
(gimple_register_type_1): Likewise. Merge into ...
|
|
|
|
|
(gimple_register_type): ... this. Keep it as legacy for
|
|
|
|
|
statistics purposes for now.
|
|
|
|
|
(fixup_integer_cst): Remove.
|
|
|
|
|
(LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
|
|
|
|
|
rename to ...
|
|
|
|
|
(MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
|
|
|
|
|
maybe_remember_with_vars_*): ... these.
|
|
|
|
|
(uniquify_nodes): Remove.
|
|
|
|
|
(lto_fixup_prevailing_type): New function.
|
|
|
|
|
(struct tree_scc, struct tree_scc_hasher): New type and hasher.
|
|
|
|
|
(tree_scc_hash, tree_scc_hash_obstack): New globals.
|
|
|
|
|
(num_merged_types, num_prevailing_types, num_not_merged_types,
|
|
|
|
|
num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
|
|
|
|
|
total_scc_size_merged, num_sccs_merged, num_scc_compares,
|
|
|
|
|
num_scc_compare_collisions): New global counters.
|
|
|
|
|
(compare_tree_sccs_1): New function.
|
|
|
|
|
(compare_tree_sccs): Likewise.
|
|
|
|
|
(unify_scc): Likewise.
|
|
|
|
|
(lto_read_decls): Stream in tree SCCs and unify them on the
|
|
|
|
|
way in. Finalize prevailing SCC tree members.
|
|
|
|
|
(read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
|
|
|
|
|
Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
|
|
|
|
|
to ggc-collect during merging.
|
|
|
|
|
(print_lto_report_1): Adjust for new merging code.
|
|
|
|
|
|
2013-06-12 16:41:12 +02:00
|
|
|
|
2013-06-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
|
|
|
|
|
|
2013-06-12 11:12:47 +02:00
|
|
|
|
2013-06-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (register_resolution): Take lto_file_data argument.
|
|
|
|
|
(lto_register_var_decl_in_symtab,
|
|
|
|
|
lto_register_function_decl_in_symtab): Update.
|
|
|
|
|
(read_cgraph_and_symbols): Update resolution_map handling.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2013-06-11 Jan Hubicka <jh@suse.cz>
|
2013-06-12 00:41:54 +02:00
|
|
|
|
|
|
|
|
|
* lto-partition.c (get_symbol_class): Simplify weakref handling.
|
|
|
|
|
(add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(contained_in_symbol): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(rename_statics): Drop weakref.
|
|
|
|
|
|
2013-06-05 10:21:02 +02:00
|
|
|
|
2013-06-05 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (num_merged_types): New global variable.
|
|
|
|
|
(uniquify_nodes): Increase num_merged_types when merging a type.
|
|
|
|
|
(print_lto_report_1): Output the number of merged types.
|
|
|
|
|
|
2013-06-01 15:08:53 +02:00
|
|
|
|
2013-06-01 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
|
|
|
|
|
lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
|
|
|
|
|
(do_whole_program_analysis): Update dumping.
|
|
|
|
|
|
cgraph.h (symtab_node_base): Add definition, alias and analyzed flags...
* cgraph.h (symtab_node_base): Add definition, alias and analyzed
flags; reorder rest of fields in more consistent way.
(varpool_node): Remove analyzed, finalized and alias.
(cgraph_ndoe): Likewise.
(symtab_alias_ultimate_target): New function.
(cgraph_function_node): Move offline.
(cgraph_reset_node): Declare.
(cgraph_comdat_can_be_unshared_p): Remove.
(varpool_remove_initializer): Declare.
(varpool_first_defined_variable, varpool_next_defined_variable
cgraph_first_defined_function, cgraph_next_defined_function): Update.
(cgraph_function_with_gimple_body_p): Update.
(varpool_all_refs_explicit_p): Update.
(symtab_alias_target): New function.
(cgraph_alias_aliased_node, varpool_alias_aliased_node): Rename to ...
(cgraph_alias_target, varpool_alias_target): .. this one; simplify.
(cgraph_function_or_thunk_node): Simplify using symtab_alias_ultimate_target.
(varpool_variable_node): Likewise.
* cgraph.c (cgraph_create_function_alias): Update.
(cgraph_add_thunk): Update.
(cgraph_remove_node): Update.
(dump_cgraph_node): Do not dump removed flags.
(cgraph_function_body_availability): Update.
(cgraph_propagate_frequency): Update.
(verify_cgraph_node): Check sanity of local flag.
(cgraph_function_node): Move here from cgraph.h; revamp for
cgraph_function_or_thunk_node.
* lto-symtab.c (lto_varpool_replace_node): Update.
(lto_symtab_resolve_can_prevail_p): Update.
(lto_symtab_merge_cgraph_nodes): Update.
* ipa-cp.c (determine_versionability, initialize_node_lattices,
propagate_constants_accross_call, devirtualization_time_bonus,
ipcp_propagate_stage): Update.
* tree-emutls.c (create_emultls_var, ipa_lower_emutls): Update.
* ipa-inline-transform.c (clone_inlined_nodes, preserve_function_body_p): Update.
* ipa-reference.c (propagate): Update.
(write_node_summary_p): Update.
* toplev.c (wrapup_global_declaration_2): Update.
* cgraphunit.c (cgraph_analyze_function): Rename to ...
(analyze_function) ... this one.
(cgraph_process_new_functions): Update.
(cgraph_reset_node): Export.
(cgraph_finalize_function): Update.
(cgraph_add_new_function): Update.
(process_function_and_variable_attributes): Update.
(varpool_finalize_decl): Update.
(symbol_finalized): Remove.
(symbol_finalized_and_needed): Rename to ...
(symbol_defined_and_needed): ... update.
(cgraph_analyze_functions): Update.
(handle_alias_pairs): Update.
(mark_functions_to_output): Update.
(assemble_thunk): Update.
(output_in_order): Update.
(output_weakrefs): Update.
(finalize_compilation_unit): Update.
* lto-cgraph.c (reachable_from_other_partition_p, lto_output_node,
lto_output_varpool_node, compute_ltrans_boundary, input_overwrite_node,
input_node, input_varpool_node): Update.
* dbxout.c (dbxout_expand_expr): Update.
* cgraphclones.c (cgraph_clone_node): Update.
(cgraph_copy_node_for_versioning): Update.
(cgraph_materialize_clone): Update.
(cgraph_materialize_all_clones): Update.
* ipa-pure-const.c (analyze_function, pure_const_write_summary,
propagate_pure_const, propagate_nothrow): Update.
* lto-streamer-out.c (lto_output, write_symbol): Update.
* ipa-utils.c (ipa_reverse_postorder): Update.
* ipa-inline.c (can_inline_edge_p): Update.
(update_caller_keys, ipa_inline): Update.
* dwarf2out.c (reference_to_unused,
premark_types_used_by_global_vars_helper): Update.
* tree-eh.c (tree_could_trap_p): Update.
* ipa-split.c (consider_split, execute_split_functions): Update.
* ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
has_addr_references_p): Update;
move ahead in file for better readability.
(process_references): Simplify.
(symtab_remove_unreachable_nodes): Update; cleanup way function/var
bodies are removed.
(cgraph_comdat_can_be_unshared_p): Make static.
(cgraph_externally_visible_p): Update.
(varpool_externally_visible_p): Update.
(function_and_variable_visibility): Update.
* trans-mem.c (get_cg_data, ipa_tm_mayenterirr_function,
ipa_tm_mark_force_output_node): Update.
* ipa-inline-analysis.c (dump_inline_summary, initialize_inline_failed,
estimate_edge_devirt_benefit, inline_generate_summary,
inline_write_summary): Update.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
* ipa-prop.c (ipa_compute_jump_functions): Update.
(ipa_print_node_params, ipa_prop_read_section, ipa_update_after_lto_read,
read_replacements_section): Update.
* varasm.c (mark_decl_referenced): Update.
(assemble_alias, dump_tm_clone_pairs): Update.
* tree-inline.c (copy_bb): Update.
(estimate_num_insns, optimize_inline_calls, tree_function_versioning):
Update.
* symtab.c (dump_symtab_base): Print new flags.
(verify_symtab_base): Verify new flags.
(symtab_alias_ultimate_target): New function.
* tree-ssa-structalias.c (get_constraint_for_ssa_var,
create_variable_info_for, associate_varinfo_to_alias, ipa_pta_execute):
Update.
* passes.c (ipa_write_summaries, ipa_write_optimization_summaries): Update.
* i386.c (ix86_get_function_versions_dispatcher,
ix86_generate_version_dispatcher_body): Update.
(fold_builtin_cpu): Use varpool_add_new_variable.
* varpool.c (varpool_remove_initializer): Break out from ...
(varpool_remove_node): ... this one.
(dump_varpool_node, varpool_node_for_asm,
cgraph_variable_initializer_availability, varpool_analyze_node,
varpool_assemble_decl, varpool_remove_unreferenced_decls,
varpool_finalize_named_section_flags, varpool_create_variable_alias): Update
* decl.c (java_mark_decl_local): Update for new symtab flags.
* tree.c (cp_fix_function_decl_p): Update for new symtab flags.
* decl2.c )var_finalized_p, cp_write_global_declarations): Likewise.
* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
flags.
* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
From-SVN: r199422
2013-05-29 22:42:50 +02:00
|
|
|
|
2013-05-29 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
|
|
|
|
|
flags.
|
|
|
|
|
* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
|
|
|
|
|
|
2013-05-18 00:15:47 +02:00
|
|
|
|
2013-05-15 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (privatize_symbol_name): Return true when
|
|
|
|
|
privatizing happened.
|
|
|
|
|
(rename_statics): Do not go into infinite loop when privatizing
|
|
|
|
|
is not needed.
|
|
|
|
|
|
2013-05-16 17:09:31 +02:00
|
|
|
|
2013-05-16 Jason Merrill <jason@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in ($(LTO_EXE)): Use link mutex.
|
|
|
|
|
|
2013-05-15 12:35:59 +02:00
|
|
|
|
2013-05-15 Martin Jambor <mjambor@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (lto_balanced_map): Print symbol order instead
|
|
|
|
|
of node uids.
|
|
|
|
|
|
2013-05-15 10:09:26 +02:00
|
|
|
|
2013-05-15 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/57038
|
|
|
|
|
PR lto/47375
|
|
|
|
|
* lto-partition.c (get_symbol_class): Fix weakrefs.
|
|
|
|
|
(lto_balanced_map): Fix weakrefs.
|
|
|
|
|
(privatize_symbol_name): Remove unnecesary label.
|
|
|
|
|
(rename_statics): Handle weakrefs as statics.
|
|
|
|
|
|
2013-05-09 17:37:12 +02:00
|
|
|
|
2013-05-09 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
|
|
|
|
|
(lto_register_var_decl_in_symtab): Likewise.
|
|
|
|
|
(lto_main): Promote statics.
|
|
|
|
|
* lto-partition.c (privatize_symbol_name): New function.
|
|
|
|
|
(promote_symbol): Use it.
|
|
|
|
|
(may_need_named_section_p): New predicate.
|
|
|
|
|
(rename_statics): New functions.
|
|
|
|
|
(lto_promote_cross_file_statics): Simplify; do renaming.
|
|
|
|
|
(lto_promote_statics_nonwpa): New function.
|
|
|
|
|
* lto-partition.h (lto_promote_statics_nonwpa): New function.
|
|
|
|
|
|
2013-02-08 13:55:13 +01:00
|
|
|
|
2013-02-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/56231
|
|
|
|
|
* lto-lang.c (lto_init): Do not enter a dummy file.
|
|
|
|
|
|
2013-02-07 19:01:40 +01:00
|
|
|
|
2013-02-07 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/56227
|
|
|
|
|
* lto.c (lto_resolution_ready): Use %wx instead of
|
|
|
|
|
HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
|
|
|
|
|
|
2013-02-04 13:19:25 +01:00
|
|
|
|
2013-02-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/56168
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
|
|
|
|
|
or lto_fixup_decls at LTRANS time.
|
|
|
|
|
|
2013-01-09 22:22:26 +01:00
|
|
|
|
2013-01-09 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/45375
|
|
|
|
|
* lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
|
|
|
|
|
|
2013-01-03 17:53:54 +01:00
|
|
|
|
2012-12-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/55466
|
|
|
|
|
* lto.c (lto_register_var_decl_in_symtab): Don't record static
|
|
|
|
|
variables.
|
|
|
|
|
(lto_main): Record the global variables if WPA isn't enabled.
|
|
|
|
|
|
2012-11-20 22:21:30 +01:00
|
|
|
|
2012-11-20 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Replace all vec<T, A>() initializers with vNULL.
|
|
|
|
|
|
This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
This patch rewrites the old VEC macro-based interface into a new one
based on the template class 'vec'. The user-visible changes are
described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
I have tested the patch pretty extensively:
- Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
- Bootstraps with --enable-checking=release
- Bootstraps with --enable-checking=gc,gcac
- Basic builds on all targets (using contrib/config-list.mk).
We no longer access the vectors via VEC_* macros. The pattern is
"VEC_operation (T, A, V, args)" becomes "V.operation (args)".
The only thing I could not do is create proper ctors and dtors for the
vec class. Since these vectors are stored in unions, we
have to keep them as PODs (C++03 does not allow non-PODs in unions).
This means that creation and destruction must be explicit. There is a
new method vec<type, allocation, layout>::create() and another vec<type,
allocation, layout>::destroy() to allocate the internal vector.
For vectors that must be pointers, there is a family of free functions
that implement the operations that need to tolerate NULL vectors.
These functions all start with the prefix 'vec_safe_'. See the wiki
page for details.
The gengtype change removes the special handling for VEC() that used
to exist in gengtype. Additionally, it allows gengtype to recognize
templates of more than one argument and introduces the concept of an
undefined type (useful for template arguments that may or may not be
types).
When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
happens inside a type marked with GTY((user)). Otherwise, it will
emit an error.
Finally, gengtype rejects root types marked GTY((user)) that are not
first class pointers.
2012-11-16 Diego Novillo <dnovillo@google.com>
VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
* vec.c (register_overhead): Convert it into
member function of vec_prefix.
(release_overhead): Likewise.
(calculate_allocation): Likewise.
(vec_heap_free): Remove.
(vec_gc_o_reserve_1): Remove.
(vec_heap_o_reserve_1): Remove.
(vec_stack_o_reserve_1): Remove.
(vec_stack_o_reserve_exact): Remove.
(register_stack_vec): New.
(stack_vec_register_index): New.
(unregister_stack_vec): New.
(vec_assert_fail): Remove.
* vec.h: Conditionally include ggc.h. Document conditional
hackery.
Update top-level documentation.
(ALONE_VEC_CHECK_INFO): Remove.
(VEC_CHECK_INFO): Remove.
(ALONE_VEC_CHECK_DECL): Remove.
(VEC_CHECK_DECL): Remove.
(ALONE_VEC_CHECK_PASS): Remove.
(VEC_CHECK_PASS): Remove.
(VEC_ASSERT): Remove.
(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
va_stack.
Mark fields alloc_ and num_ as protected.
(struct vec_t): Remove. Remove all function members.
(struct vl_embed): Declare.
(struct vl_ptr): Declare.
(free): Remove.
(reserve_exact): Remove.
(reserve): Remove.
(safe_splice): Remove.
(safe_push): Remove.
(safe_grow): Remove.
(safe_grow_cleared): Remove.
(safe_insert): Remove.
(DEF_VEC_I): Remove.
(DEF_VEC_ALLOC_I): Remove.
(DEF_VEC_P): Remove.
(DEF_VEC_ALLOC_P): Remove.
(DEF_VEC_O): Remove.
(DEF_VEC_ALLOC_O): Remove.
(DEF_VEC_ALLOC_P_STACK): Remove.
(DEF_VEC_ALLOC_O_STACK): Remove.
(DEF_VEC_ALLOC_I_STACK): Remove.
(DEF_VEC_A): Remove.
(DEF_VEC_ALLOC_A): Remove.
(vec_stack_p_reserve_exact_1): Remove.
(vec_stack_o_reserve): Remove.
(vec_stack_o_reserve_exact): Remove.
(VEC_length): Remove.
(VEC_empty): Remove.
(VEC_address): Remove.
(vec_address): Remove.
(VEC_last): Remove.
(VEC_index): Remove.
(VEC_iterate): Remove.
(VEC_embedded_size): Remove.
(VEC_embedded_init): Remove.
(VEC_free): Remove.
(VEC_copy): Remove.
(VEC_space): Remove.
(VEC_reserve): Remove.
(VEC_reserve_exact): Remove.
(VEC_splice): Remove.
(VEC_safe_splice): Remove.
(VEC_quick_push): Remove.
(VEC_safe_push): Remove.
(VEC_pop): Remove.
(VEC_truncate): Remove.
(VEC_safe_grow): Remove.
(VEC_replace): Remove.
(VEC_quick_insert): Remove.
(VEC_safe_insert): Remove.
(VEC_ordered_remove): Remove.
(VEC_unordered_remove): Remove.
(VEC_block_remove): Remove.
(VEC_lower_bound): Remove.
(VEC_alloc): Remove.
(VEC_qsort): Remove.
(va_heap): Declare.
(va_heap::default_layout): New typedef to vl_ptr.
(va_heap::reserve): New.
(va_heap::release): New.
(va_gc): Declare.
(va_gc::default_layout): New typedef to vl_embed.
(va_gc::reserve): New.
(va_gc::release): New.
(va_gc_atomic): Declare. Inherit from va_gc.
(va_stack): Declare.
(va_stack::default_layout): New typedef to vl_ptr.
(va_stack::alloc): New.
(va_stack::reserve): New.
(va_stack::release): New.
(register_stack_vec): Declare.
(stack_vec_register_index): Declare.
(unregister_stack_vec): Declare.
(vec<T, A = va_heap, L = typename A::default_layout>): Declare
empty vec template.
(vec<T, A, vl_embed>): Partial specialization for embedded
layout.
(vec<T, A, vl_embed>::allocated): New.
(vec<T, A, vl_embed>::length): New.
(vec<T, A, vl_embed>::is_empty): New.
(vec<T, A, vl_embed>::address): New.
(vec<T, A, vl_embed>::operator[]): New.
(vec<T, A, vl_embed>::last New.
(vec<T, A, vl_embed>::space): New.
(vec<T, A, vl_embed>::iterate): New.
(vec<T, A, vl_embed>::iterate): New.
(vec<T, A, vl_embed>::copy): New.
(vec<T, A, vl_embed>::splice): New.
(vec<T, A, vl_embed>::quick_push New.
(vec<T, A, vl_embed>::pop New.
(vec<T, A, vl_embed>::truncate): New.
(vec<T, A, vl_embed>::quick_insert): New.
(vec<T, A, vl_embed>::ordered_remove): New.
(vec<T, A, vl_embed>::unordered_remove): New.
(vec<T, A, vl_embed>::block_remove): New.
(vec<T, A, vl_embed>::qsort): New.
(vec<T, A, vl_embed>::lower_bound): New.
(vec<T, A, vl_embed>::embedded_size): New.
(vec<T, A, vl_embed>::embedded_init): New.
(vec<T, A, vl_embed>::quick_grow): New.
(vec<T, A, vl_embed>::quick_grow_cleared): New.
(vec_safe_space): New.
(vec_safe_length): New.
(vec_safe_address): New.
(vec_safe_is_empty): New.
(vec_safe_reserve): New.
(vec_safe_reserve_exact): New.
(vec_alloc): New.
(vec_free): New.
(vec_safe_grow): New.
(vec_safe_grow_cleared): New.
(vec_safe_iterate): New.
(vec_safe_push): New.
(vec_safe_insert): New.
(vec_safe_truncate): New.
(vec_safe_copy): New.
(vec_safe_splice): New.
(vec<T, A, vl_ptr>): New partial specialization for the space
efficient layout.
(vec<T, A, vl_ptr>::exists): New.
(vec<T, A, vl_ptr>::is_empty): New.
(vec<T, A, vl_ptr>::length): New.
(vec<T, A, vl_ptr>::address): New.
(vec<T, A, vl_ptr>::operator[]): New.
(vec<T, A, vl_ptr>::operator!=): New.
(vec<T, A, vl_ptr>::operator==): New.
(vec<T, A, vl_ptr>::last): New.
(vec<T, A, vl_ptr>::space): New.
(vec<T, A, vl_ptr>::iterate): New.
(vec<T, A, vl_ptr>::copy): New.
(vec<T, A, vl_ptr>::reserve): New.
(vec<T, A, vl_ptr>::reserve_exact): New.
(vec<T, A, vl_ptr>::splice): New.
(vec<T, A, vl_ptr>::safe_splice): New.
(vec<T, A, vl_ptr>::quick_push): New.
(vec<T, A, vl_ptr>::safe_push): New.
(vec<T, A, vl_ptr>::pop): New.
(vec<T, A, vl_ptr>::truncate): New.
(vec<T, A, vl_ptr>::safe_grow): New.
(vec<T, A, vl_ptr>::safe_grow_cleared): New.
(vec<T, A, vl_ptr>::quick_grow): New.
(vec<T, A, vl_ptr>::quick_grow_cleared): New.
(vec<T, A, vl_ptr>::quick_insert): New.
(vec<T, A, vl_ptr>::safe_insert): New.
(vec<T, A, vl_ptr>::ordered_remove): New.
(vec<T, A, vl_ptr>::unordered_remove): New.
(vec<T, A, vl_ptr>::block_remove): New.
(vec<T, A, vl_ptr>::qsort): New.
(vec<T, A, vl_ptr>::lower_bound): New.
(vec_stack_alloc): Define.
(FOR_EACH_VEC_SAFE_ELT): Define.
* vecir.h: Remove. Update all users.
* vecprim.h: Remove. Update all users.
Move uchar to coretypes.h.
* Makefile.in (VEC_H): Add $(GGC_H).
Remove vecir.h and vecprim.h dependencies everywhere.
2012-11-16 Diego Novillo <dnovillo@google.com>
* gengtype-lex.l (VEC): Remove.
Add characters in the set [\!\>\.-].
* gengtype-parse.c (token_names): Remove "VEC".
(require_template_declaration): Remove handling of VEC_TOKEN.
(type): Likewise.
Call create_user_defined_type when parsing GTY((user)).
* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
(write_state_undefined_type): New.
(write_state_type): Call write_state_undefined_type for
TYPE_UNDEFINED.
(read_state_type): Call read_state_undefined_type for
TYPE_UNDEFINED.
* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
(create_user_defined_type): Make extern.
(type_for_name): Factor out of resolve_typedef.
(create_undefined_type): New
(resolve_typedef): Call it when we cannot find a previous
typedef and the type is not a template.
(find_structure): Accept TYPE_UNDEFINED.
(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
default to false.
Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
ALLOWED_UNDEFINED_TYPES is set.
Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
(filter_type_name): Accept templates with more than one
argument.
(output_mangled_typename): Handle TYPE_UNDEFINED
(walk_type): Likewise.
(write_types_process_field): Likewise.
(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
should not be a user-defined type.
(write_types_local_user_process_field): Handle TYPE_ARRAY,
TYPE_NONE and TYPE_UNDEFINED.
(write_types_local_process_field): Likewise.
(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
(write_root): Reject user-defined types that are not pointers.
Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
and TYPE_PARAM_STRUCT.
(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
TYPE_ARRAY.
(dump_typekind): Handle TYPE_UNDEFINED.
* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
(create_user_defined_type): Declare.
(enum gty_token): Remove VEC_TOKEN.
2012-11-16 Diego Novillo <dnovillo@google.com>
Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
* coretypes.h (uchar): Define.
* alias.c: Use new vec API in vec.h.
* asan.c: Likewise.
* attribs.c: Likewise.
* basic-block.h: Likewise.
* bb-reorder.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfghooks.h: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* coverage.c: Likewise.
* cprop.c: Likewise.
* data-streamer.h: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* domwalk.h: Likewise.
* dse.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* function.h: Likewise.
* fwprop.c: Likewise.
* gcc.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* genattrtab.c: Likewise.
* genautomata.c: Likewise.
* genextract.c: Likewise.
* genopinit.c: Likewise
* ggc-common.c: Likewise.
* ggc.h: Likewise.
* gimple-low.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple.c: Likewise.
* gimple.h: Likewise.
* gimplify.c: Likewise.
* graph.c: Likewise.
* graphds.c: Likewise.
* graphds.h: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-poly.h: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-scop-detection.h: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* godump.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* hw-doloop.h: Likewise.
* ifcvt.c: Likewise.
* insn-addr.h: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-inline.h: Likewise.
* ipa-prop.c: Likewise.
* ipa-prop.h: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-ref.c: Likewise.
* ipa-ref.h: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-utils.h: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* ira-int.h: Likewise.
* ira.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-lives.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.h: Likewise.
* lto-symtab.c: Likewise.
* mcf.c: Likewise.
* modulo-sched.c: Likewise.
* omp-low.c: Likewise.
* opts-common.c: Likewise.
* opts-global.c: Likewise.
* opts.c: Likewise.
* opts.h: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* profile.h: Likewise.
* read-rtl.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regrename.c: Likewise.
* regrename.h: Likewise.
* reload.c: Likewise.
* reload.h: Likewise.
* reload1.c: Likewise.
* rtl.h: Likewise.
* sched-deps.c: Likewise.
* sched-int.h: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* sese.h: Likewise.
* statistics.h: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* tlink.c: Likewise.
* toplev.c: Likewise.
* trans-mem.c: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-flow.h: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-inline.h: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sccvn.h: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-streamer.h: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vectorizer.h: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* value-prof.c: Likewise.
* value-prof.h: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
From-SVN: r193595
2012-11-18 03:54:30 +01:00
|
|
|
|
2012-11-16 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Use new vec API in vec.h.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
* lto-partition.h: Likewise.
|
|
|
|
|
* lto.c: Likewise.
|
|
|
|
|
|
2012-11-02 21:01:02 +01:00
|
|
|
|
2012-10-31 Lawrence Crowl <crowl@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Change symtab checking to a checked
|
|
|
|
|
down-cast via dyn_cast.
|
|
|
|
|
* lto-partition.c (add_symbol_to_partition_1): Likewise.
|
|
|
|
|
(undo_partition): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(get_symbol_class): Likewise and via is_a.
|
|
|
|
|
(lto_balanced_map): Change symtab checking to is_a.
|
|
|
|
|
|
2012-10-12 14:14:03 +02:00
|
|
|
|
2012-10-12 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/54898
|
|
|
|
|
* lto.c (gimple_types_compatible_p_1): Also compare
|
|
|
|
|
TYPE_MAIN_VARIANT.
|
|
|
|
|
(iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
|
|
|
|
|
|
2012-10-09 13:46:25 +02:00
|
|
|
|
2012-10-09 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_register_builtin_type): Avoid useless
|
|
|
|
|
decl creation.
|
|
|
|
|
* lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
|
|
|
|
|
|
2012-10-08 18:51:10 +02:00
|
|
|
|
2012-10-08 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
|
|
|
|
|
Free lto_file struct after closing the file.
|
|
|
|
|
|
2012-10-08 18:04:31 +02:00
|
|
|
|
2012-10-08 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
|
|
|
|
|
(fixup_integer_cst): New functoin.
|
|
|
|
|
(lto_ft_type): Fixup BASETYPE of methods and offsets.
|
|
|
|
|
|
2012-10-07 19:16:02 +02:00
|
|
|
|
2012-10-07 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Release type merging hash early;
|
|
|
|
|
release input encoders.
|
|
|
|
|
* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
|
|
|
|
|
|
2012-10-06 15:59:55 +02:00
|
|
|
|
2012-10-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/54790
|
|
|
|
|
* lto.c (resolution_map): New static var.
|
|
|
|
|
(register_resolution): New function.
|
|
|
|
|
(lto_register_var_decl_in_symtab): Use it.
|
|
|
|
|
(read_cgraph_and_symbols): Copy resolutions into the symtab.
|
|
|
|
|
|
2012-09-20 18:35:40 +02:00
|
|
|
|
2012-09-20 Martin Jambor <mjambor@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Call push_struct_function and
|
|
|
|
|
pop_cfun.
|
|
|
|
|
|
2012-09-19 21:56:42 +02:00
|
|
|
|
2012-09-19 Dehao Chen <dehao@google.com>
|
|
|
|
|
|
|
|
|
|
* lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
|
|
|
|
|
|
2012-09-19 12:01:56 +02:00
|
|
|
|
2012-09-19 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Update confused comment.
|
|
|
|
|
(read_cgraph_and_symbols): Do not free symtab.
|
|
|
|
|
|
2012-09-12 19:55:13 +02:00
|
|
|
|
2012-09-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (do_whole_program_analysis): Care timevars, statistics and
|
|
|
|
|
AUX pointer cleaning. Add max partitioning.
|
|
|
|
|
* lto-partition.c (enum symbol_class): New.
|
|
|
|
|
(get_symbol_class): New function.
|
|
|
|
|
(symbol_partitioned_p): New function.
|
|
|
|
|
(add_references_to_partition): Remove.
|
|
|
|
|
(add_aliases_to_partition): Remove.
|
|
|
|
|
(add_cgraph_node_to_partition_1): Remove.
|
|
|
|
|
(add_cgraph_node_to_partition): Remove.
|
|
|
|
|
(add_symbol_to_partition): New function.
|
|
|
|
|
(add_symbol_to_partition_1): New function.
|
|
|
|
|
(contained_in_symbol): New function.
|
|
|
|
|
(partition_cgraph_node_p): Remove.
|
|
|
|
|
(partition_varpool_node_p): Remove.
|
|
|
|
|
(partition_symbol_p): Remove.
|
|
|
|
|
(lto_1_to_1_map): Cleanup.
|
|
|
|
|
(lto_max_map): New.
|
|
|
|
|
(lto_balanced_map): Update.
|
|
|
|
|
(lto_promote_cross_file_statics): Update.
|
|
|
|
|
* lto-partition.h (lto_max_map): Declare.
|
|
|
|
|
* timevar.def (TV_WHOPR_PARTITIONING): New timevar.
|
|
|
|
|
|
2012-09-12 18:26:19 +02:00
|
|
|
|
2012-09-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/54312
|
|
|
|
|
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
|
|
|
|
|
type is variant leader.
|
|
|
|
|
|
2012-09-11 15:39:11 +02:00
|
|
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (enum gtc_mode): Remove.
|
|
|
|
|
(struct type_pair_d): Adjust.
|
|
|
|
|
(lookup_type_pair): Likewise.
|
|
|
|
|
(gimple_type_leader): Do not mark as deletable.
|
|
|
|
|
(gimple_lookup_type_leader): Adjust.
|
|
|
|
|
(gtc_visit): Likewise.
|
|
|
|
|
(gimple_types_compatible_p_1): Likewise.
|
|
|
|
|
(gimple_types_compatible_p): Likewise.
|
|
|
|
|
(gimple_type_hash): Likewise.
|
|
|
|
|
(gimple_register_type): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Manage lifetime of tables
|
|
|
|
|
here.
|
|
|
|
|
|
gimple.h (gimple_register_type): Remove.
2012-09-11 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_register_type): Remove.
(print_gimple_types_stats): Adjust prototype.
* lto-streamer.h (print_lto_report): Likewise.
* lto-streamer.c (print_lto_report): Adjust.
* gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move to lto/lto.c.
(print_gimple_types_stats): Adjust.
(free_gimple_type_tables): Likewise.
lto/
* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move here from gimple.c
(read_cgraph_and_symbols): Free hash tables here.
(print_lto_report_1): New function wrapping print_lto_report.
(do_whole_program_analysis): Call it.
(lto_main): Likewise.
From-SVN: r191177
2012-09-11 13:39:27 +02:00
|
|
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
|
|
|
|
|
struct type_pair_d, lookup_type_pair, struct sccs,
|
|
|
|
|
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
|
|
|
|
|
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
|
|
|
|
|
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
|
|
|
|
|
visit, iterative_hash_name, struct type_hash_pair,
|
|
|
|
|
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
|
|
|
|
|
gimple_type_eq, gimple_register_type_1, gimple_register_type):
|
|
|
|
|
Move here from gimple.c
|
|
|
|
|
(read_cgraph_and_symbols): Free hash tables here.
|
|
|
|
|
(print_lto_report_1): New function wrapping print_lto_report.
|
|
|
|
|
(do_whole_program_analysis): Call it.
|
|
|
|
|
(lto_main): Likewise.
|
|
|
|
|
|
2012-09-10 10:32:36 +02:00
|
|
|
|
2012-09-10 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (partition_symbol_p): Forward declare.
|
|
|
|
|
(add_references_to_partition): Reimplement using partition_symbol_p.
|
|
|
|
|
(add_aliases_to_partition): Break out from add_references_to_partition;
|
|
|
|
|
reimplement using partition_symbol_p.
|
|
|
|
|
(add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
|
|
|
|
|
add sanity checks.
|
|
|
|
|
(add_varpool_node_to_partition): Use add_aliases_to_partition.
|
|
|
|
|
(partition_varpool_node_p): Do not special case aliases.
|
|
|
|
|
|
2012-09-09 19:29:21 +02:00
|
|
|
|
2012-08-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Do not delete partition encoder;
|
|
|
|
|
it is deleted after streaming.
|
|
|
|
|
* lto-partition.c (partition_symbol_p): New function.
|
|
|
|
|
(promote_var, promote_fn): Remove.
|
|
|
|
|
(promote_symbol): New function.
|
|
|
|
|
(lto_promote_cross_file_statics): First compute boundaries; rewrite
|
|
|
|
|
to lookup the actual boundaries instead of computing them ad-hoc.
|
|
|
|
|
|
Replace cgraph_node_set and varpool_node_set by symtab_node_encoder in partitioning.
Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
in partitioning.
* tree-pass.h (cgraph_node_set_def, varpool_node_set_def): Remove
forward declaration.
(lto_symtab_encoder_d): Forward declare.
(ipa_write_optimization_summaries): Update.
* lto-cgraph.c (lto_symtab_encoder_new): Do not initialize
body, initializer and in_partition.
(lto_symtab_encoder_delete): Update.
(lto_symtab_encoder_encode): Update.
(lto_symtab_encoder_lookup): Move inline.
(lto_symtab_encoder_delete_node): New function.
(lto_symtab_encoder_encode_body_p, lto_set_symtab_encoder_encode_body,
lto_symtab_encoder_encode_initializer_p,
lto_set_symtab_encoder_encode_initializer, lto_symtab_encoder_in_partition_p,
lto_symtab_encoder_in_partition_p): Update.
(compute_ltrans_boundary): Take encoder as an input.
* passes.c (ipa_write_summaries_1): Update.
(ipa_write_summaries_1): Update.
(ipa_write_summaries): Update.
(ipa_write_optimization_summaries): Update.
* lto-streamer.c (print_lto_report): Report number of cgraph nodes.
* lto-streamer.h (lto_stats_d): Replace num_output_cgraph_nodes by
num_output_symtab_nodes.
(lto_encoder_entry): New structure.
(struct lto_symtab_encoder_d): Reorg.
(lto_symtab_encoder_delete_node): Declare.
(lto_symtab_encoder_lookup): Bring inline.
(compute_ltrans_boundary): Update.
(lto_symtab_encoder_size): Update.
(lsei_node, lsei_cgraph_node, lsei_varpool_node): Update.
(lto_symtab_encoder_deref): Update.
Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
in partitioning.
* lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
by encoder.
* lto-partition.c (new_partition): Update.
* lto.c (cmp_partitions_order): Update.
(lto_wpa_write_files): Update.
(free_ltrans_partitions): Update.
(add_references_to_partition): Update.
(add_cgraph_node_to_partition_1): Update.
(add_cgraph_node_to_partition): Update.
(add_varpool_node_to_partition): Update.
(undo_partition): Update.
(lto_balanced_map): Update.
(set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
set_referenced_from_this_partition_p): Update.
(lto_promote_cross_file_statics): Update.
From-SVN: r191107
2012-09-09 14:31:32 +02:00
|
|
|
|
2012-08-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
|
|
|
|
|
in partitioning.
|
|
|
|
|
* lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
|
|
|
|
|
by encoder.
|
|
|
|
|
* lto-partition.c (new_partition): Update.
|
|
|
|
|
* lto.c (cmp_partitions_order): Update.
|
|
|
|
|
(lto_wpa_write_files): Update.
|
|
|
|
|
(free_ltrans_partitions): Update.
|
|
|
|
|
(add_references_to_partition): Update.
|
|
|
|
|
(add_cgraph_node_to_partition_1): Update.
|
|
|
|
|
(add_cgraph_node_to_partition): Update.
|
|
|
|
|
(add_varpool_node_to_partition): Update.
|
|
|
|
|
(undo_partition): Update.
|
|
|
|
|
(lto_balanced_map): Update.
|
|
|
|
|
(set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
|
|
|
|
|
set_referenced_from_this_partition_p): Update.
|
|
|
|
|
(lto_promote_cross_file_statics): Update.
|
|
|
|
|
|
tree-pass.h (write_summary, [...]): Remove set and vset arguments.
* tree-pass.h (write_summary, write_optimization_summary): Remove
set and vset arguments.
* ipa-cp.c (ipcp_write_summary): Remove set and vset arugments.
(write_node_summary_p): Likewise; use the encoder.
(ipa_reference_write_optimization_summary): Likewise.
* lto-cgraph.c (output_cgraph_opt_summary): Use encoder.
(lto_symtab_encoder_new): Initialize in_partition field.
(lto_symtab_encoder_delete): Destroy in_partition field.
(LCC_NOT_FOUND): Move to lto-streamer.h
(lto_symtab_encoder_deref): Likewise.
(lto_symtab_encoder_in_partition_p,
lto_set_symtab_encoder_in_partition): New functions.
(referenced_from_other_partition_p): Rewrite to use encoder.
(reachable_from_other_partition_p): Likewise.
(referenced_from_this_partition_p): Likewise.
(reachable_from_this_partition_p): Likewise.
(lto_output_node): Likewise.
(lto_output_varpool_node): Likewise.
(output_refs): Likewise.
(compute_ltrans_boundary): Initialize in_partition fileds of
the encoder.
(output_symtab): Likewise.
(input_refs): Match the changes in output_refs.
(output_cgraph_opt_summary_p): Remove set argument.
(output_node_opt_summary): Replace set by encoder.
(output_cgraph_opt_summary): Remove set argument; use
the encoder.
* ipa-pure-const.c (pure_const_write_summary): Remove set and vset
arguments; use the encoder.
* lto-streamer-out.c (lto_output): Remove set and vset argument; use
the encoder.
(produce_symtab): Likewise.
* ipa-inline.h (inline_write_summary): Remove set and vset arguments.
* ipa-inline-analysis.c (inline_write_summary): Likewise.
* ipa-prop.c (ipa_prop_write_jump_functions): Remove set argument;
use encoder.
* ipa-prop.h (ipa_prop_write_jump_functions): Likewise.
* passes.c (ipa_write_summaries_2): Remove set and vset arguments.
(ipa_write_summaries_1): Update.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_write_optimization_summaries): Likewise.
* lto-streamer.h (lto_symtab_encoder_t): Add in_partition.
(lto_symtab_encoder_iterator): New type.
(lto_symtab_encoder_deref): Make inline.
(output_symtab, referenced_from_other_partition_p,
reachable_from_other_partition_p, referenced_from_this_partition_p,
reachable_from_this_partition_p): Update.
(lsei_end_p, lsei_next, lsei_node, lsei_cgraph_node, lsei_varpool_node): New
inline functions.
(LCC_NOT_FOUND): New macro.
(lto_symtab_encoder_deref, lsei_start, lsei_next_in_partition,
lsei_start_in_partition, lsei_next_function_in_partition,
lsei_start_function_in_partition, lsei_next_variable_in_partition,
lsei_start_variable_in_partition): New inline functions.
* lto-partition.c (set_referenced_from_other_partition_p,
set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
New functions.
(lto_promote_cross_file_statics): Use them.
From-SVN: r190336
2012-08-13 04:37:51 +02:00
|
|
|
|
2012-08-12 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (set_referenced_from_other_partition_p,
|
|
|
|
|
set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
|
|
|
|
|
New functions.
|
|
|
|
|
(lto_promote_cross_file_statics): Use them.
|
|
|
|
|
|
2012-08-11 10:38:59 +02:00
|
|
|
|
2012-07-24 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Use input_symtab.
|
|
|
|
|
|
2012-07-24 12:51:11 +02:00
|
|
|
|
2012-07-24 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h (lang_decl): Add variable_size GTY option.
|
|
|
|
|
|
system.h (dump_file): Do not define.
gcc/
* system.h (dump_file): Do not define.
* tree-pass.h: Include dumpfile.h, which is a new file containing...
(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
dump_flag_name, dump_file, dump_flags, dump_file_name,
get_dump_file_info, struct dump_file_info): all of this, moved to...
* dumpfile.h: Here, new file.
* tree-dump.h: Include dumpfile.h, but not tree-pass.h.
(dump_stmt): Remove prototype for C++ specific function.
(dump_enumerated_decls): Move prototype from here...
* tree-flow.h (dump_enumerated_decls): ... to here.
(get_ref_base_and_extent) Move prototype from here ...
* tree.h (get_ref_base_and_extent) ... to here.
* tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
gimple-pretty-print.h is enough. Do not include tree-dump.h,
include timevar.h and dumpfile.h instead.
(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
* tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls):... to here.
Do not include timevar.h.
* tree.c: Do not include timevar.h.
* tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
timevar.h.
(dump_cfg_stats): Use current_function_name.
(gimple_cfg2vcg): Likewise.
(dump_function_to_file): Likewise.
* df-scan.c: Do not include tree-pass.h and timevar.h.
Include dumpfile.h.
(df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
use print_current_pass.
* df-problems.c: Include dumpfile.h.
Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
leads to errors in the code not selected.
(df_note_compute): Do not print_rtl_with_bb here. Fix compilation
bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
* lcm.c: Include dumpfile.h.
Remove obsolete include of insn-attr.h.
* dojump.c (do_compare_rtx_and_jump): Remove failure printing for
missing probability notes.
* stmt.c: Include dumpfile.h.
(emit_case_decision_tree): Re-enable printing expand details only
if TDF_DETAILS.
* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
function.c, fwprop.c, gcse.c, gimple-fold.c,
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
graphite-dependences.c, graphite-interchange.c,
graphite-optimize-isl.c, graphite-poly.c,
graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
loop-unroll.c, loop-unswitch.c, lower-subreg.c,
lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
tree-mudflap.c, tree-nrv.c, tree-object-size.c,
tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-switch-conversion.c, tree-tailcall.c,
tree-vect-data-refs.c, tree-vect-loop.c,
tree-vect-loop-manip.c, tree-vectorizer.c,
tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
only if needed. If tree-pass.h is included, do not include timevar.h
and dumpfile.h. If tree-pass.h is not included but dump_file, or
dump_flags, or the TDF_* flags are used, include dumpfile.h.
If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
Remove assorted unnecessary includes.
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
Include dumpfile.h.
* config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
* arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
spu/t-spu-elf: Fix dependencies.
c-family/
* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
* c-ada-spec.c: Likewise.
* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
c/
* c-decl.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
cp/
* dump.c (dump_stmt): Moved here from c-dump.c.
* optimize.c: Include dumpfile.h instead of tree-dump.h.
* class.c: Likewise.
* decl2.c: Likewise.
* Make-lang.in: Fix dependencies.
fortran/
* f95-lang.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
java/
* java-gimplify.c Include dumpfile.h instead of tree-dump.h
* Make-lang.in: Fix dependencies.
lto/
* lto.c: Do not include timevar.h.
* Make-lang.in: Fix dependencies.
ada/
* gcc-interface/utils.c: Include timevar.h.
* Make-lang.in: Fix dependencies.
From-SVN: r189519
2012-07-16 13:32:42 +02:00
|
|
|
|
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto.c: Do not include timevar.h.
|
|
|
|
|
* Make-lang.in: Fix dependencies.
|
|
|
|
|
|
The intent of the phases was to have a high-level but mutually exclusive accounting of compile time.
The intent of the phases was to have a high-level but mutually exclusive
accounting of compile time. We want to track compile time in a way that
tells us which conceptual phases are taking the most time. That intent
is not currently satisfied. This patch restores that intent.
Add code to verify that the sum of the phase times is less than the total
time, to detect when phases are overlapped. A slight amount of leeway is
required due to time jitters. This verification is done as the last step
in printing timevars so that any timevar information is not lost.
Rename the phases to be clearer about what they measure, so that they
are less likely to be modified to be overlapping. The primary example
is to change TV_PHASE_GENERATE to TV_PHASE_LATE_ASM, meaning late work
on the assembly. This name change avoids confusion n moving the timevar
start call after the call to lang_hooks.decls.final_write_globals, which
prevents overlapping phases.
Each implementation of lang_hooks.decls.final_write_globals, is responsible
for starting and stopping its own phases. Each implementation currently has
a first phase of TV_PHASE_DEFERRED for front-end work deferred until after
parsing is complete. The second phase has been renamed from TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN, to better reflect its use as the main optimization
and generation phase. This phase accounts for 70%-80% of compilation time
during bootstrap. The third phase is TV_PHASE_DBGINFO, except in cp/decl2.c,
where it is TV_PHASE_CHECK_DBGINFO because cc1plus mixes checking in with
debug info generation. In langhooks.c, write_global_declarations was
using TV_PHASE_CHECK_DBGINFO, but it was doing no checking. So, it now
uses TV_PHASE_DBGINFO.
The changes to LTO are significant. First, initialization now uses
TV_PHASE_SETUP. Reading files now uses TV_PHASE_STREAM_IN. Writing files
now uses TV_PHASE_STREAM_OUT. The remaining phase is TV_PHASE_OPT_GEN
(formerly TV_PHASE_CGRAPH). Finally, because LTO is treated as a front
end, TV_PHASE_PARSING and TV_PARSE_GLOBAL active around it. It is not
parsing, and so those timers should not be active. Rather than make all
front ends manage them, we turn them off as the first thing in LTO and turn
them back on as the last thing.
Tested on x86_64.
Index: gcc/ChangeLog
2012-06-18 Lawrence Crowl <crowl@google.com>
* timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
(TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
(TV_PHASE_STREAM_IN): New.
(TV_PHASE_STREAM_OUT): New.
* timevar.c (validate_phases): New.
(timevar_print): Call validate_phases.
* c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.
* langhooks.c (write_global_declarations): Rename use of
TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Use TV_PHASE_DBGINFO instead of
TV_PHASE_CHECK_DBGINFO.
* toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
TV_PHASE_LATE_ASM. Move start of TV_PHASE_LATE_ASM to after call to
lang_hooks.decls.final_write_globals.
Index: gcc/cp/ChangeLog
2012-06-18 Lawrence Crowl <crowl@google.com>
* decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.
Index: gcc/lto/ChangeLog
2012-06-18 Lawrence Crowl <crowl@google.com>
* lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
to lto_wpa_write_files.
(lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
TV_PHASE_SETUP for the call to lto_init. Use new timevar
TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
to be a front end, but is not one.
From-SVN: r188765
2012-06-19 03:30:31 +02:00
|
|
|
|
2012-06-18 Lawrence Crowl <crowl@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
|
|
|
|
|
TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
|
|
|
|
|
to lto_wpa_write_files.
|
|
|
|
|
(lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
|
|
|
|
|
start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
|
|
|
|
|
TV_PHASE_SETUP for the call to lto_init. Use new timevar
|
|
|
|
|
TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
|
|
|
|
|
Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
|
|
|
|
|
to be a front end, but is not one.
|
|
|
|
|
|
2012-05-19 22:36:48 +02:00
|
|
|
|
2012-05-18 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_constructors_and_inits): Remove.
|
|
|
|
|
(read_cgraph_and_symbols): Remove handling of alias pairs.
|
|
|
|
|
|
2012-05-17 18:37:33 +02:00
|
|
|
|
2012-05-17 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_references_to_partition): Handle external vars.
|
|
|
|
|
(partition_varpool_node_p): Likewise.
|
|
|
|
|
(lto_promote_cross_file_statics): Do not promote externals.
|
|
|
|
|
|
2012-05-15 12:51:02 +02:00
|
|
|
|
2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_fnspec_attribute): New static function.
|
|
|
|
|
(lto_attribute_table): Add "fn spec".
|
|
|
|
|
(DEF_ATTR_STRING): Define and undefine along with the other macros.
|
|
|
|
|
|
2012-05-09 09:01:39 +02:00
|
|
|
|
2012-05-04 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (do_whole_program_analysis): Set timevars correctly.
|
|
|
|
|
(lto_main): Likewise.
|
2012-05-15 12:51:02 +02:00
|
|
|
|
|
2012-05-04 13:08:42 +02:00
|
|
|
|
2012-05-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lang.opt (fwpa): Do not mark as Optimization.
|
|
|
|
|
(fltrans): Likewise.
|
|
|
|
|
|
2012-04-30 19:55:29 +02:00
|
|
|
|
2012-04-30 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Use compile ().
|
2012-05-04 13:08:42 +02:00
|
|
|
|
* lto-partition.c (partition_cgraph_node_p): Use
|
|
|
|
|
symtab_used_from_object_file_p.
|
2012-04-30 19:55:29 +02:00
|
|
|
|
(partition_varpool_node_p): Likewise.
|
|
|
|
|
|
2012-04-20 16:09:11 +02:00
|
|
|
|
2012-04-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (partition_cgraph_node_p): Use force_output.
|
|
|
|
|
|
lto-symtab.c (lto_cgraph_replace_node): Update.
* lto-symtab.c (lto_cgraph_replace_node): Update.
* cgraphbuild.c (record_reference, record_type_list,
record_eh_tables, mark_address, mark_load, mark_store): Update.
* cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
Update.
* cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
(cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
* reload.c: Fix typo in comment.
* rtlanal.c: Likewise.
* tree-emultls.c (gen_emutls_addr): Update.
* ipa-reference.c (analyze_function): Update.
* cgraphunit.c (cgraph_analyze_function,
cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
Update.
* ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
(ipa_remove_reference): Likewise.
(ipa_remove_all_refering): Rename to ...
(ipa_remove_all_referring): ... this one; update.
(ipa_dump_references): Update.
(ipa_dump_referring): Update.
(ipa_clone_references): Update.
(ipa_clone_refering): Rename to ...
(ipa_clone_referring): ... this one; update.
(ipa_ref_cannot_lead_to_return): Update.
(ipa_ref_has_aliases_p): Update.
* ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
forward typedefs.
(ipa_ref_type): Remove.
(ipa_ref_ptr_u): Remove.
(ipa_ref): Remove referencing, refered, refered_index, refering_type
and refered_type; add referring, referred and referred_index.
(ipa_ref_list): Rename refering to referring.
(ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
ipa_clone_references, ipa_clone_referring): Update prototypes.
* lto-cgraph.c (referenced_from_other_partition_p): Update.
(lto_output_ref): Update.
(add_references): Update.
(input_varpool_node): Update.
(input_refs): Update.
* ipa-ref-inline.h (ipa_ref_node): Update.
(ipa_ref_varpool_node): Update.
(ipa_ref_referring_node); Update.
(ipa_ref_referring_varpool_node): Update.
(ipa_ref_referring_ref_list); Update.
(ipa_ref_referred_ref_list): Update.
(ipa_ref_list_first_referring): Update.
(ipa_empty_ref_list): Update.
(ipa_ref_list_refering_iterate): Rename to ...
(ipa_ref_list_referring_iterate): ... this one.
* cse.c: Update comment.
* ipa-utils.c (ipa_reverse_postorder): Update.
* tree-ssa-alias.c: Update.
* ipa-inline.c (reset_edge_caches): Update.
(update_caller_keys): Update.
* ipa-inline.h: Update comments.
* jump.c: Update comment.
* alias.c: Likewise.
* ipa.c (process_references): Update.
(cgraph_remove_unreachable_nodes): Likewise.
(ipa_discover_readonly_nonaddressable_var): Likewise.
(cgraph_address_taken_from_non_vtable_p): Likewise.
* trans-mem.c (ipa_tm_execute): Update.
* simplify-rtx.c: Fix comment.
* rtl.c: Fix comment.
* symtab.c (symtab_unregister_node): Update.
* varpool.c (dump_varpool_node): Update.
(varpool_analyze_pending_decls): Update.
(assemble_aliases): Update.
(varpool_for_node_and_aliases): Update.
From-SVN: r186564
2012-04-18 11:57:53 +02:00
|
|
|
|
2012-04-18 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-partition.c (add_references_to_partition, lto_balanced_map):
|
|
|
|
|
Update for new ipa-ref API.
|
|
|
|
|
|
cgraph.h (FOR_EACH_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
New macros.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
walkers to walk cgraph and varpool.
* cgraph.c (cgraph_node_for_asm): Likewise.
(dump_cgraph): Likewise.
* value-prof.c (init_node_map): Likewise.
* tree.c (free_lang_data_in_cgraph): Likewise.
* tree-emutls.c: (ipa_lower_emutls): Likewise.
* ipa-reference.c (generate_summary, propagate): Likewise.
* cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
cgraph_mark_functions_to_output, cgraph_output_in_order,
output_weakrefs, cgraph_materialize_all_clones,
cgraph_optimize): Likewise.
* lto-cgraph.c (merge_profile_summaries): Likewise.
(input_cgraph): Likewise.
* ipa-pure-const.c (generate_summary): Likewise.
(propagate): Likwise.
* ipa-utils.c (ipa_reduced_postorder): Likewise.
(ipa_free_postorder_info): Likewise.
(ipa_reverse_postorder): Likewise.
* ipa-inline.c (ipa_inline): Likewise.
* matrix-reorg.c (find_matrices_decl): Likewise.
(matrix_reorg): Likewise.
* tree-vectorizer.c (increase_alignment): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
(function_and_variable_visibility): Likewise.
(whole_program_function_and_variable_visibility): Likewise.
(ipa_cdtor_merge): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
* ipa-inline-analysis.c (dump_inline_summaries): Likewise.
* ipa-prop.c (ipa_print_all_jump_functions): Likewise.
(ipa_print_all_params): Likewise.
(ipa_update_after_lto_read): Likewise.
* tree-profie.c (tree_profiling): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
* passes.c (dump_passes): Likewise.
(do_per_function): Likewise.
(ipa_write_summaries): Likewise.
* varpool.c (dump_varpool): Likewise.
(varpool_node_for_asm): Likewise.
(varpool_assemble_pending_decls): Likewise.
* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
walkers to walk cgraph and varpool.
* lto.c (read_cgraph_and_symbols): Use FOR_EACH
walkers to walk cgraph and varpool.
(materialize_cgraph): Likewise.
* lto-partition.c (lto_1_to_1_map): Likewise.
(lto_balanced_map): Likewise.
(lto_promote_cross_file_statics): Likewise.
From-SVN: r186492
2012-04-16 14:04:17 +02:00
|
|
|
|
2012-04-16 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Use FOR_EACH
|
|
|
|
|
walkers to walk cgraph and varpool.
|
|
|
|
|
(materialize_cgraph): Likewise.
|
|
|
|
|
* lto-partition.c (lto_1_to_1_map): Likewise.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
(lto_promote_cross_file_statics): Likewise.
|
|
|
|
|
|
cgraph.h: Update copyrights;
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef.
(symtab_node_base): New structure.
(symtab_type): Add SYMTAB_SYMBOL tag.
* cgraph.c: Update references to fields
(cgraph_hash, assembler_name_hash): Turn into symtab_node.
(cgraph_local_info): Remove lto_file_data
and externally_visible.
(cgraph_node): Remove decl; same_comdat_group list;
aux; ref_list; order; address_taken; reachable_from_other_parittion,
in_other_partition; resolution.
(varpool_node): Remove decl; same_comdat_group;
ref_list; lto_file_data; aux; order; resolution; externally_visible;
used_from_other_partition; in_other_partition.
(symtab_node_def); New union.
(cgraph, varpool): Update.
(varpool_first_static_initializer, varpool_next_static_initializer,
cgraph_only_called_directly_or_aliased_p,
varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
field references.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* lto-symtab.c: Likewise.
* c-gimplify.c: Likewise.
* value-prof.c: Likewise.
* tree.c: Likewise.
* ipa-cp.c: Likewise.
* tree-emutls.c: Likewise.
* ipa-inline-transform.c: Likwise.
* ipa-reference.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-ref.c: Likewise.
* lto-cgraph.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-pure-const.c: Likewise.
* lto-streamer-out.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-inline.c: Likewise.
* matrix-reorg.c: Likewise.
* tree-eh.c: Likewise.
* tree-vectorizer.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* trans-mem.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* gimplify.c: Likewise.
* cfgexpand.c: Likewise.
* tree-sra.c: Likewise.
* ipa-prop.c: Likewise.
* varasm.c: Likewise.
* tree-nested.c: Likewise.
* tree-inline.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* passes.c: Likewise.
* varpool.c: Likewise.
* tree.c: Update field referenced for new cgraph/varpool layout.
* decl2.c: Likewise.
* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
cgraph/varpool layout.
* lto.c: Update field referenced for new cgraph/varpool layout.
* lto-partition.c: Likewise.
From-SVN: r186450
2012-04-14 12:24:59 +02:00
|
|
|
|
2012-04-14 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Update field referenced for new cgraph/varpool layout.
|
|
|
|
|
* lto-partition.c: Likewise.
|
|
|
|
|
|
lto.c: Update copyright...
* lto.c: Update copyright; remove params.h, ipa-inline.h
and ipa-utils.h inlines; inline lto-partition.h
(ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
add_references_to_partition, add_cgraph_node_to_partition_1,
add_cgraph_node_to_partition, add_varpool_node_to_partition,
undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
promote_var, promote_fn, lto_promote_cross_file_statics): move to...
* lto-partition.c: ... here; new file.
* lto-partition.h: New file.
* Make-lang.in (lto.o): Update dependencies.
(lto-partition.o): New.
From-SVN: r186343
2012-04-11 19:47:01 +02:00
|
|
|
|
2012-04-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Update copyright; remove params.h, ipa-inline.h
|
|
|
|
|
and ipa-utils.h inlines; inline lto-partition.h
|
|
|
|
|
(ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
|
|
|
|
|
add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
|
|
|
|
|
add_references_to_partition, add_cgraph_node_to_partition_1,
|
|
|
|
|
add_cgraph_node_to_partition, add_varpool_node_to_partition,
|
|
|
|
|
undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
|
|
|
|
|
lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
|
|
|
|
|
promote_var, promote_fn, lto_promote_cross_file_statics): move to...
|
|
|
|
|
* lto-partition.c: ... here; new file.
|
|
|
|
|
* lto-partition.h: New file.
|
|
|
|
|
* Make-lang.in (lto.o): Update dependencies.
|
|
|
|
|
(lto-partition.o): New.
|
|
|
|
|
|
2012-04-05 16:22:26 +02:00
|
|
|
|
2012-04-05 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
|
|
|
|
|
definition.
|
|
|
|
|
|
2012-03-12 15:17:26 +01:00
|
|
|
|
2012-03-12 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
|
|
|
|
|
|
2012-03-06 10:54:06 +01:00
|
|
|
|
2012-03-06 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/52097
|
|
|
|
|
* lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
|
|
|
|
|
|
2012-02-28 10:13:40 +01:00
|
|
|
|
2012-02-28 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/52400
|
|
|
|
|
* lto.c (lto_register_function_decl_in_symtab): Do not register
|
|
|
|
|
a reverse renamed decl mapping.
|
|
|
|
|
|
2012-01-06 17:48:52 +01:00
|
|
|
|
2012-01-06 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR lto/51774
|
|
|
|
|
* lto-lang.c (handle_returns_twice_attribute): New function.
|
|
|
|
|
(lto_attribute_table): Add returns_twice attribute.
|
|
|
|
|
|
2011-12-21 16:56:11 +01:00
|
|
|
|
2011-12-21 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (GIMPLE_REGISTER_TYPE): New define.
|
|
|
|
|
(LTO_FIXUP_TREE): Use it.
|
|
|
|
|
(uniquify_nodes): Mark new non-prevailing types and avoid
|
|
|
|
|
calling gimple_register_type on others.
|
|
|
|
|
(lto_read_decls): Add comment.
|
|
|
|
|
|
2011-12-13 22:59:39 +01:00
|
|
|
|
2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_parse_hex): Delete.
|
|
|
|
|
* lto.c (lto_read_decls): Use 'int' for offsets.
|
|
|
|
|
(lto_parse_hex): Make static and return proper 64-bit host type.
|
|
|
|
|
(lto_resolution_read): Use proper 64-bit host type.
|
|
|
|
|
|
2011-12-13 15:43:44 +01:00
|
|
|
|
2011-12-13 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/48354
|
|
|
|
|
* lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
|
|
|
|
|
with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
|
|
|
|
|
|
2011-12-01 17:38:21 +01:00
|
|
|
|
2011-12-01 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_attribute_table): Handle *tm regparm.
|
|
|
|
|
(ignore_attribute): New.
|
|
|
|
|
|
2011-11-22 19:37:16 +01:00
|
|
|
|
2011-11-21 Aldy Hernandez <aldyh@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_attribute_table): Handle transaction_pure.
|
|
|
|
|
(handle_transaction_pure_attribute): New.
|
|
|
|
|
|
2011-11-03 15:46:26 +01:00
|
|
|
|
2011-11-03 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/44965
|
|
|
|
|
* lto-lang.c (lto_post_options): Do not read file options.
|
|
|
|
|
* lto.c (lto_read_all_file_options): Remove.
|
|
|
|
|
(lto_init): Call lto_set_in_hooks here.
|
|
|
|
|
|
2011-10-20 13:49:31 +02:00
|
|
|
|
2011-10-09 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (node_cmp, varpool_node_cmp): New functions.
|
|
|
|
|
(lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
|
|
|
|
|
(cmp_partitions): Rename to ...
|
|
|
|
|
(cmp_partitions_size): ... this one.
|
|
|
|
|
(cmp_partitions_order): New function.
|
|
|
|
|
(lto_wpa_write_files): Sort partitions by order when
|
|
|
|
|
-fno-toplevel-reorder is used.
|
|
|
|
|
|
2011-10-17 01:22:32 +02:00
|
|
|
|
2011-10-09 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
|
|
|
|
|
|
2011-10-11 21:55:09 +02:00
|
|
|
|
2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (def_builtin_1): Delete old interface with two
|
|
|
|
|
parallel arrays to hold standard builtin declarations, and replace
|
|
|
|
|
it with a function based interface that can support creating
|
|
|
|
|
builtins on the fly in the future. Change all uses, and poison
|
|
|
|
|
the old names. Make sure 0 is not a legitimate builtin index.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2011-10-02 Andi Kleen <ak@linux.intel.com>
|
2011-10-04 16:12:37 +02:00
|
|
|
|
|
|
|
|
|
* lto-object.c (lto_obj_add_section_data): Add list.
|
|
|
|
|
(lto_obj_add_section): Fill in list.
|
|
|
|
|
(ltoobj_build_section_table): Pass through list.
|
|
|
|
|
* lto.c (file_data_list): Declare.
|
|
|
|
|
(create_subid_section_table): Pass arguments directly.
|
|
|
|
|
Fill in list of file_datas.
|
|
|
|
|
(lwstate): Delete.
|
|
|
|
|
(lto_create_files_from_ids): Pass in direct arguments.
|
|
|
|
|
Don't maintain list.
|
|
|
|
|
(lto_file_read): Use explicit section and file data lists.
|
|
|
|
|
(lto_read_all_file_options): Pass in section_list.
|
|
|
|
|
* lto.h (lto_obj_build_section_table): Add list.
|
|
|
|
|
(lto_section_slot): Add next.
|
|
|
|
|
(lto_section_list): Declare.
|
|
|
|
|
|
2011-10-02 12:41:24 +02:00
|
|
|
|
2011-10-02 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/47247
|
|
|
|
|
* common.c (lto_resolution_str): Add new resolution.
|
|
|
|
|
* common.h (lto_resolution_str): Likewise.
|
|
|
|
|
|
2011-09-30 17:48:51 +02:00
|
|
|
|
2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/50568
|
|
|
|
|
* lto.c (lto_splay_tree_delete_id): New.
|
|
|
|
|
(lto_splay_tree_compare_ids): Likewise.
|
|
|
|
|
(lto_splay_tree_lookup): Likewise.
|
|
|
|
|
(lto_splay_tree_id_equal_p): Likewise.
|
|
|
|
|
(lto_splay_tree_insert): Likewise.
|
|
|
|
|
(lto_splay_tree_new): Likewise.
|
|
|
|
|
(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
|
|
|
|
|
Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
|
|
|
|
|
(create_subid_section_table): Use lto_splay_tree_lookup and
|
|
|
|
|
lto_splay_tree_insert.
|
|
|
|
|
(lto_file_read): Use lto_splay_tree_new.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2011-09-26 Andi Kleen <ak@linux.intel.com>
|
2011-09-29 15:14:51 +02:00
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Remove id dumping.
|
|
|
|
|
(lto_section_with_id): Turn id HOST_WIDE_ID.
|
|
|
|
|
(create_subid_section_table): Dito.
|
|
|
|
|
|
2011-08-28 22:14:46 +02:00
|
|
|
|
2011-08-28 Dodji Seketeli <dodji@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Likewise. Also, avoid calling
|
|
|
|
|
linemap_add twice.
|
|
|
|
|
|
2011-08-11 12:09:43 +02:00
|
|
|
|
2011-08-11 Martin Jambor <mjambor@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (uniquify_nodes): Use main variant's BINFO too.
|
|
|
|
|
|
2011-08-08 18:49:34 +02:00
|
|
|
|
2011-08-08 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
|
|
|
|
|
* lto.c: Include tree-streamer.h.
|
|
|
|
|
|
2011-07-06 12:03:05 +02:00
|
|
|
|
2011-07-06 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init):
|
|
|
|
|
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
|
|
|
|
|
|
2011-06-18 12:48:08 +02:00
|
|
|
|
2011-06-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
2011-06-18 12:51:43 +02:00
|
|
|
|
PR lto/48246
|
2011-06-18 12:48:08 +02:00
|
|
|
|
* lto.c (lto_1_to_1_map): Don't create empty partitions.
|
|
|
|
|
(lto_balanced_map): Likewise.
|
|
|
|
|
|
2011-06-11 15:01:53 +02:00
|
|
|
|
2011-06-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (add_cgraph_node_to_partition_1): Break out from ...
|
|
|
|
|
(add_cgraph_node_to_partition) ... here; walk aliases.
|
|
|
|
|
(lto_1_to_1_map): Remove same body alias code.
|
|
|
|
|
(promote_fn): Likewise.
|
|
|
|
|
(lto_promote_cross_file_statics): Update comment.
|
|
|
|
|
|
|
|
|
|
|
2011-06-07 16:11:05 +02:00
|
|
|
|
2011-06-07 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (uniquify_nodes): Move code to register decls to
|
|
|
|
|
the loop that computes canonical types.
|
|
|
|
|
|
2011-06-07 15:01:27 +02:00
|
|
|
|
2011-06-07 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Do not set
|
|
|
|
|
size_type_node or call set_sizetype.
|
|
|
|
|
|
2011-06-06 18:49:11 +02:00
|
|
|
|
2011-06-04 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_init): New.
|
|
|
|
|
(lto_main): Call it.
|
|
|
|
|
|
2011-06-03 16:53:27 +02:00
|
|
|
|
2011-06-03 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (get_resolution): Move from lto-streamer-in.c.
|
|
|
|
|
(lto_register_var_decl_in_symtab): Likewise.
|
|
|
|
|
(lto_register_function_decl_in_symtab): Likewise.
|
|
|
|
|
(uniquify_nodes): Call lto_register_var_decl and
|
|
|
|
|
lto_register_function_decl_in_symtab after reading a new
|
|
|
|
|
VAR_DECL or FUNCTION_DECL.
|
|
|
|
|
|
2011-06-01 10:52:33 +02:00
|
|
|
|
2011-06-01 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_register_canonical_types): New function.
|
|
|
|
|
(lto_init): Register common nodes with the canonical type machinery.
|
|
|
|
|
Do not play tricks with char_type_node.
|
|
|
|
|
|
2011-05-26 17:53:23 +02:00
|
|
|
|
2011-05-26 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (uniquify_nodes): Fix bug in one of the previous changes.
|
|
|
|
|
|
2011-05-25 14:52:10 +02:00
|
|
|
|
2011-05-25 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_ft_typed): New function.
|
|
|
|
|
(lto_ft_common): Call it.
|
|
|
|
|
(lto_ft_constructor): Likewise.
|
|
|
|
|
(lto_ft_expr): Likewise.
|
|
|
|
|
(lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
|
|
|
|
|
TREE_CHAIN.
|
|
|
|
|
|
2011-05-20 11:35:03 +02:00
|
|
|
|
2011-05-20 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_ft_common): Remove pointer-to chain teardown.
|
|
|
|
|
(lto_ft_type): Move main-variant and pointer-to chain building ...
|
|
|
|
|
(uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
|
|
|
|
|
in a separate final loop.
|
|
|
|
|
|
2011-05-19 12:31:23 +02:00
|
|
|
|
2011-05-19 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (uniquify_nodes): First register all types before
|
|
|
|
|
fixing up the tree SCC.
|
|
|
|
|
|
2011-05-12 13:30:42 +02:00
|
|
|
|
2011-05-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/48952
|
|
|
|
|
* lto.c (do_whole_program_analysis): Do not register cgraph hooks.
|
|
|
|
|
|
split tree_type
split tree_type
gcc/ada/
* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
(TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
(TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
gcc/cp/
* cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
TYPE_VALUES_RAW.
(UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
(DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
(TEMPLATE_TYPE_PARM_INDEX): Likewise.
gcc/
* ggc-page.c (extra_order_size_table): Use struct
tree_type_non_common.
* lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
(unpack_ts_type_common_value_fields): ...this. Update comment.
(unpack_value_fields): Adjust for renaming.
(lto_input_ts_type_tree_pointers): Split into...
(lto_input_ts_type_common_tree_pointer): ...this and...
(lto_input_ts_type_non_common_tree_pointers): ...this.
(lto_input_tree_pointers): Adjust for above split.
* lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
(pack_ts_type_common_value_fields): ...this. Update comment.
(lto_output_ts_type_tree_pointers): Split into...
(lto_output_ts_type_common_tree_pointers): ...this and...
(lto_output_ts_type_non_common_tree_pointers): ...this.
(lto_output_tree_pointers): Adjust for above split.
* lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
* stor-layout.c (vector_type_mode): Adjust location of mode field.
* tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
Define.
(struct tree_type): Split into...
(struct tree_type_common: ...this and...
(struct tree_type_with_lang_specific): ...this and...
(struct tree_type_non_common): ...this. Adjust accessor macros
accordingly.
(TYPE_VALUES_RAW): Define.
(union tree_node): Update for above changes.
* tree.c (tree_node_structure_for_code) [tcc_type]: Return
TS_TYPE_NON_COMMON.
(initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
(tree_code_size) [tcc_type]: Use struct tree_type_non_common.
* treestructu.def (TS_TYPE): Remove.
(TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
Define.
gcc/java/
* java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL.
gcc/lto/
* lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
location of binfo field.
(lto_fixup_prevailing_decls): Likewise.
gcc/objc/
* objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors.
(CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise.
(PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise.
From-SVN: r173658
2011-05-11 15:48:55 +02:00
|
|
|
|
2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
|
|
|
|
|
location of binfo field.
|
|
|
|
|
(lto_fixup_prevailing_decls): Likewise.
|
|
|
|
|
|
2011-05-10 18:56:19 +02:00
|
|
|
|
2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (def_fn_type): Don't call build_function_type, call
|
|
|
|
|
build_function_type_array or build_varargs_function_type_array
|
|
|
|
|
instead.
|
|
|
|
|
|
2011-05-07 21:58:29 +02:00
|
|
|
|
2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (global_bindings_p): Return bool.
|
|
|
|
|
|
2011-05-07 01:00:49 +02:00
|
|
|
|
2011-05-07 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
2011-05-08 10:37:58 +02:00
|
|
|
|
* lto.c (lto_materialize_function): Use
|
|
|
|
|
cgraph_function_with_gimple_body_p.
|
|
|
|
|
(add_cgraph_node_to_partition): Do not re-add items to partition;
|
|
|
|
|
handle thunks.
|
2011-05-07 01:00:49 +02:00
|
|
|
|
(add_varpool_node_to_partition): Do not re-add items to partition.
|
|
|
|
|
|
2011-05-03 20:00:48 +02:00
|
|
|
|
2011-05-03 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (free_ltrans_partitions): Fix accidental commit.
|
|
|
|
|
|
cgraph.h (cgraph_node_set_def, [...]): Move out of GTY; replace hash by pointer map.
* cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
replace hash by pointer map.
(cgraph_node_set_element_def, cgraph_node_set_element,
const_cgraph_node_set_element, varpool_node_set_element_def,
varpool_node_set_element, const_varpool_node_set_element): Remove.
(free_cgraph_node_set, free_varpool_node_set): New function.
(cgraph_node_set_size, varpool_node_set_size): Use vector size.
* tree-emutls.c: Free varpool node set.
* ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
Move here from ipa.c; implement using pointer_map
* ipa.c (cgraph_node_set_new, cgraph_node_set_add,
cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
debug_cgraph_node_set, varpool_node_set_new,
varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
dump_varpool_node_set, debug_varpool_node_set):
Move to ipa-uitls.c.
* lto/lto.c (ltrans_partition_def): Remove GTY annotations.
(ltrans_partitions): Move to heap.
(new_partition): Update.
(free_ltrans_partitions): New function.
(lto_wpa_write_files): Use it.
* passes.c (ipa_write_summaries): Update.
From-SVN: r173334
2011-05-03 19:22:58 +02:00
|
|
|
|
2011-05-03 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (ltrans_partition_def): Remove GTY annotations.
|
|
|
|
|
(ltrans_partitions): Move to heap.
|
|
|
|
|
(new_partition): Update.
|
|
|
|
|
(free_ltrans_partitions): New function.
|
|
|
|
|
(lto_wpa_write_files): Use it.
|
|
|
|
|
|
2011-04-30 01:42:15 +02:00
|
|
|
|
2011-04-29 Martin Jambor <mjambor@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include ipa-utils.h.
|
|
|
|
|
(lto_balanced_map): Update call to ipa_reverse_postorder.
|
|
|
|
|
* Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
|
|
|
|
|
|
lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins.
* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
other trees that just builtins.
(lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
lto/
* lto.c (toplevel): Include tree-flow.h.
(lto_read_in_decl_state): Don't merge types here.
(tree_with_vars): New static hash table.
(remember_with_vars): New static functions.
(LTO_FIXUP_TYPE): New macro.
(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
(lto_read_decls): Uniquify while reading in trees.
(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
lto_fixup_tree): Remove.
(lto_fixup_state): Remove data argument. Use
lto_symtab_prevailing_decl.
(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
(lto_fixup_prevailing_decls): New function.
(lto_fixup_state_aux): Argument aux is unused.
(lto_fixup_decls): Don't allocate pointer sets, don't use
lto_fixup_tree, use lto_fixup_prevailing_decls.
(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
From-SVN: r173155
2011-04-29 14:27:26 +02:00
|
|
|
|
2011-04-29 Michael Matz <matz@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (toplevel): Include tree-flow.h.
|
|
|
|
|
(lto_read_in_decl_state): Don't merge types here.
|
|
|
|
|
(tree_with_vars): New static hash table.
|
|
|
|
|
(remember_with_vars): New static functions.
|
|
|
|
|
(LTO_FIXUP_TYPE): New macro.
|
|
|
|
|
(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
|
|
|
|
|
lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
|
|
|
|
|
lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
|
|
|
|
|
lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
|
|
|
|
|
(lto_read_decls): Uniquify while reading in trees.
|
|
|
|
|
(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
|
|
|
|
|
LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
|
|
|
|
|
lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
|
|
|
|
|
lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
|
|
|
|
|
lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
|
|
|
|
|
lto_fixup_tree): Remove.
|
|
|
|
|
(lto_fixup_state): Remove data argument. Use
|
|
|
|
|
lto_symtab_prevailing_decl.
|
|
|
|
|
(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
|
|
|
|
|
(lto_fixup_prevailing_decls): New function.
|
|
|
|
|
(lto_fixup_state_aux): Argument aux is unused.
|
|
|
|
|
(lto_fixup_decls): Don't allocate pointer sets, don't use
|
|
|
|
|
lto_fixup_tree, use lto_fixup_prevailing_decls.
|
|
|
|
|
(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
|
|
|
|
|
* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
|
|
|
|
|
|
2011-04-16 12:43:04 +02:00
|
|
|
|
2011-04-16 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_balanced_map): Fix typos in head comment.
|
|
|
|
|
(lto_promote_cross_file_statics): Fix long lines and remove redundant
|
|
|
|
|
test.
|
|
|
|
|
|
cgraphbuild.c: Include ipa-inline.h.
* cgraphbuild.c: Include ipa-inline.h.
(reset_inline_failed): Use initialize_inline_failed.
* cgraph.c: Include ipa-inline.h.
(cgraph_create_node_1): Do not initialize estimated_growth.
(initialize_inline_failed): More to ipa-inline-analysis.c
(dump_cgraph_node): Do not dump inline flags.
* cgraph.h (cgraph_local_info): Remove inlineable, versionable
and disregard_inline_limits flags.
(cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
time, size, estimated_growth.
* ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary): Update.
* cgraphunit.c (cgraph_decide_is_function_needed): Use
DECL_DISREGARD_INLINE_LIMITS.
(cgraph_analyze_function): Do not initialize
node->local.disregard_inline_limits.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
inlinable, versionable and disregard_inline_limits.
* ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_check_inline_limits, cgraph_default_inline_p, cgraph_edge_badness,
update_caller_keys, update_callee_keys, add_new_edges_to_heap): Update.
(cgraph_decide_inlining_of_small_function): Update; set CIF_FUNCTION_NOT_INLINABLE
for uninlinable functions.
(cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
cgraph_decide_inlining_incrementally): Update.
* ipa-inline.h (inline_summary): Add inlinable, versionable, disregard_inline_limits,
estimated_stack_size, stack_frame_offset, time, size and estimated_growth
parameters.
(estimate_edge_growth): Update.
(initialize_inline_failed): Declare.
* ipa-split.c: Include ipa-inline.h
(execute_split_functions): Update.
* ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
(cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
(record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
* ipa-inline-analysis.c (inline_node_removal_hook): Update; set
estimated_growth to INT_MIN.
(inline_node_duplication_hook): Likewise.
(dump_inline_summary): Dump new fields.
(compute_inline_parameters): Update.
(estimate_edge_time, estimate_time_after_inlining,
estimate_size_after_inlining, estimate_growth, inline_read_summary,
inline_write_summary):
(initialize_inline_failed): Move here from cgraph.c.
* tree-sra.c: Include ipa-inline.h.
(ipa_sra_preliminary_function_checks): Update.
* lto/lto.c (lto_balanced_map): Update.
Update.
* Makefile.in: (cgraph.o, cgraphbuild.o): Add dependency on
ipa-inline.h
From-SVN: r172581
2011-04-16 11:13:08 +02:00
|
|
|
|
2011-04-16 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_balanced_map): Update.
|
|
|
|
|
|
cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.h (struct inline_summary): Move to ipa-inline.h
(cgraph_local_info): Remove inline_summary.
* ipa-cp.c: Include ipa-inline.h.
(ipcp_cloning_candidate_p, ipcp_estimate_growth,
ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
accesor.
* lto-cgraph.c (lto_output_node): Do not stream inline summary.
(input_overwrite_node): Do not set inline summary.
(input_node): Do not stream inline summary.
* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
(cgraph_decide_inlining_incrementally): Do not try to estimate overall
growth; we do not have inline parameters computed for that anyway.
(cgraph_early_inlining): After inlining compute call_stmt_sizes.
* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
(inline_summary_t): New type and VECtor.
(debug_inline_summary, dump_inline_summaries): Declare.
(inline_summary): Use VOCtor.
(estimate_edge_growth): Kill hack computing call stmt size directly.
* lto-section-in.c (lto_section_name): Add inline section.
* ipa-inline-analysis.c: Include lto-streamer.h
(node_removal_hook_holder, node_duplication_hook_holder): New holders
(inline_node_removal_hook, inline_node_duplication_hook): New functions.
(inline_summary_vec): Define.
(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
dump_inline_summaries): New functions.
(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
(compute_inline_parameters): Alloc inline_summary; do not compute size/time
of incomming calls.
(estimate_edge_time): Avoid missing time summary hack.
(inline_read_summary): Read inline summary info.
(inline_write_summary): Write inline summary info.
(inline_free_summary): Free all hooks and inline summary vector.
* lto-streamer.h: Add LTO_section_inline_summary section.
* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
* lto.c: Include ipa-inline.h
(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
(ipa_node_duplication_hook): Fix declaration.
* Make-lang.in (lto.o): Update dependencies.
From-SVN: r172430
2011-04-14 15:26:44 +02:00
|
|
|
|
2011-04-14 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include ipa-inline.h
|
2011-04-16 12:43:04 +02:00
|
|
|
|
(add_cgraph_node_to_partition, undo_partition): Use inline_summary
|
|
|
|
|
accessor.
|
cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.h (struct inline_summary): Move to ipa-inline.h
(cgraph_local_info): Remove inline_summary.
* ipa-cp.c: Include ipa-inline.h.
(ipcp_cloning_candidate_p, ipcp_estimate_growth,
ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
accesor.
* lto-cgraph.c (lto_output_node): Do not stream inline summary.
(input_overwrite_node): Do not set inline summary.
(input_node): Do not stream inline summary.
* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
(cgraph_decide_inlining_incrementally): Do not try to estimate overall
growth; we do not have inline parameters computed for that anyway.
(cgraph_early_inlining): After inlining compute call_stmt_sizes.
* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
(inline_summary_t): New type and VECtor.
(debug_inline_summary, dump_inline_summaries): Declare.
(inline_summary): Use VOCtor.
(estimate_edge_growth): Kill hack computing call stmt size directly.
* lto-section-in.c (lto_section_name): Add inline section.
* ipa-inline-analysis.c: Include lto-streamer.h
(node_removal_hook_holder, node_duplication_hook_holder): New holders
(inline_node_removal_hook, inline_node_duplication_hook): New functions.
(inline_summary_vec): Define.
(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
dump_inline_summaries): New functions.
(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
(compute_inline_parameters): Alloc inline_summary; do not compute size/time
of incomming calls.
(estimate_edge_time): Avoid missing time summary hack.
(inline_read_summary): Read inline summary info.
(inline_write_summary): Write inline summary info.
(inline_free_summary): Free all hooks and inline summary vector.
* lto-streamer.h: Add LTO_section_inline_summary section.
* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
* lto.c: Include ipa-inline.h
(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
(ipa_node_duplication_hook): Fix declaration.
* Make-lang.in (lto.o): Update dependencies.
From-SVN: r172430
2011-04-14 15:26:44 +02:00
|
|
|
|
(ipa_node_duplication_hook): Fix declaration.
|
|
|
|
|
* Make-lang.in (lto.o): Update dependencies.
|
|
|
|
|
|
2011-04-13 05:09:53 +02:00
|
|
|
|
2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
|
|
|
|
|
calling TREE_CHAIN.
|
|
|
|
|
* lto.c (lto_fixup_common): Likewise.
|
|
|
|
|
|
2011-04-08 19:05:23 +02:00
|
|
|
|
2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
|
|
|
|
|
(handle_type_generic_attribute): Likewise.
|
|
|
|
|
|
lto-streamer.h (struct lto_streamer_cache_d): Remove offsets and next_slot members.
* lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
and next_slot members.
(lto_streamer_cache_insert, lto_streamer_cache_insert_at,
lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
(lto_streamer_cache_append): Declare.
* lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
unsigned index, remove offset parameter, ensure that we append
or update existing entries.
(lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
parameter, update next_slot for append.
(lto_streamer_cache_insert): Use unsigned index, remove offset_p
parameter.
(lto_streamer_cache_insert_at): Likewise.
(lto_streamer_cache_append): New function.
(lto_streamer_cache_lookup): Use unsigned index.
(lto_streamer_cache_get): Likewise.
(lto_record_common_node): Don't test tree_node_can_be_shared.
(preload_common_node): Adjust call to lto_streamer_cache_insert.
(lto_streamer_cache_delete): Don't free offsets member.
* lto-streamer-out.c (eq_string_slot_node): Use memcmp.
(lto_output_string_with_length): Use lto_output_data_stream.
(lto_output_tree_header): Remove ix parameter, don't write it.
(lto_output_builtin_tree): Likewise.
(lto_write_tree): Adjust callers to above, don't track and write
offset, write unsigned index.
(output_unreferenced_globals): Don't emit all global vars.
(write_global_references): Use unsigned indices.
(lto_output_decl_state_refs): Likewise.
(write_symbol): Likewise.
* lto-streamer-in.c (lto_input_chain): Move earlier.
(input_function): Use unsigned index.
(input_alias_pairs): Don't read and then ignore all global vars.
(lto_materialize_tree): Remove ix_p parameter, don't read index,
don't pass it back, use lto_streamer_cache_append.
(lto_register_var_decl_in_symtab): Use unsigned index.
(lto_register_function_decl_in_symtab): Likewise.
(lto_get_pickled_tree): Don't read in or handle offset, read unsigned
index.
(lto_get_builtin_tree): Don't read index, use
lto_streamer_cache_append.
(lto_read_tree): Adjust call to lto_materialize_tree.
* ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
don't use function calls in arguments to MIN.
* varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
twice.
* gimple.c (gimple_type_leader_entry): Mark deletable.
lto/
* lto.c (lto_materialize_function): Don't read and then discard
sections in WPA mode.
(lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
* lto-lang.c (registered_builtin_fndecls): Remove.
(lto_getdecls): Return NULL_TREE.
(lto_builtin_function): Don't remember in registered_builtin_fndecls.
From-SVN: r171906
2011-04-03 13:21:06 +02:00
|
|
|
|
2011-04-03 Michael Matz <matz@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Don't read and then discard
|
|
|
|
|
sections in WPA mode.
|
|
|
|
|
(lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (registered_builtin_fndecls): Remove.
|
|
|
|
|
(lto_getdecls): Return NULL_TREE.
|
|
|
|
|
(lto_builtin_function): Don't remember in registered_builtin_fndecls.
|
|
|
|
|
|
2011-03-31 12:02:00 +02:00
|
|
|
|
2011-03-31 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/48246
|
|
|
|
|
* lto.c (lto_wpa_write_files): Disable assert for non-empty
|
|
|
|
|
partitions when checking is not enabled.
|
|
|
|
|
|
2011-03-25 20:20:52 +01:00
|
|
|
|
2011-03-25 Kai Tietz <ktietz@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Use filename_cmp instead
|
|
|
|
|
of strcmp.
|
|
|
|
|
(lto_read_section_data): Likewise.
|
|
|
|
|
|
2011-03-25 17:39:10 +01:00
|
|
|
|
2011-03-25 Jeff Law <law@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto/lto-lang.c (def_fn_type): Add missing va_end.
|
|
|
|
|
|
2011-03-21 09:29:36 +01:00
|
|
|
|
2011-03-21 Kai Tietz <ktietz@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR target/12171
|
|
|
|
|
* lto-lang.c (lto_attribute_table): Adjust table.
|
|
|
|
|
|
2011-02-18 18:57:47 +01:00
|
|
|
|
2011-02-18 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/47807
|
|
|
|
|
* Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
|
|
|
|
|
of lto-streamer.h.
|
|
|
|
|
|
2011-02-18 17:24:40 +01:00
|
|
|
|
2011-02-18 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/47798
|
|
|
|
|
* lto-tree.h (lto_global_var_decls): Do not declare here.
|
|
|
|
|
* lto-lang.c: Include lto-streamer.h.
|
|
|
|
|
* Make-lang.in (lto-lang.o): Adjust dependencies.
|
|
|
|
|
|
2011-02-10 09:57:24 +01:00
|
|
|
|
2011-02-10 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
PR lto/47241
|
|
|
|
|
* lto.c (lto_read_section_data): Free
|
|
|
|
|
fd_name in failure case.
|
|
|
|
|
For mingw targets don't hash file-descriptor.
|
|
|
|
|
(read_cgraph_and_symbols): Close current_lto_file
|
|
|
|
|
in failure case.
|
|
|
|
|
|
2011-01-11 18:29:52 +01:00
|
|
|
|
2011-01-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR lto/45721
|
|
|
|
|
PR lto/45375
|
2011-04-16 12:43:04 +02:00
|
|
|
|
* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
|
|
|
|
|
are not partitioned.
|
2011-01-11 18:29:52 +01:00
|
|
|
|
|
2010-12-22 20:45:58 +01:00
|
|
|
|
2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
|
|
|
|
|
Use prototype_p.
|
|
|
|
|
|
2010-12-06 11:08:43 +01:00
|
|
|
|
2010-12-06 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/46796
|
|
|
|
|
* lto-lang.c (lto_init): Give names to basic types.
|
|
|
|
|
|
hwint.c: New.
* 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
2010-11-30 17:36:19 +01:00
|
|
|
|
2010-11-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-object.c: Don't include toplev.h.
|
|
|
|
|
* Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
|
|
|
|
|
|
diagnostic-core.h: Include bversion.h.
* 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
2010-11-30 12:41:24 +01:00
|
|
|
|
2010-11-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
|
|
|
|
|
$(TOPLEV_H).
|
|
|
|
|
|
system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
* 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
2010-11-29 15:09:41 +01:00
|
|
|
|
2010-11-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2010-11-23 15:20:55 +01:00
|
|
|
|
2010-11-23 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
|
|
|
|
|
|
2010-11-23 13:52:16 +01:00
|
|
|
|
2010-11-23 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/46605
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Bail out after errors.
|
|
|
|
|
|
2010-11-17 15:31:07 +01:00
|
|
|
|
2010-11-17 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Take no arguments.
|
|
|
|
|
* lto.h (lto_main): Update prototype.
|
|
|
|
|
|
2010-11-17 02:03:06 +01:00
|
|
|
|
2010-11-16 Ian Lance Taylor <iant@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-object.c (lto_obj_file_open): Call
|
|
|
|
|
simple_object_attributes_merge rather than
|
|
|
|
|
simple_object_attributes_compare.
|
|
|
|
|
|
Makefile.in (OPTS_H): Define.
* 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
2010-11-13 00:26:56 +01:00
|
|
|
|
2010-11-12 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto.o): Use $(OPTS_H).
|
|
|
|
|
* lto-lang.c (lto_handle_option): Take location_t parameter.
|
|
|
|
|
|
cfgloop.c (verify_loop_structure): Use %' in diagnostics.
* 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
2010-11-11 00:23:15 +01:00
|
|
|
|
2010-11-10 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Start diagnostics with lowercase
|
|
|
|
|
letters and remove trailing '.'.
|
|
|
|
|
(lto_file_finalize): Start diagnostic with a lowercase letter.
|
|
|
|
|
|
2010-11-02 15:48:34 +01:00
|
|
|
|
2010-11-02 Ian Lance Taylor <iant@google.com>
|
|
|
|
|
|
|
|
|
|
* 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).
|
|
|
|
|
|
2010-10-26 22:10:03 +02:00
|
|
|
|
2010-10-22 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (add_cgraph_node_to_partition,
|
|
|
|
|
add_varpool_node_to_partition): Add debug info.
|
|
|
|
|
(lto_1_to_1_map, lto_balanced_map): Do not re-add already
|
|
|
|
|
partitioned nodes.
|
|
|
|
|
(do_whole_program_analysis): Set function flags before dumping.
|
|
|
|
|
|
2010-10-22 19:50:19 +02:00
|
|
|
|
2010-10-22 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
|
|
|
|
|
the new gimple_register_canonical_type.
|
|
|
|
|
|
2010-10-20 14:38:22 +02:00
|
|
|
|
2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/45954
|
|
|
|
|
* config-lang.in (boot_language): Set to $enable_lto.
|
|
|
|
|
|
2010-10-18 17:16:07 +02:00
|
|
|
|
2010-10-18 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR lto/45638
|
|
|
|
|
* Make-lang.in (check-lto): New dummy target.
|
|
|
|
|
|
2010-10-14 14:43:37 +02:00
|
|
|
|
2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (SHN_XINDEX): Define if not already defined.
|
|
|
|
|
|
Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
* 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
2010-10-08 17:17:32 +02:00
|
|
|
|
2010-10-08 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2010-10-08 02:50:24 +02:00
|
|
|
|
2010-10-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_balanced_map): Fix accounting of program size.
|
|
|
|
|
|
2010-10-07 13:18:28 +02:00
|
|
|
|
2010-10-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_balanced_map): Do not produce empty partitions.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-10-06 Andi Kleen <ak@linux.intel.com>
|
2010-10-07 00:02:58 +02:00
|
|
|
|
|
|
|
|
|
* lto.c (lto_process_name): Add.
|
|
|
|
|
(lto_main): Call lto_process_name.
|
|
|
|
|
|
2010-10-06 19:28:13 +02:00
|
|
|
|
2010-10-06 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
|
|
|
|
|
COMDATs required by the linker.
|
|
|
|
|
|
2010-10-05 20:40:09 +02:00
|
|
|
|
2010-10-05 Ian Lance Taylor <iant@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_section_with_id): Make s a const pointer.
|
|
|
|
|
|
2010-10-05 19:57:09 +02:00
|
|
|
|
2010-10-05 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-10-04 Andi Kleen <ak@linux.intel.com>
|
Mark linker Makefile rules for job server build
-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
2010-10-04 19:09:45 +02:00
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto1): Add + to build rule.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-10-03 Andi Kleen <ak@linux.intel.com>
|
2010-10-03 17:56:06 +02:00
|
|
|
|
|
|
|
|
|
* lto.c (lto_file_finalize): Replace gcc_assert for missing section
|
|
|
|
|
with fatal_error.
|
|
|
|
|
|
builtin-attrs.def (ATTR_LEAF): New attribute.
* 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
2010-09-28 18:34:36 +02:00
|
|
|
|
2010-09-28 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_leaf_attribute): New function.
|
|
|
|
|
(lto_attribute_tables): Add leaf.
|
|
|
|
|
|
2010-09-25 16:53:20 +02:00
|
|
|
|
2010-09-25 Jie Zhang <jie@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_all_file_options): Start a new line after
|
|
|
|
|
printing out file names.
|
|
|
|
|
|
lto-symtab.c (lto_symtab_entry_def): Add guessed field.
* 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
2010-09-24 23:47:59 +02:00
|
|
|
|
2010-09-24 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
|
|
|
|
|
|
2010-09-20 17:48:42 +02:00
|
|
|
|
2010-09-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
PR tree-optimize/45605
|
|
|
|
|
* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
|
|
|
|
|
|
2010-09-18 18:24:38 +02:00
|
|
|
|
2010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_obj_file_open): Also provide filename when
|
|
|
|
|
elf_begin fails.
|
|
|
|
|
|
2010-09-17 13:27:25 +02:00
|
|
|
|
2010-09-17 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_promote_cross_file_statics): Use const_value_known.
|
|
|
|
|
|
2010-09-17 11:04:14 +02:00
|
|
|
|
2010-09-17 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lang.opt (flag_wpa): Also enable for the driver.
|
|
|
|
|
|
2010-09-17 02:35:22 +02:00
|
|
|
|
2010-09-16 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Do not tamper with STATIC and
|
|
|
|
|
EXTERNAL flags.
|
|
|
|
|
|
2010-09-15 05:08:22 +02:00
|
|
|
|
2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h (struct lang_type): Add variable_size GTY option.
|
|
|
|
|
|
2010-09-09 02:09:07 +02:00
|
|
|
|
2010-09-08 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (real_file_count, real_file_decl_data): New static vars.
|
|
|
|
|
(read_cgraph_and_symbols): Use it.
|
|
|
|
|
|
2010-09-08 15:30:39 +02:00
|
|
|
|
2010-09-08 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Collect again after each
|
|
|
|
|
file.
|
|
|
|
|
|
2010-09-07 17:51:52 +02:00
|
|
|
|
2010-09-07 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
|
|
|
|
|
|
2010-09-03 11:42:37 +02:00
|
|
|
|
2010-09-03 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (validate_file): Always error if validation fails.
|
|
|
|
|
|
2010-08-21 10:13:27 +02:00
|
|
|
|
2010-08-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
|
|
|
|
|
(lto_wpa_write_files): Update comments.
|
|
|
|
|
|
2010-08-20 16:42:28 +02:00
|
|
|
|
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/45357
|
|
|
|
|
* lto.c (lto_materialize_function): Replace has_analyzed_clone
|
|
|
|
|
with has_analyzed_clone_p.
|
|
|
|
|
|
2010-08-20 15:29:36 +02:00
|
|
|
|
2010-08-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (has_analyzed_clone_p): New function
|
|
|
|
|
(lto_materialize_function): Use callgraph to determine if
|
|
|
|
|
body is needed.
|
|
|
|
|
(materialize_cgraph): Remove DECL_IS_BUILTIN check.
|
|
|
|
|
|
2010-08-20 14:48:59 +02:00
|
|
|
|
2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Use FOR_EACH_VEC_ELT.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-07-27 Andi Kleen <ak@linux.intel.com>
|
2010-07-28 16:06:45 +02:00
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto.o): Add dependency to splay-tree.h
|
|
|
|
|
|
2010-07-27 23:23:53 +02:00
|
|
|
|
2010-07-27 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_handle_option): Update prototype and return
|
|
|
|
|
value type. Remove duplicate assignment to result.
|
|
|
|
|
|
langhooks-def.h (lhd_init_options, [...]): New.
* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
(LANG_HOOKS_INIT_OPTIONS): Update default definition.
(LANG_HOOKS_INITIALIZER): Add new hooks.
* langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
* langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
and complain_wrong_lang_p. Update init_options prototype.
* c-objc-common.c (c_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
* coretypes.h (struct cl_option, struct cl_decoded_option):
Declare.
* hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* opts-common.c (decode_cmdline_option,
decode_cmdline_options_to_array): Also fill in canonical_option
field.
* opts.c (complain_wrong_lang): Use langhook to determine whether
to complain instead of special-casing LTO.
(decode_options): Separate lang_mask determination with
option_lang_mask hook from call of init_options hook.
* opts.h (struct cl_decoded_option): Add canonical_option.
ada:
* gcc-interface/misc.c (gnat_option_lang_mask): New.
(gnat_init_options): Update prototype. Reconstruct argv array
from decoded options.
c-family:
* c-common.h (c_common_option_lang_mask,
c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype.
* c-opts.c (c_common_option_lang_mask): New.
(c_common_initialize_diagnostics): Split out of
c_common_init_options.
(accept_all_c_family_options, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype. Use decoded options in
search for -lang-asm.
cp:
* cp-objcp-common.c (cxx_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
fortran:
* cpp.c (gfc_cpp_init_options): Update prototype. Use number of
decoded options in allocating deferred_opt.
* cpp.h (gfc_cpp_init_options): Update prototype.
* f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
* gfortran.h (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype.
* options.c (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype. Pass new arguments to
gfc_cpp_init_options.
java:
* lang.c (java_option_lang_mask): New.
(java_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK): Define.
lto:
* lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
New.
(lto_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
Define.
From-SVN: r162560
2010-07-27 11:59:51 +02:00
|
|
|
|
2010-07-27 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
|
|
|
|
|
New.
|
|
|
|
|
(lto_init_options): Update prototype.
|
|
|
|
|
(LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
|
|
|
|
|
Define.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-07-10 Andi Kleen <ak@linux.intel.com>
|
2010-07-23 07:33:51 +02:00
|
|
|
|
|
|
|
|
|
PR lto/44992
|
|
|
|
|
* lto.c: Include splay-tree.h
|
|
|
|
|
(lto_resolution_read): Change to walk file_ids tree and parse
|
|
|
|
|
extra file_id in resolution file.
|
|
|
|
|
(lto_section_with_id): Add.
|
|
|
|
|
(create_subid_section_table): Add.
|
|
|
|
|
(lwstate): Add.
|
|
|
|
|
(lto_create_files_from_ids): Add.
|
|
|
|
|
(lto_file_read): Change to handle sub file ids and create list
|
|
|
|
|
of file_datas. Add output argument for count.
|
|
|
|
|
(get_section_data): Pass file_data to lto_get_section_name.
|
|
|
|
|
(lto_flatten_file): Add.
|
|
|
|
|
(read_cgraph_and_symbols): Handle linked lists of file_datas.
|
|
|
|
|
|
2013-10-23 23:30:54 +02:00
|
|
|
|
2010-07-10 Andi Kleen <ak@linux.intel.com>
|
2010-07-23 07:54:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-coff.c (hash_name, eq_name): Move.
|
|
|
|
|
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
|
|
|
|
|
* lto-elf.c: (hash_name, eq_name): Move.
|
|
|
|
|
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
|
|
|
|
|
* lto-macho.c: (hash_name, eq_name): Move.
|
|
|
|
|
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
|
|
|
|
|
* lto.c: (hash_name, eq_name): Move from lto-*.c
|
|
|
|
|
(lto_obj_create_section_hash_table): Add.
|
|
|
|
|
(free_with_string): Add.
|
|
|
|
|
|
2010-07-08 06:22:54 +02:00
|
|
|
|
2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto-coff.c: Include diagnostic-core.h in every file that
|
|
|
|
|
includes toplev.h.
|
|
|
|
|
* lto-elf.c: Likewise.
|
|
|
|
|
* lto-lang.c: Likewise.
|
|
|
|
|
* lto-macho.c: Likewise.
|
|
|
|
|
|
2010-07-07 23:16:28 +02:00
|
|
|
|
2010-07-07 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
|
|
|
|
|
(validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
|
|
|
|
|
objects.
|
|
|
|
|
|
2010-07-05 20:25:04 +02:00
|
|
|
|
2010-07-05 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (add_cgraph_node_to_partition): Forward declare; walk also
|
|
|
|
|
nodes from same comdat group as well as all comdat functions referenced
|
|
|
|
|
here.
|
2011-04-16 12:43:04 +02:00
|
|
|
|
(add_varpool_node_to_partition, add_references_to_partition): New
|
|
|
|
|
function.
|
|
|
|
|
(lto_1_1_map): Skip COMDAT fnctions/variables; use
|
|
|
|
|
add_varpool_node_to_partition; clear aux flags when done.
|
|
|
|
|
(lto_promote_cross_file_statics): Do not promote stuff that gets
|
|
|
|
|
duplicated to each ltrans.
|
2010-07-05 20:25:04 +02:00
|
|
|
|
|
2010-07-05 00:21:39 +02:00
|
|
|
|
2010-07-04 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
|
|
|
|
|
|
2010-06-13 16:14:17 +02:00
|
|
|
|
2010-06-13 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
|
|
|
|
|
|
2010-06-09 15:57:42 +02:00
|
|
|
|
2010-06-09 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Pre-initialize local variable r.
|
|
|
|
|
* lto-coff.c (coff_write_object_file): Add braces to if.
|
|
|
|
|
|
utils.c (init_gnat_to_gnu): Use typed GC allocation.
gcc/ada:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
allocation.
(init_dummy_type): Likewise.
(gnat_pushlevel): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(start_stmt_group): Likewise.
(extract_encoding): Likewise.
(decode_name): Likewise.
* gcc-interface/misc.c (gnat_printable_name): Likewise.
* gcc-interface/decl.c (annotate_value): Likewise.
* gcc-interface/ada-tree.h (struct lang_type): Add variable_size
GTY option.
(struct lang_decl): Likewise.
(SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
(SET_DECL_LANG_SPECIFIC): Likewise.
gcc/c-family:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* c-pragma.c (push_alignment): Use typed GC allocation.
(handle_pragma_push_options): Likewise.
* c-common.c (parse_optimize_options): Likewise.
* c-common.h (struct sorted_fields_type): Add variable_size GTY
option.
gcc/cp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* typeck2.c (abstract_virtuals_error): Likewise.
* pt.c (maybe_process_partial_specialization): Likewise.
(register_specialization): Likewise.
(add_pending_template): Likewise.
(lookup_template_class): Likewise.
(push_tinst_level): Likewise.
* parser.c (cp_lexer_new_main): Likewise.
(cp_lexer_new_from_tokens): Likewise.
(cp_token_cache_new): Likewise.
(cp_parser_context_new): Likewise.
(cp_parser_new): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_template_id): Likewise.
* name-lookup.c (binding_entry_make): Likewise.
(binding_table_construct): Likewise.
(binding_table_new): Likewise.
(cxx_binding_make): Likewise.
(pushdecl_maybe_friend): Likewise.
(begin_scope): Likewise.
(push_to_top_level): Likewise.
* lex.c (init_reswords): Likewise.
(retrofit_lang_decl): Likewise.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.
* decl.c (make_label_decl): Likewise.
(check_goto): Likewise.
(start_preparsed_function): Likewise.
(save_function_data): Likewise.
* cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
* class.c (finish_struct_1): Likewise.
* cp-tree.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
* parser.c (cp_parser_new): Update comment to not reference
ggc_alloc.
gcc/fortran:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* trans-types.c (gfc_get_nodesc_array_type): Use typed GC
allocation.
(gfc_get_array_type_bounds): Likewise.
* trans-decl.c (gfc_allocate_lang_decl): Likewise.
(gfc_find_module): Likewise.
* f95-lang.c (pushlevel): Likewise.
* trans.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
gcc/java:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* jcf-reader.c (jcf_parse_constant_pool): Use typed GC allocation.
* jcf-parse.c (java_parse_file): Likewise.
(process_zip_dir): Likewise.
* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
* expr.c (add_type_assertion): Likewise.
* decl.c (make_binding_level): Likewise.
(java_dup_lang_specific_decl): Likewise.
* constants.c (set_constant_entry): Likewise.
(cpool_for_class): Likewise.
* class.c (add_method_1): Likewise.
(java_treetreehash_new): Likewise.
* java-tree.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
* jch.h (struct cpool_entry): Likewise.
* java-tree.h (java_treetreehash_create): Remove parameter ggc.
* except.c (prepare_eh_table_type): Update
java_treetreehash_create call.
* class.c (add_method_1): Update java_treetreehash_create call.
(java_treetreehash_create): Remove parameter gc. Use
htab_create_ggc.
gcc/lto:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* lto.c (lto_read_in_decl_state): Use typed GC allocation.
(lto_file_read): Likewise.
(new_partition): Likewise.
(read_cgraph_and_symbols): Likewise.
gcc/objc:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
allocation.
* objc-act.c (objc_volatilize_decl): Likewise.
(objc_build_string_object): Likewise.
(hash_init): Likewise.
(hash_enter): Likewise.
(hash_add_attr): Likewise.
(add_class): Likewise.
(start_class): Likewise.
gcc/objcp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
allocation.
gcc:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
* doc/gty.texi (GTY Options): Document typed GC allocation and
variable_size GTY option.
* ggc-internal.h: New.
* ggc.h: Update copyright year.
(digit_string): Move to stringpool.c.
(ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
(gt_pch_save_stringpool, gt_pch_fixup_stringpool)
(gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
(init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
(ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
(ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
(ggc_force_collect, ggc_get_size, ggc_statistics)
(ggc_print_common_statistics): Move to ggc-internal.h.
(digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
(ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
(GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
(ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
(ggc_min_heapsize_heuristic, ggc_alloc_zone)
(ggc_alloc_zone_pass_stat): Remove.
(ggc_internal_alloc_stat, ggc_internal_alloc)
(ggc_internal_cleared_alloc_stat): New.
(GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
(ggc_internal_vec_alloc_stat)
(ggc_internal_cleared_vec_alloc_stat)
(ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
(ggc_alloc_atomic_stat, ggc_alloc_atomic)
(ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
(ggc_cleared_alloc_ptr_array_two_args): New.
(htab_create_ggc, splay_tree_new_ggc): Redefine.
(ggc_splay_alloc): Change the type of the first argument to
enum gt_types_enum.
(ggc_alloc_string): Make macro.
(ggc_alloc_string_stat): New.
(ggc_strdup): Redefine.
(rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
(ggc_alloc_rtvec_sized): New.
(ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
(ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
(ggc_internal_cleared_alloc_zone_stat)
(ggc_internal_zone_alloc_stat)
(ggc_internal_zone_cleared_alloc_stat)
(ggc_internal_zone_vec_alloc_stat)
(ggc_alloc_zone_rtx_def_stat)
(ggc_alloc_zone_tree_node_stat)
(ggc_alloc_zone_cleared_tree_node_stat)
(ggc_alloc_cleared_gimple_statement_d_stat): New.
* ggc-common.c: Include ggc-internal.h.
(ggc_internal_cleared_alloc_stat): Rename from
ggc_alloc_cleared_stat.
(ggc_realloc_stat): Use ggc_internal_alloc_stat.
(ggc_calloc): Remove.
(ggc_cleared_alloc_htab_ignore_args): New.
(ggc_cleared_alloc_ptr_array_two_args): New.
(ggc_splay_alloc): Add obj_type parameter.
(init_ggc_heuristics): Formatting fixes.
* ggc-none.c: Update copyright year.
(ggc_alloc_stat): Rename to ggc_alloc_stat.
(ggc_alloc_cleared_stat): Rename to
ggc_internal_cleared_alloc_stat.
(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
* ggc-page.c: Update copyright year. Include ggc-internal.h.
Remove references to ggc_alloc in comments.
(ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
(ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
(new_ggc_zone, destroy_ggc_zone): Remove.
(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
* ggc-zone.c: Include ggc-internal.h. Remove references to
ggc_alloc in comments.
(ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
(ggc_internal_alloc_zone_pass_stat): New.
(ggc_internal_cleared_alloc_zone_stat): New.
(ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
(ggc_alloc_stat): Rename ggc_internal_alloc_stat.
(new_ggc_zone, destroy_ggc_zone): Remove.
* stringpool.c: Update copyright year. Include ggc-internal.h
(digit_vector): Make static.
(digit_string): Moved from ggc.h.
(stringpool_ggc_alloc): Use ggc_alloc_atomic.
(ggc_alloc_string): Rename to ggc_alloc_string_stat.
* Makefile.in (GGC_INTERNAL_H): New.
(ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
$(GGC_INTERNAL_H) to dependencies.
* gentype.c: Update copyright year.
(walk_type): Accept variable_size GTY option.
(USED_BY_TYPED_GC_P): New macro.
(write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
whitespace at the end of strings.
(get_type_specifier, variable_size_p): New functions.
(alloc_quantity, alloc_zone): New enums.
(write_typed_alloc_def): New function.
(write_typed_struct_alloc_def): Likewise.
(write_typed_typed_typedef_alloc_def): Likewise.
(write_typed_alloc_defns): Likewise.
(output_typename, write_splay_tree_allocator_def): Likewise.
(write_splay_tree_allocators): Likewise.
(main): Call write_typed_alloc_defns and
write_splay_tree_allocators.
* lto-streamer.h (lto_file_decl_data_ptr): New.
* passes.c (order): Define using cgraph_node_ptr.
* strinpool.c (struct string_pool_data): Declare nested_ptr using
ht_identifier_ptr.
* gimple.h (union gimple_statement_d): Likewise.
* rtl.h (struct rtx_def): Likewise.
(struct rtvec_def): Likewise.
* tree.h (union tree_node): Likewise.
* tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
* cfgloop.c (record_loop_exits): Use htab_create_ggc.
* tree-scalar-evolution.c (scev_initialize): Likewise.
* alias.c (record_alias_subset): Update splay_tree_new_ggc call.
* dwarf2asm.c (dw2_force_const_mem): Likewise.
* omp-low.c (lower_omp_critical): Likewise.
* bitmap.h (struct bitmap_head_def): Update comment to not
reference ggc_alloc.
* config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
* ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
* ipa-prop.c (duplicate_ggc_array): Rename to
duplicate_ipa_jump_func_array. Use typed GC allocation.
(ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
* gimple.c (gimple_alloc_stat): Use
ggc_alloc_cleared_gimple_statement_d_stat.
* varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
* tree.c (make_node_stat): Use
ggc_alloc_zone_cleared_tree_node_stat.
(make_tree_vec_stat): Likewise.
(build_vl_exp_stat): Likewise.
(copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
(make_tree_binfo_stat): Likewise.
(tree_cons_stat): Likewise.
* rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
(shallow_copy_rtx_stat): Likewise.
(make_node_stat): Likewise.
* lto-symtab.c: Fix comment.
* tree-cfg.c (create_bb): Update comment to not reference
ggc_alloc_cleared.
* tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
value.
* varpool.c (varpool_node): Use typed GC allocation.
(varpool_extra_name_alias): Likewise.
* varasm.c (emutls_decl): Likewise.
(get_unnamed_section): Likewise.
(get_noswitch_section): Likewise.
(get_section): Likewise.
(get_block_for_section): Likewise.
(build_constant_desc): Likewise.
(create_constant_pool): Likewise.
(force_const_mem): Likewise.
* tree.c (build_vl_exp_stat): Likewise.
(build_real): Likewise.
(build_string): Likewise.
(decl_debug_expr_insert): Likewise.
(decl_value_expr_insert): Likewise.
(type_hash_add): Likewise.
(build_omp_clause): Likewise.
* tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
* tree-ssa.c (init_tree_ssa): Likewise.
* tree-ssa-structalias.c (heapvar_insert): Likewise.
* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
* tree-ssa-loop-niter.c (record_estimate): Likewise.
* tree-ssa-alias.c (get_ptr_info): Likewise.
* tree-scalar-evolution.c (new_scev_info_str): Likewise.
* tree-phinodes.c (allocate_phi_node): Likewise.
* tree-iterator.c (tsi_link_before): Likewise.
(tsi_link_after): Likewise.
* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
* tree-dfa.c (create_var_ann): Likewise.
* tree-cfg.c (create_bb): Likewise.
* toplev.c (alloc_for_identifier_to_locale): Likewise.
(general_init): Likewise.
* stringpool.c (stringpool_ggc_alloc): Likewise.
(gt_pch_save_stringpool): Likewise.
* sese.c (if_region_set_false_region): Likewise.
* passes.c (do_per_function_toporder): Likewise.
* optabs.c (set_optab_libfunc): Likewise.
(set_conv_libfunc): Likewise.
* lto-symtab.c (lto_symtab_register_decl): Likewise.
* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
(input_eh_region): Likewise.
(input_eh_lp): Likewise.
(make_new_block): Likewise.
(unpack_ts_real_cst_value_fields): Likewise.
* lto-section-in.c (lto_new_in_decl_state): Likewise.
* lto-cgraph.c (input_node_opt_summary): Likewise.
* loop-init.c (loop_optimizer_init): Likewise.
* lambda.h (lambda_vector_new): Likewise.
* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
* ira.c (update_equiv_regs): Likewise.
* ipa.c (cgraph_node_set_new): Likewise.
(cgraph_node_set_add): Likewise.
(varpool_node_set_new): Likewise.
(varpool_node_set_add): Likewise.
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
(duplicate_ipa_jump_func_array): Likewise.
(ipa_read_node_info): Likewise.
* ipa-cp.c (ipcp_create_replace_map): Likewise.
* integrate.c (get_hard_reg_initial_val): Likewise.
* gimple.c (gimple_alloc_stat): Likewise.
(gimple_build_omp_for): Likewise.
(gimple_seq_alloc): Likewise.
(gimple_copy): Likewise.
* gimple-iterator.c (gsi_insert_before_without_update): Likewise.
(gsi_insert_after_without_update): Likewise.
* function.c (add_frame_space): Likewise.
(insert_temp_slot_address): Likewise.
(assign_stack_temp_for_type): Likewise.
(allocate_struct_function): Likewise.
(types_used_by_var_decl_insert): Likewise.
* except.c (init_eh_for_function): Likewise.
(gen_eh_region): Likewise.
(gen_eh_region_catch): Likewise.
(gen_eh_landing_pad): Likewise.
(add_call_site): Likewise.
* emit-rtl.c (get_mem_attrs): Likewise.
(get_reg_attrs): Likewise.
(start_sequence): Likewise.
(init_emit): Likewise.
* dwarf2out.c (new_cfi): Likewise.
(queue_reg_save): Likewise.
(dwarf2out_frame_init): Likewise.
(new_loc_descr): Likewise.
(find_AT_string): Likewise.
(new_die): Likewise.
(add_var_loc_to_decl): Likewise.
(clone_die): Likewise.
(clone_as_declaration): Likewise.
(break_out_comdat_types): Likewise.
(new_loc_list): Likewise.
(loc_descriptor): Likewise.
(add_loc_descr_to_each): Likewise.
(add_const_value_attribute): Likewise.
(tree_add_const_value_attribute): Likewise.
(add_comp_dir_attribute): Likewise.
(add_name_and_src_coords_attributes): Likewise.
(lookup_filename): Likewise.
(store_vcall_insn): Likewise.
(dwarf2out_init): Likewise.
* dbxout.c (dbxout_init): Likewise.
* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
* config/score/score7.c (score7_output_external): Likewise.
* config/score/score3.c (score3_output_external): Likewise.
* config/s390/s390.c (s390_init_machine_status): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Likewise.
(rs6000_init_machine_status): Likewise.
(output_toc): Likewise.
* config/pa/pa.c (pa_init_machine_status): Likewise.
(get_deferred_plabel): Likewise.
* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
* config/mep/mep.c (mep_init_machine_status): Likewise.
(mep_note_pragma_flag): Likewise.
* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
(i386_pe_maybe_record_exported_symbol): Likewise.
* config/i386/i386.c (get_dllimport_decl): Likewise.
(ix86_init_machine_status): Likewise.
(assign_386_stack_local): Likewise.
* config/frv/frv.c (frv_init_machine_status): Likewise.
* config/darwin.c (machopic_indirection_name): Likewise.
* config/cris/cris.c (cris_init_machine_status): Likewise.
* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
* config/avr/avr.c (avr_init_machine_status): Likewise.
* config/arm/arm.c (arm_init_machine_status): Likewise.
* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
(alpha_need_linkage): Likewise.
(alpha_use_linkage): Likewise.
* cgraph.c (cgraph_allocate_node): Likewise.
(cgraph_create_edge_1): Likewise.
(cgraph_create_indirect_edge): Likewise.
(cgraph_add_asm_node): Likewise.
* cfgrtl.c (init_rtl_bb_info): Likewise.
* cfgloop.c (alloc_loop): Likewise.
(rescan_loop_exit): Likewise.
* cfg.c (init_flow): Likewise.
(alloc_block): Likewise.
(unchecked_make_edge): Likewise.
* c-parser.c (c_parse_init): Likewise.
(c_parse_file): Likewise.
* c-decl.c (bind): Likewise.
(record_inline_static): Likewise.
(push_scope): Likewise.
(make_label): Likewise.
(lookup_label_for_goto): Likewise.
(finish_struct): Likewise.
(finish_enum): Likewise.
(c_push_function_context): Likewise.
* bitmap.c (bitmap_element_allocate): Likewise.
(bitmap_gc_alloc_stat): Likewise.
* alias.c (record_alias_subset): Likewise.
(init_alias_analysis): Likewise.
include:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* splay-tree.h: Update copyright years.
(splay_tree_s): Document fields.
(splay_tree_new_typed_alloc): New.
* hashtab.h: Update copyright years.
(htab_create_typed_alloc): New.
libcpp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* include/symtab.h (ht_identifier_ptr): New.
libiberty:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* splay-tree.c: Update copyright years.
(splay_tree_new_typed_alloc): New.
(splay_tree_new_with_allocator): Use it.
* hashtab.c: Update copyright years.
(htab_create_typed_alloc): New.
(htab_create_alloc): Use it.
* functions.texi: Regenerate.
From-SVN: r160425
2010-06-08 09:25:24 +02:00
|
|
|
|
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_in_decl_state): Use typed GC allocation.
|
|
|
|
|
(lto_file_read): Likewise.
|
|
|
|
|
(new_partition): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
|
common.opt (fira-verbose): Use Var.
* common.opt (fira-verbose): Use Var.
(fpcc-struct-return): Use Init instead of VarExists.
* defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
toplev.c.
* flags.h (flag_signed_char, flag_short_enums,
flag_pcc_struct_return, flag_ira_verbose,
flag_detailed_statistics, flag_remove_unreachable_functions):
Remove.
* toplev.c (flag_detailed_statistics, flag_signed_char,
flag_short_enums, flag_pcc_struct_return, flag_ira_verbose):
Remove.
(DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
* toplev.h (flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
flag_cprop_registers, time_report, flag_ira_loop_pressure,
flag_ira_coalesce, flag_ira_move_spills,
flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
c-family:
* c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
flag_signed_bitfields, warn_strict_null_sentinel,
flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
flag_gen_declaration, flag_no_gnu_keywords,
flag_implement_inlines, flag_implicit_templates,
flag_implicit_inline_templates, flag_optional_diags,
flag_elide_constructors, flag_default_inline, flag_rtti,
flag_conserve_space, flag_access_control, flag_check_new,
flag_new_for_scope, flag_weak, flag_working_directory,
flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
flag_enforce_eh_specs, flag_threadsafe_statics,
flag_pretty_templates): Remove.
* c-common.h (flag_preprocess_only, flag_nil_receivers,
flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
flag_replace_objc_classes, flag_undef, flag_no_builtin,
flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
flag_no_gnu_keywords, flag_implement_inlines,
flag_implicit_templates, flag_implicit_inline_templates,
flag_optional_diags, flag_elide_constructors, flag_default_inline,
flag_rtti, flag_conserve_space, flag_access_control,
flag_check_new, flag_new_for_scope, flag_weak,
flag_working_directory, flag_use_cxa_atexit,
flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
flag_threadsafe_statics, flag_pretty_templates,
warn_strict_null_sentinel): Remove.
* c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
fbuiltin, fcheck-new, fconserve-space, felide-constructors,
fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
fimplicit-inline-templates, fimplicit-templates,
flax-vector-conversions, fms-extensions, fnil-receivers,
fnonansi-builtins, fpretty-templates, freplace-objc-classes,
frtti, fshort-double, fshort-enums, fshort-wchar,
fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
gen-decls, undef): Use Var.
(fdefault-inline, foptional-diags): Document as doing nothing.
* c-opts.c (c_common_handle_option): Remove cases for options now
using Var. Mark ignored options as such.
fortran:
* lang.opt (fshort-enums): Define using Var and VarExists.
* options.c (gfc_handle_option): Don't set flag_short_enums here.
lto:
* lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
(lto_handle_option): Don't set flag_signed_char here.
From-SVN: r160384
2010-06-07 18:46:23 +02:00
|
|
|
|
2010-06-07 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
|
|
|
|
|
(lto_handle_option): Don't set flag_signed_char here.
|
|
|
|
|
|
2010-06-04 13:00:09 +02:00
|
|
|
|
2010-06-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41584
|
|
|
|
|
* lto.c (lto_1_to_1_map): Use the proper file_data for
|
|
|
|
|
varpool nodes.
|
|
|
|
|
|
2010-05-30 15:42:23 +02:00
|
|
|
|
2010-05-30 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
|
|
|
|
|
partitioning decisions.
|
|
|
|
|
|
2010-05-29 21:43:37 +02:00
|
|
|
|
2010-05-29 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (bitmap vector): Remove.
|
|
|
|
|
(lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
|
|
|
|
|
(ltrans_partition_def): New structure.
|
|
|
|
|
(ltrans_partition): New type and VECtor.
|
|
|
|
|
(new_partition): New function.
|
|
|
|
|
(add_cgraph_node_to_partition): New function.
|
|
|
|
|
(lto_1_to_1_map): Reorganize for partitions.
|
|
|
|
|
(lto_add_inline_clones): Remove.
|
|
|
|
|
(lto_add_all_inlinees): Remove.
|
|
|
|
|
(lto_promote_cross_file_statics): Use partitions.
|
|
|
|
|
(cmp_partitions): New function.
|
|
|
|
|
(lto_wpa_write_files): Do not call lto_add_all_inlinees;
|
|
|
|
|
use partitions; output files sorted by size.
|
|
|
|
|
|
2010-05-29 02:14:50 +02:00
|
|
|
|
2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in: Replace vec.h dependency with VEC_H.
|
|
|
|
|
|
2010-05-28 15:03:31 +02:00
|
|
|
|
2010-05-28 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-coff.c (coff_errmsg): Remove.
|
|
|
|
|
(lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
|
|
|
|
|
errors instead of coff_errmsg (-1).
|
|
|
|
|
* lto-macho.c (mach_o_errmsg): Remove.
|
|
|
|
|
(lto_obj_begin_section, lto_obj_append_data): Use %m in errors
|
|
|
|
|
instead of mach_o_errmsg (-1).
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Use %m in errors instead of
|
|
|
|
|
xstrerror (errno).
|
|
|
|
|
|
2010-05-28 14:48:54 +02:00
|
|
|
|
2010-05-28 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (prefix_name_with_star): Removed.
|
|
|
|
|
(strip_extension): Likewise.
|
|
|
|
|
(get_filename_for_set): Likewise.
|
|
|
|
|
(lto_write_ltrans_list): Fold into ...
|
|
|
|
|
(lto_wpa_write_files): ... this. Name LTRANS units
|
|
|
|
|
by suffixing the ltrans output list filename.
|
|
|
|
|
(do_whole_program_analysis): Adjust.
|
|
|
|
|
|
diagnostic-core.h: New.
* diagnostic-core.h: New. Contents moved from diagnostic.h and
toplev.h.
* diagnostic.c: Don't include toplev.h.
(progname): Define. Moved from toplev.c.
(seen_error): New function.
* diagnostic.h: Include diagnostic-core.h.
(diagnostic_t, emit_diagnostic): Don't declare here.
* toplev.c (progname): Move to toplev.c.
(emit_debug_global_declarations, compile_file, finalize,
do_compile, toplev_main): Use seen_error.
* toplev.h: Include diagnostic-core.h.
(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
internal_error, warning, warning_at, error, error_n, error_at,
fatal_error, pedwarn, permerror, sorry, inform, inform_n,
verbatim, fnotice, progname): Move to diagnostic-core.h.
* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
(expand_builtin_expect): Use seen_error.
* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
(c_make_fname_decl, c_write_global_declarations): Use seen_error.
* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
errorcount for errors.
* c-opts.c (c_common_finish): Use seen_error.
* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
* cgraphunit.c (verify_cgraph_node, verify_cgraph,
cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
(get_coverage_counts): Use seen_error.
* dwarf2out.c (dwarf2out_finish): Use seen_error.
* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
gimplify_body): Use seen_error.
* ipa-inline.c (cgraph_early_inlining): Use seen_error.
* ipa-pure-const.c (gate_pure_const): Use seen_error.
* ipa-reference.c (gate_reference): Use seen_error.
* jump.c: Include diagnostic-core.h instead of diagnostic.h.
* lambda-code.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
* lto-compress.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-section-in.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-streamer-out.c: Include diagnostic-core.h instead of
diagnostic.h.
* lto-streamer.c: Include diagnostic-core.h instead of
diagnostic.h.
(gate_lto_out): Use seen_error.
* matrix-reorg.c: Include diagnostic-core.h instead of
diagnostic.h.
* omega.c: Include diagnostic-core.h instead of diagnostic.h.
* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
(gate_expand_omp, lower_omp_1): Use seen_error.
* passes.c: Include diagnostic-core.h instead of diagnostic.h.
(rest_of_decl_compilation, rest_of_type_compilation,
gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
* tree-cfg.c (label_to_block_fn): Use seen_error.
* tree-inline.c (optimize_inline_calls): Use seen_error.
* tree-mudflap.c (mudflap_finish_file): Use
seen_error.
* tree-optimize.c (gate_all_optimizations,
gate_all_early_local_passes, gate_all_early_optimizations): Use
seen_error.
* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
(varpool_remove_unreferenced_decls,
varpool_assemble_pending_decls): Use seen_error.
* Makefile.in (DIAGNOSTIC_CORE_H): Define.
(TOPLEV_H, DIAGNOSTIC_H): Update.
(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
coverage.o, lambda-code.o): Update dependencies.
cp:
* call.c: Include diagnostic-core.h instead of diagnostic.h.
* cp-lang.c: Don't include diagnostic.h
* name-lookup.c: Include diagnostic-core.h instead of
diagnostic.h.
(cp_emit_debug_info_for_using): Use seen_error.
* optimize.c: Include diagnostic-core.h instead of diagnostic.h.
* parser.c: Include diagnostic-core.h instead of diagnostic.h.
* pt.c (iterative_hash_template_arg): Use seen_error.
* repo.c: Include diagnostic-core.h instead of diagnostic.h.
* typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
* Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
dependencies.
lto:
* lto.c: Include diagnostic-core.h instead of diagnostic.h.
(read_cgraph_and_symbols, lto_main): Use seen_error.
* Make-lang.in (lto/lto.o): Update dependencies.
objc:
* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
* Make-lang.in (objc/objc-act.o): Update dependencies.
From-SVN: r159947
2010-05-27 22:16:07 +02:00
|
|
|
|
2010-05-27 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include diagnostic-core.h instead of diagnostic.h.
|
|
|
|
|
(read_cgraph_and_symbols, lto_main): Use seen_error.
|
|
|
|
|
* Make-lang.in (lto/lto.o): Update dependencies.
|
|
|
|
|
|
2010-05-27 16:11:35 +02:00
|
|
|
|
2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
PR lto/44230
|
|
|
|
|
* lto.h (lto_eh_personality): New prototype.
|
|
|
|
|
* lto.c: Include debug.h.
|
|
|
|
|
(first_personality_decl): New static variable.
|
|
|
|
|
(lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
|
|
|
|
|
first function for which it is non-null.
|
|
|
|
|
(lto_eh_personality_decl): New static variable.
|
|
|
|
|
(lto_eh_personality): New function.
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
|
|
|
|
|
* Make-lang.in (lto/lto.o): Add dependency on debug.h.
|
|
|
|
|
|
2010-05-26 12:34:40 +02:00
|
|
|
|
2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Do not include expr.h.
|
|
|
|
|
|
2010-05-24 14:27:30 +02:00
|
|
|
|
2010-05-24 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_obj_build_section_table): Work around
|
|
|
|
|
FreeBSD libelf issue.
|
|
|
|
|
|
2010-05-22 14:56:53 +02:00
|
|
|
|
2010-05-22 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Do not collect.
|
|
|
|
|
|
2010-05-20 01:55:38 +02:00
|
|
|
|
2010-05-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (promote_var, promote_fn): New functions.
|
|
|
|
|
(lto_promote_cross_file_statics): Compute correctly boundary including
|
|
|
|
|
static initializers of readonly vars.
|
|
|
|
|
|
2010-05-18 01:12:14 +02:00
|
|
|
|
2010-05-18 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
2010-05-20 01:55:38 +02:00
|
|
|
|
* lto.c (lto_1_to_1_map): Partition non-inline clones.
|
2010-05-18 01:12:14 +02:00
|
|
|
|
(lto_promote_cross_file_statics): Deal with non-inline clones.
|
|
|
|
|
|
2010-05-18 00:42:02 +02:00
|
|
|
|
2010-05-18 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Announce function when
|
|
|
|
|
reading body; allocate_struct_function only when reading body;
|
|
|
|
|
do not finalize local statics; ggc_collect after reading;
|
|
|
|
|
do not mark reachable node.
|
|
|
|
|
(materialize_cgraph): Do not announce function.
|
|
|
|
|
|
2010-05-12 12:05:16 +02:00
|
|
|
|
2010-05-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (materialize_cgraph): Revert my previous patch.
|
|
|
|
|
|
2010-05-11 20:42:04 +02:00
|
|
|
|
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
|
|
|
|
|
IMAGE_FILE_MACHINE_AMD64.
|
|
|
|
|
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
|
|
|
|
|
|
2010-05-11 18:27:31 +02:00
|
|
|
|
2010-05-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_decls): Remove global var decls freeing here.
|
|
|
|
|
(materialize_cgraph): Add it here.
|
|
|
|
|
|
2010-05-11 17:52:36 +02:00
|
|
|
|
2010-05-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
|
|
|
|
|
vector.
|
|
|
|
|
|
|
|
|
|
2010-05-11 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Remove some no longer needed checks.
|
|
|
|
|
(lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
|
|
|
|
|
use reachable_from_other_partition_p and
|
|
|
|
|
referenced_from_other_partition_p test.
|
|
|
|
|
|
2010-05-11 17:05:36 +02:00
|
|
|
|
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* lto-coff.c (validate_file): Add x64-coff support.
|
|
|
|
|
* lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
|
|
|
|
|
(COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
|
|
|
|
|
* lto-lang.c (lto_build_c_type_nodes): Add check for
|
|
|
|
|
'long long unsigned int' for x64-windows.
|
|
|
|
|
(lto_init): Likewise.
|
|
|
|
|
|
|
|
|
|
|
configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO.
ChangeLog:
* configure.ac (--enable-lto): Add x86_64-apple-darwin* as
a platform that supports LTO.
* configure: Regenerate.
gcc/ChangeLog:
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
lto-macho as lto_binary_reader.
* target.h (struct gcc_target): New hooks lto_start and lto_end.
* target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
* cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
in lto_start and lto_end calls.
(is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
magic numbers.
(scan_prog_file): Update is_elf_or_coff call.
* doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
* collect2.c (main): Fix enum comparison.
* config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
Add prototypes.
* darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
* darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
and TARGET_ASM_LTO_END.
* darwin.c: Include obstack.h and lto-streamer.h.
(lto_section_names_offset, lto_section_names_obstack,
lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
global variables.
(LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
(darwin_asm_lto_start): New function. Redirect output to asm_out_file
to a temporary file.
(darwin_asm_lto_end): New function. Restore asm_out_file.
(darwin_asm_named_section): For LTO sections, replace the name with
the offset of the section name in a string table, and build this
table.
(darwin_file_start): Initialize global vars for LTO support.
(darwin_file_end): If output to asm_out_file was redirected, append it
to the proper asm_out_file here. Add the section names section.
lto/ChangeLog:
* lto.h (struct lto_file_struct): Document offset member.
* lto-endian.h: New file.
* lto-macho.h: New file.
* lto-macho.c: New file.
* Make-lang.in: Add rule for lto-macho.o.
From-SVN: r159173
2010-05-07 23:37:43 +02:00
|
|
|
|
2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto.h (struct lto_file_struct): Document offset member.
|
|
|
|
|
* lto-endian.h: New file.
|
|
|
|
|
* lto-macho.h: New file.
|
|
|
|
|
* lto-macho.c: New file.
|
|
|
|
|
* Make-lang.in: Add rule for lto-macho.o.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2010-05-07 Richard Guenther <rguenther@suse.de>
|
2010-05-07 17:53:40 +02:00
|
|
|
|
|
|
|
|
|
PR lto/43857
|
|
|
|
|
PR lto/43371
|
|
|
|
|
* lang.opt (fresolution): Change to ...
|
|
|
|
|
(fresolution=): ... this.
|
|
|
|
|
* lto-lang.c (lto_handle_option): Adjust.
|
|
|
|
|
|
2010-05-07 17:52:01 +02:00
|
|
|
|
2010-05-07 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (DUMPBASE_SUFFIX): Remove.
|
|
|
|
|
(lto_execute_ltrans): Move functionality to lto-wrapper.c.
|
|
|
|
|
Rename to ...
|
|
|
|
|
(lto_write_ltrans_list): ... only output the list of ltrans files.
|
|
|
|
|
(lto_maybe_unlink): Remove.
|
|
|
|
|
(do_whole_program_analysis): Do not execute LTRANS phase
|
|
|
|
|
from here.
|
|
|
|
|
|
2010-05-06 15:03:12 +02:00
|
|
|
|
2010-05-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_handle_option): Add argument kind.
|
|
|
|
|
|
2010-05-06 10:39:32 +02:00
|
|
|
|
2010-05-05 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
2010-05-07 17:52:01 +02:00
|
|
|
|
* lto.c (lto_promote_cross_file_statics): Compute boundary based on
|
|
|
|
|
refs.
|
2010-05-06 10:39:32 +02:00
|
|
|
|
|
lto-cgraph.c (output_varpool): Forward declare; work on encoder.
* lto-cgraph.c (output_varpool): Forward declare; work on encoder.
(lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode
lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size,
lto_varpool_encoder_encode_initializer_p,
lto_set_varpool_encoder_encode_initializer): New functions.
(lto_output_cgraph): Take vset parameter too; compute varpool encoder;
call output_varpool.
(input_varpool_node): Do not always set analyzed.
(input_cgraph_1): Return vector of cgraph nodes.
(input_varpool_1): Return vector of varpools.
(input_cgraph): Free the vectors.
* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
output only initializers needed.
(lto_output): Only call output_cgraph.
(produce_asm_for_decls): Call lto_varpool_encoder_delete.
* lto-section-out.c (lto_new_out_decl_state): Initialize
state->varpool_node_encoder.
* lto-streamer.h (lto_varpool_encoder_d): New.
(lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
(lto_cgraph_encoder_delete, output_cgraph): Update prototype.
(lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
lto_varpool_encoder_encode, lto_varpool_encoder_delete,
lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
Declare.
(output_varpool, input_varpool): Remove declarations.
* lto.c (lto_1_to_1_map): Partition only needed nodes.
From-SVN: r159062
2010-05-05 12:21:42 +02:00
|
|
|
|
2010-05-05 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Partition only needed nodes.
|
|
|
|
|
|
2010-04-30 20:44:41 +02:00
|
|
|
|
2010-04-30 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
2011-04-16 12:43:04 +02:00
|
|
|
|
* lto.c (get_filename_for_set): Look for cgraph node and if none found,
|
|
|
|
|
use default name.
|
2010-04-30 20:44:41 +02:00
|
|
|
|
(lto_wpa_write_files): Write any non-empty partition.
|
|
|
|
|
|
2010-04-30 16:26:51 +02:00
|
|
|
|
2010-04-30 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c: Do not attempt to make constant pool references global.
|
|
|
|
|
|
2010-04-30 00:44:18 +02:00
|
|
|
|
2010-04-28 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto/lto.c (lto_read_in_decl_state): Use GGC.
|
|
|
|
|
(lto_wpa_write_files): Announce what we are writting.
|
|
|
|
|
(all_file_decl_data): New.
|
|
|
|
|
(read_cgraph_and_symbols): Use GGC; correct timevars.
|
|
|
|
|
(do_whole_program_analysis): Collect.
|
|
|
|
|
* lto/Make-lang.in (lto.o): Fix dependency.
|
|
|
|
|
* Makefile.in (GTFILES): Add lto-streamer.h.
|
|
|
|
|
* varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
|
|
|
|
|
(varpool_assemble_pending_decls): Use VAROUT.
|
|
|
|
|
* lto-streamer.h (lto_tree_ref_table): Annotate.
|
|
|
|
|
(lto_in_decl_state): Annotate.
|
|
|
|
|
(lto_file_decl_data): Annotate.
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_entry_def) Add vnode.
(lto_varpool_replace_node): New.
(lto_symtab_resolve_symbols): Resolve varpool nodes.
(lto_symtab_merge_decls_1): Prefer decls with varpool node.
(lto_symtab_merge_cgraph_nodes_1): Merge varpools.
* cgraph.h (varpool_node_ptr): New type.
(varpool_node_ptr): New vector.
(varpool_node_set_def): New structure.
(varpool_node_set): New type.
(varpool_node_set): New vector.
(varpool_node_set_element_def): New structure.
(varpool_node_set_element, const_varpool_node_set_element): New types.
(varpool_node_set_iterator): New type.
(varpool_node): Add prev pointers, add used_from_other_partition,
in_other_partition.
(varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
varpool_get_node, varpool_remove_node): Declare.
(vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
varpool_node_set_size): New inlines.
* cgraph.c (dump_cgraph_node): Dump asm names of aliases.
* tree-pass.h (varpool_node_set_def): Forward declare.
(ipa_opt_pass_d): Summary writting takes vnode sets too.
(ipa_write_optimization_summaries): Update prototype.
* ipa-cp.c (ipcp_write_summary): Update.
* ipa-reference.c (ipa_reference_write_summary): Update.
* lto-cgraph.c (lto_output_varpool_node): New static function.
(output_varpool): New function.
(input_varpool_node): New static function.
(input_varpool_1): New function.
(input_cgraph): Input varpool.
* ipa-pure-const.c (pure_const_write_summary): Update.
* lto-streamer-out.c (lto_output): Update, output varpool too.
(write_global_stream): Kill WPA hack.
(produce_asm_for_decls): Update.
(output_alias_pair_p): Handle variables.
(output_unreferenced_globals): Output only needed partition of varpool.
* ipa-inline.c (inline_write_summary): Update.
* lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph.
* lto-section-in.c (lto_section_name): Add varpool and jump funcs.
* ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
varpool_node_set_new, varpool_node_set_add,
varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
debug_varpool_node_set): New functions.
* passes.c (rest_of_decl_compilation): when in LTO do not finalize.
(execute_one_pass): Process new decls too.
(ipa_write_summaries_2): Pass around vsets.
(ipa_write_summaries_1): Likewise.
(ipa_write_summaries): Build vset; be more selective about cgraph nodes
to add.
(ipa_write_optimization_summaries_1): Pass around vsets.
(ipa_write_optimization_summaries): Likewise.
* varpool.c (varpool_get_node): New.
(varpool_node): Update doubly linked lists.
(varpool_remove_node): New.
(dump_varpool_node): More dumping.
(varpool_enqueue_needed_node): Update doubly linked lists.
(decide_is_variable_needed): Kill ltrans hack.
(varpool_finalize_decl): Kill lto hack.
(varpool_assemble_decl): Skip decls in other partitions.
(varpool_assemble_pending_decls): Update doubly linkes lists.
(varpool_empty_needed_queue): Likewise.
(varpool_extra_name_alias): Likewise.
* lto-streamer.c (lto_get_section_name): Add vars section.
* lto-streamer.h (lto_section_type): Update.
(output_varpool, input_varpool): Declare.
* lto.c (lto_varpool_node_sets): New.
(lto_1_to_1_map): Partition varpool too.
(globalize_context_t, globalize_cross_file_statics,
lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
lto_scan_statics_in_remaining_global_vars): Remove.
(lto_promote_cross_file_statics): Rewrite.
(get_filename_for_set): Take vset argument.
(lto_wpa_write_files): Pass around vsets.
From-SVN: r158854
2010-04-29 09:10:38 +02:00
|
|
|
|
2010-04-28 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_varpool_node_sets): New.
|
|
|
|
|
(lto_1_to_1_map): Partition varpool too.
|
|
|
|
|
(globalize_context_t, globalize_cross_file_statics,
|
|
|
|
|
lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
|
|
|
|
|
lto_scan_statics_in_remaining_global_vars): Remove.
|
|
|
|
|
(lto_promote_cross_file_statics): Rewrite.
|
|
|
|
|
(get_filename_for_set): Take vset argument.
|
|
|
|
|
(lto_wpa_write_files): Pass around vsets.
|
|
|
|
|
|
2010-04-27 04:22:40 +02:00
|
|
|
|
2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR lto/42776
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
|
|
|
|
|
hardcoding 'lto-elf.o'.
|
|
|
|
|
($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
|
|
|
|
|
|
|
|
|
|
* lto-coff.h: New file.
|
|
|
|
|
* lto-coff.c: Likewise.
|
|
|
|
|
|
2010-04-26 13:03:59 +02:00
|
|
|
|
2010-04-26 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
|
|
|
|
|
|
2010-04-26 05:41:04 +02:00
|
|
|
|
2010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_elf_file_open): Rename prototype from this ...
|
|
|
|
|
(lto_obj_file_open): ... to this.
|
|
|
|
|
(lto_elf_file_close): Likewise ...
|
|
|
|
|
(lto_obj_file_close): ... and likewise.
|
|
|
|
|
(lto_elf_build_section_table): Likewise ...
|
|
|
|
|
(lto_obj_build_section_table): ... and likewise.
|
|
|
|
|
(lto_elf_begin_section): Likewise ...
|
|
|
|
|
(lto_obj_begin_section): ... and likewise.
|
|
|
|
|
(lto_elf_append_data): Likewise ...
|
|
|
|
|
(lto_obj_append_data): ... and likewise.
|
|
|
|
|
(lto_elf_end_section): Likewise ...
|
|
|
|
|
(lto_obj_end_section): ... and likewise.
|
|
|
|
|
* lto.c (lto_file_read): Update references to the above.
|
|
|
|
|
(lto_wpa_write_files): Likewise.
|
|
|
|
|
(lto_read_all_file_options): Likewise.
|
|
|
|
|
(read_cgraph_and_symbols): Likewise.
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
|
|
|
|
|
(LANG_HOOKS_APPEND_DATA): Likewise.
|
|
|
|
|
(LANG_HOOKS_END_SECTION): Likewise.
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Rename from this ...
|
|
|
|
|
(lto_obj_file_open): ... to this, updating any references.
|
|
|
|
|
(lto_elf_file_close): Likewise ...
|
|
|
|
|
(lto_obj_file_close): ... and likewise.
|
|
|
|
|
(lto_elf_build_section_table): Likewise ...
|
|
|
|
|
(lto_obj_build_section_table): ... and likewise.
|
|
|
|
|
(lto_elf_begin_section): Likewise ...
|
|
|
|
|
(lto_obj_begin_section): ... and likewise.
|
|
|
|
|
(lto_elf_append_data): Likewise ...
|
|
|
|
|
(lto_obj_append_data): ... and likewise.
|
|
|
|
|
(lto_elf_end_section): Likewise ...
|
|
|
|
|
(lto_obj_end_section): ... and likewise.
|
|
|
|
|
|
2010-04-21 23:58:50 +02:00
|
|
|
|
2010-04-21 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): Do not call wpa fixup.
|
|
|
|
|
(materialize_cgraph): Likewise.
|
|
|
|
|
|
2010-04-21 19:44:03 +02:00
|
|
|
|
2010-04-21 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Update.
|
|
|
|
|
(read_cgraph_and_symbols): Be more verbose.
|
|
|
|
|
(materialize_cgraph): Likewise.
|
|
|
|
|
(do_whole_program_analysis): Likewise.
|
|
|
|
|
|
2010-04-21 16:41:03 +02:00
|
|
|
|
2010-04-21 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (globalize_cross_file_statics): When function has address taken,
|
|
|
|
|
it needs to be public.
|
|
|
|
|
|
2010-04-20 16:49:18 +02:00
|
|
|
|
2010-04-20 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_add_inline_clones): Do not track inlined_decls.
|
|
|
|
|
(lto_add_all_inlinees): Likewise.
|
|
|
|
|
(lto_wpa_write_files): Likewise.
|
|
|
|
|
|
2010-04-18 23:49:29 +02:00
|
|
|
|
2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Remove second argument in call to
|
|
|
|
|
build_common_tree_nodes.
|
|
|
|
|
|
2010-04-16 15:45:25 +02:00
|
|
|
|
2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
|
|
|
|
|
function.
|
|
|
|
|
|
2010-03-09 10:01:56 +01:00
|
|
|
|
2010-03-09 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/43276
|
|
|
|
|
* lto-elf.c: Define EM_* constants if not already defined.
|
|
|
|
|
|
2010-03-03 11:29:22 +01:00
|
|
|
|
2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (is_compatible_architecture): New static function.
|
|
|
|
|
(DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
|
|
|
|
|
|
2010-02-11 13:23:08 +01:00
|
|
|
|
2010-02-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR driver/43021
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Handle file@offset case more
|
|
|
|
|
appropriately.
|
|
|
|
|
|
2010-01-12 00:15:32 +01:00
|
|
|
|
2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* lto.c (O_BINARY): Define.
|
|
|
|
|
(lto_read_section_data): Open file in binary mode.
|
|
|
|
|
* lto-elf.c (O_BINARY): Define.
|
|
|
|
|
(lto_elf_file_open): Open file in binary mode.
|
|
|
|
|
|
2010-01-08 17:57:59 +01:00
|
|
|
|
2010-01-08 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/42528
|
|
|
|
|
* lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
|
|
|
|
|
(lto_init): Do not init char_type_node in a standard way
|
|
|
|
|
but according to flag_signed_char.
|
|
|
|
|
|
2010-01-03 18:03:38 +01:00
|
|
|
|
2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/41564
|
|
|
|
|
* lto.c (DUMPBASE_SUFFIX): New.
|
|
|
|
|
(lto_execute_ltrans): Append a sequence number to -dumpbase
|
|
|
|
|
for LTRANS.
|
|
|
|
|
|
2010-01-02 18:30:12 +01:00
|
|
|
|
2010-01-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/42580
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Stop if the command line
|
|
|
|
|
option file is missing.
|
|
|
|
|
|
2009-12-15 17:30:22 +01:00
|
|
|
|
2009-12-15 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
|
|
|
|
|
(lto_post_options): Do not disable debuginfo.
|
|
|
|
|
|
2009-12-14 11:42:52 +01:00
|
|
|
|
2009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in ($(LTO_EXE)): Use $(LINKER).
|
|
|
|
|
|
2009-12-11 16:52:57 +01:00
|
|
|
|
2009-12-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/42037
|
|
|
|
|
* lto.c (lto_resolution_read): Properly grow the vector.
|
|
|
|
|
|
2009-12-11 15:49:35 +01:00
|
|
|
|
2009-12-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41915
|
|
|
|
|
* lto-lang.c (lto_init_options): Initialize flag_complex_method
|
|
|
|
|
to the C99 default. Do not set flag_unit_at_a_time.
|
|
|
|
|
|
2009-11-28 17:21:00 +01:00
|
|
|
|
2009-11-28 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
|
|
|
|
|
variable.
|
|
|
|
|
|
2009-11-19 16:30:04 +01:00
|
|
|
|
2009-11-19 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/42096
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
|
|
|
|
|
* lto.c (lto_parse_hex): New.
|
|
|
|
|
(lto_resolution_read): Use lto_parse_hex.
|
|
|
|
|
* lto.h (lto_parse_hex): New.
|
|
|
|
|
|
2009-11-17 17:00:19 +01:00
|
|
|
|
2009-11-17 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_file_init): Add offset argument.
|
|
|
|
|
(lto_elf_file_open): Record the offset.
|
|
|
|
|
* lto.c (lto_resolution_read): Change file_name into a lto_file
|
|
|
|
|
argument. Check offsets.
|
|
|
|
|
(lto_file_read): Update call to lto_resolution_read.
|
|
|
|
|
* lto.h (lto_file_struct): Add the offset field.
|
|
|
|
|
|
2009-11-16 21:25:42 +01:00
|
|
|
|
2009-11-16 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
|
|
|
|
|
|
2009-11-16 14:26:40 +01:00
|
|
|
|
2009-11-14 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
|
|
|
|
|
|
2009-11-12 15:01:49 +01:00
|
|
|
|
2009-11-12 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lang.opt (fresolution): Renamed from resolution.
|
|
|
|
|
* lto-lang.c (lto_handle_option): Handle new option name.
|
|
|
|
|
* lto.c (lto_resolution_read): Add more checks. Discard rest of line.
|
|
|
|
|
|
2009-11-04 18:24:37 +01:00
|
|
|
|
2009-11-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_build_section_table): Add the base offset.
|
|
|
|
|
(lto_elf_file_open): Handle offsets in arguments name@offest.
|
|
|
|
|
|
2009-10-30 16:58:57 +01:00
|
|
|
|
2009-10-30 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41858
|
|
|
|
|
* lto.c (lto_file_read): Do not set file_data->fd.
|
|
|
|
|
(lto_read_section_data): Use a single-entry file-descriptor cache.
|
|
|
|
|
Do not check the result of xmalloc.
|
|
|
|
|
(free_section_data): Do not use file_data->fd.
|
|
|
|
|
(lto_read_all_file_options): Likewise.
|
|
|
|
|
|
2009-10-22 17:38:23 +02:00
|
|
|
|
2009-10-22 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_jump_functions): Remove.
|
|
|
|
|
(lto_fixup_decls): Do not fixup jump functions.
|
|
|
|
|
(read_cgraph_and_symbols): Schedule cgraph merging after
|
|
|
|
|
summary reading. Schedule type and decl fixup before
|
|
|
|
|
summary reading.
|
|
|
|
|
|
2009-10-22 14:17:12 +02:00
|
|
|
|
2009-10-22 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_data_t): Remove free_list member.
|
|
|
|
|
(lto_fixup_tree): Do not insert into free_list.
|
|
|
|
|
(free_decl): Remove.
|
|
|
|
|
(lto_fixup_decls): Remove free-list handling.
|
|
|
|
|
|
ipa-cp.c (ipcp_write_summary, [...]): New functions.
* ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions.
(pass_ipa_cp): Register them.
(ipcp_init_stage): Analyze all functions for whopr/lto.
(ipcp_propagate_stage): Skip external calls.
(ipcp_iterate_stage): Call ipa_update_after_lto_read if needed.
* ipa-reference.c (write_node_summary_p): Fix thinko about availability.
* cgraphunit.c (ipa_passes): When in lto, ne er produce new summaries;
when in ltrans, skip executing of ipa passes since everything should've
been done.
* ipa-inline.c (cgraph_decide_inlining): Remove FIXMEs.
(inline_generate_summary): Likewise.
(inline_read_summary): New function.
(inline_write_summary): New function.
(pass_ipa_inline): Register new hooks.
* ipa-prop.c: Inlcude lto-streamer.h
(ipa_edge_args_vector): Update declaration.
(ipa_count_arguments, ipa_compute_jump_functions,
ipa_free_edge_args_substructures): Move ipa_edge_args_vector into ggc.
(ipa_write_jump_function, ipa_read_jump_function, ipa_write_node_info,
ipa_read_node_info): New static functions.
(ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Update.
(duplicate_array): Use xmalloc.
(duplicate_ggc_array): New.
(ipa_edge_duplication_hook): Use it.
(ipa_update_after_lto_read): New function.
* ipa-prop.h (ipa_prop_write_jump_functions,
ipa_prop_read_jump_functions): Declare.
(ipa_pass_through_data, ipa_ancestor_jf_data, ipa_member_ptr_cst,
jump_func_value, ipa_member_ptr_cst, ipa_edge_args): Add GTY markers.
(ipa_edge_args_vector): Move into GGC.
(ipa_check_create_edge_args): Update.
(ipa_update_after_lto_read): New.
* passes.c (ipa_write_summaries_1): When in wpa, do not write summaries.
(ipa_read_summaries): When in ltrans, so not read summaries.
* lto-streamer.c (lto_get_section_name): Add LTO_section_jump_functions.
* lto-streamer.h (LTO_section_jump_functions): New section.
(produce_asm): Declare.
* lto-cgraph.c (output_cgraph): Output edges in reverse order.
* lto-streamer-out.c (produce_asm): Export.
* lto-streamer-in.c: Include tree-pass.h
(input_function): Free dominance info when done.
(lto_read_body): Push ipa_inline in ltrans stage.
* gengtype.c (open_base_files): Add ipa-prop.h into includes.
* Makefile.in (GTFILES): Add ipa-prop.h
* lto.c (lto_fixup_jump_functions): New function.
(lto_fixup_decls): Use it.
From-SVN: r153449
2009-10-22 12:02:29 +02:00
|
|
|
|
2009-10-22 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_jump_functions): New function.
|
|
|
|
|
(lto_fixup_decls): Use it.
|
|
|
|
|
|
2009-10-16 16:23:22 +02:00
|
|
|
|
2009-10-16 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41715
|
|
|
|
|
* lto.c (lto_fixup_tree): Revert last change.
|
|
|
|
|
|
2009-10-14 16:14:44 +02:00
|
|
|
|
2009-10-14 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): In case the prevailing decl is not
|
|
|
|
|
compatible with the one we replace wrap it around a
|
|
|
|
|
VIEW_CONVERT_EXPR.
|
|
|
|
|
|
2009-10-09 15:24:59 +02:00
|
|
|
|
2009-10-09 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41635
|
|
|
|
|
PR lto/41636
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Do not assert we can open
|
|
|
|
|
a file.
|
|
|
|
|
* lto-elf.c (init_shdr##BITS): Fix i18n problems.
|
|
|
|
|
(init_ehdr##BITS): Likewise.
|
|
|
|
|
|
2009-10-08 23:54:16 +02:00
|
|
|
|
2009-10-08 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
|
|
|
|
|
init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
|
|
|
|
|
diagnostics.
|
|
|
|
|
* lto-lang.c (lto_post_options): Remove trailing "." from
|
|
|
|
|
diagnostics.
|
|
|
|
|
|
2009-10-08 17:32:30 +02:00
|
|
|
|
2009-10-08 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Free the gimple type merging
|
|
|
|
|
hash tables.
|
|
|
|
|
|
2009-10-08 00:50:09 +02:00
|
|
|
|
2009-10-07 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
|
|
|
|
|
|
2009-10-07 11:01:16 +02:00
|
|
|
|
2009-10-07 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
|
|
|
|
|
ltrans stage; explain why this is needed and should not.
|
|
|
|
|
|
2009-10-05 16:05:54 +02:00
|
|
|
|
2009-10-05 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41552
|
|
|
|
|
PR lto/41487
|
|
|
|
|
* lto.c (lto_read_decls): Do not register deferred decls.
|
|
|
|
|
(read_cgraph_and_symbols): Delay symbol and cgraph merging
|
|
|
|
|
until after reading the IPA summaries.
|
|
|
|
|
|
2009-10-03 23:10:11 +02:00
|
|
|
|
2009-10-02 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
|
|
|
|
|
(lto-lang.c): Don't include lto/common.h.
|
|
|
|
|
|
|
|
|
|
2009-10-02 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Remove lto/common.o.
|
|
|
|
|
(lto/common.o): Remove.
|
|
|
|
|
* common.c: Remove.
|
|
|
|
|
* common.h (lto_kind_str): Remove.
|
|
|
|
|
(lto_visibility_str): Remove.
|
|
|
|
|
(lto_resolution_str): Make it static.
|
|
|
|
|
|
|
|
|
|
2009-10-01 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Add comment.
|
|
|
|
|
Call internal_error instead of gcc_assert.
|
|
|
|
|
(lto_resolution_read): Likewise.
|
|
|
|
|
(lto_add_all_inlinees): Tidy.
|
|
|
|
|
* Make-lang.in: Fix copyright boilerplate.
|
|
|
|
|
(lto.pdf): New.
|
|
|
|
|
(lto.install-pdf): New.
|
|
|
|
|
* lto-tree.h: Fix copyright boilerplate.
|
|
|
|
|
* lang-specs.h: Likewise.
|
|
|
|
|
Remove ".lto" entry from compilers fragment.
|
|
|
|
|
* lto-elf.c: Move inclusion of gelf.h after config.h.
|
|
|
|
|
Tidy formatting everywhere.
|
|
|
|
|
* lto.h: Fix copyright boilerplate.
|
|
|
|
|
Tidy formatting everywhere.
|
|
|
|
|
* common.c: Likewise.
|
|
|
|
|
* config-lang.in: Likewise.
|
|
|
|
|
* common.h: Likewise.
|
|
|
|
|
* lto-lang.c: Likewise.
|
|
|
|
|
|
|
|
|
|
2009-10-01 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_section_data): Use plain lseek/read.
|
|
|
|
|
|
|
|
|
|
2009-10-01 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (LTO_MMAP_IO): Define if we can mmap files and
|
|
|
|
|
use sysconf to query the system page size.
|
|
|
|
|
(lto_file_read): Implement fallback using stdio.
|
|
|
|
|
(free_section_data): Likewise.
|
|
|
|
|
|
|
|
|
|
2009-09-29 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Really fix call to
|
|
|
|
|
build_common_builtin_nodes.
|
|
|
|
|
|
|
|
|
|
2009-09-29 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Fix call to
|
|
|
|
|
build_common_builtin_nodes.
|
|
|
|
|
|
|
|
|
|
2009-09-29 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/40754
|
|
|
|
|
* lto-elf.c (init_shdr##BITS): Properly specify alignment
|
|
|
|
|
in bytes.
|
|
|
|
|
(first_data_block): New static variable.
|
|
|
|
|
(lto_elf_append_data): Align the first data block in each
|
|
|
|
|
section.
|
|
|
|
|
|
|
|
|
|
2009-09-28 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Tidy. Remove stale FIXME lto markers.
|
|
|
|
|
* lto.c (strip_extension): New.
|
|
|
|
|
(get_filename_for_set): Call it. Do not call make_cwd_temp_file.
|
|
|
|
|
(lto_execute_ltrans): Tidy.
|
|
|
|
|
Do not pass -fwpa nor -fltrans-* to LTRANS.
|
|
|
|
|
* opts.c: Tidy formatting and remove stale FIXME lto markers.
|
|
|
|
|
* tree.c (need_assembler_name_p): Call
|
|
|
|
|
lang_hooks.decls.may_need_assembler_name_p if set.
|
|
|
|
|
* varasm.c (default_binds_local_p_1): Remove check for
|
|
|
|
|
flag_ltrans.
|
|
|
|
|
* varpool.c (decide_is_variable_needed): Do not test for
|
|
|
|
|
in_lto_p.
|
|
|
|
|
|
|
|
|
|
2009-09-22 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/39276
|
|
|
|
|
* lto.c (lto_execute_ltrans): Perform ltrans phase manually.
|
|
|
|
|
* Make-lang.in: Remove ltrans-driver stuff.
|
|
|
|
|
* config-lang.in: Likewise.
|
|
|
|
|
* lang.opt (fltrans-driver): Remove.
|
|
|
|
|
* lto-lang.c (lto_init_options): Remove code initializing
|
|
|
|
|
ltrans_driver.
|
|
|
|
|
* ltrans-driver: Remove.
|
|
|
|
|
|
|
|
|
|
2009-09-21 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_define_builtins): Remove superfluous
|
|
|
|
|
calls to targetm.init_builtins and build_common_builtin_nodes.
|
|
|
|
|
(lto_init): Add targetm.arm_eabi_unwinder as parameter to
|
|
|
|
|
build_common_builtin_nodes.
|
|
|
|
|
* lto.c (lto_materialize_function): Do nothing if NODE is a
|
|
|
|
|
clone.
|
|
|
|
|
|
|
|
|
|
2009-09-03 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (validate_file): Replace call to
|
|
|
|
|
elf_getshstrndx with call to elf_getshdrstrndx.
|
|
|
|
|
|
|
|
|
|
2009-08-19 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Merge char_type_node with the
|
|
|
|
|
appropriately signed variant.
|
|
|
|
|
|
|
|
|
|
2009-08-19 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41071
|
|
|
|
|
* lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
|
|
|
|
|
(lto_fixup_type): Re-build the pointer-to chain part two.
|
|
|
|
|
|
|
|
|
|
2009-08-19 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41071
|
|
|
|
|
* lto.c (lto_fixup_type): Re-build the type variant chain.
|
|
|
|
|
|
|
|
|
|
2009-08-19 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41071
|
|
|
|
|
* lto.c (lto_fixup_constructor): New function.
|
|
|
|
|
(lto_fixup_tree): Replace all types. Properly fixup
|
|
|
|
|
constructors and constants.
|
|
|
|
|
|
|
|
|
|
2009-08-14 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
|
|
|
|
|
for DECL_LANG_SPECIFIC.
|
|
|
|
|
|
|
|
|
|
2009-08-13 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/41032
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
|
|
|
|
|
|
|
|
|
|
2009-07-30 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR lto/40903
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): After fixing up decls choose
|
|
|
|
|
the largest decl for output and free TREE_CHAIN for further
|
|
|
|
|
use.
|
|
|
|
|
|
|
|
|
|
2009-07-24 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in: Add empty lto.install-plugin target.
|
|
|
|
|
|
|
|
|
|
2009-07-13 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
|
|
|
|
|
|
|
|
|
|
2009-07-11 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_write_globals): Wrapup global decls.
|
|
|
|
|
|
|
|
|
|
2009-07-10 Richard Guenther <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_init): Allocate one more location to make
|
|
|
|
|
BUILTINS_LOCATION correct.
|
|
|
|
|
|
|
|
|
|
2009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* lto.c (free_section_data): Cast computed_offset to caddr_t.
|
|
|
|
|
|
|
|
|
|
2009-07-06 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_type): Fixup TYPE_SIZE and
|
|
|
|
|
TYPE_SIZE_UNIT.
|
|
|
|
|
|
|
|
|
|
2009-07-06 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (preload_common_nodes): Remove.
|
|
|
|
|
(lto_read_in_decl_state): Call lto_streamer_cache_get.
|
|
|
|
|
(lto_read_decls): Call lto_data_in_create and
|
|
|
|
|
lto_data_in_delete.
|
|
|
|
|
(free_decl): Do not call ggc_free.
|
|
|
|
|
(lto_main): Call lto_init_reader.
|
|
|
|
|
* lto-lang.c (lto_type_for_size): Handle intTI_type_node.
|
|
|
|
|
(lto_init): Initialize main_identifier_node if needed.
|
|
|
|
|
Make ptrdiff_type_node be integer_type_node.
|
|
|
|
|
|
|
|
|
|
2009-06-19 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
|
|
|
|
|
Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
|
|
|
|
|
Remove code guarded by #ifdef LOCAL_TRACE.
|
|
|
|
|
|
|
|
|
|
2009-06-18 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Update license to GPLv3.
|
|
|
|
|
* lto-elf.c: Likewise.
|
|
|
|
|
* common.c: Likewise.
|
|
|
|
|
* lto-lang.c: Likewise.
|
|
|
|
|
* lto.h: Remove superfluous include files. Update all
|
|
|
|
|
users.
|
|
|
|
|
|
|
|
|
|
2009-06-17 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Call input_cgraph.
|
|
|
|
|
|
|
|
|
|
2009-06-02 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Ignore nodes that have not been
|
|
|
|
|
read in.
|
|
|
|
|
(materialize_cgraph): Only materialize nodes that have a
|
|
|
|
|
representation on file.
|
|
|
|
|
|
|
|
|
|
2009-06-01 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
|
|
|
|
|
|
|
|
|
|
2009-05-31 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_type_for_mode): Handle all the modes
|
|
|
|
|
handled in c_common_type_for_mode.
|
|
|
|
|
|
|
|
|
|
2009-05-21 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c: Always include <gelf.h>.
|
|
|
|
|
* config-lang.in (target_libs): Remove.
|
|
|
|
|
(build_by_default): Set to no.
|
|
|
|
|
|
|
|
|
|
2009-05-15 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Assert that DECL is
|
|
|
|
|
not a builtin.
|
|
|
|
|
(materialize_cgraph): Don't try to materialize builtin
|
|
|
|
|
functions.
|
|
|
|
|
* lto-section-out.c (write_symbol_vec): Do not write
|
|
|
|
|
builtin functions.
|
|
|
|
|
|
|
|
|
|
2009-05-13 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
|
|
|
|
|
|
|
|
|
|
2009-05-07 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Add type casts for C++ warnings.
|
|
|
|
|
(LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
|
|
|
|
|
(lto_fixup_type): Call it for TYPE_POINTER_TO,
|
|
|
|
|
TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
|
|
|
|
|
(lto_fixup_tree): Call gimple_register_type when *TP is a
|
|
|
|
|
type.
|
|
|
|
|
(lto_main): Call bitmap_obstack_initialize.
|
|
|
|
|
|
|
|
|
|
2009-04-22 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (free_section_data): Tidy.
|
|
|
|
|
(lto_1_to_1_map): Tidy.
|
|
|
|
|
(lto_add_all_inlinees): Tidy.
|
|
|
|
|
(prefix_name_with_star): New.
|
|
|
|
|
(get_filename_for_set): New.
|
|
|
|
|
(lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
|
|
|
|
|
to determine what cgraph node sets to write.
|
|
|
|
|
Call get_filename_for_set to compute temporary file
|
|
|
|
|
names.
|
|
|
|
|
(lto_execute_ltrans): Do not execute LTRANS on files with
|
|
|
|
|
names that start with '*'.
|
|
|
|
|
Move logic to execute LTRANS together so that LTRANS is
|
|
|
|
|
invoked only if there are any files to compile.
|
|
|
|
|
(do_whole_program_analysis): Only remove output files
|
|
|
|
|
that do not start with '*'.
|
|
|
|
|
|
|
|
|
|
2009-04-06 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
|
|
|
|
|
(lto_add_all_inlinees): Tidy.
|
|
|
|
|
|
|
|
|
|
2009-03-26 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include gimple.h.
|
|
|
|
|
(lto_read_in_decl_state): Call gimple_register_type for
|
|
|
|
|
every type in every stream.
|
|
|
|
|
(lto_fixup_common): Call gimple_register_type if T has a
|
|
|
|
|
type.
|
|
|
|
|
(do_whole_program_analysis): Call print_lto_report.
|
|
|
|
|
(lto_main): Call print_lto_report after cgraph_optimize.
|
|
|
|
|
* Make-lang.in (lto.o): Add dependency on GIMPLE_H.
|
|
|
|
|
|
|
|
|
|
2009-03-24 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
|
|
|
|
|
(lto.o): Add dependency on GIMPLE_H.
|
|
|
|
|
|
|
|
|
|
2009-03-10 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_all_file_options): Close any open file descriptor
|
|
|
|
|
contained in file_data before freeing.
|
|
|
|
|
|
|
|
|
|
2009-02-24 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_add_inline_clones): Don't add the master clone. Check
|
|
|
|
|
for a decl in the original bitmap, not a node.
|
|
|
|
|
(lto_add_all_inlinees): Remove original nodes that are not needed.
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
|
|
|
|
|
|
|
|
|
|
2009-02-24 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Update
|
|
|
|
|
lto_stats.num_function_bodies.
|
|
|
|
|
(get_section_data): Initialize *LEN to 0.
|
|
|
|
|
(lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
|
|
|
|
|
(lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
|
|
|
|
|
Update lto_stats.num_output_files.
|
|
|
|
|
(read_cgraph_and_symbols): Update lto_stats.num_input_files.
|
|
|
|
|
(materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
|
|
|
|
|
(lto_main): Initialize lto_stats.
|
|
|
|
|
If flag_lto_report is set, call print_lto_report.
|
|
|
|
|
|
|
|
|
|
2009-02-19 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
Revert
|
|
|
|
|
|
|
|
|
|
2009-02-19 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_add_inline_clones): Don't add the
|
|
|
|
|
master clone. Check for a decl in the original
|
|
|
|
|
bitmap, not a node.
|
|
|
|
|
(lto_add_all_inlinees): Remove original nodes
|
|
|
|
|
that are not needed.
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): Don't care if
|
|
|
|
|
the node is the master.
|
|
|
|
|
(lto_promote_cross_file_statics): Use a new
|
|
|
|
|
context.seen_node_decls for each set
|
|
|
|
|
|
|
|
|
|
2009-02-19 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_add_inline_clones): Don't add the master clone. Check
|
|
|
|
|
for a decl in the original bitmap, not a node.
|
|
|
|
|
(lto_add_all_inlinees): Remove original nodes that are not needed.
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
|
|
|
|
|
(lto_promote_cross_file_statics): Use a new context.seen_node_decls
|
|
|
|
|
for each set
|
|
|
|
|
|
|
|
|
|
2009-02-18 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
|
|
|
|
|
and TV_WHOPR_WPA_IO.
|
|
|
|
|
(lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
|
|
|
|
|
(read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
|
|
|
|
|
(materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
|
|
|
|
|
Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
|
|
|
|
|
depending on command line flags.
|
|
|
|
|
(do_whole_program_analysis): Use timer TV_WHOPR_WPA.
|
|
|
|
|
(lto_main): Remove timer uses.
|
|
|
|
|
|
|
|
|
|
2009-02-18 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
|
|
|
|
|
(lto_wpa_write_files): Update calls to renamed functions.
|
|
|
|
|
|
|
|
|
|
2009-02-17 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
PR 39203
|
|
|
|
|
* lto-lang.c (lto_post_options): Disable -fwhole-program
|
|
|
|
|
when running LTRANS.
|
|
|
|
|
|
|
|
|
|
2009-02-10 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Fix comment.
|
|
|
|
|
|
|
|
|
|
2009-02-10 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Read options from all
|
|
|
|
|
IL files.
|
|
|
|
|
|
|
|
|
|
2009-02-10 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (read_cgraph_and_symbols): Factor out of lto_main.
|
|
|
|
|
(materialize_cgraph): Likewise.
|
|
|
|
|
(do_whole_program_analysis): Likewise.
|
|
|
|
|
(lto_main): Call read_cgraph_and_symbols,
|
|
|
|
|
materialize_cgraph and do_whole_program_analysis.
|
|
|
|
|
|
|
|
|
|
2009-02-10 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include lto-opts.h.
|
|
|
|
|
* (lto_main): Clear file options at loop start, read any saved
|
|
|
|
|
options from the first file handled, and re-issue options.
|
|
|
|
|
* Makefile.in (lto.o): Add dependency on lto-opts.h.
|
|
|
|
|
|
|
|
|
|
2009-02-02 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Stop LTO_TIMER and use
|
|
|
|
|
TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
|
|
|
|
|
|
|
|
|
|
2009-01-30 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR lto/38995
|
|
|
|
|
* lto-elf.c (init_shdr##BITS): Set the sh_addralign field
|
|
|
|
|
to POINTER_SIZE.
|
|
|
|
|
|
|
|
|
|
2009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTO_EXE): Link with all
|
|
|
|
|
BACKENDLIBS and not only GMPLIBS
|
|
|
|
|
|
|
|
|
|
2009-01-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/38992
|
|
|
|
|
* lto-elf.c: Include gelf.h instead of libelf.h.
|
|
|
|
|
(lto_elf_file_close): Replace elfx_update_shstrndx with
|
|
|
|
|
gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
|
|
|
|
|
gelf_update_ehdr.
|
|
|
|
|
|
|
|
|
|
2009-01-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR middle-end/38996
|
|
|
|
|
* lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
|
|
|
|
|
|
|
|
|
|
2009-01-26 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
|
|
|
|
|
|
|
|
|
|
2009-01-26 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_types_compatible_p): Move to gimple.c
|
|
|
|
|
and rename into gimple_types_compatible_p.
|
|
|
|
|
|
|
|
|
|
2009-01-12 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lang_hooks): Remove the const qualifier.
|
|
|
|
|
|
|
|
|
|
2009-01-06 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* ltrans-driver: Mark 'all' target as phony.
|
|
|
|
|
|
|
|
|
|
2008-12-31 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* ltrans-driver: Execute a NOP action for target 'all'.
|
|
|
|
|
|
|
|
|
|
2008-12-19 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Tidy.
|
|
|
|
|
|
|
|
|
|
2008-12-19 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): When FILENAME cannot
|
|
|
|
|
be opened, show its name.
|
|
|
|
|
* ltrans-driver: If $verbose is set, do not use parallelism.
|
|
|
|
|
|
|
|
|
|
2008-12-17 Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_function): New.
|
|
|
|
|
(lto_fixup_tree): Call lto_fixup_function.
|
|
|
|
|
|
|
|
|
|
2008-12-14 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_1_to_1_map): Create a cgraph node set for any global
|
|
|
|
|
variables if there is no function.
|
|
|
|
|
|
|
|
|
|
2008-12-10 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* ltrans-driver: Always run make in silent mode, to avoid make's
|
|
|
|
|
trace on stdout interfering with lto-wrapper output.
|
|
|
|
|
|
|
|
|
|
2008-12-10 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_add_inline_clones): Do not force master clones of
|
|
|
|
|
inlined functions already in SET to be static inline.
|
|
|
|
|
|
|
|
|
|
2008-12-04 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (globalize_context_t): New type to store states in
|
|
|
|
|
globalization of cross-file statics.
|
|
|
|
|
(globalize_cross_file_statics): New.
|
|
|
|
|
(lto_scan_statics_in_ref_table): Walk tree to look for reachable
|
|
|
|
|
static decls that need to be fixed up.
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): Change call interface to use
|
|
|
|
|
a globalize_context_t CONTEXT for all states used.
|
|
|
|
|
(lto_scan_statics_in_remaining_global_vars): New.
|
|
|
|
|
(lto_promote_cross_file_statics): Use new call interface of
|
|
|
|
|
LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
|
|
|
|
|
visible vars in the last set.
|
|
|
|
|
|
|
|
|
|
2008-12-03 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): Do not emit an error when
|
|
|
|
|
PREVAILING throw but T doesn't.
|
|
|
|
|
|
|
|
|
|
2008-12-02 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_scan_statics_in_ref_table): New function factored out
|
|
|
|
|
from code in ...
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): Handle both file-scope static
|
|
|
|
|
variables and functions.
|
|
|
|
|
(lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
|
|
|
|
|
and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
|
|
|
|
|
|
|
|
|
|
2008-11-29 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include timevar.h.
|
|
|
|
|
(lto_materialize_function): Tidy. Add comments.
|
|
|
|
|
(lto_wpa_write_files): Tidy.
|
|
|
|
|
(lto_execute_ltrans): Tidy.
|
|
|
|
|
(lto_main): Add local variable LTO_TIMER. Initialize it
|
|
|
|
|
to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
|
|
|
|
|
Start and stop the timer.
|
|
|
|
|
Tidy comments.
|
|
|
|
|
* Make-lang.in (lto.o): Add dependency on timevar.h.
|
|
|
|
|
* ltrans-driver: React to -v and -save-temps.
|
|
|
|
|
Use simple heuristic to determine how much parallelism to
|
|
|
|
|
use when executing make.
|
|
|
|
|
|
|
|
|
|
2008-11-12 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_bitmap_obstack): Remove var.
|
|
|
|
|
(lto_materialize_function): Do nothing instead of marking function
|
|
|
|
|
body in file if flag_wpa is true.
|
|
|
|
|
(lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
|
|
|
|
|
(lto_scan_statics_in_cgraph_node): New function.
|
|
|
|
|
(lto_promote_cross_file_statics): Same.
|
|
|
|
|
(lto_wpa_write_files): Call lto_promote_cross_file_statics.
|
|
|
|
|
Use bitmap functions in lto-utils.c. Remove unsued label OUT.
|
|
|
|
|
* Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
|
|
|
|
|
|
|
|
|
|
2008-11-09 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto/lto.c (lto_fixup_tree): Change error message locus
|
|
|
|
|
information to include location of mismatching
|
|
|
|
|
declaration.
|
|
|
|
|
Use TREE_NO_WARNING to avoid repeated messages.
|
|
|
|
|
(lto_main): If lto_fixup_decls emitted any errors, exit.
|
|
|
|
|
* lto/lto-lang.c: Don't include libfuncs.h and except.h
|
|
|
|
|
(lto_init_options): Don't enable exceptions by default.
|
|
|
|
|
(lto_eh_runtime_type): Move to lto-function-in.c
|
|
|
|
|
(lto_init_eh): Likewise.
|
|
|
|
|
(lto_init): Don't call lto_init_eh.
|
|
|
|
|
* lto/Make-lang.in (lto-lang.o): Remove dependency on
|
|
|
|
|
libfuncs.h and except.h.
|
|
|
|
|
|
|
|
|
|
2008-10-30 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Declare debug_main only if
|
|
|
|
|
LTO_STREAM_DEBUGGING is enabled.
|
|
|
|
|
|
|
|
|
|
2008-10-30 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Create intermediate files with
|
|
|
|
|
make_cwd_temp_file().
|
|
|
|
|
(lto_maybe_unlink): New. Delete intermediate WPA files unless
|
|
|
|
|
WPA_SAVE_LTRANS is set.
|
|
|
|
|
(lto_main): Call lto_maybe_unlink() for intermediate WPA files.
|
|
|
|
|
* ltrans-driver: Do not strip directory from output files.
|
|
|
|
|
|
|
|
|
|
2008-10-29 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
|
|
|
|
|
DECL.
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
|
|
|
|
|
(lto/lto-symtab.o): Remove rule.
|
|
|
|
|
* lto-tree.h (struct lang_identifier): Remove LTO specific fields.
|
|
|
|
|
(struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
|
|
|
|
|
(LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
|
|
|
|
|
Remove macros.
|
|
|
|
|
lto-symtab.c (File): Move up one level.
|
|
|
|
|
lto-lang.c (cgraph.h): Remove include.
|
|
|
|
|
(input_overwrite_node, input_node, input_edge, input_cgraph_1,
|
|
|
|
|
input_cgraph): Move to lto-cgraph.c in gcc directory above.
|
|
|
|
|
(LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
|
|
|
|
|
|
|
|
|
|
2008-10-24 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
|
|
|
|
|
non prevailing weak symbols.
|
|
|
|
|
|
|
|
|
|
2008-10-24 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
|
|
|
|
|
|
|
|
|
|
2008-10-24 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (input_node): Avoid casts from pointers to ints of
|
|
|
|
|
different types.
|
|
|
|
|
|
|
|
|
|
2008-10-23 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (input_node): Save the node reference, rather than the
|
|
|
|
|
node pointer, in node->inlined_to.
|
|
|
|
|
(input_cgraph_1): Convert node references into node pointers.
|
|
|
|
|
|
|
|
|
|
2008-10-22 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Tidy.
|
|
|
|
|
* lto-symtab.c (lto_symtab_prevailing_decl): Do not
|
|
|
|
|
abort if RET is NULL.
|
|
|
|
|
|
|
|
|
|
2008-10-22 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
|
|
|
|
|
exceptions flag is given.
|
|
|
|
|
* lto-lang.c: (lto_init_options) Set default exceptions flag.
|
|
|
|
|
(lto_init_eh): Remove exceptions flag initialization.
|
|
|
|
|
(lto_init): Only call lto_init_eh if exceptions flag is set.
|
|
|
|
|
|
|
|
|
|
2008-10-21 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Tidy some formatting.
|
|
|
|
|
* lto.h: Likewise.
|
|
|
|
|
|
|
|
|
|
2008-10-21 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
|
|
|
|
|
them is NULL (but not the other).
|
|
|
|
|
|
|
|
|
|
2008-10-17 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* ltrans-driver: Divert output from make to a temporary file.
|
|
|
|
|
Show it if the call to make failed.
|
|
|
|
|
|
|
|
|
|
2008-10-15 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_wpa_write_files): Reformat do-while loop.
|
|
|
|
|
Do not print TEMP_FILENAME
|
|
|
|
|
* ltrans-driver: Call make with -s.
|
|
|
|
|
|
|
|
|
|
2008-10-15 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Do not force
|
|
|
|
|
TREE_STATIC on global symbols.
|
|
|
|
|
|
|
|
|
|
2008-10-14 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
|
|
|
|
|
(LTRANS_DRIVER_EXE): Add.
|
|
|
|
|
(lto.all.cross): Add LTRANS_DRIVER_EXE.
|
|
|
|
|
(lto.all.encap): Add LTRANS_DRIVER_EXE.
|
|
|
|
|
(lto.install.common): Remove ltrans-driver.
|
|
|
|
|
(lto.mostlyclean): Add LTRANS_DRIVER_EXE.
|
|
|
|
|
(LTRANS_DRIVER_EXE): New build rule.
|
|
|
|
|
* config-lang.in (compilers): Add ltrans-driver.
|
|
|
|
|
|
|
|
|
|
2008-10-14 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
|
|
|
|
|
of program name.
|
|
|
|
|
|
|
|
|
|
2008-10-13 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lang-spec.h (@lto): Replace lto1_options with cc1_options.
|
|
|
|
|
* lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
|
|
|
|
|
* ltrans-driver (LTRANS_FLAGS): Remove.
|
|
|
|
|
|
|
|
|
|
2008-10-08 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
|
|
|
|
|
Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
|
|
|
|
|
and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
|
|
|
|
|
from lto_fixup_state to here.
|
|
|
|
|
(lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
|
|
|
|
|
just a free-list. Fix up types also. Move decl merging code to
|
|
|
|
|
lto_fixup_tree.
|
|
|
|
|
(lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
|
|
|
|
|
object.
|
|
|
|
|
(lto_fixup_decls): Use another pointer set to avoid multiple
|
|
|
|
|
walking of nodes except for DECLs to be replaced. Pass an
|
|
|
|
|
lto_fixup_data_t object to tree-walker.
|
|
|
|
|
|
|
|
|
|
2008-10-08 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_set_resolution): New.
|
|
|
|
|
(lto_symtab_merge_decl): Use lto_symtab_set_resolution and
|
|
|
|
|
lto_symtab_get_resolution.
|
|
|
|
|
(lto_symtab_prevailing_decl): Return decl for non public decls.
|
|
|
|
|
(lto_symtab_get_resolution): New.
|
|
|
|
|
* lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
|
|
|
|
|
|
|
|
|
|
2008-10-06 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Include cgraph.h.
|
|
|
|
|
(input_overwrite_node, input_node, input_edge, input_cgraph_1,
|
|
|
|
|
input_cgraph): Moved from lto-cgraph.c.
|
|
|
|
|
(LANG_HOOKS_INPUT_CGRAPH): New.
|
|
|
|
|
|
|
|
|
|
2008-10-03 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
|
|
|
|
|
|
|
|
|
|
2008-10-03 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
|
|
|
|
|
(lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
|
|
|
|
|
prevailing definition. Don't mark TREE_NOTHROW differences.
|
|
|
|
|
* lto.c (lto_fixup_tree): New.
|
|
|
|
|
(lto_fixup_state): New.
|
|
|
|
|
(lto_fixup_state_aux): New.
|
|
|
|
|
(free_decl): New.
|
|
|
|
|
(lto_fixup_decls): New.
|
|
|
|
|
(lto_main): Call lto_fixup_decls.
|
|
|
|
|
|
|
|
|
|
2008-10-02 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
|
|
|
|
|
and Init.
|
|
|
|
|
(fwpa): Moved from common.opt. Remove RejectNegative and Init.
|
|
|
|
|
* lto-lang.c (lto_post_options): Add validation and fixups for
|
|
|
|
|
-fltrans and -fwpa.
|
|
|
|
|
|
|
|
|
|
2008-10-02 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
|
|
|
|
|
lto_symtab_merge_decl): Return void.
|
|
|
|
|
(lto_symtab_prevailing_decl): New.
|
|
|
|
|
|
|
|
|
|
2008-09-30 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_compatible): Remove the check for already
|
|
|
|
|
defined symbols.
|
|
|
|
|
(lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
|
|
|
|
|
(lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
|
|
|
|
|
Check for already defined symbols.
|
|
|
|
|
* lto-tree.h (lang_decl): Remove dummy and add resolution fields.
|
|
|
|
|
(LTO_IDENTIFIER_RESOLUTION): Remove.
|
|
|
|
|
(LTO_DECL_RESOLUTION): New.
|
|
|
|
|
|
|
|
|
|
2008-09-30 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Use new input_tree signature.
|
|
|
|
|
|
|
|
|
|
2008-09-26 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
|
|
|
|
|
bodies affected by exception attribute merging of DECLs.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
|
|
|
|
|
merging.
|
|
|
|
|
|
|
|
|
|
2008-09-25 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
|
|
|
|
|
(lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
|
|
|
|
|
* lto-symtab.c (lto_symtab_compatible): New.
|
|
|
|
|
(lto_symtab_overwrite_decl): New.
|
|
|
|
|
(lto_symtab_merge_decl): Refactor to use the above functions
|
|
|
|
|
and the resolution from lang_identifier.
|
|
|
|
|
* lto-tree.h: Include plugin-api.h.
|
|
|
|
|
(lang_identifier): Add resolution.
|
|
|
|
|
(LTO_IDENTIFIER_RESOLUTION): New.
|
|
|
|
|
|
|
|
|
|
2008-09-25 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lang.opt (fltrans-output-list=): New option.
|
|
|
|
|
* lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
|
|
|
|
|
|
|
|
|
|
2008-09-25 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_resolution_read): Initialize ret;
|
|
|
|
|
|
|
|
|
|
2008-09-24 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (sys/mman.h): Move include.
|
|
|
|
|
(lto_wpa_write_files): Return a list of written files.
|
|
|
|
|
(lto_execute_ltrans): New function.
|
|
|
|
|
(lto_main): Call lto_execute_ltrans.
|
|
|
|
|
(ltrans-driver): New file.
|
|
|
|
|
* lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
|
|
|
|
|
(DEAULT_LTRANS_DRIVER_LEN): New macro.
|
|
|
|
|
(lto_init_options): Initialize ltrans_driver.
|
|
|
|
|
(lto_handle_option): Fix incorrect default output value.
|
|
|
|
|
* lang.opt (fltrans-driver=): New option.
|
|
|
|
|
* Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
|
|
|
|
|
(lto.install-common): Add lto/ltrans-driver.
|
|
|
|
|
|
|
|
|
|
2008-09-24 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Add lto/common.o.
|
|
|
|
|
(lto/lto.o): Depend on lto/common.h.
|
|
|
|
|
(lto/common.o): New.
|
|
|
|
|
* lang.opt (resolution): New.
|
|
|
|
|
* lto-lang.c (resolution_file_name): New.
|
|
|
|
|
(lto_handle_option): Handle OPT_resolution.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
|
|
|
|
|
(lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
|
|
|
|
|
pass it to lto_symtab_merge_decl.
|
|
|
|
|
* lto.c: Include common.h.
|
|
|
|
|
(lto_read_decls): Add resolutions and resolutions_size arguments.
|
|
|
|
|
Initialize data_in.globals_resolution and
|
|
|
|
|
data_in.globals_resolution_size.
|
|
|
|
|
(index_and_symbol_resolution): New.
|
|
|
|
|
(lto_resolution_read): New.
|
|
|
|
|
(lto_file_read): Add argument resolution_file.
|
|
|
|
|
Read resolution.
|
|
|
|
|
* lto.h (resolution_file_name): New.
|
|
|
|
|
|
|
|
|
|
2008-09-23 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* common.c: Update description.
|
|
|
|
|
* common.h: Update description.
|
|
|
|
|
|
|
|
|
|
2008-09-23 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* common.c: Moved from lto-plugin.
|
|
|
|
|
* common.h: Moved from lto-plugin.
|
|
|
|
|
|
|
|
|
|
2008-09-22 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (VEC(bitmap,heap)): Declare.
|
|
|
|
|
(lto_materialize_function): Handle WAP mode specially.
|
|
|
|
|
(lto_add_inline_clones): New.
|
|
|
|
|
(lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
|
|
|
|
|
return a bitmap of inlined decls.
|
|
|
|
|
(lto_wpa_write_files): Handle all DECLs brought in by inlining.
|
|
|
|
|
(lto_main): Call reset_inline_failed to reset inlining states.
|
|
|
|
|
Check call-graph after WPA inlining.
|
|
|
|
|
* lto-lang.c (lto_init): Do not clear flag_generate_lto
|
|
|
|
|
unconditionally.
|
|
|
|
|
|
|
|
|
|
2008-09-19 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
lto.c (lto_main): Remove unsued wrapper code.
|
|
|
|
|
lang-specs.h (@lto): Use lto1_options instead of cc1_options.
|
|
|
|
|
|
|
|
|
|
2008-09-19 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c: Include lto-tree-in.h.
|
|
|
|
|
* lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
|
|
|
|
|
* lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
|
|
|
|
|
* Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
|
|
|
|
|
|
|
|
|
|
2008-09-17 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
|
Rafael Avila de Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
|
|
|
|
|
COMPOUND_LITERAL_EXPR_DECL): Remove.
|
|
|
|
|
(emit_local_var): Remove.
|
|
|
|
|
(lto_expand_expr): Remove.
|
|
|
|
|
(lto_staticp): Remove.
|
|
|
|
|
(LANG_HOOKS_EXPAND_EXPR): Remove.
|
|
|
|
|
(LANG_HOOKS_STATICP): Remove.
|
|
|
|
|
|
|
|
|
|
2008-09-11 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Include except.h and libfuncs.h.
|
|
|
|
|
(lto_init_eh): New.
|
|
|
|
|
(lto_init): Call it.
|
|
|
|
|
Set flag_generate_lto to 0.
|
|
|
|
|
* Make-lang.in (lto-lang.o): Add dependency on except.h
|
|
|
|
|
and libfuncs.h.
|
|
|
|
|
|
|
|
|
|
2008-09-09 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Include header file expr.h.
|
|
|
|
|
(COMPOUND_LITERAL_EXPR_DECL_STMT,
|
|
|
|
|
COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
|
|
|
|
|
(emit_local_var): Copied from c-semantics.c.
|
|
|
|
|
(lto_expand_expr, lto_staticp): Copied from c_expand_expr
|
|
|
|
|
and c_staticp in c-common.c.
|
|
|
|
|
(LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
|
|
|
|
|
|
|
|
|
|
2008-09-08 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_global_bindings_p): Return 1 during
|
|
|
|
|
IPA passes.
|
|
|
|
|
|
|
|
|
|
2008-09-07 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Tidy formatting.
|
|
|
|
|
|
|
|
|
|
2008-08-04 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Add comment.
|
|
|
|
|
|
|
|
|
|
2008-09-03 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
|
|
|
|
|
CIF_OK instead of NULL.
|
|
|
|
|
|
|
|
|
|
2008-09-02 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_type_for_size): Rewrite. Adapt from
|
|
|
|
|
c_common_type_for_size.
|
|
|
|
|
(lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
|
|
|
|
|
(lto_init): Call linemap_add.
|
|
|
|
|
(signed_and_unsigned_types): Remove.
|
|
|
|
|
|
|
|
|
|
2008-08-29 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (handle_noreturn_attribute): New local function.
|
|
|
|
|
(handle_const_attribute): New local function.
|
|
|
|
|
(handle_malloc_attribute): New local function.
|
|
|
|
|
(handle_pure_attribute): New local function.
|
|
|
|
|
(handle_novops_attribute): New local function.
|
|
|
|
|
(handle_nonnull_attribute): New local function.
|
|
|
|
|
(handle_nothrow_attribute): New local function.
|
|
|
|
|
(handle_sentinel_attribute): New local function.
|
|
|
|
|
(handle_type_generic_attribute): New local function.
|
|
|
|
|
(handle_format_attribute): New local function.
|
|
|
|
|
(handle_format_arg_attribute): New local function.
|
|
|
|
|
(lto_attribute_table): Declare.
|
|
|
|
|
(lto_format_attribute_table): Declare.
|
|
|
|
|
(lto_init_attributes): New local function.
|
|
|
|
|
(lto_define_builtins): Call it.
|
|
|
|
|
Call targetm.init_builtins and build_common_builtin_nodes.
|
|
|
|
|
(LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
|
|
|
|
|
(LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
|
|
|
|
|
|
|
|
|
|
2008-08-28 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto-lang.o): Replace tree-gimple.h with
|
|
|
|
|
$(GIMPLE_H).
|
|
|
|
|
(lto-symtab.o): Add dependency on $(GIMPLE_H).
|
|
|
|
|
* lto-lang.c: Include gimple.h instead of tree-gimple.h.
|
|
|
|
|
* lto-symtab.c: Include gimple.h.
|
|
|
|
|
* lto-tree.h (chain_next): Replace GENERIC_NEXT with
|
|
|
|
|
TREE_CHAIN.
|
|
|
|
|
|
|
|
|
|
2008-08-27 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
|
|
|
|
|
gt-lto-lto.h): New includes.
|
|
|
|
|
(lto_materialize_function): Do not read in function body in WPA mode.
|
|
|
|
|
Format a line to fit in 80 columns.
|
|
|
|
|
(lto_cgraph_node_sets): New garbage collected variable.
|
|
|
|
|
(lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
|
|
|
|
|
New functions.
|
|
|
|
|
(lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
|
|
|
|
|
* Make-lang.in (LTO_H): Replace filename lto-section-in.h with
|
|
|
|
|
variable LTO_SECTION_IN_H.
|
|
|
|
|
(lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
|
|
|
|
|
pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
|
|
|
|
|
with variable LTO_SECTION_IN_H.
|
|
|
|
|
* config-lang.in (gtfiles): Add lto/lto.c.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
|
|
|
|
|
merged DECL_RESULT correctly.
|
|
|
|
|
|
|
|
|
|
2008-08-26 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c Include tree-gimple.h.
|
|
|
|
|
(lto_mark_addressable): Call mark_addressable rather than
|
|
|
|
|
asserting.
|
|
|
|
|
(lto_post_options): Suppress debug info generation.
|
|
|
|
|
* Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-08-25 Bill Maddox <maddox@google.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
|
|
|
|
|
assertion and leave an explanatory comment in its place.
|
|
|
|
|
|
|
|
|
|
2008-08-21 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
|
|
|
|
|
of common nodes instead of computing locallly.
|
|
|
|
|
(lto_read_in_decl_state): New.
|
|
|
|
|
(lto_read_decls): Change code for udpate in struct lto_decl_header.
|
|
|
|
|
Read global and per-function in-decl states.
|
|
|
|
|
* Make-lang.in (LTO_H): Update dependency.
|
|
|
|
|
(lto/lto.o): Same.
|
|
|
|
|
(lto-symtab.c): Merge (revision 139039)
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
|
|
|
|
|
|
|
|
|
|
2008-08-21 Rafael Espindola <espindola@google.com>
|
|
|
|
|
|
|
|
|
|
* config-lang.in (target_libs): New.
|
|
|
|
|
|
|
|
|
|
2008-08-20 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (current_lto_file): Remove GTY marker from static
|
|
|
|
|
variable. Remove include of file gt-lto-lto.h.
|
|
|
|
|
* Make-lang.in: Remove dependency of lto/lto.o on
|
|
|
|
|
gt-lto-lto.h.
|
|
|
|
|
* lto-elf.c (lto_file_close): Removed.
|
|
|
|
|
(lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
|
|
|
|
|
allocate lto_elf_file object.
|
|
|
|
|
(lto_elf_file_close): Free lto_elf_file object after close.
|
|
|
|
|
* lto.h (struct lto_file_struct): Remove GTY marker.
|
|
|
|
|
* config-lang.in: Remove lto/lto.h and lto/lto.c from
|
|
|
|
|
gtfiles.
|
|
|
|
|
|
|
|
|
|
2008-08-20 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Provide dummy argument to input_tree
|
|
|
|
|
to conform to its new signature.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
|
|
|
|
|
on discarded node here, now called in global_vector_fixup.
|
|
|
|
|
|
|
|
|
|
2008-08-09 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (preload_common_nodes): Verify that fileptr_type_node
|
|
|
|
|
has not been set to a front-end-specific value.
|
|
|
|
|
|
|
|
|
|
2008-08-05 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto-symtab.o): Add missing dependencies to fix
|
|
|
|
|
build breakage.
|
|
|
|
|
|
|
|
|
|
2008-07-30 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Call lto_original_decl_name.
|
|
|
|
|
Remove obsolete comments.
|
|
|
|
|
(lto_read_decls): Remove initialization of deleted field data_in.global.
|
|
|
|
|
Tidy up comments.
|
|
|
|
|
(lto_main): Remove redundant initialization of section_hash_table.
|
|
|
|
|
* lto-elf.c: Removed obsolete comments.
|
|
|
|
|
* lto.h: Tidy up comments.
|
|
|
|
|
* lto-symtab.c (lto_least_common_multiple): New function.
|
|
|
|
|
(lto_symtab_merge_decl): Merge variable alignments in some cases.
|
|
|
|
|
Tidy up comments.
|
|
|
|
|
|
|
|
|
|
2008-07-25 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Re-order include files.
|
|
|
|
|
Include lto-section-out.h.
|
|
|
|
|
(preload_common_nodes): Add debugging output.
|
|
|
|
|
Add new local INDEX_TABLE.
|
|
|
|
|
Call preload_common_node.
|
|
|
|
|
* Make-lang.in (lto.o): Add dependency on lto-section-out.h
|
|
|
|
|
|
|
|
|
|
2008-07-13 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Cast pointer to const char * to avoid
|
|
|
|
|
unwanted scaling during pointer addition.
|
|
|
|
|
|
|
|
|
|
2008-07-11 Bill Maddox <maddox@google.com>
|
|
|
|
|
Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Fix C++ compatibility warnings.
|
|
|
|
|
Make code const-correct.
|
|
|
|
|
(lto_file_read): Fix C++ compatibility warnings.
|
|
|
|
|
(lto_read_section_data): Fix C++ compatibility warnings.
|
|
|
|
|
(lto_get_section_data): Use CONST_CAST to avoid warning when
|
|
|
|
|
const pointer passed to free.
|
|
|
|
|
* lto-elf.c (lto_elf_build_section_table): Fix C++
|
|
|
|
|
compatibility warnings.
|
|
|
|
|
(lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
|
|
|
|
|
to avoid warning assigning const pointer to d_buf field of Elf_Data.
|
|
|
|
|
(lto_get_current_out_file): Fix C++ compatibility warnings.
|
|
|
|
|
|
|
|
|
|
2008-07-11 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto-warn): Define.
|
|
|
|
|
|
|
|
|
|
2008-07-03 Simon Baldwin <simonb@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
|
|
|
|
|
LTO_STREAM_DEBUGGING.
|
|
|
|
|
|
|
|
|
|
2008-06-27 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto-section-out.h): New include.
|
|
|
|
|
(struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
|
|
|
|
|
and data members.
|
|
|
|
|
(cached_file_attrs): New static variable.
|
|
|
|
|
(lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
|
|
|
|
|
Use cached_file_attrs for checking bits.
|
|
|
|
|
(lto_elf_build_section_table): Remove elf_file argument from
|
|
|
|
|
lto_elf_get_shdr and lto_elf_free_shdr calls.
|
|
|
|
|
(DEFINE_INIT_SHDR): New macro.
|
|
|
|
|
(init_shdr32, init_shdr64): New functions defined via the
|
|
|
|
|
DEFINE_INIT_SHDR macro.
|
|
|
|
|
(lto_elf_begin_section_with_type): New function.
|
|
|
|
|
(lto_elf_begin_section): New function.
|
|
|
|
|
(lto_elf_append_data): New function.
|
|
|
|
|
(lto_elf_end_section): New function.
|
|
|
|
|
(DEFINE_VALIDATE_EHDR): New macro.
|
|
|
|
|
(validate_ehdr32, validate_ehdr64): New functions defined via the
|
|
|
|
|
DEFINE_VALIDATE_EHDR macro.
|
|
|
|
|
(validate_file): New function.
|
|
|
|
|
(DEFINE_INIT_EHDR): New macro.
|
|
|
|
|
(init_ehdr32, init_ehdr64): New functions defined via the
|
|
|
|
|
DEFINE_INIT_EHDR macro.
|
|
|
|
|
(init_ehdr): New function.
|
|
|
|
|
(lto_elf_file_open): Add support for writable files. Move some
|
|
|
|
|
validation logic to validate_file.
|
|
|
|
|
(lto_elf_file_close): Add support for writable files. Write file data
|
|
|
|
|
and free data blocks.
|
|
|
|
|
(current_out_file): New static variable.
|
|
|
|
|
(lto_set_current_out_file): New function.
|
|
|
|
|
(lto_get_current_out_file): New function.
|
|
|
|
|
* lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
|
|
|
|
|
Add temporary initialization for testing ELF serialization.
|
|
|
|
|
* lto.h (lto-section-out.h): New include.
|
|
|
|
|
(struct lto_file_struct): Slight modification to comment.
|
|
|
|
|
(lto_elf_file_open): Add writable parameter.
|
|
|
|
|
(lto_elf_begin_section): New function declaration.
|
|
|
|
|
(lto_elf_append_data): New function declaration.
|
|
|
|
|
(lto_elf_end_section): New function declaration.
|
|
|
|
|
(lto_set_current_out_file, lto_get_current_out_file): New function
|
|
|
|
|
declarations.
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
|
|
|
|
|
(LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
|
|
|
|
|
(LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
|
|
|
|
|
* Make-lang.in (LTO_H): Add lto-section-out.h.
|
|
|
|
|
|
|
|
|
|
2008-06-12 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (struct lto_file_vtable_struct): Remove.
|
|
|
|
|
(struct lto_file_struct): Remove vtable member.
|
|
|
|
|
* lto-elf.c (lto_file_init): Remove vtable argument.
|
|
|
|
|
(lto_elf_map_optional_lto_section): Remove.
|
|
|
|
|
(lto_elf_unmap_section): Remove.
|
|
|
|
|
(lto_elf_file_vtable): Remove.
|
|
|
|
|
(lto_elf_file_open): Remove lto_elf_file_vtable argument from
|
|
|
|
|
lto_file_init call.
|
|
|
|
|
(lto_elf_find_section_data): Remove.
|
|
|
|
|
|
|
|
|
|
2008-06-11 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_file_read): Add const qualifier to data variable.
|
|
|
|
|
|
|
|
|
|
2008-06-11 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
Merge from lto-streamber sub-branch.
|
|
|
|
|
|
|
|
|
|
2008-06-04 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
|
|
|
|
|
* Make-lang.in (lto.o): Remove dependency on dwarf2.h.
|
|
|
|
|
|
|
|
|
|
2008-05-28 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
Replace the DWARF reader in the LTO front-end.
|
|
|
|
|
|
|
|
|
|
* lto.c: Include lto-tree-in.h, lto-tags.h.
|
|
|
|
|
(enum DWARF2_class, DW_cl_constant, struct
|
|
|
|
|
DWARF2_form_data, struct lto_context,
|
|
|
|
|
lto_fd_init, lto_info_fd_init,
|
|
|
|
|
lto_abbrev_fd_init, lto_info_fd_close,
|
|
|
|
|
lto_file_init, lto_file_close,
|
|
|
|
|
lto_file_corrupt_error, lto_abi_mismatch_error,
|
|
|
|
|
LTO_CHECK_INT_VAL, LTO_READ_TYPE,
|
|
|
|
|
lto_read_uleb128, lto_read_sleb128,
|
|
|
|
|
lto_read_initial_length, lto_abbrev_read_attrs,
|
|
|
|
|
lto_abbrev_read, lto_abbrev_read_lookup,
|
|
|
|
|
lto_read_section_offset,
|
|
|
|
|
lto_read_comp_unit_header, find_cu_for_offset,
|
|
|
|
|
lto_get_file_name,
|
|
|
|
|
lto_resolve_reference,lto_read_form,
|
|
|
|
|
attribute_value_as_int,
|
|
|
|
|
make_signed_host_wide_int,
|
|
|
|
|
attribute_value_as_constant, lto_cache_hash,
|
|
|
|
|
lto_cache_eq, lto_cache_store_DIE,
|
|
|
|
|
lto_cache_lookup_DIE, lto_find_integral_type,
|
|
|
|
|
lto_find_integral_type_1,
|
|
|
|
|
LTO_BEGIN_READ_ATTRS_UNCHECKED,
|
|
|
|
|
LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
|
|
|
|
|
lto_unsupported_attr_error, lto_get_identifier,
|
|
|
|
|
lto_read_referenced_type_DIE,
|
|
|
|
|
lto_read_compile_unit_DIE,
|
|
|
|
|
lto_read_array_type_DIE,
|
|
|
|
|
lto_read_structure_union_class_type_DIE,
|
|
|
|
|
lto_read_enumerator_DIE,
|
|
|
|
|
lto_read_enumeration_type_DIE,
|
|
|
|
|
lto_read_only_for_child_DIEs,
|
|
|
|
|
lto_read_only_for_child_DIEs,
|
|
|
|
|
lto_read_member_DIE, lto_read_abbrev,
|
|
|
|
|
lto_read_variable_formal_parameter_constant_DIE,
|
|
|
|
|
lto_get_body): Removed.
|
|
|
|
|
(preload_common_nodes): New function.
|
|
|
|
|
(lto_read_decls): Convert for new global streamer.
|
|
|
|
|
(lto_materialze_file_data,
|
|
|
|
|
lto_read_subroutine_type_subprogram_die,
|
|
|
|
|
lto_read_unspecified_parameters_DIE,
|
|
|
|
|
lto_read_typedef_DIE,
|
|
|
|
|
lto_read_pointer_reference_type_DIE,
|
|
|
|
|
lto_read_subrange_type_DIE,
|
|
|
|
|
lto_read_base_type_DIE,
|
|
|
|
|
lto_read_const_volatile_restrict_type_DIE,
|
|
|
|
|
lto_read_namespace_DIE,
|
|
|
|
|
lto_read_unspecified_type_DIE, lto_read_DIE,
|
|
|
|
|
lto_read_child_DIEs, lto_collect_child_DIEs):
|
|
|
|
|
Removed.
|
|
|
|
|
(lto_info_read, lto_set_cu_context): Removed.
|
|
|
|
|
(lto_file_read): Convert for new global streamer.
|
|
|
|
|
(lto_resolve_type_ref, lto_read_DIE_at_ptr,
|
|
|
|
|
lto_resolve_var_ref, lto_resolve_fn_ref,
|
|
|
|
|
lto_resolve_field_ref, lto_resolve_typedecl_ref,
|
|
|
|
|
lto_resolve_namespacedecl_ref): Removed.
|
|
|
|
|
(lto_file_init, lto_file_close): Moved to lto-elf.c.
|
|
|
|
|
* lto-tree.h (lto_symtab_merge_var,
|
|
|
|
|
lto_symtab_mergee_fun): Declare here.
|
|
|
|
|
* lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
|
|
|
|
|
(lto_elf_file_open): Removed code to read DWARF debug sections.
|
|
|
|
|
* lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
|
|
|
|
|
DWARF2_CompUnit, lto_die_ptr,
|
|
|
|
|
lto_die_cache_entry, lto_fd, lto_info_fd,
|
|
|
|
|
lto_abbrev_fd): Removed.
|
|
|
|
|
(lto_file): Removed debug_info and debug_abbrev fields.
|
|
|
|
|
(lto_ref): Removed.
|
|
|
|
|
(lto_file_init, lto_file_close,
|
|
|
|
|
lto_resolve_type_ref, lto_resolve_var_ref,
|
|
|
|
|
lto_resolve_fn_ref, lto_resolve_field_ref,
|
|
|
|
|
lto_resolve_typedecl_ref,
|
|
|
|
|
lto_resolve_namespacedecl_ref,
|
|
|
|
|
lto_get_file_name): Removed declarations.
|
|
|
|
|
(lto_symtab_merge_var, lto_symtab_merge_fn):
|
|
|
|
|
Declarations moved to lto-tree.h.
|
|
|
|
|
* lto-symtab.c (lto_compatible_attributes_p):
|
|
|
|
|
Lobotomize this, as it barfs on "Hello, world!".
|
|
|
|
|
* lto-section-out.c: Include lto-tree-out.h.
|
|
|
|
|
(lto_hash_global_slot_node,
|
|
|
|
|
lto_eq_global_slot_node, preload_common_nodes,
|
|
|
|
|
write_global_stream, write_global_references):
|
|
|
|
|
New functions.
|
|
|
|
|
(produce_asm_for_decls): Convert for new global streamer.
|
|
|
|
|
* lto-section-out.h (lto_hash_global_slot_node,
|
|
|
|
|
lto_eq_global_slot_node): Declare.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (sys/mman.h, tree-pass.h): New includes.
|
|
|
|
|
(lto_materialize_constructors_and_inits,
|
|
|
|
|
lto_materialize_function): Keeps length of section.
|
|
|
|
|
(lto_materialize_cgraph): Removed.
|
|
|
|
|
(lto_read_decls): Initialize fd field.
|
|
|
|
|
(lto_file_read): Different return type and removed much code to
|
|
|
|
|
lto_main.
|
|
|
|
|
(page_mask): New variable.
|
|
|
|
|
(lto_read_section_data, get_section_data, free_section_data): New
|
|
|
|
|
functions.
|
|
|
|
|
(lto_main): Now calls pass manager, sets the hooks so that the ipa
|
|
|
|
|
passes can get the section data.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto.h (lto_read_decls): Made local.
|
|
|
|
|
(lto_input_function_body, lto_input_constructors_and_inits,
|
|
|
|
|
lto_input_cgraph): Declarations moved to lto-section-in.h.
|
|
|
|
|
* lto-section-in.c: Moved to .. .
|
|
|
|
|
* lto-cgraph-in.c: Ditto.
|
|
|
|
|
* lto-section-in.h: Ditto.
|
|
|
|
|
* lto-function-in.c: Ditto.
|
|
|
|
|
* lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
|
|
|
|
|
(lto_insert_block): Removed.
|
|
|
|
|
(LANG_HOOKS_INSERT_BLOCK): Removed.
|
|
|
|
|
* Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
|
|
|
|
|
lto-section-in.o): Rules moved to lto/Makefile.in.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-16 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (tree-inline.h): Include.
|
|
|
|
|
(lto_post_options): New function.
|
|
|
|
|
(LANG_HOOKS_POST_OPTIONS): Define.
|
|
|
|
|
* lto-cgraph-in.c (overwrite_node): Set node->global.insns.
|
|
|
|
|
* lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
|
|
|
|
|
|
|
|
|
|
2008-05-13 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-function-in.c (input_ssa_names): Call
|
|
|
|
|
make_ssa_name_fn instead of make_ssa_name.
|
|
|
|
|
|
|
|
|
|
2008-05-12 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-cgraph-in.c (overwrite_node): Update references to
|
|
|
|
|
inline summary fields.
|
|
|
|
|
* lto-function-in.c (input_expr_operand): Do not handle
|
|
|
|
|
STRUCT_FIELD_TAG.
|
|
|
|
|
|
|
|
|
|
2008-05-09 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lang.opt: New file.
|
|
|
|
|
* lto-lang.c (lto_init_options): New function.
|
|
|
|
|
(lto_handle_option): New function.
|
|
|
|
|
(lto_init): Move initialization of flag_unit_at_a_time to
|
|
|
|
|
lto_init_options.
|
|
|
|
|
(LANG_HOOKS_INIT_OPTIONS): Define.
|
|
|
|
|
(LANG_HOOKS_HANDLE_OPTION): Define.
|
|
|
|
|
|
|
|
|
|
2008-04-29 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_namespace_DIE): New function.
|
|
|
|
|
(lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
|
|
|
|
|
NAMESPACE_DECL DIE's.
|
|
|
|
|
(lto_resolve_namespacedecl_ref): New function.
|
|
|
|
|
* lto.h (lto_resolve_namespacedecl_ref): New function.
|
|
|
|
|
* lto-section-in.c (lto_read_decls): Read namespace declarations.
|
|
|
|
|
* lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
|
|
|
|
|
and num_namespace_decls.
|
|
|
|
|
* lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
|
|
|
|
|
* lto-lang.c (lto_init_ts): New function.
|
|
|
|
|
(LANG_HOOKS_INIT_TS): Set as lto_init_ts.
|
|
|
|
|
|
|
|
|
|
2008-04-16 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-function-in.c (input_type_ref): Updated function description.
|
|
|
|
|
|
|
|
|
|
2008-04-16 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-function-in.c (input_type_ref_1): New function.
|
|
|
|
|
(input_type_ref): Split into two functions.
|
|
|
|
|
(input_function): Add support for type contexts.
|
|
|
|
|
|
|
|
|
|
2008-04-16 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
|
|
|
|
|
section name
|
|
|
|
|
|
|
|
|
|
2008-04-16 Ollie Wild <aaw@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
|
|
|
|
|
list of supported languages.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
Merge with mainline @133491.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
|
|
|
|
|
fd->unmaterialized_fndecls.
|
|
|
|
|
(lto_get_file_name, lto_materialize_cgraph): New function.
|
|
|
|
|
(lto_materialize_constructors_and_inits,
|
|
|
|
|
lto_materialize_function): Read info directly from elf file.
|
|
|
|
|
(lto_file_read): Made local and initialize dictionary so that
|
|
|
|
|
other lto sections can be read without reprocessing the elf file.
|
|
|
|
|
(lto_main): Read all functions after all files have been processed
|
|
|
|
|
for their types, globals and cgraph.
|
|
|
|
|
* Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
|
|
|
|
|
dependencies.
|
|
|
|
|
* lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
|
|
|
|
|
(hash_name, eq_name, lto_elf_build_section_table): New functions.
|
|
|
|
|
(lto_elf_read_symtab): Removed function.
|
|
|
|
|
(lto_elf_file_open): Removed call to lto_elf_read_symtab.
|
|
|
|
|
* lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
|
|
|
|
|
(lto_file_read): Made local.
|
|
|
|
|
(lto_get_file_name, lto_elf_build_section_table,
|
|
|
|
|
lto_input_cgraph):
|
|
|
|
|
New function.
|
|
|
|
|
* lto-section-in.c (lto_read_section_data, lto_get_section_data):
|
|
|
|
|
New functions.
|
|
|
|
|
(lto_read_decls): Get the file name.
|
|
|
|
|
* lto-cgraph-in.c: New file.
|
|
|
|
|
* lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
|
|
|
|
|
(input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
|
|
|
|
|
(input_labels): Fixed latent sizeof issue.
|
|
|
|
|
(input_function): Build stmt array to set call sites into cgraph
|
|
|
|
|
edges.
|
|
|
|
|
(lto_read_body): Reset cfun->curr_properties.
|
|
|
|
|
* lto_section_in.h (lto_section_slot): New structure.
|
|
|
|
|
(section_hash_table.lto_file_decl_data): New field.
|
|
|
|
|
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_const): Remove code to
|
|
|
|
|
reconstruct static initializers.
|
|
|
|
|
(lto_get_body, lto_materialize_function): Add lto_section_type as
|
|
|
|
|
a parameter.
|
|
|
|
|
(lto_materialize_constructors_and_inits,
|
|
|
|
|
lto_materialize_file_data): New function.
|
|
|
|
|
(lto_materialize_function,
|
|
|
|
|
lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
|
|
|
|
|
unmap_section and map_fn_body to map_section.
|
|
|
|
|
(lto_set_cu_context): Process functions and static inits
|
|
|
|
|
differently.
|
|
|
|
|
* Make-lang.in (LTO_H, lto/lto-function-in.o,
|
|
|
|
|
lto/lto-section-in.o): Update dependencies.
|
|
|
|
|
* lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
|
|
|
|
|
lto_section_type parameter.
|
|
|
|
|
(lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
|
|
|
|
|
* lto.h (lto_file_vtable_struct): Removed two of the fields and
|
|
|
|
|
renamed the other two so that there is only one map function and
|
|
|
|
|
one unmap function and each takes a section type parameter.
|
|
|
|
|
(lto_read_function_body): Renamed to lto_input_function_body and
|
|
|
|
|
added file_data parameter.
|
|
|
|
|
(lto_read_var_init): Removed.
|
|
|
|
|
(lto_input_constructors_and_inits): New function.
|
|
|
|
|
* lto-section-in.c (lto_read_decls): New function.
|
|
|
|
|
* lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
|
|
|
|
|
var_decls, type_decls, types to lto_file_decl_data.
|
|
|
|
|
(input_type_ref, input_expr_operand, lto_read_body): Get
|
|
|
|
|
field_decls, fn_decls, var_decls, type_decls, types from different
|
|
|
|
|
structure.
|
|
|
|
|
(input_globals, input_constructor, lto_read_var_init): Removed.
|
|
|
|
|
(input_constructors_or_inits): New function.
|
|
|
|
|
(lto_read_function_body, lto_input_constructors_and_inits):
|
|
|
|
|
Renamed to lto_input_function_body and takes file_data parameter.
|
|
|
|
|
* lto-section-in.h (lto_file_decl_data): New structure.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-function-in.c (input_globals.c): Changed input type to
|
|
|
|
|
lto_function_header.
|
|
|
|
|
(input_bb): Removed code to deserialize the stmt number.
|
|
|
|
|
(input_function): Renumber all stmts after they are input.
|
|
|
|
|
(lto_read_body, lto_read_function_body, lto_read_var_init):
|
|
|
|
|
Changed to used new header format and enum section_type.
|
|
|
|
|
*lto-lang.c (success): Removed.
|
|
|
|
|
|
|
|
|
|
2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_lookup_sym): Remove unused function.
|
|
|
|
|
(lto_elf_free_sym): Likewise.
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_read_var_init): Remove unused function.
|
|
|
|
|
(lto_elf_build_init): Likewise.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c: Renamed to lto-function-in.c.
|
|
|
|
|
(input_1_unsigned): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_input_1_unsigned.
|
|
|
|
|
(input_uleb128): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_input_uleb128.
|
|
|
|
|
(input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_input_widest_uint_uleb128.
|
|
|
|
|
(input_sleb128): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_input_sleb128.
|
|
|
|
|
(input_integer): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_input_integer.
|
|
|
|
|
(debug_in_fun): Moved to lto-section-in.c and renamed
|
|
|
|
|
lto_debug_in_fun.
|
|
|
|
|
(input_block): Moved to lto-section-in.h and renamed
|
|
|
|
|
lto_input_block.
|
|
|
|
|
(input_expr_operand): Fixed to allow lists with more than one
|
|
|
|
|
element.
|
|
|
|
|
* lto-section-in.h: New file.
|
|
|
|
|
* lto-section-in.c: New file with changes from above.
|
|
|
|
|
* Make-lang.in (lto-read.o): Renamed lto-function-in.c.
|
|
|
|
|
(lto-section-in.o): New rule.
|
|
|
|
|
|
|
|
|
|
2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Mark static and external
|
|
|
|
|
VAR_DECLs as needed.
|
|
|
|
|
|
|
|
|
|
2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_integer): Use the correct shift amount.
|
|
|
|
|
|
|
|
|
|
2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
|
|
|
|
|
(LANG_HOOKS_NAME): Define.
|
|
|
|
|
|
|
|
|
|
2007-12-27 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_find_integral_type): Define as a macro. Rename the
|
|
|
|
|
original function to...
|
|
|
|
|
(lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
|
|
|
|
|
don't have a base type.
|
|
|
|
|
(lto_read_enumeration_type_DIE): Examine the values of the
|
|
|
|
|
enumeration to determine whether we can use an unsigned type for
|
|
|
|
|
the base type of the enumeration.
|
|
|
|
|
|
|
|
|
|
2007-12-24 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
|
|
|
|
|
and TYPE_ALIGN on UNION_TYPEs as soon as possible.
|
|
|
|
|
|
|
|
|
|
2007-12-22 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_types_compatible_p): New function.
|
|
|
|
|
(LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
|
|
|
|
|
|
|
|
|
|
2007-12-22 Nathan Froyd <froydnj@codesourcery.com>
|
2016-09-05 21:42:42 +02:00
|
|
|
|
Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Fixed uninitialize var warning.
|
|
|
|
|
(input_local_vars): Read in DECL_INITIAL and context for local
|
|
|
|
|
statics that need to be put in unexpanded_vars_list.
|
|
|
|
|
|
|
|
|
|
2007-12-21 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_real): Use a separate null-terminated buffer
|
|
|
|
|
for calling real_from_string.
|
|
|
|
|
(input_expr_operand): If we take the address of a FUNCTION_DECL,
|
|
|
|
|
tell cgraph that it's needed.
|
|
|
|
|
|
|
|
|
|
2007-12-19 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_base_type_DIE): Handle complex integer types.
|
|
|
|
|
|
|
|
|
|
2007-12-18 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
|
|
|
|
|
(lto_file_read): Reset the members of 'context' every time we read
|
|
|
|
|
a toplevel DIE, with special attention to last_param_type.
|
|
|
|
|
|
|
|
|
|
2007-12-18 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
|
|
|
|
|
'declaration'. Set the assembler name for non-public functions.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto_read.c (data_in.unexpanded_indexes): New array.
|
|
|
|
|
(input_local_var): Added code to read in unexpanded_var_list
|
|
|
|
|
indexes for variables. Only read in DECL_CHAIN field for
|
|
|
|
|
parameters.
|
|
|
|
|
(input_local_vars): Added code to rebuild unexpanded_var_list in
|
|
|
|
|
order using unexpanded_indexes.
|
|
|
|
|
(input_function): Added code to set DECL_CONTEXT for functions.
|
|
|
|
|
|
|
|
|
|
2007-12-13 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
|
|
|
|
|
in pointer and reference types.
|
|
|
|
|
|
|
|
|
|
2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
|
|
|
|
|
RESULT_DECL.
|
|
|
|
|
|
|
|
|
|
2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
|
|
|
|
|
already read the DIE.
|
|
|
|
|
(lto_get_body): New function, split out from...
|
|
|
|
|
(lto_materialize_function): ...here. Call it.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
|
|
|
|
|
determine DECL_EXTERNAL.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
|
|
|
|
|
FUNCTION_DECLs when necessary. Use the type of the actual
|
|
|
|
|
function definition if we are unable to easily merge types. Ignore
|
|
|
|
|
spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
|
|
|
|
|
necessary.
|
|
|
|
|
|
|
|
|
|
2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
|
|
|
|
|
|
|
|
|
|
2007-12-12 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
Revert
|
|
|
|
|
2007-12-07 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_str_fd_init): New function.
|
|
|
|
|
(lto_str_fd_close): New function.
|
|
|
|
|
(lto_file_init): Call lto_str_fd_init.
|
|
|
|
|
(lto_file_close): Call lto_str_fd_close.
|
|
|
|
|
(lto_str_read): New function. Read debug string table.
|
|
|
|
|
(lto_str_lookup): New function. Get string for debug
|
|
|
|
|
string table offset.
|
|
|
|
|
(lto_read_form): Recognize DW_FORM_strp.
|
|
|
|
|
(lto_file_read): Invoke lto_str_read.
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Read raw section data
|
|
|
|
|
for the .debug_str section, if present.
|
|
|
|
|
|
|
|
|
|
* lto.h (struct lto_str_fd_struct): New struct.
|
|
|
|
|
(struct lto_file_struct): Added new field DEBUG_STR
|
|
|
|
|
to hold the file descriptor for the debug string table.
|
|
|
|
|
|
|
|
|
|
2007-12-07 Bill Maddox <maddox@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_str_fd_init): New function.
|
|
|
|
|
(lto_str_fd_close): New function.
|
|
|
|
|
(lto_file_init): Call lto_str_fd_init.
|
|
|
|
|
(lto_file_close): Call lto_str_fd_close.
|
|
|
|
|
(lto_str_read): New function. Read debug string table.
|
|
|
|
|
(lto_str_lookup): New function. Get string for debug
|
|
|
|
|
string table offset.
|
|
|
|
|
(lto_read_form): Recognize DW_FORM_strp.
|
|
|
|
|
(lto_file_read): Invoke lto_str_read.
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Read raw section data
|
|
|
|
|
for the .debug_str section, if present.
|
|
|
|
|
|
|
|
|
|
* lto.h (struct lto_str_fd_struct): New struct.
|
|
|
|
|
(struct lto_file_struct): Added new field DEBUG_STR
|
|
|
|
|
to hold the file descriptor for the debug string table.
|
|
|
|
|
|
|
|
|
|
2007-12-07 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
|
|
|
|
|
Grow the basic_block_info and label_to_block_map vectors if
|
|
|
|
|
necessary. Read in the block chain.
|
|
|
|
|
|
|
|
|
|
2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
|
|
|
|
|
|
|
|
|
|
2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
|
|
|
|
|
|
|
|
|
|
2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Don't check for MTAGs.
|
|
|
|
|
(lto_read_body): Don't declare PROP_alias.
|
|
|
|
|
|
|
|
|
|
2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
|
|
|
|
|
argument type information.
|
|
|
|
|
|
|
|
|
|
2007-12-03 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
|
|
|
|
|
TREE_THIS_VOLATILE if the associated type is a volatile type.
|
|
|
|
|
(lto_materialize_function): Remove call to init_ssa_operands.
|
|
|
|
|
* lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
|
|
|
|
|
variable when reading an SSA_NAME. Do the same when reading a
|
|
|
|
|
RESULT_DECL, a RETURN_EXPR, or an MTAG.
|
|
|
|
|
(input_cfg): Call init_ssa_operands.
|
|
|
|
|
(input_ssa_names): Set the default def of an SSA_NAME if necessary.
|
|
|
|
|
Move call to init_tree_ssa...
|
|
|
|
|
(lto_read_body): ...here. Use push_cfun and pop_cfun. Call
|
|
|
|
|
add_referenced_var on any variables referenced from the body of the
|
|
|
|
|
function. Inform the rest of the compiler we are in SSA form and
|
|
|
|
|
inform later passes about the current properties.
|
|
|
|
|
|
|
|
|
|
2007-11-30 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_materialize_function): Add FIXME.
|
|
|
|
|
|
|
|
|
|
2007-11-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (enum built_in_attribute): New enum.
|
|
|
|
|
(flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
|
|
|
|
|
built_in_attributes): New variables.
|
|
|
|
|
(def_builtin_1): New function.
|
|
|
|
|
(lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
|
|
|
|
|
|
|
|
|
|
2007-11-28 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
|
|
|
|
|
DECL_SOURCE_LOCATION for debugging purposes.
|
|
|
|
|
(lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
|
|
|
|
|
bitfield, use the type specified by the DIE for TREE_TYPE and defer
|
|
|
|
|
laying out the decl until later.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Compare the function's
|
|
|
|
|
name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
|
|
|
|
|
TREE_ADDRESSABLE.
|
|
|
|
|
* lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
|
|
|
|
|
operand of an ADDR_EXPR.
|
|
|
|
|
* lto-lang.c (enum lto_builtin_type): New enum.
|
|
|
|
|
(builtin_type): New typedef.
|
|
|
|
|
(builtin_types, string_type_node, const_string_type_node,
|
|
|
|
|
wint_type_node, intmax_type_node, uintmax_type_node,
|
|
|
|
|
signed_size_type_node): New variables.
|
|
|
|
|
(def_fn_type, builtin_type_for_size, lto_define_builtins,
|
|
|
|
|
lto_build_c_type_nodes): New functions.
|
|
|
|
|
(lto_init): Initialize builtin types.
|
|
|
|
|
(lto_set_decl_assembler_name): Let the target machine mangle the
|
|
|
|
|
name if the decl is TREE_PUBLIC, otherwise uniquify it.
|
|
|
|
|
|
|
|
|
|
2007-11-21 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
|
|
|
|
|
set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
|
|
|
|
|
the type is a constant type. Set the assembler name and inform
|
|
|
|
|
the rest of the compiler about the new decl if the decl is not
|
|
|
|
|
public.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
|
|
|
|
|
of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
|
|
|
|
|
try to read in function bodies for functions that already have bodies.
|
|
|
|
|
* lto-symtab.c (lto_same_type_p): Check for unbounded array
|
|
|
|
|
equivalency.
|
|
|
|
|
(lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
|
|
|
|
|
Check for whether we matched a builtin function type before calling
|
|
|
|
|
lto_same_type_p on the generated type. Permit cases where the
|
|
|
|
|
declaration of an array is unbounded, but the definition is bounded.
|
|
|
|
|
Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
|
|
|
|
|
DECL_SIZE_UNIT if necessary.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Get types right
|
|
|
|
|
for COMPLEX_CST.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (make_new_block, input_cfg): Properly set
|
|
|
|
|
n_basic_blocks.
|
|
|
|
|
|
|
|
|
|
2007-11-16 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
|
|
|
|
|
set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
|
|
|
|
|
|
|
|
|
|
2007-11-16 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
|
|
|
|
|
construct the integer type for bitfields.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (data_in.current_node_has_loc): Removed.
|
|
|
|
|
(input_line_info): Returns true if node needs line set.
|
|
|
|
|
(set_line_info): Always sets line if called.
|
|
|
|
|
(clear_line_info): Removed reference to current_node_needs_loc.
|
|
|
|
|
(input_expr_operand): Keeps track locally if current node needs a loc.
|
|
|
|
|
(input_local_var): Added code to handle DECL_INITIAL for
|
|
|
|
|
static local vars. Only set loc if necessary.
|
|
|
|
|
|
|
|
|
|
2007-11-15 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
|
|
|
|
|
DECL_CONTEXT.
|
|
|
|
|
|
|
|
|
|
2007-11-15 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include langhooks.h.
|
|
|
|
|
(lto_find_integral_type): Rework logic to handle the case where
|
|
|
|
|
got_byte_size is true, but the bitsize requested and that of the
|
|
|
|
|
base_type doesn't match.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Only check for
|
|
|
|
|
asm_name if we are creating a VAR_DECL.
|
|
|
|
|
(lto_materialize_function): Set DECL_EXTERNAL if we can't find a
|
|
|
|
|
definition.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Check for a builtin
|
|
|
|
|
function reference and use the builtin's decl if so. Set the
|
|
|
|
|
DECL_CONTEXT of the RESULT_DECL for the function.
|
|
|
|
|
* lto-lang.c (registered_builtin_fndecls): New variable.
|
|
|
|
|
(lto_getdecls): Return it.
|
|
|
|
|
(lto_builtin_function): Chain the new decl onto
|
|
|
|
|
registered_builtin_fndecls.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (process_tree_flags, lto_static_init_local):
|
|
|
|
|
Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
|
|
|
|
|
(input_line_info, clear_line_info): Fixed new line number code.
|
|
|
|
|
(input_expr_operand): Added type to SWITCH_EXPR.
|
|
|
|
|
(lto_read_body): Properly initialized data_in.
|
|
|
|
|
Clear line info when leaving.
|
|
|
|
|
|
|
|
|
|
2007-11-13 Diego Novillo <dnovillo@google.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE):
|
|
|
|
|
Initialize ARTIFICIAL.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Initialize
|
|
|
|
|
SAVED_SCOPE.
|
|
|
|
|
* lto-read.c (set_line_info): Remove ; from calls to
|
|
|
|
|
LINEMAP_POSITION_FOR_COLUMN.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_type_ref): Renamed from get_type_ref.
|
|
|
|
|
(input_expr_operand, input_local_var): Renamed get_type_ref to
|
|
|
|
|
input_type_ref.
|
|
|
|
|
(input_expr_operand): Get the types correct for
|
|
|
|
|
vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
|
|
|
|
|
|
|
|
|
|
2007-11-13 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_widest_uint_uleb128): New function.
|
|
|
|
|
(input_tree_flags, process_tree_flags, input_line_info,
|
|
|
|
|
input_expr_operand, input_local_var, input_phi, input_ssa_names):
|
|
|
|
|
Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
|
|
|
|
|
unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
|
|
|
|
|
(lto_static_init_local): Add code to assert that lto_flags_type is
|
|
|
|
|
wide enough.
|
|
|
|
|
|
|
|
|
|
2007-11-13 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Handle
|
|
|
|
|
DW_AT_static_link and DW_AT_specification. Return the
|
|
|
|
|
specification if present.
|
|
|
|
|
(lto_read_base_type_DIE): Handle DW_ATE_complex_float.
|
|
|
|
|
|
|
|
|
|
2007-11-13 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c: Include target.h.
|
|
|
|
|
(registered_builtin_types): New variable.
|
|
|
|
|
(lto_type_for_mode): Increase number of modes handled.
|
|
|
|
|
(lto_builtin_function): Fix argument list and return the decl.
|
|
|
|
|
(lto_register_builtin_type): New function.
|
|
|
|
|
(lto_init): Initialize target builtins and language-independent
|
|
|
|
|
nodes.
|
|
|
|
|
(LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Added code to properly handle
|
|
|
|
|
index filed. Added new RANGE_EXPR case.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (ADD_FUNC_FLAG): Deleted macro.
|
|
|
|
|
(data_in): Added current_node_has_loc field.
|
|
|
|
|
(input_line_info, set_line_info, clear_line_info): Added a support
|
|
|
|
|
for USE_MAPPED_LOCATION and not adding line numbers to nodes that
|
|
|
|
|
did not have on on the source side.
|
|
|
|
|
(input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
|
|
|
|
|
numbers too.
|
|
|
|
|
|
|
|
|
|
2007-11-09 Doug Kwan <dougkwan@google.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Change type of operand 2 of
|
|
|
|
|
BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
|
|
|
|
|
|
|
|
|
|
2007-11-09 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Transfer bits
|
|
|
|
|
from a DW_AT_specification or DW_AT_abstract_origin attribute to
|
|
|
|
|
the new decl we are creating. Move informing the middle end about
|
|
|
|
|
the new decl to...
|
|
|
|
|
(lto_main): ...here. Inform the middle end about global variables
|
|
|
|
|
after we have read in all the input files.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
|
|
|
|
|
variables with internal linkage, so delete the check for internal
|
|
|
|
|
linkage. Combine TREE_PUBLIC flags.
|
|
|
|
|
|
|
|
|
|
2007-11-08 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
|
|
|
|
|
DW_AT_decl_line.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
|
|
|
|
|
builtin specially. Move check for attribute compatibility
|
|
|
|
|
earlier.
|
|
|
|
|
|
|
|
|
|
2007-11-07 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
|
|
|
|
|
* config-lang.in (gtfiles): Add lto.h and lto.c.
|
|
|
|
|
* lto-elf.c: Include ggc.h.
|
|
|
|
|
(lto_elf_file_open): Allocate elf_file from GC memory.
|
|
|
|
|
* lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
|
|
|
|
|
(lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
|
|
|
|
|
in GC memory.
|
|
|
|
|
(lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
|
|
|
|
|
(lto_file_close): Free file from GC memory.
|
|
|
|
|
(lto_cache_store_DIE): Allocate the new entry in GC memory.
|
|
|
|
|
(lto_read_member_DIE): Fix declaration.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
|
|
|
|
|
in GC memory.
|
|
|
|
|
(current_lto_file): New variable.
|
|
|
|
|
(lto_main): Use it.
|
|
|
|
|
(DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
|
|
|
|
|
lto_die_cache_entry): Move to...
|
|
|
|
|
* lto.h: ...here and add GTY markers as appropriate. Delete forward
|
|
|
|
|
declarations accordingly.
|
|
|
|
|
(struct lto_file_struct): Declare.
|
|
|
|
|
(lto_file_vtable): Use it instead of lto_file.
|
|
|
|
|
|
|
|
|
|
2007-11-06 Alon Dayan <alond@il.ibm.com>
|
2016-09-05 21:42:42 +02:00
|
|
|
|
Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (process_flags, lto_static_init_local):
|
|
|
|
|
read flags of VAR_DECL and FUNCTION_DECL of size>1.
|
|
|
|
|
change global array num_flags_for_code to flags_length_for_code.
|
|
|
|
|
(set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
|
|
|
|
|
|
|
|
|
|
2007-11-05 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_structure_union_class_type_DIE): Use proper record
|
|
|
|
|
layout functions to compute information about the newly constructed
|
|
|
|
|
type.
|
|
|
|
|
|
|
|
|
|
2007-11-02 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Change the LTO_return_expr1
|
|
|
|
|
case to use DECL_RESULT if necessary.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_tree_list): Removed.
|
|
|
|
|
(input_tree_flags): Added parameter to force flags no matter what
|
|
|
|
|
tree code.
|
|
|
|
|
(input_expr_operand): Added parameter to input_tree_flags.
|
|
|
|
|
Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
|
|
|
|
|
input_expr_operand rather than input_tree_lists.
|
|
|
|
|
(input_local_var): Use input_expr_operand to read attributes
|
|
|
|
|
rather then input_tree_list.
|
|
|
|
|
(input_phi, input_ssa_names): Added parameter to input_tree_flags.
|
|
|
|
|
|
|
|
|
|
2007-10-31 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_typedef_DIE): Fix comment typo.
|
|
|
|
|
(lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
|
|
|
|
|
TYPE_DECL for it.
|
|
|
|
|
* lto-read.c (lto_read_body): Use correct sizes for calculating
|
|
|
|
|
type_decls_offset and types_offset.
|
|
|
|
|
|
|
|
|
|
2007-10-30 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h (union lang_tree_node): Change GTY description to chain
|
|
|
|
|
with GENERIC_NEXT.
|
|
|
|
|
* config-lang.in (gtfiles): Add lto-lang.c.
|
|
|
|
|
* lto-lang.c: Include gt-lto-lto-lang.h.
|
|
|
|
|
* Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
|
|
|
|
|
(lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
|
|
|
|
|
(lto/lto-read.o): Likewise.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (data_in): Added type_decls and current_col fields.
|
|
|
|
|
(string_slot): New type to hold canonized file name.
|
|
|
|
|
(hash_string_slot_node, eq_string_slot_node, canon_file_name,
|
|
|
|
|
input_line_info, set_line_info, clear_line_info): New functions.
|
|
|
|
|
(file_name_hash_table): New hash table.
|
|
|
|
|
(input_local_var, input_labels, input_local_vars_index,
|
|
|
|
|
input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
|
|
|
|
|
(input_uleb128): Changed type of byte var.
|
|
|
|
|
(input_expr_operand): Large number of changes to get line numbers
|
|
|
|
|
correct. Added TYPE_DECL case.
|
|
|
|
|
(input_globals): Added code to get TYPE_DECLs processed.
|
|
|
|
|
(input_local_var): Added code to process line numbers and
|
|
|
|
|
TREE_CHAIN and DECL_CONTEXT.
|
|
|
|
|
(input_function, input_constructor): Added call to
|
|
|
|
|
clear_line_number.
|
|
|
|
|
(lto_static_init_local): Added code to get line numbers correct.
|
|
|
|
|
(lto_read_body): Added code to get TYPE_DECLS read and to change
|
|
|
|
|
parameters to the calls above that had their parms reorganized.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_resolve_typedecl_ref): Declare.
|
|
|
|
|
* lto.c (lto_resolve_typedecl_ref): New function.
|
|
|
|
|
|
|
|
|
|
2007-10-29 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
|
|
|
|
|
DIEs even if we find an abstract origin for this DIE.
|
|
|
|
|
|
|
|
|
|
2007-10-29 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
|
|
|
|
|
RESULT_DECL slightly earlier. Only remember the decl for later
|
|
|
|
|
if we successfully merge declarations.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Give label_values the proper
|
|
|
|
|
context and provide switch statements with a default type.
|
|
|
|
|
|
|
|
|
|
2007-10-23 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read_body): Move call to init_ssa_operands...
|
|
|
|
|
* lto.c (lto_materialize_function): ...to here.
|
|
|
|
|
|
|
|
|
|
2007-10-22 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
|
|
|
|
|
* lto.c (lto_info_fd_init): Initialize it.
|
|
|
|
|
(lto_info_fd_close): Free it.
|
|
|
|
|
(lto_materialize_function): New function.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Save the result decl on
|
|
|
|
|
unmaterialized_fndecls.
|
|
|
|
|
(lto_file_read): Read in all the function bodies after we have read
|
|
|
|
|
all of the DWARF info.
|
|
|
|
|
* lto-read.c (lto_read_body): Call init_ssa_operands if we are
|
|
|
|
|
reading a function body.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_tree_flags): Renamed from input_flags to be
|
|
|
|
|
semetric with output_tree_flags. Added call to log flags.
|
|
|
|
|
(process_tree_flags): Renamed from process_flags. Fixed a lot of
|
|
|
|
|
type issues to make everything consistent with flags being
|
|
|
|
|
unsigned HOST_WIDE_INTS.
|
|
|
|
|
(input_expr_operand): Added call to
|
|
|
|
|
recompute_tree_invariant_for_addr_expr.
|
|
|
|
|
(input_local_var): Added debugging for tree_chains. Now calls
|
|
|
|
|
input_tree_flags.
|
|
|
|
|
(input_phi): Made flags unsigned HOST_WIDE_INT.
|
|
|
|
|
(input_ssa_names): Now calls input_tree_flags.
|
|
|
|
|
(lto_read_body): Now sets cfun.
|
|
|
|
|
(lto_read_function_body): Now sets current_function_pointer.
|
|
|
|
|
|
|
|
|
|
2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
|
|
|
|
|
definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
|
|
|
|
|
inspecting fields within.
|
|
|
|
|
(lto_read_DIE_at_ptr): Delete check for null result; let callers
|
|
|
|
|
handle this appropriately.
|
|
|
|
|
|
|
|
|
|
2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
|
|
|
|
|
DW_AT_abstract_origin properly. Ensure that we're not dealing with
|
|
|
|
|
both DW_AT_abstract_origin and DW_AT_specification.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Handle
|
|
|
|
|
DW_AT_abstract_origin.
|
|
|
|
|
(lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
|
|
|
|
|
(lto_read_DIE_at_ptr): Define as static to match declaration.
|
|
|
|
|
Lookup the PTR in the cache before reading it from the file.
|
|
|
|
|
(lto_resolve_var_ref): Adjust accordingly.
|
|
|
|
|
(lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
|
|
|
|
|
(lto_resolve_field_ref): Adjust accordingly. Tweak comment.
|
|
|
|
|
|
|
|
|
|
2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_DIE_at_ptr): New function.
|
|
|
|
|
(lto_resolve_var_ref): Use it.
|
|
|
|
|
(lto_resolve_fn_ref): Use it.
|
|
|
|
|
(lto_resolve_field_ref): Use it.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Follow
|
|
|
|
|
DW_AT_specification and return the associated decl when appropriate.
|
|
|
|
|
|
|
|
|
|
2007-10-18 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
|
|
|
|
|
Implement for scalar integer modes.
|
|
|
|
|
(lto_init): Initialize size_type_node.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Remove ssa name asserts.
|
|
|
|
|
(input_local_var): Add chaining for params.
|
|
|
|
|
(input_ssa_names): Add cfun parameter.
|
|
|
|
|
(input_function): Remove unnecessary else.
|
|
|
|
|
|
|
|
|
|
2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
|
|
|
|
|
(lto_resolve_var_ref): Use proper types.
|
|
|
|
|
(lto_resolve_fn_ref): Likewise.
|
|
|
|
|
(lto_resolve_field_ref): Likewise.
|
|
|
|
|
|
|
|
|
|
2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Remove case.
|
|
|
|
|
|
|
|
|
|
2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_only_for_child_DIEs): New function.
|
|
|
|
|
(lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
|
|
|
|
|
* lto-elf.c (lto_elf_map_lto_section): Remove.
|
|
|
|
|
(lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
|
|
|
|
|
* lto-read.c (input_expr_operand): Assert that we never read a NULL
|
|
|
|
|
SSA_NAME. Add missing case for mechanical codes.
|
|
|
|
|
(input_cfg): Use basic_block_info_for_function instead of
|
|
|
|
|
basic_block_info.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_sleb128, input_integer): Use proper casts.
|
|
|
|
|
(input_list): Renamed input_tree_list and modified to follow same
|
|
|
|
|
protocol as lto-function-out.c:output_tree_list.
|
|
|
|
|
(input_expr_operand): Make asm operands use input_tree_list.
|
|
|
|
|
(input_local_var): Now uses input_tree_list.
|
|
|
|
|
(lto_read_body): Change placement for setting context of debug_labels.
|
|
|
|
|
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_real): Output debugging in proper order.
|
|
|
|
|
(input_integer): Compute bit lengths properly.
|
|
|
|
|
(input_list): Clean up declaration.
|
|
|
|
|
(input_expr_operand): Change calls to input_real to match fix.
|
|
|
|
|
Make reading of LTO_bit_field_ref1 match output.
|
|
|
|
|
(input_local_var): Make reading of attributes match what is being
|
|
|
|
|
written.
|
|
|
|
|
(dump_debug_stream): Also print char in hex.
|
|
|
|
|
(debug_out_fun): Fix signed unsigned mismatch.
|
|
|
|
|
|
|
|
|
|
2007-10-10 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
|
|
|
|
|
DW_AT_GNU_vector specially, as they are not contiguous with the
|
|
|
|
|
specified set of attribute names. Use class_mask to check for
|
|
|
|
|
errors at the end of the function
|
|
|
|
|
(lto_resolve_var_ref): Read the DIE if it is not cached.
|
|
|
|
|
(lto_resolve_fn_ref): Likewise.
|
|
|
|
|
(lto_resolve_field_ref): Likewise.
|
|
|
|
|
|
|
|
|
|
2007-10-05 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c: Include dwarf2out.h.
|
|
|
|
|
(lto_cache_store_DIE): Assert that we never change the value.
|
|
|
|
|
(LTO_BEGIN_READ_ATTRS): Print an informative error message.
|
|
|
|
|
(lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
|
|
|
|
|
(lto_read_array_type_DIE): Don't error on ndims == 0; build a
|
|
|
|
|
sensible type instead.
|
|
|
|
|
(lto_read_structure_union_class_type_DIE): Store the newly
|
|
|
|
|
created type prior to reading the members of the structure to
|
|
|
|
|
avoid infinite recursion. Avoid computing types and alignments
|
|
|
|
|
for structures whose sizes are unknown.
|
|
|
|
|
(lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
|
|
|
|
|
and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
|
|
|
|
|
DW_AT_const_value, and DW_AT_specification.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
|
|
|
|
|
Return early if we have already constructed the function type.
|
|
|
|
|
(lto_read_typedef_DIE): Check to see if the type has been cached
|
|
|
|
|
already. Cache the type before reading any children.
|
|
|
|
|
(lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
|
|
|
|
|
(lto_read_DIE): Unset context->skip_non_parameters around reading
|
|
|
|
|
the DIE.
|
|
|
|
|
(lto_resolve_fn_ref): Delete trailing whitespace.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Added type for STRING_CST.
|
|
|
|
|
|
|
|
|
|
2007-09-10 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
|
|
|
|
|
|
|
|
|
|
2007-09-07 Nathan Froyd <froydnj@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-lang.c (signed_and_unsigned_types): New variable.
|
|
|
|
|
(lto_type_for_size): Consult signed_and_unsigned_types to find
|
|
|
|
|
an approprite type, creating it if necessary.
|
|
|
|
|
(lto_set_decl_assembler_name): Add actual method body.
|
|
|
|
|
|
|
|
|
|
2007-09-06 Jim Blandy <jimb@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
|
|
|
|
|
can't find a var init for this variable, leave its DECL_INITIAL.
|
|
|
|
|
* lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
|
|
|
|
|
lto_elf_map_fn_body.
|
|
|
|
|
(lto_map_lto_section): New function.
|
|
|
|
|
(lto_elf_file_vtable): Use lto_elf_map_lto_section for function
|
|
|
|
|
bodies, and lto_elf_map_optional_lto_section for variable
|
|
|
|
|
initializers.
|
|
|
|
|
(lto_elf_find_section_data): Quietly return NULL if the section is
|
|
|
|
|
missing.
|
|
|
|
|
(lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (lto_elf_find_section_data): Remove dead code.
|
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read_body): Doc fix.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (fun_in): Renamed to data_in.
|
|
|
|
|
(input_expr_operand, input_local_var, input_string_internal,
|
|
|
|
|
input_string, input_real, input_list, get_label_decl,
|
|
|
|
|
get_type_ref, input_expr_operand, input_globals, input_labels,
|
|
|
|
|
input_local_vars_index, input_local_var, input_local_vars,
|
|
|
|
|
input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
|
|
|
|
|
(input_constructor): New function.
|
|
|
|
|
(lto_read_function_body): Renamed to lto_read_body and generalized
|
|
|
|
|
to handle both functions and constructors.
|
|
|
|
|
(lto_read_function_body, lto_read_var_init): New function.
|
|
|
|
|
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Assert that there really is a
|
|
|
|
|
FUNCTION_DECL.
|
|
|
|
|
(input_globals): Removed checks on 0 section.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (fun_in): Added local_decls_index and
|
|
|
|
|
local_decls_index_d.
|
|
|
|
|
(input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
|
|
|
|
|
(input_globals): Enabled code to handle FIELD_DECLs.
|
|
|
|
|
(input_local_vars_index, input_local_vars): New function.
|
|
|
|
|
(input_local_var): Changed to allow locals to be input randomly.
|
|
|
|
|
(lto_read_function_body): Added code to input the
|
|
|
|
|
local_decls_index and to free various structures.
|
|
|
|
|
|
|
|
|
|
2007-08-17 Jim Blandy <jimb@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
|
|
|
|
|
ATTRIBUTE_UNUSED from 'die' formal.
|
|
|
|
|
|
|
|
|
|
Use enum LTO_tags where appropriate, instead of 'unsigned int'.
|
|
|
|
|
* lto-read.c (input_record_start): Fix return type, type of 'tag'.
|
|
|
|
|
(input_list): Fix type of 'tag'.
|
|
|
|
|
(input_expr_operand): Fix type of 'tag' argument. Update
|
|
|
|
|
declaration. Fix type of 'ctag'. Add default case to switch,
|
|
|
|
|
since the type of the switched value is now an enum.
|
|
|
|
|
(input_local_vars): Fix type of 'tag'.
|
|
|
|
|
(input_bb): Fix type of 'tag' argument.
|
|
|
|
|
(input_function): Fix type of 'tag' argument.
|
|
|
|
|
|
|
|
|
|
2007-08-16 Jim Blandy <jimb@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_member_DIE): Record the tree we create in
|
|
|
|
|
fd->die_cache. (Our 'die' argument is no longer unused.)
|
|
|
|
|
(lto_resolve_field_ref): New function.
|
|
|
|
|
* lto.h (lto_resolve_field_ref): New declaration.
|
|
|
|
|
|
|
|
|
|
2007-08-15 Jim Blandy <jimb@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read_var_init): Mark arguments as unused.
|
|
|
|
|
|
|
|
|
|
2007-08-07 Jim Blandy <jimb@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_form): Complete attr_classes table.
|
|
|
|
|
(DWARF2_form_data): Doc fix.
|
|
|
|
|
|
|
|
|
|
2007-08-05 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
|
|
|
|
|
and unmap_var_init.
|
|
|
|
|
(lto_read_var_init): Declare.
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
|
|
|
|
|
interface for reading variable initializers.
|
|
|
|
|
* lto-elf.c (lto_elf_read_var_init): Remove.
|
|
|
|
|
(lto_elf_file_vtable): Update initializer.
|
|
|
|
|
(lto_elf_read_var_init): Add comment about unused-ness.
|
|
|
|
|
* lto-read.c (lto_read_var_init): New.
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_form): Add entry for DW_AT_inline.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read_function_body): Moved declaration of fn
|
|
|
|
|
outside of ifdef.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_uleb128, input_string_internal, input_real,
|
|
|
|
|
input_integer, input_record_start, input_list, get_type_ref,
|
|
|
|
|
input_flags, input_expr_operand, input_expr_operand,
|
|
|
|
|
input_expr_operand, input_local_vars, input_cfg, input_phi,
|
|
|
|
|
input_ssa_names, input_bb, input_function): Added semicolons.
|
|
|
|
|
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_globals): Remove debugging.
|
|
|
|
|
(input_function): Set DECL_ARGUMENTS.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
|
|
|
|
|
RETURN_EXPR, MODIFY_EXPR and processing of flags.
|
|
|
|
|
(input_phi): Made work with operands other than SSA_NAMES and
|
|
|
|
|
fixed processing of flags.
|
|
|
|
|
(input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
|
|
|
|
|
(input_flags): New function.
|
|
|
|
|
* lto-lang.c (lto_init): Changed state of in_lto_p.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-24 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto-tree.h (lto_varargs_cookie): Remove.
|
|
|
|
|
* lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
|
|
|
|
|
skip_non_parameters, skip_parameters.
|
|
|
|
|
(lto_varargs_cookie): Remove.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Keep track of
|
|
|
|
|
parameter types.
|
|
|
|
|
(lto_read_abbrev): New function.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Make two passes over
|
|
|
|
|
child DIEs.
|
|
|
|
|
(lto_read_unspecified_parameters_DIE): Set context->varargs_p.
|
|
|
|
|
(lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
|
|
|
|
|
(lto_file_read): Initialize new context fields.
|
|
|
|
|
* lto-lang.c (lto_type_for_mode): Return NULL_TREE.
|
|
|
|
|
(lto_unsigned_type): Remove.
|
|
|
|
|
(lto_signed_type): Likewise.
|
|
|
|
|
(lto_signed_or_unsigned_type): Likewise.
|
|
|
|
|
(lto_init): Do not create lto_varargs_cookie.
|
|
|
|
|
(LANG_HOOKS_UNSIGNED_TYPE): Do not define.
|
|
|
|
|
(LANG_HOOKS_SIGNED_TYPE): Likewise.
|
|
|
|
|
(LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
|
|
|
|
|
|
|
|
|
|
2007-07-19 Jan Hubicka <jh@suse.cz>
|
|
|
|
|
|
|
|
|
|
* lto-read.c (lto_read_function_body): Produce empty scope block
|
|
|
|
|
to avoid crash.
|
|
|
|
|
|
|
|
|
|
2007-07-18 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
|
|
|
|
|
process local variables.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read.c (input_list, input_expr_operand): Added struct
|
|
|
|
|
function parameter.
|
|
|
|
|
(init_cfg, finalize_cfg): Removed function.
|
|
|
|
|
(input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
|
|
|
|
|
(input_labels, input_local_vars): Now takes input_block parameter rather than
|
|
|
|
|
synthsyzing it.
|
|
|
|
|
(input_cfg, input_phi, input_ssa_names): New functions.
|
|
|
|
|
(input_bb): Now passes in input_blocks. Does not construct cfg
|
|
|
|
|
and processes the list of phi functions.
|
|
|
|
|
(input_function): Now builds both the cfg and ssa_names table.
|
|
|
|
|
(lto_read_function_body): Processes new header fields to construct
|
|
|
|
|
streams for the ssa_names and cfg and their debugging.
|
|
|
|
|
* lto/lto-lang.c (lto_init): Set in_lto_p.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-06-28 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_file_vtable): Add read_var_init.
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
|
|
|
|
|
initializers.
|
|
|
|
|
(lto_main): Remove bogus asserts.
|
|
|
|
|
* lto-elf.c (tm.h): Include it.
|
|
|
|
|
(libiberty.y): Likewise.
|
|
|
|
|
(lto_elf_file): Add strtab and symtab. Rename
|
|
|
|
|
string_table_section_index to sec_strtab.
|
|
|
|
|
(lto_elf_file_vtable): Add lto_elf_read_var_init.
|
|
|
|
|
(lto_elf_get_shdr): New function.
|
|
|
|
|
(lto_elf_free_shdr): Likewise.
|
|
|
|
|
(lto_elf_find_section_data): Use them.
|
|
|
|
|
(lto_elf_read_symtab): New function.
|
|
|
|
|
(lto_elf_lookup_sym): Likewise.
|
|
|
|
|
(lto_elf_free_sym): Likewise.
|
|
|
|
|
(lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
|
|
|
|
|
(lto_elf_built_init): New function.
|
|
|
|
|
(lto_elf_read_var_init): Likewise.
|
|
|
|
|
* Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto-read (make_new_block): Initialize the stmt_list.
|
|
|
|
|
(lto_static_init_local): Add debugging for missing codes.
|
|
|
|
|
|
|
|
|
|
2007-06-26 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
|
|
|
|
|
unprototyped functions.
|
|
|
|
|
|
|
|
|
|
2007-06-23 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_read_variable_formal_parameter_constant_DIE):
|
|
|
|
|
Handle DW_AT_MIPS_linkage_name.
|
|
|
|
|
(lto_read_subroutine_type_subprogram): Likewise. Correct
|
|
|
|
|
compilation errors.
|
|
|
|
|
(lto_main): Remove incorrect assertions.
|
|
|
|
|
* lto-symbtab.c: Build function types out of TREE_LISTs.
|
|
|
|
|
|
|
|
|
|
* lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
|
|
|
|
|
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Depend on attribs.o.
|
|
|
|
|
|
2016-09-05 21:42:42 +02:00
|
|
|
|
2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
|
|
|
|
* lto/lto-tree.h (lang_decl, lang_type, language_function): Added
|
|
|
|
|
dummy since ggc does not like empty structs.
|
|
|
|
|
* lto/lto-elf.c (libelf.h): Changed to libelf/libelf.h.
|
|
|
|
|
* lto/lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
|
|
|
|
|
expr->common to expr->base.
|
|
|
|
|
(make_new_block): Moved stmt_list to proper place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-03-14 Robert Kennedy <jimbob@google.com>
|
|
|
|
|
|
|
|
|
|
Eliminate use of lang_hooks.set_decl_assembler_name from LTO
|
|
|
|
|
* lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
|
|
|
|
|
assembler name from DWARF.
|
|
|
|
|
* lto-lang.c (lto_set_decl_assembler_name) New function.
|
|
|
|
|
|
|
|
|
|
2006-09-10 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h (lto_file_vtable): New structure.
|
|
|
|
|
(lto_file): Add vtable pointer.
|
|
|
|
|
(lto_file_init): Add vtable paramter.
|
|
|
|
|
(lto_read_function_body): New function.
|
|
|
|
|
(lto_symtab_merge_fn): New function.
|
|
|
|
|
* lto.c (lto_file_init): Add vtable parameter.
|
|
|
|
|
(lto_read_form): Fill in entries for DW_AT_prototyped,
|
|
|
|
|
DW_AT_frame_base.
|
|
|
|
|
(lto_read_subroutine_type_subprogram_DIE): New function.
|
|
|
|
|
(lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
|
|
|
|
|
DW_TAG_subprogram.
|
|
|
|
|
* lto-elf.c (lto_elf_vile_vtable): New variable.
|
|
|
|
|
(lto_elf_file_open): Pass it to lto_file_init.
|
|
|
|
|
(lto_elf_map_fn_body): New function.
|
|
|
|
|
(lto_elf_unmap_fn_body): Likewise.
|
|
|
|
|
* lto-read.c: New file.
|
|
|
|
|
* lto-symtab.c (lto_symtab_merge_fn): New function.
|
|
|
|
|
* lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
|
|
|
|
|
tree_rest_of_compilation.
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Add lto-read.o
|
|
|
|
|
(lto-read.o): New target.
|
|
|
|
|
|
|
|
|
|
2006-09-03 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (<inttypes.h>): Don't include it.
|
|
|
|
|
(lto_context): Don't typedef it.
|
|
|
|
|
(lto_resolve_reference): New function.
|
|
|
|
|
(lto_read_form): Use it.
|
|
|
|
|
(lto_resolve_type_ref): New function.
|
|
|
|
|
(lto_resolve_var_ref): Likewise.
|
|
|
|
|
(lto_resolve_fn_ref): Likewise.
|
|
|
|
|
* lto.h (<inttypes.h>): Include it.
|
|
|
|
|
(lto_context): New type.
|
|
|
|
|
(lto_ref): New structure.
|
|
|
|
|
(lto_resolve_type_ref): Declare.
|
|
|
|
|
(lto_resolve_var_ref): Likewise.
|
|
|
|
|
(lto_resolve_fn_ref): Likewise.
|
|
|
|
|
|
|
|
|
|
2006-08-18 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lang-specs.h: New file.
|
|
|
|
|
|
|
|
|
|
2006-08-14 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_info_fd_init): Allocate the DIE cache.
|
|
|
|
|
(lto_info_fd_close): Deallocate it.
|
|
|
|
|
(lto_die_cache_entry): New structure.
|
|
|
|
|
(lto_cache_hash): New function.
|
|
|
|
|
(lto_cache_eq): Likewise.
|
|
|
|
|
(lto_cache_store_DIE): Likewise.
|
|
|
|
|
(lto_cache_lookup_DIE): Likewise.
|
|
|
|
|
(lto_read_referenced_type_DIE): Use the cache.
|
|
|
|
|
(lto_read_pointer_type_DIE): Robustify.
|
|
|
|
|
(lto_read_DIE): Use the cache.
|
|
|
|
|
* lto.h (hashtab.h): Include.
|
|
|
|
|
(lto_info_fd): Add DIE cache.
|
|
|
|
|
* Make-lang.in (LTO_H): New variable.
|
|
|
|
|
(lto/lto-lang.o): Use LTO_H.
|
|
|
|
|
(lto/lto-elf.o): Likewise.
|
|
|
|
|
(lto/lto-symtab.o): Likewise.
|
|
|
|
|
|
|
|
|
|
2006-07-09 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_abi_mismatch_error): New function.
|
|
|
|
|
(lto_abbrev_read): Initialize num_abbrevs.
|
|
|
|
|
(lto_read_form): Specify allowed form classes for
|
|
|
|
|
DW_AT_declaration. Adjust for change to lto_set_cu_context.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Handle
|
|
|
|
|
DW_AT_declaration. Call lto_symtab_merge_var.
|
|
|
|
|
(lto_read_pointer_type_DIE): New function.
|
|
|
|
|
(lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
|
|
|
|
|
not creat TYPE_DECLs for types that already have them.
|
|
|
|
|
(lto_read_DIE): Add lto_read_pointer_type_DIE.
|
|
|
|
|
(lto_set_cu_context): Make cu_start point to the header, not the
|
|
|
|
|
first DIE.
|
|
|
|
|
(lto_file_read): Adjust for change to lto_set_cu_context.
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
|
|
|
|
|
(lto/lto-symtab.o): New rule.
|
|
|
|
|
* lto-tree.h (lang_identifier): Add decl field.
|
|
|
|
|
(LANG_IDENTIFIER_CAST): New macro.
|
|
|
|
|
(LTO_IDENTIFIER_DECL): Likewise.
|
|
|
|
|
(lto_symtab_merge_var): Declare.
|
|
|
|
|
* lto-symtab.c: New file.
|
|
|
|
|
|
|
|
|
|
2006-07-02 Daniel Berlin <dberlin@dberlin.org>
|
|
|
|
|
|
|
|
|
|
* lto.c (lto_context): Add current_cu and info_fd members.
|
|
|
|
|
(DWARF2_CompUnit): New structure.
|
|
|
|
|
(lto_read_DIE): Take lto_info_fd *.
|
|
|
|
|
(lto_read_child_DIEs): Ditto.
|
|
|
|
|
(lto_file_corrupt_error): Constify argument.
|
|
|
|
|
(lto_set_cu_context): New function
|
|
|
|
|
(lto_info_fd_init): Ditto.
|
|
|
|
|
(lto_info_fd_close): Ditto.
|
|
|
|
|
(lto_file_init): Use lto_info_fd_init.
|
|
|
|
|
(lto_file_close): Use lto_info_fd_close.
|
|
|
|
|
(lto_read_initial_length): Pass in pointer to header size.
|
|
|
|
|
(lto_read_comp_unit_header): Correct cu_length to
|
|
|
|
|
real length from beginning of header. Take lto_info_fd * as
|
|
|
|
|
argument.
|
|
|
|
|
(find_cu_for_offset): New function.
|
|
|
|
|
(lto_read_form): Change first argument to lto_info_fd *.
|
|
|
|
|
Add FORM_CONTEXT argument.
|
|
|
|
|
Handle DW_FORM_ref_addr.
|
|
|
|
|
(lto_read_tag_DIE): Change first argument to lto_info_fd *.
|
|
|
|
|
(LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
|
|
|
|
|
Swap contexts if necessary for form.
|
|
|
|
|
(LTO_BEGIN_READ_ATTRS): Cast fd to right type for
|
|
|
|
|
lto_file_corrupt_error.
|
|
|
|
|
(LTO_END_READ_ATTRS): Swap contexts back if it had changed.
|
|
|
|
|
(lto_read_referenced_type_DIE): Change first argument to
|
|
|
|
|
lto_info_fd *. Access lto_fd fields through base pointer.
|
|
|
|
|
(lto_read_compile_unit_DIE): Change first argument to an
|
|
|
|
|
lto_info_fd *.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Ditto.
|
|
|
|
|
(lto_read_base_type_DIE): Ditto.
|
|
|
|
|
(lto_read_child_DIEs): Ditto.
|
|
|
|
|
(lto_read_DIE): Ditto. Change type of function pointer.
|
|
|
|
|
(lto_info_read): New function.
|
|
|
|
|
(lto_set_cu_context): Ditto.
|
|
|
|
|
(lto_file_read): Use lto_info_read, walk resulting CU's
|
|
|
|
|
(lto_main): Update for lto_info_fd change.
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
|
|
|
|
|
necessary.
|
|
|
|
|
* lto.h (DWARF2_CompUnit): New structure.
|
|
|
|
|
(lto_info_fd): Ditto.
|
|
|
|
|
(lto_file): Change debug_info to be an lto_info_fd.
|
|
|
|
|
|
|
|
|
|
2006-06-25 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.c (toplev.h): Include it.
|
|
|
|
|
(dwarf2.h): Likewise.
|
|
|
|
|
(tree.h): Likewise.
|
|
|
|
|
(tm.h): Likewise.
|
|
|
|
|
(cgraph.h): Likewise.
|
|
|
|
|
(ggc.h): Likewise.
|
|
|
|
|
(inttypes.h): Likewise.
|
|
|
|
|
(DWARF2_attr): New type.
|
|
|
|
|
(DWARF2_abbrev): Likewise.
|
|
|
|
|
(DWARF2_class): Likewise.
|
|
|
|
|
(DWARF2_form_data): Likewise.
|
|
|
|
|
(lto_context): Likewise.
|
|
|
|
|
(lto_fd_init): New function.
|
|
|
|
|
(lto_abbrev_fd_init): Likewise.
|
|
|
|
|
(lto_abbrev_fd_close): Likewise.
|
|
|
|
|
(lto_file_init): Use them.
|
|
|
|
|
(lto_file_close): New function.
|
|
|
|
|
(lto_file_corrupt_error): Likewise.
|
|
|
|
|
(LTO_CHECK_INT_VAL): New macro.
|
|
|
|
|
(lto_check_size_t_val): New function.
|
|
|
|
|
(lto_check_int_val): Likewise.
|
|
|
|
|
(LTO_READ_TYPE): New macro.
|
|
|
|
|
(lto_read_ubyte): New function.
|
|
|
|
|
(lto_read_uhalf): Likewise.
|
|
|
|
|
(lto_read_uword): Likewise.
|
|
|
|
|
(lto_read_uleb128): Likewise.
|
|
|
|
|
(lto_read_initial_length): Likewise.
|
|
|
|
|
(lto_abbrev_read_attrs): Likewise.
|
|
|
|
|
(lto_abbrev_read): Likewise.
|
|
|
|
|
(lto_abbrev_lookup): Likewise.
|
|
|
|
|
(lto_read_section_offset): Likewise.
|
|
|
|
|
(lto_read_comp_unit_header): Likewise.
|
|
|
|
|
(lto_read_form): Likewise.
|
|
|
|
|
(LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
|
|
|
|
|
(LTO_BEGIN_READ_ATTRS): Likewise.
|
|
|
|
|
(LTO_END_READ_ATTRS): Likewise.
|
|
|
|
|
(lto_unsupported_attr_error): New function.
|
|
|
|
|
(lto_get_identifier): Likewise.
|
|
|
|
|
(lto_read_referenced_type_DIE): Likewise.
|
|
|
|
|
(lto_read_compile_unit_DIE): Likewise.
|
|
|
|
|
(lto_read_variable_formal_parameter_constant_DIE): Likewise.
|
|
|
|
|
(lto_read_base_type_DIE): Likewise.
|
|
|
|
|
(lto_read_DIE): Likewise.
|
|
|
|
|
(lto_read_child_DIEs): Likewise.
|
|
|
|
|
(lto_file_read): Read DIEs.
|
|
|
|
|
(lto_main): Ask middle end to emit entities.
|
|
|
|
|
* lto-tree.h (lang_identifier): Inherit from tree_identifier.
|
|
|
|
|
* lto-elf.c (lto_elf_file_open): Adjust for interface changes.
|
|
|
|
|
(lto_elf_file_close): Likewise.
|
|
|
|
|
* lto.h (lto_file): Declare.
|
|
|
|
|
(DWARF2_abbrev): Likewise.
|
|
|
|
|
(lto_fd): New type.
|
|
|
|
|
(lto_abbrev_fd): Likewise.
|
|
|
|
|
(lto_file): Use new types.
|
|
|
|
|
(lto_file_close): Declare.
|
|
|
|
|
* lto-lang.c (lto_init): Always use unit-at-a-time mode.
|
|
|
|
|
|
|
|
|
|
2006-06-18 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* lto.h: New file.
|
|
|
|
|
* lto.c: New file.
|
|
|
|
|
* lto-elf.c: New file.
|
|
|
|
|
* lto-lang.c (flags.h): Include it.
|
|
|
|
|
(lto.h): Likewise.
|
|
|
|
|
(lto_init): New function.
|
|
|
|
|
(lto_write_globals): Remove.
|
|
|
|
|
(LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
|
|
|
|
|
(LANG_HOOKS_INIT): Define.
|
|
|
|
|
(LANG_HOOKS_PARSE_FILE): Likewise.
|
|
|
|
|
* Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
|
|
|
|
|
(LTO_EXE): Link with libelf.
|
|
|
|
|
(lto/lto-lang.o): Update dependencies.
|
|
|
|
|
(lto/lto.o): New target.
|
|
|
|
|
(lto/lto-elf.o): Likewise.
|
|
|
|
|
|
|
|
|
|
2006-06-12 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* config-lang.in: New file.
|
|
|
|
|
* Make-lang.in: Likewise.
|
|
|
|
|
* lto-tree.h: Likewise.
|
|
|
|
|
* lto-lang.c: Likewise.
|
2016-01-04 15:30:50 +01:00
|
|
|
|
|
2017-01-01 13:07:43 +01:00
|
|
|
|
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
2009-10-03 23:10:11 +02:00
|
|
|
|
|
2016-01-04 15:30:50 +01:00
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|