]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
11 years agoRemove some differences with trunk.
rsandifo [Wed, 20 Nov 2013 15:28:07 +0000 (15:28 +0000)] 
Remove some differences with trunk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205120 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUse #include "wide-int.h" rather than <wide-int.h>.
rsandifo [Wed, 20 Nov 2013 13:39:23 +0000 (13:39 +0000)] 
Use #include "wide-int.h" rather than <wide-int.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205113 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove remaining wide_int (x)s.
rsandifo [Wed, 20 Nov 2013 13:38:17 +0000 (13:38 +0000)] 
Remove remaining wide_int (x)s.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205112 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMerge from trunk.
rsandifo [Wed, 20 Nov 2013 13:32:32 +0000 (13:32 +0000)] 
Merge from trunk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205111 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/ada/
rsandifo [Wed, 20 Nov 2013 11:57:27 +0000 (11:57 +0000)] 
gcc/ada/
2013-11-19  Kenneth Zadeck  <zadeck@naturalbridge.com>
    Mike Stump  <mikestump@comcast.net>
    Richard Sandiford  <rdsandiford@googlemail.com>

* gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_to_uhwi.
* gcc-interface/utils.c (make_packable_type): Likewise.

gcc/c-family/
2013-11-19  Kenneth Zadeck  <zadeck@naturalbridge.com>
    Mike Stump  <mikestump@comcast.net>
    Richard Sandiford  <rdsandiford@googlemail.com>

* c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
instead of TREE_INT_CST_LOW, in cases where there is a protecting
tree_fits_shwi_p or tree_fits_uhwi_p.
(dump_generic_ada_node): Likewise.
* c-format.c (check_format_arg): Likewise.
* c-pretty-print.c (pp_c_integer_constant): Likewise.

gcc/
2013-11-19  Kenneth Zadeck  <zadeck@naturalbridge.com>
    Mike Stump  <mikestump@comcast.net>
    Richard Sandiford  <rdsandiford@googlemail.com>

* alias.c (ao_ref_from_mem): Use tree_to_shwi and tree_to_uhwi
instead of TREE_INT_CST_LOW, in cases where there is a protecting
tree_fits_shwi_p or tree_fits_uhwi_p.
* builtins.c (fold_builtin_powi): Likewise.
* config/epiphany/epiphany.c (epiphany_special_round_type_align):
Likewise.
* dbxout.c (dbxout_symbol): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* fold-const.c (fold_single_bit_test, fold_plusminus_mult_expr)
(fold_binary_loc): Likewise.
* gimple-fold.c (fold_const_aggregate_ref_1): Likewise.
* gimple-ssa-strength-reduction.c (stmt_cost): Likewise.
* omp-low.c (lower_omp_for_lastprivate): Likewise.
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
* stor-layout.c (compute_record_mode): Likewise.
* tree-cfg.c (verify_expr): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-pretty-print.c (dump_array_domain): Likewise.
* tree-sra.c (build_user_friendly_ref_for_offset): Likewise.
* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise.
* tree-ssa-loop-ivopts.c (get_loop_invariant_expr_id): Likewise.
* tree-ssa-math-opts.c (execute_cse_sincos): Likewise.
* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
* tree-ssa-reassoc.c (acceptable_pow_call): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
(ao_ref_init_from_vn_reference, vn_reference_fold_indirect): Likewise.
(vn_reference_lookup_3, simplify_binary_expression): Likewise.
* tree-ssa-structalias.c (bitpos_of_field): Likewise.
(get_constraint_for_1, push_fields_onto_fieldstack): Likewise.
(create_variable_info_for_1): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
(vect_verify_datarefs_alignment): Likewise.
(vect_analyze_data_ref_accesses): Likewise.
(vect_prune_runtime_alias_test_list): Likewise.
* tree-vectorizer.h (NITERS_KNOWN_P): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205103 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Wed, 20 Nov 2013 11:57:06 +0000 (11:57 +0000)] 
gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Avoid signed
overflow.  Use tree_to_shwi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205102 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Wed, 20 Nov 2013 11:56:44 +0000 (11:56 +0000)] 
gcc/
* fold-const.c (fold_binary_loc): Use unsigned rather than signed
HOST_WIDE_INTs when folding (x >> c) << c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205101 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/c-family/
rsandifo [Wed, 20 Nov 2013 11:56:34 +0000 (11:56 +0000)] 
gcc/c-family/
2013-11-19  Kenneth Zadeck  <zadeck@naturalbridge.com>

* c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205100 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Wed, 20 Nov 2013 11:48:07 +0000 (11:48 +0000)] 
2013-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
    Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.c (s390_canonicalize_comparison): Don't fold
int comparisons with an out of range condition code.
(s390_optimize_nonescaping_tx): Skip empty BBs.
Generate the new tbegin RTX when removing the FPR clobbers (with
two SETs).
(s390_expand_tbegin): Fix the retry loop counter.  Copy CC to the
result before doing the retry calculations.
(s390_init_builtins): Make tbegin "returns_twice" and tabort
"noreturn".
* config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
the TDB setting part of an tbegin.
("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
("tx_assist"): Set unused argument to an immediate zero instead of
loading zero into a GPR and pass it as argument.
* config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
Remove inline and related attributes.
(__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
(__TM_is_illegal, __TM_is_footprint_exceeded)
(__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
check.

2013-11-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/htm-1.c: Rename to ...
* gcc/testsuite/gcc.target/s390/htm-builtins-compile-1.c: ... this
one.
* gcc.target/s390/htm-xl-intrin-1.c: Rename to ...
* gcc.target/s390/htm-builtins-compile-3.c: ... this one.
* gcc.target/s390/htm-builtins-compile-2.c: New testcase.
* gcc.target/s390/htm-builtins-1.c: New testcase.
* gcc.target/s390/htm-builtins-2.c: New testcase.
* gcc.target/s390/s390.exp: Add check for htm machine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205099 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate.
mrs [Wed, 20 Nov 2013 11:14:19 +0000 (11:14 +0000)] 
Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205098 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMore updates.
mrs [Wed, 20 Nov 2013 10:38:41 +0000 (10:38 +0000)] 
More updates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205097 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-20 Richard Biener <rguenther@suse.de>
rguenth [Wed, 20 Nov 2013 10:31:24 +0000 (10:31 +0000)] 
2013-11-20  Richard Biener  <rguenther@suse.de>

PR lto/59035
* lto-opts.c (lto_write_options): Write defaults only if
they were not explicitely specified.  Also write
-ffp-contract default.
* lto-wrapper.c (merge_and_complain): Merge -ffp-contract
conservatively.
(run_gcc): Pass through -ffp-contract.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205096 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFinish up most of cp/
mrs [Wed, 20 Nov 2013 10:11:23 +0000 (10:11 +0000)] 
Finish up most of cp/

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205095 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
jbglaw [Wed, 20 Nov 2013 10:03:53 +0000 (10:03 +0000)] 
2013-11-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/mips/mips.c (r10k_simplify_address): Eliminate macro usage.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02455.html

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205094 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdates.
mrs [Wed, 20 Nov 2013 10:01:02 +0000 (10:01 +0000)] 
Updates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205093 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] AArch64 SIMD Builtins Better Type Correctness.
jgreenhalgh [Wed, 20 Nov 2013 09:19:25 +0000 (09:19 +0000)] 
[AArch64] AArch64 SIMD Builtins Better Type Correctness.

gcc/
* gcc/config/aarch64/aarch64-builtins.c
(aarch64_simd_itype): Remove.
(aarch64_simd_builtin_datum): Remove itype, add
qualifiers pointer.
(VAR1): Use qualifiers.
(aarch64_build_scalar_type): New.
(aarch64_build_vector_type): Likewise.
(aarch64_build_type): Likewise.
(aarch64_init_simd_builtins): Refactor, remove special cases,
consolidate main loop.
(aarch64_simd_expand_args): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205092 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove gcc/ prefixes
ebotcazou [Wed, 20 Nov 2013 08:15:17 +0000 (08:15 +0000)] 
Remove gcc/ prefixes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205091 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
manu [Wed, 20 Nov 2013 07:15:40 +0000 (07:15 +0000)] 
2013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>

PR c/53001
Splitting out a -Wfloat-conversion from -Wconversion for
conversions that lower floating point number precision
or conversion from floating point numbers to integers.

gcc/c-family/

* c-common.c (unsafe_conversion_p): Make this function
return an enumeration with more detail.
(conversion_warning): Use the new return type of
unsafe_conversion_p to separately warn either about conversions
that lower floating point number precision or about the other
kinds of conversions.
  * c-common.h (enum conversion_safety): New enumeration.
  (unsafe_conversion_p): switching return type to
  conversion_safety enumeration.
* c.opt: Adding new warning -Wfloat-conversion and
enabling it with -Wconversion.

gcc/

* doc/invoke.texi: Adding documentation about
-Wfloat-conversion.

gcc/testsuite/

* c-c++-common/Wfloat-conversion.c: Copies relevant
tests from c-c++-common/Wconversion-real.c,
gcc.dg/Wconversion-real-integer.c and gcc.dg/pr35635.c into
new testcase for conversions that are warned about by
-Wfloat-conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205090 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/m68k/m68k.c (m68k_option_overrides): Fix typo.
law [Wed, 20 Nov 2013 07:02:48 +0000 (07:02 +0000)] 
* config/m68k/m68k.c (m68k_option_overrides): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205089 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ChangeLog: Fix whitespace.
uros [Wed, 20 Nov 2013 06:59:27 +0000 (06:59 +0000)] 
* ChangeLog: Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205088 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
dje [Wed, 20 Nov 2013 04:38:14 +0000 (04:38 +0000)] 
* testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205087 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogdbhooks.py: Implement a prettyprinter for vec<>*
dmalcolm [Wed, 20 Nov 2013 03:57:35 +0000 (03:57 +0000)] 
gdbhooks.py: Implement a prettyprinter for vec<>*

gcc/
* gdbhooks.py (VecPrinter): New class, for prettyprinting pointers
to "vec<>" instances.
(build_pretty_printer): Register the vec<>* prettyprinter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205086 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogdbhooks.py: Reorganize, to support regex matching and typedefs
dmalcolm [Wed, 20 Nov 2013 03:33:33 +0000 (03:33 +0000)] 
gdbhooks.py: Reorganize, to support regex matching and typedefs

* gdbhooks.py (GdbSubprinter.__init__): Drop str_type_ field.
(GdbSubprinter.handles_type): New.
(GdbSubprinterTypeList): New subclass of GdbSubprinter.
(GdbSubprinterRegex): New subclass of GdbSubprinter.
(GdbPrettyPrinters.add_printer): Remove in favor of...
(GdbPrettyPrinters.add_printer_for_types): ...this new method
and...
(GdbPrettyPrinters.add_printer_for_regex): ...this other new method.
(GdbPrettyPrinters.__call__): Update search for subprinter
to use handles_type method.
(build_pretty_printer): Update registration of subprinters to
use the new API above, supporting multiple spelling of each type,
and allowing for future regex-based subprinters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205085 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMore updates.
mrs [Wed, 20 Nov 2013 03:24:16 +0000 (03:24 +0000)] 
More updates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205084 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate.
mrs [Wed, 20 Nov 2013 03:10:23 +0000 (03:10 +0000)] 
Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205082 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agothird draft
zadeck [Wed, 20 Nov 2013 03:09:54 +0000 (03:09 +0000)] 
third draft

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205081 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Wed, 20 Nov 2013 03:03:51 +0000 (03:03 +0000)] 
2013-11-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Adjust
V16QI vector splat case for little endian.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205080 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove soft merge conclict leftovers.
mrs [Wed, 20 Nov 2013 02:35:40 +0000 (02:35 +0000)] 
Remove soft merge conclict leftovers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205079 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate the rest of the file names.
mrs [Wed, 20 Nov 2013 02:34:24 +0000 (02:34 +0000)] 
Update the rest of the file names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205078 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMore updates.
mrs [Wed, 20 Nov 2013 02:33:41 +0000 (02:33 +0000)] 
More updates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205077 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix more non-routine references.
mrs [Wed, 20 Nov 2013 02:09:46 +0000 (02:09 +0000)] 
Fix more non-routine references.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205076 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoCleanup file names, cleanup _with_.
mrs [Wed, 20 Nov 2013 02:01:12 +0000 (02:01 +0000)] 
Cleanup file names, cleanup _with_.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205075 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-threadedge.c (thread_across_edge): After threading
law [Wed, 20 Nov 2013 01:55:17 +0000 (01:55 +0000)] 
* tree-ssa-threadedge.c (thread_across_edge): After threading
through a joiner, allow threading a normal block requiring
duplication.

* tree-ssa-threadupdate.c (thread_block_1): Improve code to detect
jump threading requests that would muck up the loop structures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205074 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agorestore order, soft merge conflict.
mrs [Wed, 20 Nov 2013 01:41:41 +0000 (01:41 +0000)] 
restore order, soft merge conflict.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205073 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-threadupdate.c: Fix trailing whitespace.
law [Wed, 20 Nov 2013 01:41:36 +0000 (01:41 +0000)] 
* tree-ssa-threadupdate.c: Fix trailing whitespace.
* tree-ssa-threadupdate.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205072 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gdbinit.in: Add pmz to print out mpz values.
mrs [Wed, 20 Nov 2013 00:50:47 +0000 (00:50 +0000)] 
* gdbinit.in: Add pmz to print out mpz values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205071 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agofirst draft
zadeck [Wed, 20 Nov 2013 00:37:25 +0000 (00:37 +0000)] 
first draft

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205070 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agofirst draft
zadeck [Wed, 20 Nov 2013 00:35:13 +0000 (00:35 +0000)] 
first draft

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205069 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Wed, 20 Nov 2013 00:16:56 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205068 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * common.opt (ffat-lto-objects): Disable by default.
hubicka [Tue, 19 Nov 2013 23:52:19 +0000 (23:52 +0000)] 
* common.opt (ffat-lto-objects): Disable by default.
* doc/invoke.texi (fat-lto-objects): Update documentation.
* opts.c: Enable fat-lto-objects on lto plugin disable setups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205065 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/bootstrap-lto.mk: Use -ffat-lto-objects.
hubicka [Tue, 19 Nov 2013 23:51:28 +0000 (23:51 +0000)] 
* config/bootstrap-lto.mk: Use -ffat-lto-objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205064 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
redi [Tue, 19 Nov 2013 23:22:26 +0000 (23:22 +0000)] 
* config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
constructors.
* testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
* testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
failure.
* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
* testsuite/28_regex/init-list.cc: Likewise.
* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
* testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
* testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_extended.cc: Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205063 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 19 Nov 2013 22:53:06 +0000 (22:53 +0000)] 
2013-11-19  Martin Jambor  <mjambor@suse.cz>

PR rtl-optimization/59099
* ira.c (find_moveable_pseudos): Put back various analyses from ira()
here.
(ira): Move init_reg_equiv and call to
split_live_ranges_for_shrink_wrap up, remove analyses around call
to find_moveable_pseudos.

testsuite/
* gcc.target/i386/pr59099.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205061 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/sysv4.h (CC1_ENDIAN_LITTLE_SPEC): Define as empty.
amodra [Tue, 19 Nov 2013 22:50:33 +0000 (22:50 +0000)] 
* config/rs6000/sysv4.h (CC1_ENDIAN_LITTLE_SPEC): Define as empty.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Default
to strict alignment on older processors when little-endian.
* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to power8
for ELFv2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205060 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove merge faiures. svn doesn't conflict removed files with local changes. :-(
mrs [Tue, 19 Nov 2013 22:40:42 +0000 (22:40 +0000)] 
Remove merge faiures.  svn doesn't conflict removed files with local changes.  :-(

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205059 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Teresa Johnson <tejohnson@google.com>
tejohnson [Tue, 19 Nov 2013 22:13:49 +0000 (22:13 +0000)] 
2013-11-19  Teresa Johnson  <tejohnson@google.com>

* common/config/i386/i386-common.c: Enable
-freorder-blocks-and-partition at -O2 and up for x86.
* doc/invoke.texi: Update -freorder-blocks-and-partition default.
* opts.c (finish_options): Only warn if -freorder-blocks-and-
partition was set on command line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205058 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoEmit a label for the split cold function part. Label name is formed by
tmsriram [Tue, 19 Nov 2013 22:12:21 +0000 (22:12 +0000)] 
Emit a label for the split cold function part.  Label name is formed by
suffixing the original function name with "cold".

Patch tested for bootstrap on all default languages on x86_64 and
regression testsuite checked for parity with RUNTESTFLAGS -m32 and m64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205057 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
redi [Tue, 19 Nov 2013 22:03:30 +0000 (22:03 +0000)] 
* testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
to compile-only test. Adjust swap overload to handle rebound
allocators.
* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/vector/allocator/swap.cc: Add elements
before swapping.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205056 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoEliminate ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros
dmalcolm [Tue, 19 Nov 2013 21:57:13 +0000 (21:57 +0000)] 
Eliminate ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros

gcc/

* basic-block.h (ENTRY_BLOCK_PTR_FOR_FUNCTION): Rename macro to...
(EXIT_BLOCK_PTR_FOR_FUNCTION): ...this.
(ENTRY_BLOCK_PTR_FOR_FN): Renamed macro to...
(EXIT_BLOCK_PTR_FOR_FN): ...this.
(ENTRY_BLOCK_PTR): Eliminate macro as work towards making uses of
cfun be explicit.
(EXIT_BLOCK_PTR): Likewise.
(FOR_ALL_BB): Rework for now to eliminate use of "ENTRY_BLOCK_PTR".
(FOR_ALL_BB_FN): Update for renaming of
"ENTRY_BLOCK_PTR_FOR_FUNCTION" to "ENTRY_BLOCK_PTR_FOR_FN".

* cfg.c (init_flow): Likewise.
(check_bb_profile): Likewise.
* cfganal.c (pre_and_rev_post_order_compute_fn): Likewise.
* cfgcleanup.c (walk_to_nondebug_insn): Likewise.
* cfghooks.c (account_profile_record): Likewise.
* cfgloop.c (init_loops_structure): Likewise.
* cgraphbuild.c (record_eh_tables): Likewise.
(compute_call_stmt_bb_frequency): Likewise.
* ipa-inline-analysis.c (compute_bb_predicates): Likewise.
* lto-streamer-in.c (input_cfg): Likewise.
* predict.c (maybe_hot_frequency_p): Likewise.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
* tree-inline.c (initialize_cfun): Likewise.
(copy_cfg_body): Likewise.
(copy_body): Likewise.
(tree_function_versioning): Likewise.

* bb-reorder.c (add_labels_and_missing_jumps): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(duplicate_computed_gotos): Remove usage of EXIT_BLOCK_PTR macro.
(find_rarely_executed_basic_blocks_and_crossing_edges): Remove uses of
macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(connect_traces): Likewise.
(rest_of_handle_reorder_blocks): Remove usage of EXIT_BLOCK_PTR macro.
(bb_to_key): Remove usage of ENTRY_BLOCK_PTR macro.
(fix_crossing_conditional_branches): Remove usage of EXIT_BLOCK_PTR
macro.
(find_traces_1_round): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(fix_up_fall_thru_edges): Remove usage of EXIT_BLOCK_PTR macro.
(find_traces): Remove usage of ENTRY_BLOCK_PTR macro.
(fix_up_crossing_landing_pad): Remove usage of EXIT_BLOCK_PTR macro.
(rotate_loop): Likewise.
* bt-load.c (migrate_btr_def): Remove usage of ENTRY_BLOCK_PTR macro.
* cfg.c (clear_aux_for_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(alloc_aux_for_edges): Likewise.
(clear_bb_flags): Remove usage of ENTRY_BLOCK_PTR macro.
(cached_make_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(compact_blocks): Likewise.
(clear_edges): Likewise.
* cfganal.c (single_pred_before_succ_order): Remove usage of
ENTRY_BLOCK_PTR macro.
(bitmap_union_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
(bitmap_union_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
(bitmap_intersection_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
(bitmap_intersection_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
(inverted_post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(compute_dominance_frontiers_1): Remove usage of ENTRY_BLOCK_PTR
macro.
(post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(connect_infinite_loops_to_exit): Remove usage of EXIT_BLOCK_PTR
macro.
(remove_fake_edges): Remove usage of ENTRY_BLOCK_PTR macro.
(add_noreturn_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
(find_pdom): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(remove_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
(verify_edge_list): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(print_edge_list): Likewise.
(create_edge_list): Likewise.
(find_unreachable_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
(mark_dfs_back_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
* cfgbuild.c (find_bb_boundaries): Remove usage of ENTRY_BLOCK_PTR
macro.
(find_many_sub_basic_blocks): Remove usage of EXIT_BLOCK_PTR macro.
(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* cfgcleanup.c (delete_unreachable_blocks): Likewise.
(try_optimize_cfg): Likewise.
(try_head_merge_bb): Remove usage of EXIT_BLOCK_PTR macro.
(try_crossjump_to_edge): Remove usage of ENTRY_BLOCK_PTR macro.
(try_crossjump_bb): Remove usage of EXIT_BLOCK_PTR macro.
(merge_blocks_move): Remove usage of ENTRY_BLOCK_PTR macro.
(outgoing_edges_match): Remove usage of EXIT_BLOCK_PTR macro.
(try_forward_edges): Likewise.
(try_simplify_condjump): Likewise.
* cfgexpand.c (gimple_expand_cfg): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(construct_exit_block): Remove usage of EXIT_BLOCK_PTR macro.
(construct_init_block): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(expand_gimple_basic_block): Remove usage of EXIT_BLOCK_PTR macro.
(expand_gimple_tailcall): Likewise.
* cfghooks.c (can_duplicate_block_p): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(tidy_fallthru_edges): Likewise.
(verify_flow_info): Likewise.
* cfgloop.c (flow_bb_inside_loop_p): Likewise.
(num_loop_branches): Remove usage of EXIT_BLOCK_PTR macro.
(disambiguate_multiple_latches): Remove usage of ENTRY_BLOCK_PTR
macro.
(get_loop_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
(bb_loop_header_p): Remove usage of ENTRY_BLOCK_PTR macro.
(get_loop_body_in_bfs_order): Remove usage of EXIT_BLOCK_PTR macro.
(get_loop_body_in_dom_order): Likewise.
(get_loop_body): Likewise.
* cfgloopanal.c (mark_irreducible_loops): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* cfgloopmanip.c (create_preheader): Remove usage of ENTRY_BLOCK_PTR
macro.
(remove_path): Remove usage of EXIT_BLOCK_PTR macro.
(fix_bb_placement): Likewise.
* cfgrtl.c (rtl_block_empty_p): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(rtl_can_remove_branch_p): Remove usage of EXIT_BLOCK_PTR macro.
(cfg_layout_split_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(rtl_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
(cfg_layout_can_merge_blocks_p): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(cfg_layout_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
macro.
(fixup_fallthru_exit_predecessor): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(fixup_reorder_chain): Likewise.
(relink_block_chain): Likewise.
(cfg_layout_delete_block): Remove usage of EXIT_BLOCK_PTR macro.
(rtl_verify_bb_layout): Remove usage of ENTRY_BLOCK_PTR macro.
(cfg_layout_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
(force_one_exit_fallthru): Likewise.
(rtl_verify_fallthru): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(rtl_verify_edges): Likewise.
(commit_edge_insertions): Likewise.
(commit_one_edge_insertion): Likewise.
(rtl_split_edge): Likewise.
(force_nonfallthru_and_redirect): Likewise.
(outof_cfg_layout_mode): Remove usage of EXIT_BLOCK_PTR macro.
(skip_insns_after_block): Likewise.
(fixup_partition_crossing): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(purge_dead_edges): Remove usage of EXIT_BLOCK_PTR macro.
(rtl_can_merge_blocks): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(contains_no_active_insn_p): Likewise.
(emit_insn_at_entry): Remove usage of ENTRY_BLOCK_PTR macro.
(entry_of_function): Likewise.
(last_bb_in_partition): Remove usage of EXIT_BLOCK_PTR macro.
(fixup_new_cold_bb): Likewise.
(patch_jump_insn): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(block_label): Likewise.
(could_fall_through): Likewise.
(can_fallthru): Likewise.
* cgraphbuild.c (cgraph_rebuild_references): Remove usage of
ENTRY_BLOCK_PTR macro.
(rebuild_cgraph_edges): Likewise.
* cgraphunit.c (init_lowered_empty_function): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(expand_thunk): Remove usage of EXIT_BLOCK_PTR macro.
* combine.c (get_last_value): Remove usage of ENTRY_BLOCK_PTR macro.
(distribute_links): Remove usage of EXIT_BLOCK_PTR macro.
(get_last_value_validate): Remove usage of ENTRY_BLOCK_PTR macro.
(try_combine): Remove usage of EXIT_BLOCK_PTR macro.
(reg_num_sign_bit_copies_for_combine): Remove usage of ENTRY_BLOCK_PTR
macro.
(reg_nonzero_bits_for_combine): Likewise.
(set_nonzero_bits_and_sign_copies): Likewise.
(combine_instructions): Likewise.
* cprop.c (one_cprop_pass): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(bypass_conditional_jumps): Likewise.
(bypass_block): Remove usage of EXIT_BLOCK_PTR macro.
(find_implicit_sets): Likewise.
(cprop_jump): Likewise.
* cse.c (cse_cc_succs): Likewise.
(cse_find_path): Likewise.
* df-problems.c (df_lr_confluence_0): Likewise.
* df-scan.c (df_entry_block_defs_collect): Remove usage of
ENTRY_BLOCK_PTR macro.
(df_exit_block_uses_collect): Remove usage of EXIT_BLOCK_PTR macro.
* dominance.c (iterate_fix_dominators): Remove usage of
ENTRY_BLOCK_PTR macro.
(calc_idoms): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(determine_dominators_for_sons): Remove usage of ENTRY_BLOCK_PTR
macro.
(calc_dfs_tree): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(prune_bbs_to_update_dominators): Remove usage of ENTRY_BLOCK_PTR
macro.
(calc_dfs_tree_nonrec): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
* domwalk.c (cmp_bb_postorder): Likewise.
* dse.c (dse_step1): Remove usage of EXIT_BLOCK_PTR macro.
* except.c (finish_eh_generation): Remove usage of ENTRY_BLOCK_PTR
macro.
(sjlj_emit_function_enter): Likewise.
* final.c (compute_alignments): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Remove uses of
macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(reposition_prologue_and_epilogue_notes): Remove usage of
EXIT_BLOCK_PTR macro.
(convert_jumps_to_returns): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(regno_clobbered_at_setjmp): Remove usage of ENTRY_BLOCK_PTR macro.
(next_block_for_reg): Remove usage of EXIT_BLOCK_PTR macro.
* gcse.c (hoist_code): Remove usage of ENTRY_BLOCK_PTR macro.
(update_bb_reg_pressure): Remove usage of EXIT_BLOCK_PTR macro.
(compute_code_hoist_vbeinout): Likewise.
(should_hoist_expr_to_dom): Remove usage of ENTRY_BLOCK_PTR macro.
(pre_expr_reaches_here_p_work): Likewise.
* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
(gimple_find_edge_insert_loc): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove usage of
ENTRY_BLOCK_PTR macro.
* graph.c (draw_cfg_nodes_for_loop): Remove usage of EXIT_BLOCK_PTR
macro.
* graphite-clast-to-gimple.c (translate_clast_user): Remove usage of
ENTRY_BLOCK_PTR macro.
* graphite-scop-detection.c (build_scops): Likewise.
(create_sese_edges): Remove usage of EXIT_BLOCK_PTR macro.
(scopdet_basic_block_info): Remove usage of ENTRY_BLOCK_PTR macro.
* haifa-sched.c (restore_bb_notes): Remove usage of EXIT_BLOCK_PTR
macro.
(unlink_bb_notes): Likewise.
(create_check_block_twin): Likewise.
(init_before_recovery): Likewise.
(sched_extend_bb): Likewise.
(priority): Likewise.
* hw-doloop.c (reorder_loops): Likewise.
(discover_loop): Likewise.
* ifcvt.c (dead_or_predicable): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(find_if_case_1): Remove usage of EXIT_BLOCK_PTR macro.
(block_has_only_trap): Likewise.
(cond_exec_find_if_block): Likewise.
(merge_if_block): Likewise.
* ipa-inline-analysis.c (param_change_prob): Remove usage of
ENTRY_BLOCK_PTR macro.
(record_modified): Likewise.
* ipa-pure-const.c (execute_warn_function_noreturn): Remove usage of
EXIT_BLOCK_PTR macro.
(local_pure_const): Likewise.
* ipa-split.c (split_function): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(find_split_points): Likewise.
(consider_split): Likewise.
(find_return_bb): Remove usage of EXIT_BLOCK_PTR macro.
(verify_non_ssa_vars): Remove usage of ENTRY_BLOCK_PTR macro.
* ira-build.c (ira_loop_tree_body_rev_postorder): Likewise.
* ira-color.c (print_loop_title): Remove usage of EXIT_BLOCK_PTR
macro.
* ira-emit.c (entered_from_non_parent_p): Remove usage of
ENTRY_BLOCK_PTR macro.
(ira_emit): Remove usage of EXIT_BLOCK_PTR macro.
* ira-int.h (ira_assert): Remove usage of ENTRY_BLOCK_PTR macro.
* ira.c (split_live_ranges_for_shrink_wrap): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* lcm.c (compute_rev_insert_delete): Remove usage of ENTRY_BLOCK_PTR
macro.
(compute_nearerout): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(compute_farthest): Likewise.
(compute_available): Likewise.
(compute_insert_delete): Remove usage of EXIT_BLOCK_PTR macro.
(compute_laterin): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(compute_earliest): Likewise.
(compute_antinout_edge): Likewise.
* loop-iv.c (simplify_using_initial_values): Remove usage of
ENTRY_BLOCK_PTR macro.
* loop-unswitch.c (unswitch_loop): Remove usage of EXIT_BLOCK_PTR
macro.
* lra-assigns.c (find_hard_regno_for): Remove usage of ENTRY_BLOCK_PTR
macro.
* lra-constraints.c (lra_inheritance): Remove usage of EXIT_BLOCK_PTR
macro.
* lra-lives.c (lra_create_live_ranges): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* lra.c (has_nonexceptional_receiver): Remove usage of EXIT_BLOCK_PTR
macro.
* lto-streamer-in.c (input_function): Remove usage of ENTRY_BLOCK_PTR
macro.
* lto-streamer-out.c (output_cfg): Likewise.
* mcf.c (adjust_cfg_counts): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(create_fixup_graph): Remove usage of ENTRY_BLOCK_PTR macro.
* mode-switching.c (optimize_mode_switching): Likewise.
(create_pre_exit): Remove usage of EXIT_BLOCK_PTR macro.
* modulo-sched.c (rest_of_handle_sms): Likewise.
(canon_loop): Likewise.
* omp-low.c (build_omp_regions): Remove usage of ENTRY_BLOCK_PTR
macro.
* postreload-gcse.c (eliminate_partially_redundant_loads): Remove uses
of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* predict.c (rebuild_frequencies): Remove usage of ENTRY_BLOCK_PTR
macro.
(propagate_freq): Remove usage of EXIT_BLOCK_PTR macro.
(estimate_bb_frequencies): Remove usage of ENTRY_BLOCK_PTR macro.
(tree_estimate_probability_bb): Remove usage of EXIT_BLOCK_PTR macro.
(expensive_function_p): Remove usage of ENTRY_BLOCK_PTR macro.
(tree_bb_level_predictions): Remove usage of EXIT_BLOCK_PTR macro.
(counts_to_freqs): Remove usage of ENTRY_BLOCK_PTR macro.
(apply_return_prediction): Remove usage of EXIT_BLOCK_PTR macro.
(estimate_loops): Remove usage of ENTRY_BLOCK_PTR macro.
(gimple_predict_edge): Likewise.
(probably_never_executed): Likewise.
* profile.c (find_spanning_tree): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(branch_prob): Likewise.
(compute_branch_probabilities): Likewise.
(compute_frequency_overlap): Remove usage of ENTRY_BLOCK_PTR macro.
(is_inconsistent): Remove usage of EXIT_BLOCK_PTR macro.
(read_profile_edge_counts): Remove usage of ENTRY_BLOCK_PTR macro.
(set_bb_counts): Likewise.
(correct_negative_edge_counts): Likewise.
(get_exec_counts): Likewise.
(instrument_values): Likewise.
(instrument_edges): Likewise.
* reg-stack.c (convert_regs): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(compensate_edges): Remove usage of ENTRY_BLOCK_PTR macro.
(convert_regs_exit): Remove usage of EXIT_BLOCK_PTR macro.
(convert_regs_entry): Remove usage of ENTRY_BLOCK_PTR macro.
(reg_to_stack): Likewise.
* regs.h (REG_N_SETS): Likewise.
* reload.c (find_dummy_reload): Likewise.
(combine_reloads): Likewise.
(push_reload): Likewise.
* reload1.c (has_nonexceptional_receiver): Remove usage of
EXIT_BLOCK_PTR macro.
* resource.c (mark_target_live_regs): Remove usage of ENTRY_BLOCK_PTR
macro.
(find_basic_block): Likewise.
* sched-ebb.c (ebb_add_block): Remove usage of EXIT_BLOCK_PTR macro.
(schedule_ebbs): Likewise.
* sched-int.h (sel_sched_p): Likewise.
* sched-rgn.c (compute_dom_prob_ps): Remove usage of ENTRY_BLOCK_PTR
macro.
(rgn_add_block): Remove usage of EXIT_BLOCK_PTR macro.
(haifa_find_rgns): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(propagate_deps): Remove usage of EXIT_BLOCK_PTR macro.
(extend_rgns): Likewise.
(find_single_block_region): Likewise.
* sel-sched-ir.c (sel_remove_loop_preheader): Remove usage of
ENTRY_BLOCK_PTR macro.
(setup_nop_and_exit_insns): Remove usage of EXIT_BLOCK_PTR macro.
(sel_create_recovery_block): Likewise.
(bb_ends_ebb_p): Likewise.
(sel_bb_end): Likewise.
(sel_bb_head): Likewise.
(free_lv_sets): Likewise.
(init_lv_sets): Likewise.
(tidy_control_flow): Likewise.
(maybe_tidy_empty_bb): Likewise.
* sel-sched-ir.h (_succ_iter_cond): Likewise.
(_succ_iter_start): Likewise.
(sel_bb_empty_or_nop_p): Likewise.
(get_loop_exit_edges_unique_dests): Likewise.
(inner_loop_header_p): Likewise.
* sel-sched.c (create_block_for_bookkeeping): Likewise.
(find_block_for_bookkeeping): Likewise.
* store-motion.c (remove_reachable_equiv_notes): Likewise.
(insert_store): Likewise.
* trans-mem.c (ipa_tm_transform_clone): Remove usage of
ENTRY_BLOCK_PTR macro.
(tm_memopt_compute_available): Remove usage of EXIT_BLOCK_PTR macro.
(ipa_tm_scan_irr_function): Remove usage of ENTRY_BLOCK_PTR macro.
(gate_tm_init): Likewise.
(tm_region_init): Likewise.
* tree-cfg.c (execute_fixup_cfg): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(execute_warn_function_return): Remove usage of EXIT_BLOCK_PTR macro.
(split_critical_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(print_loops): Remove usage of ENTRY_BLOCK_PTR macro.
(move_sese_region_to_fn): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(gimple_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
macro.
(gimple_verify_flow_info): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(remove_edge_and_dominated_blocks): Remove usage of EXIT_BLOCK_PTR
macro.
(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(gimple_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
(make_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
(build_gimple_cfg): Likewise.
(gimple_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
(gimple_can_merge_blocks_p): Likewise.
* tree-cfgcleanup.c (tree_forwarder_block_p): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* tree-complex.c (update_parameter_components): Remove usage of
ENTRY_BLOCK_PTR macro.
* tree-if-conv.c (get_loop_body_in_if_conv_order): Remove usage of
EXIT_BLOCK_PTR macro.
* tree-inline.c (tree_function_versioning): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(delete_unreachable_blocks_update_callgraph): Likewise.
(initialize_cfun): Likewise.
(copy_cfg_body): Remove usage of ENTRY_BLOCK_PTR macro.
(copy_edges_for_bb): Remove usage of EXIT_BLOCK_PTR macro.
(remap_ssa_name): Remove usage of ENTRY_BLOCK_PTR macro.
* tree-into-ssa.c (update_ssa): Likewise.
(maybe_register_def): Remove usage of EXIT_BLOCK_PTR macro.
(insert_updated_phi_nodes_for): Remove usage of ENTRY_BLOCK_PTR macro.
(rewrite_into_ssa): Likewise.
(rewrite_debug_stmt_uses): Likewise.
* tree-outof-ssa.c (expand_phi_nodes): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* tree-profile.c (gimple_gen_ic_func_profiler): Remove usage of
ENTRY_BLOCK_PTR macro.
* tree-scalar-evolution.h (block_before_loop): Likewise.
* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
(dump_dereferences_table): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(analyze_caller_dereference_legality): Remove usage of ENTRY_BLOCK_PTR
macro.
(propagate_dereference_distances): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(initialize_parameter_reductions): Remove usage of ENTRY_BLOCK_PTR
macro.
* tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Likewise.
(optimize_stack_restore): Remove usage of EXIT_BLOCK_PTR macro.
* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(remove_dead_stmt): Remove usage of EXIT_BLOCK_PTR macro.
(propagate_necessity): Remove usage of ENTRY_BLOCK_PTR macro.
(mark_control_dependent_edges_necessary): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
* tree-ssa-dom.c (eliminate_degenerate_phis): Remove usage of
ENTRY_BLOCK_PTR macro.
(tree_ssa_dominator_optimize): Remove usage of EXIT_BLOCK_PTR macro.
* tree-ssa-live.c (verify_live_on_entry): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(calculate_live_on_exit): Likewise.
(set_var_live_on_entry): Remove usage of ENTRY_BLOCK_PTR macro.
(loe_visit_block): Likewise.
* tree-ssa-live.h (live_on_exit): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(live_on_entry): Likewise.
* tree-ssa-loop-ivopts.c (find_interesting_uses): Remove usage of
EXIT_BLOCK_PTR macro.
* tree-ssa-loop-manip.c (compute_live_loop_exits): Remove usage of
ENTRY_BLOCK_PTR macro.
* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Likewise.
(bound_difference): Likewise.
* tree-ssa-loop-prefetch.c (may_use_storent_in_loop_p): Remove usage
of EXIT_BLOCK_PTR macro.
* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Remove usage
of ENTRY_BLOCK_PTR macro.
* tree-ssa-math-opts.c (register_division_in): Likewise.
* tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
* tree-ssa-pre.c (compute_avail): Likewise.
(compute_antic): Remove usage of EXIT_BLOCK_PTR macro.
(insert): Remove usage of ENTRY_BLOCK_PTR macro.
* tree-ssa-propagate.c (ssa_prop_init): Likewise.
(simulate_block): Remove usage of EXIT_BLOCK_PTR macro.
(cfg_blocks_add): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
(add_control_edge): Remove usage of EXIT_BLOCK_PTR macro.
* tree-ssa-reassoc.c (do_reassoc): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(build_and_add_sum): Remove usage of ENTRY_BLOCK_PTR macro.
* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
(execute_sink_code): Remove usage of EXIT_BLOCK_PTR macro.
* tree-ssa-uninit.c (find_dom): Remove usage of ENTRY_BLOCK_PTR macro.
(compute_control_dep_chain): Remove usage of EXIT_BLOCK_PTR macro.
(find_pdom): Likewise.
(warn_uninitialized_vars): Remove usage of ENTRY_BLOCK_PTR macro.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(eliminate_tail_call): Likewise.
* tsan.c (instrument_func_entry): Remove usage of ENTRY_BLOCK_PTR
macro.
(instrument_func_exit): Remove usage of EXIT_BLOCK_PTR macro.
* var-tracking.c (vt_initialize): Remove uses of macros:
ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
(vt_add_function_parameter): Remove usage of ENTRY_BLOCK_PTR macro.
(vt_find_locations): Remove usage of EXIT_BLOCK_PTR macro.
(vt_stack_adjustments): Remove uses of macros: ENTRY_BLOCK_PTR,
EXIT_BLOCK_PTR.
* varasm.c (assemble_start_function): Remove usage of ENTRY_BLOCK_PTR
macro.
* config/bfin/bfin.c (hwloop_optimize): Likewise.
* config/nds32/nds32.c (nds32_fp_as_gp_check_available): Remove usage
of EXIT_BLOCK_PTR macro.
* config/arm/arm.c (require_pic_register): Remove usage of
ENTRY_BLOCK_PTR macro.
(arm_r3_live_at_start_p): Likewise.
(any_sibcall_could_use_r3): Remove usage of EXIT_BLOCK_PTR macro.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/frv/frv.c (frv_optimize_membar_global): Likewise.
* config/alpha/alpha.c (alpha_gp_save_rtx): Remove usage of
ENTRY_BLOCK_PTR macro.
* config/i386/i386.c (ix86_count_insn): Likewise.
(ix86_seh_fixup_eh_fallthru): Remove usage of EXIT_BLOCK_PTR macro.
(ix86_pad_short_function): Likewise.
(ix86_compute_frame_layout): Remove usage of ENTRY_BLOCK_PTR macro.
(ix86_pad_returns): Remove usage of EXIT_BLOCK_PTR macro.
(ix86_eax_live_at_start_p): Remove usage of ENTRY_BLOCK_PTR macro.
(add_condition_to_bb): Remove usage of EXIT_BLOCK_PTR macro.
(ix86_expand_epilogue): Likewise.
* config/ia64/ia64.c (ia64_asm_unwind_emit): Likewise.
(ia64_expand_prologue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205055 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Catherine Moore <clm@codesourcery.com>
clm [Tue, 19 Nov 2013 21:30:54 +0000 (21:30 +0000)] 
2013-11-19  Catherine Moore  <clm@codesourcery.com>

* doc/invoke.texi (mfix-rm7000, mno-fix-rm7000): Document.
* config/mips/mips.opt (mfix-rm7000): New option.
* config/mips/mips.h (ASM_SPEC): Handle mfix-rm7000.
* config/mips/mips.c (mips_reorg_process_insns): Disable
noreorder for TARGET_FIX_RM7000.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205054 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh-c.c: Fix typo in include of file attribs.h.
olegendo [Tue, 19 Nov 2013 18:34:44 +0000 (18:34 +0000)] 
* config/sh/sh-c.c: Fix typo in include of file attribs.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205052 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/arm/arm.c (arm_new_rtx_costs):
ktkachov [Tue, 19 Nov 2013 17:53:33 +0000 (17:53 +0000)] 
* config/arm/arm.c (arm_new_rtx_costs):
Handle narrow mode add-shifts properly.
* config/arm/arm-common.c (arm_rtx_shift_left_p): Remove static.
* config/arm/arm-common-protos.h (arm_rtx_shift_left_p):
Declare extern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205051 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[ARM] Add missing type attribute to zero_extend on arm
jgreenhalgh [Tue, 19 Nov 2013 17:40:15 +0000 (17:40 +0000)] 
[ARM] Add missing type attribute to zero_extend on arm

gcc/
* config/arm/arm.md (zero_extend<mode>di2): Add type attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205050 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agorichards suggestions
zadeck [Tue, 19 Nov 2013 17:21:21 +0000 (17:21 +0000)] 
richards suggestions

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205049 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.target/powerpc/ppc64-abi-2.c (MAKE_SLOT): New macro to
uweigand [Tue, 19 Nov 2013 17:12:14 +0000 (17:12 +0000)] 
* gcc.target/powerpc/ppc64-abi-2.c (MAKE_SLOT): New macro to
construct parameter slot value in endian-independent way.
(fcevv, fciievv, fcvevv): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205047 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/vector.md ("mov<mode>"): Do not call
uweigand [Tue, 19 Nov 2013 17:01:45 +0000 (17:01 +0000)] 
* config/rs6000/vector.md ("mov<mode>"): Do not call
rs6000_emit_le_vsx_move to move into or out of GPRs.
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Assert
source and destination are not GPR hard regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205045 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoEliminate n_edges macro
dmalcolm [Tue, 19 Nov 2013 16:50:04 +0000 (16:50 +0000)] 
Eliminate n_edges macro

* basic-block.h (n_edges_for_function): Rename macro to...
(n_edges_for_fn): ...this.
(n_edges): Eliminate macro as work towards making uses of
cfun be explicit.

* cfg.c (init_flow): Update for renaming of "n_edges_for_function"
to "n_edges_for_fn".

* cfg.c (unchecked_make_edge): Remove usage of n_edges macro.
(clear_edges): Likewise.
(free_edge): Likewise.
* cfghooks.c (dump_flow_info): Likewise.
* cprop.c (is_too_expensive): Likewise.
* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
* gcse.c (is_too_expensive): Likewise.
(prune_insertions_deletions): Likewise.
* mcf.c (create_fixup_graph): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
* tree-cfg.c (gimple_dump_cfg): Likewise.
* var-tracking.c (variable_tracking_main_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205044 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix over length lines around aarch64_save_or_restore_fprs.
mshawcroft [Tue, 19 Nov 2013 16:39:32 +0000 (16:39 +0000)] 
[AArch64] Fix over length lines around aarch64_save_or_restore_fprs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205043 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[PATCH] [AArch64] Fix whitespace around aarch64_movdi_<mode>low
mshawcroft [Tue, 19 Nov 2013 16:36:29 +0000 (16:36 +0000)] 
[PATCH] [AArch64] Fix whitespace around aarch64_movdi_<mode>low

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205042 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix whitespace around PROFILE_HOOK.
mshawcroft [Tue, 19 Nov 2013 16:33:03 +0000 (16:33 +0000)] 
[AArch64] Fix whitespace around PROFILE_HOOK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205041 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * varasm.c (align_variable): Give error instead of warning for
jsm28 [Tue, 19 Nov 2013 16:29:57 +0000 (16:29 +0000)] 
* varasm.c (align_variable): Give error instead of warning for
unsupported alignment.
(assemble_noswitch_variable): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205040 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRevert accidental checkin.
hubicka [Tue, 19 Nov 2013 16:29:09 +0000 (16:29 +0000)] 
Revert accidental checkin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205039 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[gcc/c-family]
bstarynk [Tue, 19 Nov 2013 16:26:52 +0000 (16:26 +0000)] 
[gcc/c-family]
2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>

        * c-opts.c: Include plugin.h.
        (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.

[gcc/]
2013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>

        * plugin.def (PLUGIN_INCLUDE_FILE): New event, invoked in
        cb_file_change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205038 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa/devirt9.C: Fix previous change.
hubicka [Tue, 19 Nov 2013 16:26:21 +0000 (16:26 +0000)] 
* ipa/devirt9.C: Fix previous change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205037 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * loop-doloop.c (doloop_optimize_loops): Remove unused
bergner [Tue, 19 Nov 2013 16:21:32 +0000 (16:21 +0000)] 
* loop-doloop.c (doloop_optimize_loops): Remove unused
loop iterator argument from FOR_EACH_LOOP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205036 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix 20101011-1.c
mshawcroft [Tue, 19 Nov 2013 15:50:57 +0000 (15:50 +0000)] 
[AArch64] Fix 20101011-1.c

2013-11-19  Cesar Philippidis  <cesar@codesourcery.com>

* gcc.c-torture/execute/20101011-1.c (__aarch64__):
Remove defined(__linux__).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205035 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoConvert gimple types from a union to C++ inheritance
dmalcolm [Tue, 19 Nov 2013 15:50:46 +0000 (15:50 +0000)] 
Convert gimple types from a union to C++ inheritance

Patch partially autogenerated by refactor_gimple.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 05fc808c61bd8ddd2372f29b79ceb2491360d298

* Makefile.in (GIMPLE_H): Add dep on is-a.h.
* coretypes.h (union gimple_statement_d): Remove declaration.
(gimple): Convert from being a "union gimple_statement_d *"
to a "struct gimple_statement_base *".
(const_gimple): Likewise (with "const").
* ggc.h (ggc_alloc_cleared_gimple_statement_d_stat): Replace
with...
(ggc_alloc_cleared_gimple_statement_stat): ...this.
* gimple-pretty-print.c (debug): Change parameter from a
"gimple_statement_d &" to a "gimple_statement_base &".
(debug): Change parameter from a "gimple_statement_d *" to
a "gimple_statement_base *".
* gimple-pretty-print.h (debug): Update declarations as above.
* gimple.c (gimple_alloc_stat): Update for renaming of
ggc_alloc_cleared_gimple_statement_d_stat to
ggc_alloc_cleared_gimple_statement_stat.
* gimple.h: Include "is-a.h" for use by is_a_helper
specializations in followup autogenerated patch.
(struct gimple statement_base): Make this type usable as a base
class by adding "desc", "tag" and "variable_size" to GTY, thus
using opting-in to gengtype's support for simple inheritance.
(gimple_statement_with_ops_base): Convert to a subclass of
gimple_statement_base, dropping initial "gsbase" field.  Note
that this type is abstract, with no GSS_ value, and thus no GTY
tag value.
(gimple_statement_with_ops): Convert to a subclass of
gimple_statement_with_ops_base, dropping initial "opbase" field.
Add tag value to GTY marking.  Update marking of op field to
reflect how num_ops field is accessed via inheritance.
(gimple_statement_with_memory_ops_base): Convert to a subclass of
gimple_statement_with_ops_base, dropping initial "opbase" field.
Add tag value to GTY marking.
(gimple_statement_with_memory_ops): Convert to a subclass of
public gimple_statement_with_memory_ops_base, dropping initial
"membase" field.  Add tag value to GTY marking.  Update marking
of op field to reflect how num_ops field is accessed via
inheritance.
(gimple_statement_call): Analogous changes that also update the
marking of the "u" union.
(gimple_statement_omp): Convert to a subclass of
gimple_statement_base, dropping initial "gsbase" field, adding
tag value to GTY marking.
(gimple_statement_bind): Likewise.
(gimple_statement_catch): Likewise.
(gimple_statement_eh_filter): Likewise.
(gimple_statement_eh_else): Likewise.
(gimple_statement_eh_mnt): Likewise.
(gimple_statement_phi): Likewise.
(gimple_statement_eh_ctrl): Likewise.
(gimple_statement_try): Likewise.
(gimple_statement_wce): Likewise.
(gimple_statement_asm): Convert to a subclass of
gimple_statement_with_memory_ops_base, dropping initial
"membase" field, adding tag value to GTY marking, and updating
marking of op field.
(gimple_statement_omp_critical): Convert to a subclass of
gimple_statement_omp, dropping initial "omp" field, adding tag
value to GTY marking.
(gimple_statement_omp_for): Likewise.
(gimple_statement_omp_parallel): Likewise.
(gimple_statement_omp_task): Convert to a subclass of
gimple_statement_omp_parallel, dropping initial "par" field,
adding tag value to GTY marking.
(gimple_statement_omp_sections): Convert to a subclass of
gimple_statement_omp, dropping initial "omp" field, adding
tag value to GTY marking.
(gimple_statement_omp_continue): Convert to a subclass of
gimple_statement_base, dropping initial "gsbase" field, adding
tag value to GTY marking.
(gimple_statement_omp_single): Convert to a subclass of
gimple_statement_omp, dropping initial "omp" field, adding
tag value to GTY marking.
(gimple_statement_omp_atomic_load): Convert to a subclass of
gimple_statement_base, dropping initial "gsbase" field, adding
tag value to GTY marking.
(gimple_statement_omp_atomic_store): Convert to a subclass of
gimple_statement_base, dropping initial "gsbase" field, adding
tag value to GTY marking.
(gimple_statement_transaction): Convert to a subclass of
gimple_statement_with_memory_ops_base, dropping initial "gsbase"
field, adding tag value to GTY marking.
(union gimple_statement_d): Remove.
* system.h (CONST_CAST_GIMPLE): Update to use
"struct gimple_statement_base *" rather than
"union gimple_statement_d *".
* tree-ssa-ccp.c (gimple_htab): Convert underlying type from
gimple_statement_d to gimple_statement_base.

* gimple.h (gimple_use_ops): Port from union to usage of
dyn_cast.
(gimple_set_use_ops): Port from union to usage of as_a.
(gimple_set_vuse): Likewise.
(gimple_set_vdef): Likewise.
(gimple_call_internal_fn): Port from union to a static_cast,
given that the type has already been asserted.
(gimple_omp_body_ptr): Port from unchecked union usage to
a static_cast.
(gimple_omp_set_body): Likewise.

* gimple-iterator.c (update_bb_for_stmts): Update for conversion of
gimple types to a true class hierarchy.
(update_call_edge_frequencies): Likewise.
(gsi_insert_seq_nodes_before): Likewise.
(gsi_insert_seq_nodes_after): Likewise.
(gsi_split_seq_after): Likewise.
(gsi_set_stmt): Likewise.
(gsi_split_seq_before): Likewise.
(gsi_remove): Likewise.
* gimple-iterator.h (gsi_one_before_end_p): Likewise.
(gsi_next): Likewise.
(gsi_prev): Likewise.
* gimple-pretty-print.c (dump_gimple_debug): Likewise.
* gimple-ssa.h (gimple_vuse_op): Likewise.
(gimple_vdef_op): Likewise.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimple.c (gimple_set_code): Likewise.
(gimple_alloc_stat): Likewise.
(gimple_set_subcode): Likewise.
(gimple_build_call_internal_1): Likewise.
(gimple_check_failed): Likewise.
(gimple_call_flags): Likewise.
(gimple_set_bb): Likewise.
* gimple.h (is_a_helper <gimple_statement_asm> (gimple)): New.
(is_a_helper <gimple_statement_bind> (gimple)): Likewise.
(is_a_helper <gimple_statement_call> (gimple)): Likewise.
(is_a_helper <gimple_statement_catch> (gimple)): Likewise.
(is_a_helper <gimple_statement_eh_ctrl> (gimple)): Likewise.
(is_a_helper <gimple_statement_eh_else> (gimple)): Likewise.
(is_a_helper <gimple_statement_eh_filter> (gimple)): Likewise.
(is_a_helper <gimple_statement_eh_mnt> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_atomic_load> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_atomic_store> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_continue> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_critical> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_for> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_parallel> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_sections> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_single> (gimple)): Likewise.
(is_a_helper <gimple_statement_omp_task> (gimple)): Likewise.
(is_a_helper <gimple_statement_phi> (gimple)): Likewise.
(is_a_helper <gimple_statement_transaction> (gimple)): Likewise.
(is_a_helper <gimple_statement_try> (gimple)): Likewise.
(is_a_helper <gimple_statement_wce> (gimple)): Likewise.
(is_a_helper <const gimple_statement_asm> (const_gimple)): Likewise.
(is_a_helper <const gimple_statement_bind> (const_gimple)): Likewise.
(is_a_helper <const gimple_statement_call> (const_gimple)): Likewise.
(is_a_helper <const gimple_statement_catch> (const_gimple)): Likewise.
(is_a_helper <const gimple_statement_eh_ctrl> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_eh_filter> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_atomic_load> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_atomic_store>
(const_gimple)): Likewise.
(is_a_helper <const gimple_statement_omp_continue> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_critical> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_for> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_parallel> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_sections> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_single> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_omp_task> (const_gimple)):
Likewise.
(is_a_helper <const gimple_statement_phi> (const_gimple)): Likewise.
(is_a_helper <const gimple_statement_transaction> (const_gimple)):
Likewise.
(gimple_seq_last): Update for conversion of gimple types to a true
class hierarchy.
(gimple_seq_set_last): Likewise.
(gimple_code): Likewise.
(gimple_bb): Likewise.
(gimple_block): Likewise.
(gimple_set_block): Likewise.
(gimple_location): Likewise.
(gimple_location_ptr): Likewise.
(gimple_set_location): Likewise.
(gimple_no_warning_p): Likewise.
(gimple_set_no_warning): Likewise.
(gimple_set_visited): Likewise.
(gimple_visited_p): Likewise.
(gimple_set_plf): Likewise.
(gimple_plf): Likewise.
(gimple_set_uid): Likewise.
(gimple_uid): Likewise.
(gimple_init_singleton): Likewise.
(gimple_modified_p): Likewise.
(gimple_set_modified): Likewise.
(gimple_expr_code): Likewise.
(gimple_has_volatile_ops): Likewise.
(gimple_set_has_volatile_ops): Likewise.
(gimple_omp_subcode): Likewise.
(gimple_omp_set_subcode): Likewise.
(gimple_omp_return_set_nowait): Likewise.
(gimple_omp_section_set_last): Likewise.
(gimple_omp_parallel_set_combined_p): Likewise.
(gimple_omp_atomic_set_need_value): Likewise.
(gimple_omp_atomic_set_seq_cst): Likewise.
(gimple_num_ops): Likewise.
(gimple_set_num_ops): Likewise.
(gimple_assign_nontemporal_move_p): Likewise.
(gimple_assign_set_nontemporal_move): Likewise.
(gimple_assign_rhs_code): Likewise.
(gimple_assign_set_rhs_code): Likewise.
(gimple_call_internal_p): Likewise.
(gimple_call_with_bounds_p): Likewise.
(gimple_call_set_with_bounds): Likewise.
(gimple_call_set_tail): Likewise.
(gimple_call_tail_p): Likewise.
(gimple_call_set_return_slot_opt): Likewise.
(gimple_call_return_slot_opt_p): Likewise.
(gimple_call_set_from_thunk): Likewise.
(gimple_call_from_thunk_p): Likewise.
(gimple_call_set_va_arg_pack): Likewise.
(gimple_call_va_arg_pack_p): Likewise.
(gimple_call_set_nothrow): Likewise.
(gimple_call_set_alloca_for_var): Likewise.
(gimple_call_alloca_for_var_p): Likewise.
(gimple_call_copy_flags): Likewise.
(gimple_cond_code): Likewise.
(gimple_cond_set_code): Likewise.
(gimple_cond_make_false): Likewise.
(gimple_cond_make_true): Likewise.
(gimple_asm_volatile_p): Likewise.
(gimple_asm_set_volatile): Likewise.
(gimple_asm_set_input): Likewise.
(gimple_asm_input_p): Likewise.
(gimple_try_kind): Likewise.
(gimple_try_set_kind): Likewise.
(gimple_try_catch_is_cleanup): Likewise.
(gimple_try_set_catch_is_cleanup): Likewise.
(gimple_wce_cleanup_eh_only): Likewise.
(gimple_wce_set_cleanup_eh_only): Likewise.
(gimple_debug_bind_p): Likewise.
(gimple_debug_source_bind_p): Likewise.
(gimple_omp_for_set_kind): Likewise.
(gimple_omp_for_set_combined_p): Likewise.
(gimple_omp_for_set_combined_into_p): Likewise.
(gimple_omp_target_set_kind): Likewise.
(gimple_transaction_subcode): Likewise.
(gimple_transaction_set_subcode): Likewise.
(gimple_predict_predictor): Likewise.
(gimple_predict_set_predictor): Likewise.
(gimple_predict_outcome): Likewise.
(gimple_predict_set_outcome): Likewise.
(gimple_transaction_set_label): Likewise.
(gimple_transaction_set_body): Likewise.
(gimple_transaction_label_ptr): Likewise.
(gimple_transaction_label): Likewise.
(gimple_transaction_body_ptr): Likewise.
(gimple_omp_continue_set_control_use): Likewise.
(gimple_omp_continue_control_use_ptr): Likewise.
(gimple_omp_continue_control_use): Likewise.
(gimple_omp_continue_set_control_def): Likewise.
(gimple_omp_continue_control_def_ptr): Likewise.
(gimple_omp_continue_control_def): Likewise.
(gimple_omp_atomic_load_rhs_ptr): Likewise.
(gimple_omp_atomic_load_rhs): Likewise.
(gimple_omp_atomic_load_set_rhs): Likewise.
(gimple_omp_atomic_load_lhs_ptr): Likewise.
(gimple_omp_atomic_load_lhs): Likewise.
(gimple_omp_atomic_load_set_lhs): Likewise.
(gimple_omp_atomic_store_val_ptr): Likewise.
(gimple_omp_atomic_store_val): Likewise.
(gimple_omp_atomic_store_set_val): Likewise.
(gimple_omp_for_cond): Likewise.
(gimple_omp_for_set_cond): Likewise.
(gimple_omp_sections_set_control): Likewise.
(gimple_omp_sections_control_ptr): Likewise.
(gimple_omp_sections_control): Likewise.
(gimple_omp_sections_set_clauses): Likewise.
(gimple_omp_sections_clauses_ptr): Likewise.
(gimple_omp_sections_clauses): Likewise.
(gimple_omp_teams_set_clauses): Likewise.
(gimple_omp_teams_clauses_ptr): Likewise.
(gimple_omp_teams_clauses): Likewise.
(gimple_omp_target_set_data_arg): Likewise.
(gimple_omp_target_data_arg_ptr): Likewise.
(gimple_omp_target_data_arg): Likewise.
(gimple_omp_target_set_child_fn): Likewise.
(gimple_omp_target_child_fn_ptr): Likewise.
(gimple_omp_target_child_fn): Likewise.
(gimple_omp_target_set_clauses): Likewise.
(gimple_omp_target_clauses_ptr): Likewise.
(gimple_omp_target_clauses): Likewise.
(gimple_omp_single_set_clauses): Likewise.
(gimple_omp_single_clauses_ptr): Likewise.
(gimple_omp_single_clauses): Likewise.
(gimple_omp_task_set_arg_align): Likewise.
(gimple_omp_task_arg_align_ptr): Likewise.
(gimple_omp_task_arg_align): Likewise.
(gimple_omp_task_set_arg_size): Likewise.
(gimple_omp_task_arg_size_ptr): Likewise.
(gimple_omp_task_arg_size): Likewise.
(gimple_omp_task_set_copy_fn): Likewise.
(gimple_omp_task_copy_fn_ptr): Likewise.
(gimple_omp_task_copy_fn): Likewise.
(gimple_omp_task_set_data_arg): Likewise.
(gimple_omp_task_data_arg_ptr): Likewise.
(gimple_omp_task_data_arg): Likewise.
(gimple_omp_task_set_child_fn): Likewise.
(gimple_omp_task_child_fn_ptr): Likewise.
(gimple_omp_task_child_fn): Likewise.
(gimple_omp_task_set_clauses): Likewise.
(gimple_omp_task_clauses_ptr): Likewise.
(gimple_omp_task_clauses): Likewise.
(gimple_omp_parallel_set_data_arg): Likewise.
(gimple_omp_parallel_data_arg_ptr): Likewise.
(gimple_omp_parallel_data_arg): Likewise.
(gimple_omp_parallel_set_child_fn): Likewise.
(gimple_omp_parallel_child_fn_ptr): Likewise.
(gimple_omp_parallel_child_fn): Likewise.
(gimple_omp_parallel_set_clauses): Likewise.
(gimple_omp_parallel_clauses_ptr): Likewise.
(gimple_omp_parallel_clauses): Likewise.
(gimple_omp_for_set_pre_body): Likewise.
(gimple_omp_for_pre_body_ptr): Likewise.
(gimple_omp_for_set_incr): Likewise.
(gimple_omp_for_incr_ptr): Likewise.
(gimple_omp_for_incr): Likewise.
(gimple_omp_for_set_final): Likewise.
(gimple_omp_for_final_ptr): Likewise.
(gimple_omp_for_final): Likewise.
(gimple_omp_for_set_initial): Likewise.
(gimple_omp_for_initial_ptr): Likewise.
(gimple_omp_for_initial): Likewise.
(gimple_omp_for_set_index): Likewise.
(gimple_omp_for_index_ptr): Likewise.
(gimple_omp_for_index): Likewise.
(gimple_omp_for_collapse): Likewise.
(gimple_omp_for_set_clauses): Likewise.
(gimple_omp_for_clauses_ptr): Likewise.
(gimple_omp_for_clauses): Likewise.
(gimple_omp_critical_set_name): Likewise.
(gimple_omp_critical_name_ptr): Likewise.
(gimple_omp_critical_name): Likewise.
(gimple_eh_dispatch_set_region): Likewise.
(gimple_eh_dispatch_region): Likewise.
(gimple_resx_set_region): Likewise.
(gimple_resx_region): Likewise.
(gimple_phi_set_arg): Likewise.
(gimple_phi_arg): Likewise.
(gimple_phi_set_result): Likewise.
(gimple_phi_result_ptr): Likewise.
(gimple_phi_result): Likewise.
(gimple_phi_num_args): Likewise.
(gimple_phi_capacity): Likewise.
(gimple_wce_set_cleanup): Likewise.
(gimple_wce_cleanup_ptr): Likewise.
(gimple_try_set_cleanup): Likewise.
(gimple_try_set_eval): Likewise.
(gimple_try_cleanup_ptr): Likewise.
(gimple_try_eval_ptr): Likewise.
(gimple_eh_else_set_e_body): Likewise.
(gimple_eh_else_set_n_body): Likewise.
(gimple_eh_else_e_body_ptr): Likewise.
(gimple_eh_else_n_body_ptr): Likewise.
(gimple_eh_must_not_throw_set_fndecl): Likewise.
(gimple_eh_must_not_throw_fndecl): Likewise.
(gimple_eh_filter_set_failure): Likewise.
(gimple_eh_filter_set_types): Likewise.
(gimple_eh_filter_failure_ptr): Likewise.
(gimple_eh_filter_types_ptr): Likewise.
(gimple_eh_filter_types): Likewise.
(gimple_catch_set_handler): Likewise.
(gimple_catch_set_types): Likewise.
(gimple_catch_handler_ptr): Likewise.
(gimple_catch_types_ptr): Likewise.
(gimple_catch_types): Likewise.
(gimple_asm_string): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_set_input_op): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_nlabels): Likewise.
(gimple_asm_nclobbers): Likewise.
(gimple_asm_noutputs): Likewise.
(gimple_asm_ninputs): Likewise.
(gimple_bind_set_block): Likewise.
(gimple_bind_block): Likewise.
(gimple_bind_add_seq): Likewise.
(gimple_bind_add_stmt): Likewise.
(gimple_bind_set_body): Likewise.
(gimple_bind_body_ptr): Likewise.
(gimple_bind_append_vars): Likewise.
(gimple_bind_set_vars): Likewise.
(gimple_bind_vars): Likewise.
(gimple_call_clobber_set): Likewise.
(gimple_call_use_set): Likewise.
(gimple_call_set_internal_fn): Likewise.
(gimple_call_set_fntype): Likewise.
(gimple_call_fntype): Likewise.
(gimple_omp_return_lhs_ptr): Likewise.
(gimple_omp_return_lhs): Likewise.
(gimple_omp_return_set_lhs): Likewise.
(gimple_omp_taskreg_set_data_arg): Likewise.
(gimple_omp_taskreg_data_arg_ptr): Likewise.
(gimple_omp_taskreg_data_arg): Likewise.
(gimple_omp_taskreg_set_child_fn): Likewise.
(gimple_omp_taskreg_child_fn_ptr): Likewise.
(gimple_omp_taskreg_child_fn): Likewise.
(gimple_omp_taskreg_set_clauses): Likewise.
(gimple_omp_taskreg_clauses_ptr): Likewise.
(gimple_omp_taskreg_clauses): Likewise.
(gimple_vuse): Likewise.
(gimple_vdef): Likewise.
(gimple_vuse_ptr): Likewise.
(gimple_vdef_ptr): Likewise.
* tree-inline.c (copy_debug_stmt): Likewise.
* tree-phinodes.c (make_phi_node): Likewise.

* gimple.h (is_a_helper <const gimple_statement_with_ops>::test): New.
(is_a_helper <gimple_statement_with_ops>::test): New.
(is_a_helper <const gimple_statement_with_memory_ops>::test): New.
(is_a_helper <gimple_statement_with_memory_ops>::test): New.

* gimple-streamer-in.c (input_gimple_stmt): Port from union
access to use of as_a.
* gimple.c (gimple_build_asm_1): Likewise.
(gimple_build_try): Likewise.  Also, return a specific subclass
rather than just gimple.
(gimple_build_resx): Port from union access to use of as_a.
(gimple_build_eh_dispatch): Likewise.
(gimple_build_omp_for): Likewise.  Also, convert allocation of iter
now that gengtype no longer provides a typed allocator function.
(gimple_copy): Likewise.
* gimple.h (gimple_build_try): Return a specific subclass rather
than just gimple.
* gimplify.c (gimplify_cleanup_point_expr): Replace union access
with subclass access by making use of new return type of
gimple_build_try.
* tree-phinodes.c: (allocate_phi_node): Return a
"gimple_statement_phi *" rather than just a gimple.
(resize_phi_node): Likewise.
(make_phi_node): Replace union access with subclass access by
making use of new return type of allocate_phi_node.
(reserve_phi_args_for_new_edge): Replace union access with as_a.
(remove_phi_arg_num): Accept a "gimple_statement_phi *" rather
than just a gimple.
(remove_phi_args): Update for change to remove_phi_arg_num.

* gdbhooks.py (GimplePrinter.to_string): Update lookup of
code field to reflect inheritance, rather than embedding of
the base gimple type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205034 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 19 Nov 2013 15:45:15 +0000 (15:45 +0000)] 
2013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/experimental/string_view (_S_max_size): Remove.
(basic_string_view<>::max_size): Adjust.
* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205033 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 15:19:09 +0000 (15:19 +0000)] 
2013-11-19  Richard Biener  <rguenther@suse.de>

* cfgloop.h (struct loop_iterator): C++-ify, add constructor
and destructor and make fel_next a member function.
(fel_next): Transform into ...
(loop_iterator::next): ... this.
(fel_init): Transform into ...
(loop_iterator::loop_iterator): ... this.
(loop_iterator::~loop_iterator): New.
(FOR_EACH_LOOP): Remove loop-iterator argument.
(FOR_EACH_LOOP_BREAK): Remove no longer necessary macro.
* cfgloop.c, cfgloopmanip.c, config/mn10300/mn10300.c,
graphite-clast-to-gimple.c, graphite-scop-detection.c,
graphite-sese-to-poly.c, ipa-inline-analysis.c, ipa-pure-const.c,
loop-init.c, loop-invariant.c, loop-unroll.c, loop-unswitch.c,
modulo-sched.c, predict.c, sel-sched-ir.c, tree-cfg.c, tree-data-ref.c,
tree-if-conv.c, tree-loop-distribution.c, tree-parloops.c,
tree-predcom.c, tree-scalar-evolution.c, tree-ssa-dce.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-threadupdate.c, tree-vectorizer.c, tree-vrp.c: Adjust
uses of FOR_EACH_LOOP and remove loop_iterator variables.  Replace
FOR_EACH_LOOP_BREAK with break.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205032 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoruntime: Update for change to libbacktrace library.
ian [Tue, 19 Nov 2013 15:02:27 +0000 (15:02 +0000)] 
runtime: Update for change to libbacktrace library.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205031 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 15:00:10 +0000 (15:00 +0000)] 
2013-11-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59164
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
Uncomment assert.
* tree-vect-loop.c (vect_analyze_loop_operations): Adjust
check whether we can create an epilogue loop to reflect the
cases where we create one.

* gcc.dg/torture/pr59164.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205030 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
redi [Tue, 19 Nov 2013 14:58:46 +0000 (14:58 +0000)] 
* doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205029 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * backtrace.h (backtrace_syminfo_callback): Add symsize argument.
jakub [Tue, 19 Nov 2013 14:46:03 +0000 (14:46 +0000)] 
* backtrace.h (backtrace_syminfo_callback): Add symsize argument.
* elf.c (elf_syminfo): Pass 0 or sym->size to the callback as
last argument.
* btest.c (struct symdata): Add size field.
(callback_three): Add symsize argument.  Copy it to the data->size
field.
(f23): Set symdata.size to 0.
(test5): Likewise.  If sizeof (int) > 1, lookup address of
((uintptr_t) &global) + 1.  Verify symdata.val and symdata.size
values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205028 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * graphite-sese-to-poly.c: Include expr.h.
amacleod [Tue, 19 Nov 2013 13:34:31 +0000 (13:34 +0000)] 
* graphite-sese-to-poly.c: Include expr.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205027 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 13:28:35 +0000 (13:28 +0000)] 
2013-11-19  Richard Biener  <rguenther@suse.de>

PR middle-end/58956
* tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
loads into stmts that may clobber it.

* gcc.dg/torture/pr58956.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205026 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoSmall cleanups in cgraph.
bernds [Tue, 19 Nov 2013 12:39:06 +0000 (12:39 +0000)] 
Small cleanups in cgraph.

* cgraphunit.c (symtab_terminator): New variable.
(queued_nodes): Renamed from first.  Use symtab_terminator as
initializer.
(analyze_functions): Adjust accordingly.
(cgraph_process_new_functions): Return void.
* cgraph.h (cgraph_process_new_functions): Adjust declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205024 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFactor unrelated declarations out of tree.h.
dnovillo [Tue, 19 Nov 2013 12:31:09 +0000 (12:31 +0000)] 
Factor unrelated declarations out of tree.h.

This patch applies the rule that functions defined in FOO.c must be
declared in FOO.h. One of the worst offenders in the code base is
tree.h, unsurprisingly.

The patch creates several new headers: attribs.h calls.h fold-const.h
gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
tree-nested.h tree-object-size.h varasm.h.

Functions in each corresponding .c file got moved to those headers and
others that already existed. I wanted to make this patch as mechanical
as possible, so I made no attempt to fix problems like having
build_addr defined in tree-inline.c. I left that for later.

There were some declarations that I could not move out of tree.h
because of header poisoning or the use of target macros. We forbid the
inclusion of things like expr.h from FE files. While that's a
reasonable idea, the FE file *still* manage to at expr.c functionality
because the declarations they want to use were defined in tree.h.

The affected files are builtins.h, emit-rtl.h and expr.h.

If that functionality is allowed to be accessed from the FEs,
then I will later move those functions out of expr.c into tree.c.
I have moved these declarations to the bottom of tree.h so they
are easy to identify later.

There is a namespace collision with libcpp. The file gcc/symtab.c
cannot use gcc/symtab.h because the #include command picks up
libcpp/include/symtab.h first. So I named this file gcc-symtab.h
for now.

Finally, I added a new header to PLUGIN_HEADERS to account for the
tree.h refactoring. I did not add all headers factored out of tree.h
because it is unclear (and impossible to tell) what plugins need.
This adds the one header used by the plugins in the testsuite.

This will be changing quite dramatically as we progress with the header
refactoring.

This patch should offer some minimal incremental build advantages
by reducing the size of tree.h. Changes that would otherwise
affected tree.h, will now go to other headers which are less
frequently included.

* tree.h: Include fold-const.h.
(aggregate_value_p): Moved to function.h.
(alloca_call_p): Moved to calls.h.
(allocate_struct_function): Moved to function.h.
(apply_tm_attr): Moved to attribs.h.
(array_at_struct_end_p): Moved to expr.h.
(array_ref_element_size): Moved to tree-dfa.h.
(array_ref_low_bound): Moved to tree-dfa.h.
(array_ref_up_bound): Moved to tree.h.
(assemble_alias): Moved to cgraph.h.
(bit_from_pos): Moved to stor-layout.h.
(build_addr): Moved to tree-nested.h.
(build_duplicate_type): Moved to tree-inline.h.
(build_fold_addr_expr): Moved to fold-const.h.
(build_fold_addr_expr_with_type): Moved to fold-const.h.
(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
(build_fold_indirect_ref): Moved to fold-const.h.
(build_fold_indirect_ref_loc): Moved to fold-const.h.
(build_personality_function): Moved to tree.h.
(build_range_check): Moved to fold-const.h.
(build_simple_mem_ref): Moved to fold-const.h.
(build_simple_mem_ref_loc): Moved to fold-const.h.
(build_tm_abort_call): Moved to trans-mem.h.
(byte_from_pos): Moved to stor-layout.h.
(call_expr_flags): Moved to calls.h.
(can_move_by_pieces): Moved to expr.h.
(categorize_ctor_elements): Moved to expr.h.
(change_decl_assembler_name): Moved to gcc-symtab.h.
(combine_comparisons): Moved to fold-const.h.
(complete_ctor_at_level_p): Moved to tree.h.
(component_ref_field_offset): Moved to tree-dfa.h.
(compute_builtin_object_size): Moved to tree-object-size.h.
(compute_record_mode): Moved to stor-layout.h.
(constant_boolean_node): Moved to fold-const.h.
(constructor_static_from_elts_p): Moved to varasm.h.
(cxx11_attribute_p): Moved to attribs.h.
(debug_body): Moved to print-tree.h.
(debug_find_tree): Moved to tree-inline.h.
(debug_fold_checksum): Moved to fold-const.h.
(debug_head): Moved to print-tree.h.
(debug_head): Moved to print-tree.h.
(debug_raw): Moved to print-tree.h.
(debug_tree): Moved to print-tree.h.
(debug_vec_tree): Moved to print-tree.h.
(debug_verbose): Moved to print-tree.h.
(debug_verbose): Moved to print-tree.h.
(decl_attributes): Moved to attribs.h.
(decl_binds_to_current_def_p): Moved to varasm.h.
(decl_default_tls_model): Moved to varasm.h.
(decl_replaceable_p): Moved to varasm.h.
(div_if_zero_remainder): Moved to fold-const.h.
(double_int mem_ref_offset): Moved to fold-const.h.
(dump_addr): Moved to print-tree.h.
(element_precision): Moved to machmode.h.
(expand_dummy_function_end): Moved to function.h.
(expand_function_end): Moved to function.h.
(expand_function_start): Moved to function.h.
(expand_label): Moved to stmt.h.
(expr_first): Moved to tree-iterator.h.
(expr_last): Moved to tree-iterator.h.
(finalize_size_functions): Moved to stor-layout.h.
(finish_builtin_struct): Moved to stor-layout.h.
(finish_record_layout): Moved to stor-layout.h.
(fixup_signed_type): Moved to stor-layout.h.
(fixup_unsigned_type): Moved to stor-layout.h.
(flags_from_decl_or_type): Moved to calls.h.
(fold): Moved to fold-const.h.
(fold_abs_const): Moved to fold-const.h.
(fold_binary): Moved to fold-const.h.
(fold_binary_loc): Moved to fold-const.h.
(fold_binary_to_constant): Moved to fold-const.h.
(fold_build1): Moved to fold-const.h.
(fold_build1_initializer_loc): Moved to fold-const.h.
(fold_build1_loc): Moved to fold-const.h.
(fold_build1_stat_loc): Moved to fold-const.h.
(fold_build2): Moved to fold-const.h.
(fold_build2_initializer_loc): Moved to fold-const.h.
(fold_build2_loc): Moved to fold-const.h.
(fold_build2_stat_loc): Moved to fold-const.h.
(fold_build3): Moved to fold-const.h.
(fold_build3_loc): Moved to fold-const.h.
(fold_build3_stat_loc): Moved to fold-const.h.
(fold_build_call_array): Moved to fold-const.h.
(fold_build_call_array_initializer): Moved to fold-const.h.
(fold_build_call_array_initializer_loc): Moved to fold-const.h.
(fold_build_call_array_loc): Moved to fold-const.h.
(fold_build_cleanup_point_expr): Moved to fold-const.h.
(fold_convert): Moved to fold-const.h.
(fold_convert_loc): Moved to fold-const.h.
(fold_convertible_p): Moved to fold-const.h.
(fold_defer_overflow_warnings): Moved to fold-const.h.
(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
(fold_fma): Moved to fold-const.h.
(fold_ignored_result): Moved to fold-const.h.
(fold_indirect_ref): Moved to fold-const.h.
(fold_indirect_ref_1): Moved to fold-const.h.
(fold_indirect_ref_loc): Moved to fold-const.h.
(fold_read_from_constant_string): Moved to fold-const.h.
(fold_real_zero_addition_p): Moved to fold-const.h.
(fold_single_bit_test): Moved to fold-const.h.
(fold_strip_sign_ops): Moved to fold-const.h.
(fold_ternary): Moved to fold-const.h.
(fold_ternary_loc): Moved to fold-const.h.
(fold_unary): Moved to tree-data-ref.h.
(fold_unary_ignore_overflow): Moved to fold-const.h.
(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
(fold_unary_loc): Moved to fold-const.h.
(fold_unary_to_constant): Moved to fold-const.h.
(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
(fold_undefer_overflow_warnings): Moved to fold-const.h.
(folding_initializer): Moved to fold-const.h.
(free_temp_slots): Moved to function.h.
(generate_setjmp_warnings): Moved to function.h.
(get_attribute_name): Moved to attribs.h.
(get_identifier): Moved to stringpool.h.
(get_identifier_with_length): Moved to stringpool.h.
(get_inner_reference): Moved to tree.h.
(gimple_alloca_call_p): Moved to calls.h.
(gimplify_parameters): Moved to function.h.
(highest_pow2_factor): Moved to expr.h.
(indent_to): Moved to print-tree.h.
(init_attributes): Moved to attribs.h.
(init_dummy_function_start): Moved to function.h.
(init_function_start): Moved to function.h.
(init_inline_once): Moved to tree-inline.h.
(init_object_sizes): Moved to tree-object-size.h.
(init_temp_slots): Moved to function.h.
(init_tree_optimization_optabs): Moved to optabs.h.
(initialize_sizetypes): Moved to stor-layout.h.
(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
(initializer_constant_valid_p): Moved to varasm.h.
(int_const_binop): Moved to fold-const.h.
(internal_reference_types): Moved to stor-layout.h.
(invert_tree_comparison): Moved to fold-const.h.
(invert_truthvalue): Moved to fold-const.h.
(invert_truthvalue_loc): Moved to fold-const.h.
(is_tm_ending_fndecl): Moved to trans-mem.h.
(is_tm_may_cancel_outer): Moved to trans-mem.h.
(is_tm_pure): Moved to trans-mem.h.
(is_tm_safe): Moved to trans-mem.h.
(layout_decl): Moved to stor-layout.h.
(layout_type): Moved to stor-layout.h.
(lookup_attribute_spec): Moved to attribs.h.
(make_accum_type): Moved to stor-layout.h.
(make_decl_one_only): Moved to varasm.h.
(make_decl_rtl): Moved to tree.h.
(make_decl_rtl_for_debug): Moved to varasm.h.
(make_fract_type): Moved to stor-layout.h.
(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
(make_range): Moved to fold-const.h.
(make_range_step): Moved to fold-const.h.
(make_sat_signed_accum_type): Moved to stor-layout.h.
(make_sat_signed_fract_type): Moved to stor-layout.h.
(make_sat_unsigned_accum_type): Moved to stor-layout.h.
(make_sat_unsigned_fract_type): Moved to stor-layout.h.
(make_signed_accum_type): Moved to stor-layout.h.
(make_signed_fract_type): Moved to stor-layout.h.
(make_signed_type): Moved to stor-layout.h.
(make_unsigned_accum_type): Moved to stor-layout.h.
(make_unsigned_fract_type): Moved to stor-layout.h.
(make_unsigned_type): Moved to stor-layout.h.
(mark_decl_referenced): Moved to varasm.h.
(mark_referenced): Moved to varasm.h.
(may_negate_without_overflow_p): Moved to fold-const.h.
(maybe_get_identifier): Moved to stringpool.h.
(merge_ranges): Moved to fold-const.h.
(merge_weak): Moved to varasm.h.
(mode_for_size_tree): Moved to stor-layout.h.
(multiple_of_p): Moved to fold-const.h.
(must_pass_in_stack_var_size): Moved to calls.h.
(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
(native_encode_expr): Moved to fold-const.h.
(native_interpret_expr): Moved to fold-const.h.
(non_lvalue): Moved to fold-const.h.
(non_lvalue_loc): Moved to fold-const.h.
(normalize_offset): Moved to stor-layout.h.
(normalize_rli): Moved to stor-layout.h.
(notice_global_symbol): Moved to varasm.h.
(omit_one_operand): Moved to fold-const.h.
(omit_one_operand_loc): Moved to fold-const.h.
(omit_two_operands): Moved to fold-const.h.
(omit_two_operands_loc): Moved to fold-const.h.
(operand_equal_p): Moved to tree-data-ref.h.
(parse_input_constraint): Moved to stmt.h.
(parse_output_constraint): Moved to stmt.h.
(place_field): Moved to stor-layout.h.
(pop_function_context): Moved to function.h.
(pop_temp_slots): Moved to function.h.
(pos_from_bit): Moved to stor-layout.h.
(preserve_temp_slots): Moved to function.h.
(print_node): Moved to print-tree.h.
(print_node_brief): Moved to print-tree.h.
(print_rtl): Moved to rtl.h.
(process_pending_assemble_externals): Moved to varasm.h.
(ptr_difference_const): Moved to fold-const.h.
(push_function_context): Moved to function.h.
(push_struct_function): Moved to function.h.
(push_temp_slots): Moved to function.h.
(record_tm_replacement): Moved to trans-mem.h.
(relayout_decl): Moved to stor-layout.h.
(resolve_asm_operand_names): Moved to stmt.h.
(resolve_unique_section): Moved to varasm.h.
(rli_size_so_far): Moved to stor-layout.h.
(rli_size_unit_so_far): Moved to stor-layout.h.
(round_down): Moved to fold-const.h.
(round_down_loc): Moved to fold-const.h.
(round_up): Moved to fold-const.h.
(round_up_loc): Moved to fold-const.h.
(set_decl_incoming_rtl): Moved to emit-rtl.h.
(set_decl_rtl): Moved to tree.h.
(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
(set_user_assembler_name): Moved to varasm.h.
(setjmp_call_p): Moved to calls.h.
(size_binop): Moved to fold-const.h.
(size_binop_loc): Moved to fold-const.h.
(size_diffop): Moved to fold-const.h.
(size_diffop_loc): Moved to fold-const.h.
(size_int_kind): Moved to fold-const.h.
(stack_protect_epilogue): Moved to function.h.
(start_record_layout): Moved to stor-layout.h.
(supports_one_only): Moved to varasm.h.
(swap_tree_comparison): Moved to fold-const.h.
(tm_malloc_replacement): Moved to trans-mem.h.
(tree build_fold_addr_expr_loc): Moved to fold-const.h.
(tree build_invariant_address): Moved to fold-const.h.
(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
(tree_expr_nonnegative_p): Moved to fold-const.h.
(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
(tree_output_constant_def): Moved to varasm.h.
(tree_overlaps_hard_reg_set): Moved to stmt.h.
(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
(tree_single_nonzero_warnv_p): Moved to fold-const.h.
(tree_swap_operands_p): Moved to fold-const.h.
(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
(update_alignment_for_field): Moved to stor-layout.h.
(use_register_for_decl): Moved to function.h.
(variable_size): Moved to rtl.h.
(vector_type_mode): Moved to stor-layout.h.
* cgraph.h: Corresponding changes.
* emit-rtl.h: Corresponding changes.
* expr.h: Corresponding changes.
* function.h: Corresponding changes.
* optabs.h: Corresponding changes.
* trans-mem.h: Corresponding changes.
Protect against multiple inclusion.
* tree-inline.h: Corresponding changes.
* tree-iterator.h: Corresponding changes.
* tree-dfa.h: Include expr.h.
* tree-ssanames.h: Include stringpool.h.
* attribs.h: New file.
* calls.h: New file.
* fold-const.h: New file.
* gcc-symtab.h: New file.
* print-rtl.h: New file.
* print-tree.h: New file.
* stmt.h: New file.
* stor-layout.h: New file.
* strinpool.h: New file.
* tree-nested.h: New file
* tree-object-size.h: New file.
* varasm.h: New file.
* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.

* alias.c: Include varasm.h.
Include expr.h.
* asan.c: Include calls.h.
Include stor-layout.h.
Include varasm.h.
* attribs.c: Include stringpool.h.
Include attribs.h.
Include stor-layout.h.
* builtins.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
Include tree-object-size.h.
* calls.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include attribs.h.
* cfgexpand.c: Include stringpool.h.
Include varasm.h.
Include stor-layout.h.
Include stmt.h.
Include print-tree.h.
* cgraph.c: Include varasm.h.
Include calls.h.
Include print-tree.h.
* cgraphclones.c: Include stringpool.h.
Include function.h.
Include emit-rtl.h.
Move inclusion of rtl.h earlier in the file.
* cgraphunit.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* cilk-common.c: Include stringpool.h.
Include stor-layout.h.
* combine.c: Include stor-layout.h.
* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
Include stringpool.h.
Include calls.h.
* config/aarch64/aarch64.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/alpha/alpha.c: Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/arc/arc.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
Include calls.h.
* config/arm/arm.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/avr/avr-c.c: Include stor-layout.h.
* config/avr/avr-log.c: Include print-tree.h.
* config/avr/avr.c: Include print-tree.h.
Include calls.h.
Include stor-layout.h.
Include stringpool.h.
* config/bfin/bfin.c: Include varasm.h.
Include calls.h.
* config/c6x/c6x.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/cr16/cr16.c: Include stor-layout.h.
Include calls.h.
* config/cris/cris.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
Include stmt.h.
* config/darwin.c: Include stringpool.h.
Include varasm.h.
Include stor-layout.h.
* config/epiphany/epiphany.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/fr30/fr30.c: Include stor-layout.h.
Include varasm.h.
* config/frv/frv.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* config/h8300/h8300.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/i386/i386.c: Include stringpool.h.
Include attribs.h.
Include calls.h.
Include stor-layout.h.
Include varasm.h.
* config/i386/winnt-cxx.c: Include stringpool.h.
Include attribs.h.
* config/i386/winnt.c: Include stringpool.h.
Include varasm.h.
* config/ia64/ia64-c.c: Include stringpool.h.
* config/ia64/ia64.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/iq2000/iq2000.c: Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/lm32/lm32.c: Include calls.h.
* config/m32c/m32c.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/m32r/m32r.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include calls.h.
* config/m68k/m68k.c: Include calls.h.
Include stor-layout.h.
Include varasm.h.
* config/mcore/mcore.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include calls.h.
* config/mep/mep.c: Include varasm.h.
Include calls.h.
Include stringpool.h.
Include stor-layout.h.
* config/microblaze/microblaze.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/mips/mips.c: Include varasm.h.
Include stringpool.h.
Include stor-layout.h.
Include calls.h.
* config/mmix/mmix.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/mn10300/mn10300.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/moxie/moxie.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/msp430/msp430.c: Include stor-layout.h.
Include calls.h.
* config/nds32/nds32.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/pa/pa.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
Include calls.h.
* config/pdp11/pdp11.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/picochip/picochip.c: Include calls.h.
Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* config/rl78/rl78.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/rs6000/rs6000-c.c: Include stor-layout.h.
Include stringpool.h.
* config/rs6000/rs6000.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include print-tree.h.
Include varasm.h.
* config/rx/rx.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/s390/s390.c: Include print-tree.h.
Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/score/score.c: Include stringpool.h.
Include calls.h.
Include varasm.h.
Include stor-layout.h.
* config/sh/sh-c.c: Include stringpool.h.
Include attribs.h.h.
* config/sh/sh.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/sol2-c.c: Include stringpool.h.
Include attribs.h.
* config/sol2-cxx.c: Include stringpool.h.
* config/sol2.c: Include stringpool.h.
Include varasm.h.
* config/sparc/sparc.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/spu/spu-c.c: Include stringpool.h.
* config/spu/spu.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/stormy16/stormy16.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/tilegx/tilegx.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/tilepro/tilepro.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/v850/v850-c.c: Include stringpool.h.
Include attribs.h.
* config/v850/v850.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/vax/vax.c: Include calls.h.
Include varasm.h.
* config/vms/vms.c: Include stringpool.h.
* config/vxworks.c: Include stringpool.h.
* config/xtensa/xtensa.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* convert.c: Include stor-layout.h.
* coverage.c: Include stringpool.h.
Include stor-layout.h.
* dbxout.c: Include varasm.h.
Include stor-layout.h.
* dojump.c: Include stor-layout.h.
* dse.c: Include stor-layout.h.
* dwarf2asm.c: Include stringpool.h.
Include varasm.h.
* dwarf2cfi.c: Include stor-layout.h.
* dwarf2out.c: Include rtl.h.
Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include function.h.
Include emit-rtl.h.
Move inclusion of rtl.h earlier in the file.
* emit-rtl.c: Include varasm.h.
* except.c: Include stringpool.h.
Include stor-layout.h.
* explow.c: Include stor-layout.h.
* expmed.c: Include stor-layout.h.
* expr.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
Include varasm.h.
* final.c: Include varasm.h.
* fold-const.c: Include stor-layout.h.
Include calls.h.
Include tree-iterator.h.
* function.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
* genattrtab.c (write_header): Emit includes for varasm.h,
stor-layout.h and calls.h.
* genautomata.c (main): Likewise.
* genemit.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c (output_prologue): Likewise.
* genpeep.c: Likewise.
* genpreds.c (write_insn_preds_c): Likewise.
* gengtype.c (open_base_files): Add stringpool.h.
* gimple-expr.c: Include stringpool.h.
Include stor-layout.h.
* gimple-fold.c: Include stringpool.h.
Include expr.h.
Include stmt.h.
Include stor-layout.h.
* gimple-low.c: Include tree-nested.h.
Include calls.h.
* gimple-pretty-print.c: Include stringpool.h.
* gimple-ssa-strength-reduction.c: Include stor-layout.h.
Include expr.h.
* gimple-walk.c: Include stmt.h.
* gimple.c: Include calls.h.
Include stmt.h.
Include stor-layout.h.
* gimplify.c: Include stringpool.h.
Include calls.h.
Include varasm.h.
Include stor-layout.h.
Include stmt.h.
Include print-tree.h.
Include expr.h.
* gimplify-me.c: Include stmt.h
Include stor-layout.h
* internal-fn.c: Include stor-layout.h.
* ipa-devirt.c: Include print-tree.h.
Include calls.h.
* ipa-inline-analysis.c: Include stor-layout.h.
Include stringpool.h.
Include print-tree.h.
* ipa-inline.c: Include trans-mem.h.
Include calls.h.
* ipa-prop.c: Include expr.h.
Include stor-layout.h.
Include print-tree.h.
* ipa-pure-const.c: Include print-tree.h.
Include calls.h.
* ipa-reference.c: Include calls.h.
* ipa-split.c: Include stringpool.h.
Include expr.h.
Include calls.h.
* ipa.c: Include calls.h.
Include stringpool.h.
* langhooks.c: Include stringpool.h.
Include attribs.h.
* lto-cgraph.c: Include stringpool.h.
* lto-streamer-in.c: Include stringpool.h.
* lto-streamer-out.c: Include stor-layout.h.
Include stringpool.h.
* omp-low.c: Include stringpool.h.
Include stor-layout.h.
Include expr.h.
* optabs.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* passes.c: Include varasm.h.
* predict.c: Include calls.h.
* print-rtl.c: Include print-tree.h.
* print-tree.c: Include varasm.h.
Include print-rtl.h.
Include stor-layout.h.
* realmpfr.c: Include stor-layout.h.
* reg-stack.c: Include varasm.h.
* sdbout.c: Include varasm.h.
Include stor-layout.h.
* simplify-rtx.c: Include varasm.h.
* stmt.c: Include varasm.h.
Include stor-layout.h.
* stor-layout.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
Include print-tree.h.
* symtab.c: Include rtl.h.
Include print-tree.h.
Include varasm.h.
Include function.h.
Include emit-rtl.h.
* targhooks.c: Include stor-layout.h.
Include varasm.h.
* toplev.c: Include varasm.h.
Include tree-inline.h.
* trans-mem.c: Include calls.h.
Include function.h.
Include rtl.h.
Include emit-rtl.h.
* tree-affine.c: Include expr.h.
* tree-browser.c: Include print-tree.h.
* tree-call-cdce.c: Include stor-layout.h.
* tree-cfg.c: Include trans-mem.h.
Include stor-layout.h.
Include print-tree.h.
* tree-complex.c: Include stor-layout.h.
* tree-data-ref.c: Include expr.h.
* tree-dfa.c: Include stor-layout.h.
* tree-eh.c: Include expr.h.
Include calls.h.
* tree-emutls.c: Include stor-layout.h.
Include varasm.h.
* tree-if-conv.c: Include stor-layout.h.
* tree-inline.c: Include stor-layout.h.
Include calls.h.
* tree-loop-distribution.c: Include stor-layout.h.
* tree-nested.c: Include stringpool.h.
Include stor-layout.h.
* tree-object-size.c: Include tree-object-size.h.
* tree-outof-ssa.c: Include stor-layout.h.
* tree-parloops.c: Include stor-layout.h.
Include tree-nested.h.
* tree-pretty-print.c: Include stor-layout.h.
Include expr.h.
* tree-profile.c: Include varasm.h.
Include tree-nested.h.
* tree-scalar-evolution.c: Include expr.h.
* tree-sra.c: Include stor-layout.h.
* tree-ssa-address.c: Include stor-layout.h.
* tree-ssa-ccp.c: Include stor-layout.h.
* tree-ssa-dce.c: Include calls.h.
* tree-ssa-dom.c: Include stor-layout.h.
* tree-ssa-forwprop.c: Include stor-layout.h.
* tree-ssa-ifcombine.c: Include stor-layout.h.
* tree-ssa-loop-ivopts.c: Include stor-layout.h.
* tree-ssa-loop-niter.c: Include calls.h.
Include expr.h.
* tree-ssa-loop-prefetch.c: Include stor-layout.h.
* tree-ssa-math-opts.c: Include stor-layout.h.
* tree-ssa-operands.c: Include stmt.h.
Include print-tree.h.
* tree-ssa-phiopt.c: Include stor-layout.h.
* tree-ssa-reassoc.c: Include stor-layout.h.
* tree-ssa-sccvn.c: Include stor-layout.h.
* tree-ssa-sink.c: Include stor-layout.h.
* tree-ssa-strlen.c: Include stor-layout.h.
* tree-ssa-structalias.c: Include stor-layout.h.
Include stmt.h.
* tree-ssa-tail-merge.c: Include stor-layout.h.
Include trans-mem.h.
* tree-ssa-uncprop.c: Include stor-layout.h.
* tree-ssa.c: Include stor-layout.h.
* tree-ssanames.c: Include stor-layout.h.
* tree-streamer-in.c: Include stringpool.h.
* tree-streamer-out.c: Include stor-layout.h.
* tree-switch-conversion.c: Include varasm.h.
Include stor-layout.h.
* tree-tailcall.c: Include stor-layout.h.
* tree-vect-data-refs.c: Include stor-layout.h.
* tree-vect-generic.c: Include stor-layout.h.
* tree-vect-loop.c: Include stor-layout.h.
* tree-vect-patterns.c: Include stor-layout.h.
* tree-vect-slp.c: Include stor-layout.h.
* tree-vect-stmts.c: Include stor-layout.h.
* tree-vectorizer.c: Include stor-layout.h.
* tree-vrp.c: Include stor-layout.h.
Include calls.h.
* tree.c: Include stor-layout.h.
Include calls.h.
Include attribs.h.
Include varasm.h.
* tsan.c: Include expr.h.
* ubsan.c: Include stor-layout.h.
Include stringpool.h.
* value-prof.c: Include tree-nested.h.
Include calls.h.
* var-tracking.c: Include varasm.h.
Include stor-layout.h.
* varasm.c: Include stor-layout.h.
Include stringpool.h.
Include gcc-symtab.h.
Include varasm.h.
* varpool.c: Include varasm.h.
* vmsdbgout.c: Include varasm.h.
* xcoffout.c: Include varasm.h.

ada/ChangeLog

* gcc-interface/decl.c: Include stringpool.h
Include stor-layout.h
* gcc-interface/misc.c: Include stor-layout.h
Include print-tree.h
* gcc-interface/trans.c: Include stringpool.h
Include stor-layout.h
Include stmt.h
Include varasm.h
* gcc-interface/utils.c: Include stringpool.h
Include stor-layout.h
Include attribs.h
Include varasm.h
* gcc-interface/utils2.c: Include stringpool.h
Include stor-layout.h
Include attribs.h
Include varasm.h

c-family/ChangeLog

* c-common.c: Include fold-const.h.
Include stor-layout.h.
Include calls.h.
Include stringpool.h.
Include attribs.h.
Include varasm.h.
Include trans-mem.h.
* c-cppbuiltin.c: Include stor-layout.h.
Include stringpool.h.
* c-format.c: Include stringpool.h.
* c-lex.c: Include stringpool.h.
Include stor-layout.h.
* c-pragma.c: Include stringpool.h.
Include attribs.h.
Include varasm.h.
Include gcc-symtab.h.
* c-pretty-print.c: Include stor-layout.h.
Include attribs.h.
* cilk.c: Include stringpool.h.
Include calls.h.

c/ChangeLog

* c-decl.c: Include print-tree.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
Include stringpool.h.
* c-lang.c: Include fold-const.h.
* c-parser.c: Include stringpool.h.
Include attribs.h.
Include stor-layout.h.
Include varasm.h.
Include trans-mem.h.
* c-typeck.c: Include stor-layout.h.
Include trans-mem.h.
Include varasm.h.
Include stmt.h.

cp/ChangeLog

* call.c: Include stor-layout.h.
Include trans-mem.h.
Include stringpool.h.
* class.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
* cp-gimplify.c: Include stor-layout.h.
* cvt.c: Include stor-layout.h.
* decl.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
Include calls.h.
* decl2.c: Include stringpool.h.
Include varasm.h.
Include attribs.h.
Include stor-layout.h.
Include calls.h.
* error.c: Include stringpool.h.
* except.c: Include stringpool.h.
Include trans-mem.h.
Include attribs.h.
* init.c: Include stringpool.h.
Include varasm.h.
* lambda.c: Include stringpool.h.
* lex.c: Include stringpool.h.
* mangle.c: Include stor-layout.h.
Include stringpool.h.
* method.c: Include stringpool.h.
Include varasm.h.
* name-lookup.c: Include stringpool.h.
Include print-tree.h.
Include attribs.h.
* optimize.c: Include stringpool.h.
* parser.c: Include print-tree.h.
Include stringpool.h.
Include attribs.h.
Include trans-mem.h.
* pt.c: Include stringpool.h.
Include varasm.h.
Include attribs.h.
Include stor-layout.h.
* ptree.c: Include print-tree.h.
* repo.c: Include stringpool.h.
* rtti.c: Include stringpool.h.
Include stor-layout.h.
* semantics.c: Include stmt.h.
Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* tree.c: Include stor-layout.h.
Include print-tree.h.
Include tree-iterator.h.
* typeck.c: Include stor-layout.h.
Include varasm.h.
* typeck2.c: Include stor-layout.h.
Include varasm.h.
* vtable-class-hierarchy.c: Include stringpool.h.
Include stor-layout.h.

fortran/ChangeLog

* decl.c: Include stringpool.h.
* iresolve.c: Include stringpool.h.
* match.c: Include stringpool.h.
* module.c: Include stringpool.h.
* target-memory.c: Include stor-layout.h.
* trans-common.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* trans-const.c: Include stor-layout.h.
* trans-decl.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
* trans-expr.c: Include stringpool.h.
* trans-intrinsic.c: Include stringpool.h.
Include tree-nested.h.
Include stor-layout.h.
* trans-io.c: Include stringpool.h.
Include stor-layout.h.
* trans-openmp.c: Include stringpool.h.
* trans-stmt.c: Include stringpool.h.
* trans-types.c: Include stor-layout.h.
Include stringpool.h.
* trans.c: Include stringpool.h.

go/ChangeLog

* go-backend.c: Include stor-layout.h.
* go-gcc.cc: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* go-lang.c: Include stor-layout.h.

java/ChangeLog

* builtins.c: Include stor-layout.h.
Include stringpool.h.
* class.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* constants.c: Include stringpool.h.
Include stor-layout.h.
* decl.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* except.c: Include stringpool.h.
Include stor-layout.h.
* expr.c: Include stringpool.h.
Include stor-layout.h.
* jcf-parse.c: Include stringpool.h.
* mangle.c: Include stringpool.h.
* resource.c: Include stringpool.h.
Include stor-layout.h.
* typeck.c: Include stor-layout.h.
Include stringpool.h.
* verify-glue.c: Include stringpool.h.

lto/ChangeLog
* lto-lang.c: Include stringpool.h.
Include stor-layout.h.
* lto-partition.c: Include gcc-symtab.h.
* lto.c: Include stor-layout.h.

objc/ChangeLog
* objc-act.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
* objc-encoding.c: Include stringpool.h.
Include stor-layout.h.
* objc-gnu-runtime-abi-01.c: Include stringpool.h.
* objc-next-runtime-abi-01.c:
Include stringpool.h.
* objc-next-runtime-abi-02.c: Include stringpool.h.
* objc-runtime-shared-support.c: Include stringpool.h.

testsuite/ChangeLog

* gcc.dg/plugin/selfassign.c: Include stringpool.h.
* gcc.dg/plugin/start_unit_plugin.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205023 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoconfig/
mpolacek [Tue, 19 Nov 2013 11:45:15 +0000 (11:45 +0000)] 
config/
* bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Add -ldl.
gcc/c-family/
* c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
call.
(ubsan_instrument_shift): Likewise.
(ubsan_instrument_vla): Likewise.
gcc/
* opts.c (common_handle_option): Add -fsanitize=null option.
Turn off -fdelete-null-pointer-checks option when doing the
NULL pointer checking.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH): Add.
* tree-pass.h (make_pass_ubsan): Declare.
(make_pass_sanopt): Declare.
* timevar.def (TV_TREE_UBSAN): New timevar.
* passes.def: Add pass_sanopt and pass_ubsan.
* ubsan.h (ubsan_null_ckind): New enum.
(ubsan_mismatch_data): New struct.
(ubsan_expand_null_ifn): Declare.
(ubsan_create_data): Adjust declaration.
(ubsan_type_descriptor): Likewise.
* asan.c: Include "ubsan.h".
(pass_data_sanopt): New pass.
(execute_sanopt): New function.
(gate_sanopt): Likewise.
(make_pass_sanopt): Likewise.
(class pass_sanopt): New class.
* ubsan.c: Include tree-pass.h, gimple-ssa.h, gimple-walk.h,
gimple-iterator.h and cfgloop.h.
(PROB_VERY_UNLIKELY): Define.
(tree_type_map_hash): New function.
(ubsan_type_descriptor): Add new parameter.
Improve type name generation.
(ubsan_create_data): Add new parameter.  Add pointer data into
ubsan structure.
(ubsan_expand_null_ifn): New function.
(instrument_member_call): Likewise.
(instrument_mem_ref): Likewise.
(instrument_null): Likewise.
(ubsan_pass): Likewise.
(gate_ubsan): Likewise.
(make_pass_ubsan): Likewise.
(ubsan_instrument_unreachable): Adjust ubsan_create_data call.
(class pass_ubsan): New class.
(pass_data_ubsan): New pass.
* flag-types.h (enum sanitize_code): Add SANITIZE_NULL.
* internal-fn.c (expand_UBSAN_NULL): New function.
* cgraphunit.c (varpool_finalize_decl): Call varpool_assemble_decl
even when !flag_toplevel_reorder.
* internal-fn.def (UBSAN_NULL): New.
gcc/testsuite/
* c-c++-common/ubsan/null-1.c: New test.
* c-c++-common/ubsan/null-2.c: New test.
* c-c++-common/ubsan/null-3.c: New test.
* c-c++-common/ubsan/null-4.c: New test.
* c-c++-common/ubsan/null-5.c: New test.
* c-c++-common/ubsan/null-6.c: New test.
* c-c++-common/ubsan/null-7.c: New test.
* c-c++-common/ubsan/null-8.c: New test.
* c-c++-common/ubsan/null-9.c: New test.
* c-c++-common/ubsan/null-10.c: New test.
* c-c++-common/ubsan/null-11.c: New test.
* gcc.dg/ubsan/c99-shift-2.c: Adjust dg-output.
* c-c++-common/ubsan/shift-1.c: Likewise.
* c-c++-common/ubsan/div-by-zero-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205021 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/c11-complex-1.c: Use dg-add-options ieee.
uros [Tue, 19 Nov 2013 11:28:20 +0000 (11:28 +0000)] 
* gcc.dg/c11-complex-1.c: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205020 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cgraph.c (cgraph_create_indirect_edge): Use get_polymorphic_call_info.
hubicka [Tue, 19 Nov 2013 10:05:54 +0000 (10:05 +0000)] 
* cgraph.c (cgraph_create_indirect_edge): Use get_polymorphic_call_info.
* cgraph.h (cgraph_indirect_call_info): Add outer_type, maybe_in_construction
and maybe_derived_type.
* ipa-utils.h (ipa_polymorphic_call_context): New structure.
(ipa_dummy_polymorphic_call_context): New global var.
(possible_polymorphic_call_targets): Add context paramter.
(dump_possible_polymorphic_call_targets): Likewise; update
wrappers.
(possible_polymorphic_call_target_p): Likewise.
(get_polymorphic_call_info): New function.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): New function.
(add_type_duplicate): Remove forgotten debug output.
(method_class_type): Add sanity check.
(maybe_record_node): Add FINALP parameter.
(record_binfo): Add OUTER_TYPE and OFFSET; walk the inner
by info by get_binfo_at_offset.
(possible_polymorphic_call_targets_1): Add OUTER_TYPE/OFFSET parameters;
pass them to record-binfo.
(polymorphic_call_target_d): Add context and FINAL.
(polymorphic_call_target_hasher::hash): Hash context.
(polymorphic_call_target_hasher::equal): Compare context.
(free_polymorphic_call_targets_hash):
(get_class_context): New function.
(contains_type_p): New function.
(get_polymorphic_call_info): New function.
(walk_bases): New function.
(possible_polymorphic_call_targets): Add context parameter; honnor it.
(dump_possible_polymorphic_call_targets): Dump context.
(possible_polymorphic_call_target_p): Add context.
(update_type_inheritance_graph): Update comment.s
(ipa_set_jf_known_type): Assert that compoentn type is known.
(ipa_note_param_call): Do not tamper with offsets.
(ipa_analyze_indirect_call_uses): When offset is being changed; clear
outer type.
(update_indirect_edges_after_inlining): Likewise.
(ipa_write_indirect_edge_info): Stream new fields.
(ipa_read_indirect_edge_info): Stream in new fields.

* ipa/devirt9.C: Verify that the optimization happens already before.
whole-program.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205019 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-pretty-print.c (dump_generic_node): Print class type of
hubicka [Tue, 19 Nov 2013 10:01:54 +0000 (10:01 +0000)] 
* tree-pretty-print.c (dump_generic_node): Print class type of
OBJ_TYPE_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205017 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Joey Ye <joey.ye@arm.com>
jye2 [Tue, 19 Nov 2013 10:00:46 +0000 (10:00 +0000)] 
2013-11-19  Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.opt (-marm-pic-data-is-text-relative): New option.
        * doc/invoke.texi (-marm-pic-data-is-text-relative): Documentation
        for new option.
        * config/arm/arm.c (arm_option_override): By default disable
        -marm-pic-data-is-text-relative.
        (legitimize_pic_address): Use arm_pic_data_is_text_relative.
        (arm_assemble_integer): Likewise.
        * config/arm/arm.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
        New macro to initialize -marm-pic-data-is-text-relative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205016 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-ivopts.c (enum ainc_type): New.
amker [Tue, 19 Nov 2013 09:48:59 +0000 (09:48 +0000)] 
* tree-ssa-loop-ivopts.c (enum ainc_type): New.
(address_cost_data): New field.
(get_address_cost): Compute auto-increment rtx cost in ainc_costs.
Use ainc_costs for auto-increment rtx patterns.
Cleanup TWS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205015 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Remove v8type attribute.
jgreenhalgh [Tue, 19 Nov 2013 09:36:01 +0000 (09:36 +0000)] 
[AArch64] Remove v8type attribute.

gcc/
* config/aarch64/aarch64.md: Remove v8type from all insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205014 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 09:21:07 +0000 (09:21 +0000)] 
2013-11-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57517
* tree-predcom.c (combinable_refs_p): Verify the combination
is always executed when the refs are.

* gfortran.fortran-torture/compile/pr57517.f90: New testcase.
* gcc.dg/torture/pr57517.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205010 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * atomic.c: Include sys/types.h.
jakub [Tue, 19 Nov 2013 07:43:09 +0000 (07:43 +0000)] 
* atomic.c: Include sys/types.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205008 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove tree_to_hwi.
rsandifo [Tue, 19 Nov 2013 07:42:09 +0000 (07:42 +0000)] 
Remove tree_to_hwi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205007 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove tree_fits_hwi_p and the 2-argument tree_to_hwi.
rsandifo [Tue, 19 Nov 2013 07:40:38 +0000 (07:40 +0000)] 
Remove tree_fits_hwi_p and the 2-argument tree_to_hwi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205006 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-threadupdate.c: Include ssa-iterators.h
law [Tue, 19 Nov 2013 03:47:40 +0000 (03:47 +0000)] 
* tree-ssa-threadupdate.c: Include ssa-iterators.h
(copy_phi_arg_into_existing_phi): New function.
(any_remaining_duplicated_blocks): Likewise.
(ssa_fix_duplicate_block_edges): Handle multiple duplicated
blocks on a jump threading path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205004 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-threadupdate.c (thread_through_loop_header): Do not
law [Tue, 19 Nov 2013 03:30:08 +0000 (03:30 +0000)] 
* tree-ssa-threadupdate.c (thread_through_loop_header):  Do not
thread through a joiner which has the latch edge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205003 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoreflect: Handle calls to functions that take or return empty structs
ian [Tue, 19 Nov 2013 02:30:03 +0000 (02:30 +0000)] 
reflect: Handle calls to functions that take or return empty structs

Fixes issue 6761

This simple change seems to work fine, slightly to my surprise.

This includes the tests I submitted to the main Go repository at
https://codereview.appspot.com/26570046

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205001 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogotest: Recognize PPC ELF v2 function pointers in text section.
ian [Tue, 19 Nov 2013 02:14:40 +0000 (02:14 +0000)] 
gotest: Recognize PPC ELF v2 function pointers in text section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205000 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibgo: Fix typo for is_dragonfly in configure script.
ian [Tue, 19 Nov 2013 02:11:38 +0000 (02:11 +0000)] 
libgo: Fix typo for is_dragonfly in configure script.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204999 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * md.texi (setmem): Document new parameter.
hubicka [Tue, 19 Nov 2013 01:42:47 +0000 (01:42 +0000)] 
* md.texi (setmem): Document new parameter.
* optabs.c (maybe_gen_insn): Support 9 operands.
* builtins.c (determine_block_size): Add probable_max_size;
support anti-ranges.
(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
probable_max_size.
* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
emit_block_move, clear_storage_hints, set_storage_via_setmem):
Likewise.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.md (setmem, movmem patterns): Add 9th operand.
* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
argument; pass it to decide_alg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204998 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * md.texi (setmem): Document new parameter.
hubicka [Tue, 19 Nov 2013 01:42:34 +0000 (01:42 +0000)] 
* md.texi (setmem): Document new parameter.
* optabs.c (maybe_gen_insn): Support 9 operands.
* builtins.c (determine_block_size): Add probable_max_size;
support anti-ranges.
(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
probable_max_size.
* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
emit_block_move, clear_storage_hints, set_storage_via_setmem):
Likewise.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.md (setmem, movmem patterns): Add 9th operand.
* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
argument; pass it to decide_alg.

* gcc.target/i386/memcpy-3.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204997 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/59175
hubicka [Tue, 19 Nov 2013 01:30:51 +0000 (01:30 +0000)] 
PR middle-end/59175
* gcc.target/i386/memcpy-2.c: Fix template;
add +1 so the testcase passes at 32bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204996 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoEliminate n_basic_blocks macro
dmalcolm [Tue, 19 Nov 2013 01:13:23 +0000 (01:13 +0000)] 
Eliminate n_basic_blocks macro

gcc/
* basic-block.h (n_basic_blocks_for_function): Rename macro to...
(n_basic_blocks_for_fn): ...this.

(n_basic_blocks): Eliminate macro as work towards making uses of
cfun be explicit.

* cfgloop.c (init_loops_structure): Update for renaming of
"n_basic_blocks_for_function" to "n_basic_blocks_for_fn".
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ipa-utils.c (ipa_merge_profiles): Likewise.
* lto-streamer-in.c (make_new_block): Likewise.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
(dump_function_to_file): Likewise.

* alias.c (init_alias_analysis): Replace usage of "n_basic_blocks"
macro with "n_basic_blocks_for_fn (cfun)".
* bb-reorder.c (partition_hot_cold_basic_blocks): Likewise.
(duplicate_computed_gotos): Likewise.
(reorder_basic_blocks): Likewise.
* bt-load.c (augment_live_range): Likewise.
* cfg.c (expunge_block): Likewise.
(compact_blocks): Likewise.
* cfganal.c (single_pred_before_succ_order): Likewise.
(compute_idf): Likewise.
(flow_dfs_compute_reverse_init): Likewise.
(pre_and_rev_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.
(inverted_post_order_compute): Likewise.
(post_order_compute): Likewise.
(print_edge_list): Likewise.
(find_unreachable_blocks): Likewise.
(mark_dfs_back_edges): Likewise.
* cfgcleanup.c (try_optimize_cfg): Likewise.
(try_forward_edges): Likewise.
* cfghooks.c (dump_flow_info): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
(get_loop_body): Likewise.
(flow_loops_find): Likewise.
* cfgloopmanip.c (add_loop): Likewise.
(remove_path): Likewise.
(find_path): Likewise.
* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
(rtl_verify_bb_layout): Likewise.
(entry_of_function): Likewise.
(rtl_create_basic_block): Likewise.
* coverage.c (coverage_compute_cfg_checksum): Likewise.
* cprop.c (one_cprop_pass): Likewise.
(is_too_expensive): Likewise.
* df-core.c (df_compute_cfg_image): Likewise.
(df_compact_blocks): Likewise.
(df_worklist_dataflow_doublequeue): Likewise.
* dominance.c (calculate_dominance_info): Likewise.
(calc_dfs_tree): Likewise.
(calc_dfs_tree_nonrec): Likewise.
(init_dom_info): Likewise.
* domwalk.c (cmp_bb_postorder): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
(generate_setjmp_warnings): Likewise.
* fwprop.c (build_single_def_use_links): Likewise.
* gcse.c (is_too_expensive): Likewise.
(one_code_hoisting_pass): Likewise.
(one_pre_gcse_pass): Likewise.
* graphite.c (graphite_initialize): Likewise.
* haifa-sched.c (haifa_sched_init): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
* ira.c (split_live_ranges_for_shrink_wrap): Likewise.
* ira-build.c (ira_build): Likewise.
* lcm.c (compute_nearerout): Likewise.
(compute_available): Likewise.
(compute_laterin): Likewise.
(compute_antinout_edge): Likewise.
* lra-lives.c (lra_create_live_ranges): Likewise.
* lra.c (has_nonexceptional_receiver): Likewise.
* mcf.c (create_fixup_graph): Likewise.
* profile.c (branch_prob): Likewise.
* reg-stack.c (convert_regs_2): Likewise.
* regrename.c (regrename_analyze): Likewise.
* reload1.c (has_nonexceptional_receiver): Likewise.
* reorg.c (dbr_schedule): Likewise.
* sched-deps.c (sched_deps_init): Likewise.
* sched-ebb.c (schedule_ebbs): Likewise.
* sched-rgn.c (extend_regions): Likewise.
(schedule_insns): Likewise.
(sched_rgn_init): Likewise.
(extend_rgns): Likewise.
(haifa_find_rgns): Likewise.
* sel-sched-ir.c (recompute_rev_top_order): Likewise.
(sel_recompute_toporder): Likewise.
* sel-sched.c (run_selective_scheduling): Likewise.
* store-motion.c (one_store_motion_pass): Likewise.
(remove_reachable_equiv_notes): Likewise.
* tracer.c (tracer): Likewise.
(tail_duplicate): Likewise.
* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
(dump_cfg_stats): Likewise.
(gimple_dump_cfg): Likewise.
(create_bb): Likewise.
(build_gimple_cfg): Likewise.
* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.
(fold_marked_statements): Likewise.
* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Likewise.
* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
* tree-ssa-loop-manip.c (compute_live_loop_exits): Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
* tree-ssa-pre.c (do_pre): Likewise.
(init_pre): Likewise.
(compute_avail): Likewise.
* tree-ssa-reassoc.c (init_reassoc): Likewise.
* tree-ssa-sccvn.c (init_scc_vn): Likewise.
* tree-ssa-tail-merge.c (alloc_cluster_vectors): Likewise.
(init_worklist): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* var-tracking.c (variable_tracking_main_1): Likewise.
(vt_find_locations): Likewise.
(vt_stack_adjustments): Likewise.
* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204995 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * configure.ac: Check for support of __atomic extensions.
ian [Tue, 19 Nov 2013 01:09:47 +0000 (01:09 +0000)] 
* configure.ac: Check for support of __atomic extensions.
* internal.h: Declare or #define atomic functions for use in
backtrace code.
* atomic.c: New file.
* dwarf.c (dwarf_lookup_pc): Use atomic functions.
(dwarf_fileline, backtrace_dwarf_add): Likewise.
* elf.c (elf_add_syminfo_data, elf_syminfo): Likewise.
(backtrace_initialize): Likewise.
* fileline.c (fileline_initialize): Likewise.
* Makefile.am (libbacktrace_la_SOURCES): Add atomic.c.
* configure, config.h.in, Makefile.in: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204994 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * libgcov-driver.c (run_accounted): Make global level static.
hubicka [Tue, 19 Nov 2013 01:08:02 +0000 (01:08 +0000)] 
* libgcov-driver.c (run_accounted): Make global level static.
(gcov_exit_merge_summary): Silence warning; do not clear
run_accounted here.
(gcov_exit): Clear it here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204993 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * profile.c (compute_branch_probabilities): Do not sanity check run_max.
hubicka [Tue, 19 Nov 2013 00:53:13 +0000 (00:53 +0000)] 
* profile.c (compute_branch_probabilities): Do not sanity check run_max.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204992 138bc75d-0d04-0410-961f-82ee72b054a4