]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
10 years agorecog.c (preprocess_constraints): Don't skip disabled alternatives.
Richard Sandiford [Wed, 4 Jun 2014 17:34:19 +0000 (17:34 +0000)] 
recog.c (preprocess_constraints): Don't skip disabled alternatives.

gcc/
* recog.c (preprocess_constraints): Don't skip disabled alternatives.
* ira-lives.c (check_and_make_def_conflict): Check for disabled
alternatives.
(make_early_clobber_and_input_conflicts): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.

From-SVN: r211239

10 years agorecog.h (alternative_class): New function.
Richard Sandiford [Wed, 4 Jun 2014 17:34:03 +0000 (17:34 +0000)] 
recog.h (alternative_class): New function.

gcc/
* recog.h (alternative_class): New function.
(which_op_alt): Return a const recog_op_alt.
* reg-stack.c (check_asm_stack_operands): Update type accordingly.
(subst_asm_stack_regs): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.  Don't modify
the operand_alternative; use alternative class instead.
* sel-sched.c (get_reg_class): Likewise.
* regrename.c (build_def_use): Likewise.
(hide_operands, restore_operands, record_out_operands): Update type
accordingly.

From-SVN: r211238

10 years agorecog.h (recog_op_alt): Convert to a flat array.
Richard Sandiford [Wed, 4 Jun 2014 17:33:51 +0000 (17:33 +0000)] 
recog.h (recog_op_alt): Convert to a flat array.

gcc/
* recog.h (recog_op_alt): Convert to a flat array.
(which_op_alt): New function.
* recog.c (recog_op_alt): Convert to a flat array.
(preprocess_constraints): Update accordingly, grouping all
operands of the same alternative together, rather than the
other way around.
* ira-lives.c (check_and_make_def_conflict): Likewise.
(make_early_clobber_and_input_conflicts): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
* reg-stack.c (check_asm_stack_operands): Use which_op_alt.
(subst_asm_stack_regs): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* regrename.c (hide_operands, record_out_operands): Likewise.
(build_def_use): Likewise.
* sel-sched.c (get_reg_class): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.

From-SVN: r211237

10 years agore PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among...
Jason Merrill [Wed, 4 Jun 2014 15:51:01 +0000 (11:51 -0400)] 
re PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among initializer-clauses in braced-init-list)

PR c++/51253
PR c++/61382
gcc/
* gimplify.c (gimplify_arg): Non-static.
* gimplify.h: Declare it.
gcc/cp/
* cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPR_LIST_INIT_P here.
* semantics.c (simplify_aggr_init_expr): Not here, just copy it.

From-SVN: r211235

10 years agotree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL...
Richard Biener [Wed, 4 Jun 2014 13:51:18 +0000 (13:51 +0000)] 
tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL decls.

2014-06-04  Richard Biener  <rguenther@suse.de>

* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
TREE_PUBLIC and DECL_EXTERNAL decls.

From-SVN: r211233

10 years agoregcprop.c (copyprop_hardreg_forward_1): Account for HARD_REGNO_CALL_PART_CLOBBERED.
Matthew Fortune [Wed, 4 Jun 2014 13:10:49 +0000 (13:10 +0000)] 
regcprop.c (copyprop_hardreg_forward_1): Account for HARD_REGNO_CALL_PART_CLOBBERED.

2014-06-04  Matthew Fortune  <matthew.fortune@imgtec.com>

gcc/
* regcprop.c (copyprop_hardreg_forward_1): Account for
HARD_REGNO_CALL_PART_CLOBBERED.

From-SVN: r211230

10 years agoconfigure.ac: Check whether the underlying type of int64_t is long or long long.
Richard Biener [Wed, 4 Jun 2014 12:35:26 +0000 (12:35 +0000)] 
configure.ac: Check whether the underlying type of int64_t is long or long long.

2014-06-04  Richard Biener  <rguenther@suse.de>

* configure.ac: Check whether the underlying type of int64_t
is long or long long.
* configure: Regenerate.
* config.in: Likewise.
* hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
(HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.

From-SVN: r211228

10 years agore PR tree-optimization/60098 (DSE fails to DSE errno settings)
Richard Biener [Wed, 4 Jun 2014 11:56:34 +0000 (11:56 +0000)] 
re PR tree-optimization/60098 (DSE fails to DSE errno settings)

2014-06-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/60098
* tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
we hit a kill.
(dse_optimize_stmt): Simplify, now that we found a kill
earlier.

* gcc.dg/tree-ssa/ssa-dse-15.c: New testcase.

From-SVN: r211224

10 years agotree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling of accesses with non...
Richard Biener [Wed, 4 Jun 2014 11:55:29 +0000 (11:55 +0000)] 
tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling of accesses with non-invariant address.

2014-06-04  Richard Biener  <rguenther@suse.de>

* tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
of accesses with non-invariant address.

* gcc.dg/tree-ssa/ssa-dse-16.c: New testcase.

From-SVN: r211223

10 years agoNew callgraph wrapper function creation added
Martin Liska [Wed, 4 Jun 2014 11:11:09 +0000 (13:11 +0200)] 
New callgraph wrapper function creation added

* cgraph.h (cgraph_make_wrapper): New function introduced.
* cgraphunit.c (cgraph_make_wrapper): The function implementation.
* ipa-inline.h (inline_analyze_function): The function is global.
* ipa-inline-analysis.c (inline_analyze_function): Likewise.

From-SVN: r211222

10 years agore PR c/58942 (cilkplus internal compiler error: tree check __sec_reduce_max_ind)
Igor Zamyatin [Wed, 4 Jun 2014 10:07:21 +0000 (10:07 +0000)] 
re PR c/58942 (cilkplus internal compiler error: tree check __sec_reduce_max_ind)

gcc/c/
PR c/58942
* c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
with a pointer.

gcc/cp/
PR c/58942
* cp-array-notation.c (expand_sec_reduce_builtin): Handle the case
with a pointer.

gcc/testsuite/
PR c/58942
* c-c++-common/cilk-plus/AN/pr58942.c: Check for correct handling of
the case with a pointer.

From-SVN: r211220

10 years agoNew attribute lookup function addition
Martin Liska [Wed, 4 Jun 2014 09:44:33 +0000 (11:44 +0200)] 
New attribute lookup function addition

* tree.h (private_lookup_attribute_starting): New function.
(lookup_attribute_starting): Likewise.
* tree.c (private_lookup_attribute_starting): Likewise.

From-SVN: r211219

10 years agoEnhancement of call graph API
Martin Liska [Wed, 4 Jun 2014 09:39:24 +0000 (11:39 +0200)] 
Enhancement of call graph API

* cgraph.h (expand_thunk): New argument added.
(address_taken_from_non_vtable_p): New global function.
* ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
* cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
* cgraphunit.c (analyze_function): Likewise.
(assemble_thunks_and_aliases): Argument added to call.
(expand_thunk): New argument forces to produce GIMPLE thunk.

From-SVN: r211218

10 years agoMake coverage_compute_cfg_checksum callable with arg.
Martin Liska [Wed, 4 Jun 2014 09:31:25 +0000 (11:31 +0200)] 
Make coverage_compute_cfg_checksum callable with arg.

* coverage.h (coverage_compute_cfg_checksum): Argument added.
* coverage.c (coverage_compute_cfg_checksum): Likewise.
* profile.c (branch_prob): Likewise.

From-SVN: r211217

10 years agore PR ipa/61340 (ipa-pure-const.c, ipa-reference.c: possible missing switch cases ?)
Martin Jambor [Wed, 4 Jun 2014 09:23:52 +0000 (11:23 +0200)] 
re PR ipa/61340 (ipa-pure-const.c, ipa-reference.c: possible missing switch cases ?)

2014-06-04  Martin Jambor  <mjambor@suse.cz>

PR ipa/61340
* ipa-pure-const.c (propagate_pure_const): Add unreachable default
handler for switch on an ipa_ref_use enum.
* ipa-reference.c (analyze_function): Likewise.

From-SVN: r211216

10 years agoAdd myself to the MAINTAINERS file.
Thomas Preud'homme [Wed, 4 Jun 2014 09:11:48 +0000 (09:11 +0000)] 
Add myself to the MAINTAINERS file.

2014-06-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211215

10 years agorecog.c (peep2_attempt): Copy SIBLING_CALL_P flag from old call-instruction.
Kai Tietz [Wed, 4 Jun 2014 07:46:55 +0000 (09:46 +0200)] 
recog.c (peep2_attempt): Copy SIBLING_CALL_P flag from old call-instruction.

* recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
from old call-instruction.

From-SVN: r211213

10 years agore PR c/30020 (improve diagnostics for limited range warning for a switch statement)
Marek Polacek [Wed, 4 Jun 2014 07:26:06 +0000 (07:26 +0000)] 
re PR c/30020 (improve diagnostics for limited range warning for a switch statement)

PR c/30020
* c-common.c (check_case_bounds): Add location parameter.
Use it.
(c_add_case_label): Pass loc to check_case_bounds.

* c-c++-common/pr30020.c: New test.

From-SVN: r211212

10 years ago* config/aarch64/aarch64.c (aarch64_classify_address)
Bin Cheng [Wed, 4 Jun 2014 03:45:50 +0000 (03:45 +0000)] 
* config/aarch64/aarch64.c (aarch64_classify_address)
(aarch64_legitimize_reload_address): Support full addressing modes
for vector modes.
* config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
(*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.

From-SVN: r211211

10 years agoDaily bump.
GCC Administrator [Wed, 4 Jun 2014 00:17:09 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211210

10 years agoaarch64.c (aarch64_if_then_else_costs): Allow non comparisons for OP0.
Andrew Pinski [Tue, 3 Jun 2014 22:44:39 +0000 (22:44 +0000)] 
aarch64.c (aarch64_if_then_else_costs): Allow non comparisons for OP0.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
for OP0.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140528-1.c: New testcase.

From-SVN: r211206

10 years agoaarch64.c (aarch64_if_then_else_costs): New function.
Andrew Pinski [Tue, 3 Jun 2014 22:42:47 +0000 (15:42 -0700)] 
aarch64.c (aarch64_if_then_else_costs): New function.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
(aarch64_rtx_costs): Use aarch64_if_then_else_costs.

From-SVN: r211205

10 years agoi386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.
Kai Tietz [Tue, 3 Jun 2014 22:01:19 +0000 (00:01 +0200)] 
i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.

        * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
        for 64-bit ms-abi.

From-SVN: r211204

10 years agotree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in the same loop.
Dehao Chen [Tue, 3 Jun 2014 21:36:05 +0000 (21:36 +0000)] 
tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in the same loop.

2014-06-03  Dehao Chen  <dehao@google.com>

* tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
the same loop.
* gcc.dg/tree-prof/merge_block.c: New test.

From-SVN: r211202

10 years agomv14.C (dg-options): Add -march=x86-64.
Uros Bizjak [Tue, 3 Jun 2014 17:57:42 +0000 (19:57 +0200)] 
mv14.C (dg-options): Add -march=x86-64.

* g++.dg/ext/mv14.C (dg-options): Add -march=x86-64.
* g++.dg/ext/mv15.C (dg-options): Ditto.

From-SVN: r211196

10 years agoDR 1423 PR c++/52174
Paolo Carlini [Tue, 3 Jun 2014 17:48:36 +0000 (17:48 +0000)] 
DR 1423 PR c++/52174

gcc/cp
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* call.c (standard_conversion): Convert nullptr to bool only
in case of direct-initialization.
(convert_like_real): Provide informative error message.

gcc/testsuite
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* g++.dg/cpp0x/nullptr31.C: New.
* g++.dg/cpp0x/sfinae-nullptr1.C: Likewise.
* g++.dg/cpp0x/nullptr17.C: Update.

libstdc++-v3
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* testsuite/20_util/is_assignable/value.cc: Update.

From-SVN: r211195

10 years agore PR c/60439 (No warning for case overflow in switch statement.)
Marek Polacek [Tue, 3 Jun 2014 17:35:34 +0000 (17:35 +0000)] 
re PR c/60439 (No warning for case overflow in switch statement.)

PR c/60439
* doc/invoke.texi: Document -Wswitch-bool.
* function.c (stack_protect_epilogue): Cast controlling expression of
the switch to int.
* gengtype.c (walk_type): Generate switch expression with its
controlling expression cast to int.
c/
* c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
c_start_case.
* c-tree.h (c_start_case): Update.
* c-typeck.c (c_start_case): Add new boolean parameter.  Warn if
switch condition has boolean value.
cp/
* semantics.c (finish_switch_cond): Warn if switch condition has
boolean value.
c-family/
* c.opt (Wswitch-bool): New option.
testsuite/
* c-c++-common/pr60439.c: New test.
* g++.dg/eh/scope1.C (f4): Add dg-warning.

From-SVN: r211194

10 years agoavr-mcus.def: Add new avr25 devices attiny441, attiny828 and attiny841.
Denis Chertykov [Tue, 3 Jun 2014 16:26:09 +0000 (20:26 +0400)] 
avr-mcus.def: Add new avr25 devices attiny441, attiny828 and attiny841.

* config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
and attiny841.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

* config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
(ata6617c, ata664251): Add new avr35 devices.
(ata6612c): Add new avr4 device.
(ata6613c, ata6614q): Add new avr5 devices.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

From-SVN: r211189

10 years agore PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
Jason Merrill [Tue, 3 Jun 2014 15:39:20 +0000 (11:39 -0400)] 
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)

PR c++/60992
* pt.c (tsubst_copy) [VAR_DECL]: Try lookup first.  Add a new
variable to local_specializations.

From-SVN: r211188

10 years ago[PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h
Alan Lawrence [Tue, 3 Jun 2014 15:06:01 +0000 (15:06 +0000)] 
[PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h

* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_ssu_qualifiers): New static data.
(TYPES_BINOP_SSU): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
urshr_n, ushll_n): Use appropriate unsigned qualifiers.
* gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
suffix to builtin function name, remove cast.
(vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.

From-SVN: r211186

10 years ago[PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h
Alan Lawrence [Tue, 3 Jun 2014 14:57:22 +0000 (14:57 +0000)] 
[PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h

* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_uus_qualifiers,
aarch64_types_shift_to_unsigned_qualifiers,
aarch64_types_unsigned_shiftacc_qualifiers): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
sqshlu_n, uqshl_n): Update qualifiers.
* gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.

From-SVN: r211185

10 years agotree-sra.c (modify_function): Record caller nodes after rebuild.
Teresa Johnson [Tue, 3 Jun 2014 14:12:51 +0000 (14:12 +0000)] 
tree-sra.c (modify_function): Record caller nodes after rebuild.

2014-06-03  Teresa Johnson  <tejohnson@google.com>

* tree-sra.c (modify_function): Record caller nodes after rebuild.

From-SVN: r211180

10 years agore PR c++/60848 (Crash while experimenting with c++-0x initializer lists)
Jason Merrill [Tue, 3 Jun 2014 14:11:10 +0000 (10:11 -0400)] 
re PR c++/60848 (Crash while experimenting with c++-0x initializer lists)

PR c++/60848
* call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.

From-SVN: r211179

10 years agore PR c++/61020 (typeid(typeid(X)) produces 'ud2')
Jason Merrill [Tue, 3 Jun 2014 11:56:58 +0000 (07:56 -0400)] 
re PR c++/61020 (typeid(typeid(X)) produces 'ud2')

PR c++/61020
* varpool.c (ctor_for_folding): Handle uninitialized vtables.

From-SVN: r211178

10 years agoDetect EXT patterns to vec_perm_const, use for EXT intrinsics.
Alan Lawrence [Tue, 3 Jun 2014 11:56:24 +0000 (11:56 +0000)] 
Detect EXT patterns to vec_perm_const, use for EXT intrinsics.

(part 2, fix ICE at -O0)

* config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
location == 0.

From-SVN: r211177

10 years agoRecognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.
Alan Lawrence [Tue, 3 Jun 2014 11:28:55 +0000 (11:28 +0000)] 
Recognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.

        * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
        New pattern.
        * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
        (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
        * config/aarch64/iterators.md (REVERSE): New iterator.
        (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
        (rev_op): New int_attribute.
        * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
        vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
        vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
        vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
        vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
        vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
        vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
        Replace temporary __asm__ with __builtin_shuffle.

From-SVN: r211174

10 years agoAdd support for MIPS r3 and r5.
Andrew Bennett [Tue, 3 Jun 2014 11:10:05 +0000 (11:10 +0000)] 
Add support for MIPS r3 and r5.

2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

* config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
mips64r5.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_compute_frame_info): Changed if statement
to use mips_isa_rev rather than ISA_MIPS32R2.
* config/mips/mips.h (ISA_MIPS32R3): New define.
(ISA_MIPS32R5): New define.
(ISA_MIPS64R3): New define.
(ISA_MIPS64R5): New define.
(TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
ISA_MIPS64R3 and ISA_MIPS64R5.
(MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
and mips64r5.
(MIPS_ISA_SYNCI_SPEC): Likewise.
(ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
(LINK_SPEC): Added mips32r3 and mips32r5.
* config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
to mips32r2; and mips64r3 and mips64r5 to mips64r2.
* config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
* config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
* config/mips/t-sde (MULTILIB_MATCHES): Likewise.
* config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
* doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.

From-SVN: r211173

10 years agoAdd support for the MIPS -mxpa command line option.
Andrew Bennett [Tue, 3 Jun 2014 10:22:09 +0000 (10:22 +0000)] 
Add support for the MIPS -mxpa command line option.

2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

* doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
options.
* config/mips/mips.opt (mxpa): New option.
* config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
assembler.

From-SVN: r211172

10 years agore PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points...
Martin Jambor [Tue, 3 Jun 2014 10:09:20 +0000 (12:09 +0200)] 
re PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points to wrong declaration))

2014-06-03  Martin Jambor  <mjambor@suse.cz>

PR ipa/61160
* ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
thunks.

testsuite/
* g++.dg/ipa/pr61160-1.C: New test.

From-SVN: r211170

10 years agoAdd myself to the MAINTAINERS file.
Andrew Bennett [Tue, 3 Jun 2014 09:37:13 +0000 (09:37 +0000)] 
Add myself to the MAINTAINERS file.

2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211167

10 years agore PR tree-optimization/61328 (valgrind finds problem in find_bswap_or_nop_1)
Thomas Preud'homme [Tue, 3 Jun 2014 09:29:06 +0000 (09:29 +0000)] 
re PR tree-optimization/61328 (valgrind finds problem in find_bswap_or_nop_1)

2014-06-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>

PR tree-optimization/61328
* tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
        initialization from find_bswap_or_nop_1.
        (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
        in source_expr2 before using the size value the function sets. Also
        make use of init_symbolic_number () in both the old place and
        find_bswap_or_nop_load () to avoid reading uninitialized memory when
        doing recursion in the GIMPLE_BINARY_RHS case.

From-SVN: r211166

10 years agore PR tree-optimization/61383 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Tue, 3 Jun 2014 08:48:28 +0000 (08:48 +0000)] 
re PR tree-optimization/61383 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

2014-06-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61383
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
stmts can't trap.

* gcc.dg/torture/pr61383-1.c: New testcase.

From-SVN: r211163

10 years agogcc/
Richard Sandiford [Tue, 3 Jun 2014 07:27:13 +0000 (07:27 +0000)] 
gcc/
* defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
(EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
(CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
(REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
in this file.
(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
* system.h: ...here and make it unconditional.
* target.def (conditional_register_usage): Mention
define_register_constraint instead of old-style constraint macros.
* doc/tm.texi.in: Remove documentation for old-style constraint macros.
* doc/tm.texi: Regenerate.
* genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
protected by !USE_MD_CONSTRAINTS.
* config/frv/frv.md: Remove quote from old version of documentation.
* config/frv/frv.c (frv_conditional_register_usage): Likewise.
* config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
CONST_DOUBLE_OK_FOR_LETTER.
* config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.

From-SVN: r211161

10 years agore PR c++/61046 (ICE in lookup_field_1, at cp/search.c:384)
Jason Merrill [Tue, 3 Jun 2014 04:57:39 +0000 (00:57 -0400)] 
re PR c++/61046 (ICE in lookup_field_1, at cp/search.c:384)

PR c++/61046
* decl.c (reshape_init_class): Handle un-folded
constant-expressions.

From-SVN: r211160

10 years agore PR c++/61134 ([C++11] bogus "no matching function for call...")
Jason Merrill [Tue, 3 Jun 2014 04:57:32 +0000 (00:57 -0400)] 
re PR c++/61134 ([C++11] bogus "no matching function for call...")

PR c++/61134
* pt.c (pack_deducible_p): Handle canonicalization.

From-SVN: r211159

10 years agopt.c (tsubst_function_type): Initialize arg_types.
Paolo Carlini [Tue, 3 Jun 2014 02:31:01 +0000 (02:31 +0000)] 
pt.c (tsubst_function_type): Initialize arg_types.

2014-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (tsubst_function_type): Initialize arg_types.

From-SVN: r211158

10 years agoDaily bump.
GCC Administrator [Tue, 3 Jun 2014 00:17:07 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211157

10 years agoFix formating in my last changelog entry.
Andrew Pinski [Tue, 3 Jun 2014 00:06:41 +0000 (17:06 -0700)] 
Fix formating in my last changelog entry.

From-SVN: r211153

10 years ago* gcc.target/powerpc/vsxcopy.c (dg-options): Add -mvsx.
Andreas Schwab [Mon, 2 Jun 2014 22:38:30 +0000 (22:38 +0000)] 
* gcc.target/powerpc/vsxcopy.c (dg-options): Add -mvsx.

From-SVN: r211152

10 years agore PR debug/57519 (DW_TAG_imported_declaration put in wrong class (base class instead...
Siva Chandra Reddy [Mon, 2 Jun 2014 22:10:57 +0000 (22:10 +0000)] 
re PR debug/57519 (DW_TAG_imported_declaration put in wrong class (base class instead of derived class))

        PR debug/57519
        * class.c (handle_using_decl): Pass the correct scope to
        cp_emit_debug_info_for_using.

From-SVN: r211151

10 years agoaarch64-linux.h (GLIBC_DYNAMIC_LINKER): /lib/ld-linux32-aarch64.so.1 is used for...
Andrew Pinski [Mon, 2 Jun 2014 21:24:41 +0000 (21:24 +0000)] 
aarch64-linux.h (GLIBC_DYNAMIC_LINKER): /lib/ld-linux32-aarch64.so.1 is used for ILP32.

2014-06-02  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
/lib/ld-linux32-aarch64.so.1 is used for ILP32.
(LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
file whose name depends on -mabi= and -mbig-endian.
* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
Handle LP64 better and handle ilp32 too.
(MULTILIB_OPTIONS): Delete.
(MULTILIB_DIRNAMES): Delete.

From-SVN: r211148

10 years agore PR c++/59483 (A nested lambda fails to find a protected name with qualified name)
Ville Voutilainen [Mon, 2 Jun 2014 20:47:55 +0000 (23:47 +0300)] 
re PR c++/59483 (A nested lambda fails to find a protected name with qualified name)

PR c++/59483
PR c++/61148
* search.c (accessible_p): Use current_nonlambda_class_type.
* semantics.c (check_accessibility_of_qualified_id): Likewise.

From-SVN: r211147

10 years agoexpr.h: Remove prototypes of functions defined in builtins.c.
Andrew MacLeod [Mon, 2 Jun 2014 20:13:44 +0000 (20:13 +0000)] 
expr.h: Remove prototypes of functions defined in builtins.c.

* expr.h: Remove prototypes of functions defined in builtins.c.
* tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
Remove prototypes of functions defined in builtins.c.
* builtins.h: Update prototype list to include all exported functions.
* builtins.c: (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Move to targhooks.c
(build_string_literal, build_call_expr_loc_array,
build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
to tree.c.
(expand_builtin_object_size, fold_builtin_object_size): Make static.
* targhooks.c (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Relocate from builtins.c.
* tree.c: Include builtins.h.
(build_call_expr_loc_array, build_call_expr_loc_vec,
build_call_expr_loc, build_call_expr, build_string_literal): Relocate
from builtins.c.
* fold-const.h (fold_fma): Move prototype to builtins.h.
* realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.

* fortran/trans.c (trans_runtime_error_vararg): Call
fold_build_call_array_loc instead of fold_builtin_call_array.

* asan.c: Include builtins.h.
* cfgexpand.c: Likewise.
* convert.c: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimplify.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* lto-streamer-out.c: Likewise.
* stmt.c: Likewise.
* tree-inline.c: Likewise.
* tree-object-size.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.

c
* c-decl.c: Include builtins.h.
* c-parser.c: Likewise.

cp
* decl.c: Include builtins.h.
* semantics.c: Likewise.

go
* go-gcc.cc: Include builtins.h.

lto
* lto-symtab.c: Include builtins.h.

config
* aarch64/aarch64.c: Include builtins.h.
* alpha/alpha.c: Likewise.
* arc/arc.c: Likewise.
* arm/arm.c: Likewise.
* avr/avr.c: Likewise.
* bfin/bfin.c: Likewise.
* c6x/c6x.c: Likewise.
* cr16/cr16.c: Likewise.
* cris/cris.c: Likewise.
* epiphany/epiphany.c: Likewise.
* fr30/fr30.c: Likewise.
* frv/frv.c: Likewise.
* h8300/h8300.c: Likewise.
* i386/i386.c: Likewise.
* i386/winnt.c: Likewise.
* ia64/ia64.c: Likewise.
* iq2000/iq2000.c: Likewise.
* lm32/lm32.c: Likewise.
* m32c/m32c.c: Likewise.
* m32r/m32r.c: Likewise.
* m68k/m68k.c: Likewise.
* mcore/mcore.c: Likewise.
* mep/mep.c: Likewise.
* microblaze/microblaze.c: Likewise.
* mips/mips.c: Likewise.
* mmix/mmix.c: Likewise.
* mn10300/mn10300.c: Likewise.
* moxie/moxie.c: Likewise.
* msp430/msp430.c: Likewise.
* nds32/nds32.c: Likewise.
* pa/pa.c: Likewise.
* pdp11/pdp11.c: Likewise.
* picochip/picochip.c: Likewise.
* rl78/rl78.c: Likewise.
* rs6000/rs6000.c: Likewise.
* rx/rx.c: Likewise.
* s390/s390.c: Likewise.
* score/score.c: Likewise.
* sh/sh.c: Likewise.
* sparc/sparc.c: Likewise.
* spu/spu.c: Likewise.
* stormy16/stormy16.c: Likewise.
* tilegx/tilegx.c: Likewise.
* tilepro/tilepro.c: Likewise.
* v850/v850.c: Likewise.
* vax/vax.c: Likewise.
* xtensa/xtensa.c: Likewise.

From-SVN: r211145

10 years agoregex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space...
Jonathan Wakely [Mon, 2 Jun 2014 19:36:14 +0000 (20:36 +0100)] 
regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.

* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
members to avoid wasted space when not using a cache.
(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
* include/bits/regex_compiler.tcc
(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
search on set.
* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
New enumeration type to indicate match mode.
(__detail::_Executor::_State_info): New type holding members only
needed in BFS-mode. Replace unique_ptr<vector<bool>> with
unique_ptr<bool[]>.
(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
Replace template parameter with run-time function parameter.
(__detail::_Executor::_M_main): Likewise. Dispatch to ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions to
implement DFS and BFS mode.
* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
Split implementation into ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions.
(__detail::_Executor::_M_lookahead): Create nested executor on stack.
(__detail::_Executor::_M_rep_once_more): Pass match mode as function
argument instead of template argument.
(__detail::_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc: Fix typos in comments.
* testsuite/performance/28_regex/range.cc: New.

From-SVN: r211143

10 years agore PR rtl-optimization/61094 (-O3 insn Internal compiler error in copyprop_hardreg_fo...
Jeff Law [Mon, 2 Jun 2014 19:12:08 +0000 (13:12 -0600)] 
re PR rtl-optimization/61094 (-O3 insn Internal compiler error in copyprop_hardreg_forward_1, at regcprop.c:775)

PR rtl-optimization/61094
* ree.c (combine_reaching_defs): Do not reextend an insn if it
was marked as do_no_reextend.  If a copy is needed to eliminate
an extension, then mark it as do_not_reextend.

PR rtl-optimization/61094
* g++.dg/pr61094: New test.

From-SVN: r211142

10 years ago[AArch64] Remove ISB after FPCR write.
Marcus Shawcroft [Mon, 2 Jun 2014 16:40:06 +0000 (16:40 +0000)] 
[AArch64] Remove ISB after FPCR write.

From-SVN: r211140

10 years agore PR target/61336 (ICE on alpha: in print_operand_address, at config/alpha/alpha...
Richard Henderson [Mon, 2 Jun 2014 16:27:41 +0000 (09:27 -0700)] 
re PR target/61336 (ICE on alpha: in print_operand_address, at config/alpha/alpha.c:5454)

PR target/61336

        * config/alpha/alpha.c (print_operand_address): Allow symbolic
        addresses inside asms.  Use output_operand_lossage instead of
        gcc_unreachable.

From-SVN: r211139

10 years agocondition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind.
Jonathan Wakely [Mon, 2 Jun 2014 15:45:09 +0000 (16:45 +0100)] 
condition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind.

* include/std/condition_variable (condition_variable_any::_Unlock): Do
not swallow __forced_unwind.
* include/std/future (__future_base::_Task_setter): Likewise.
(__future_base::_Async_state_impl): Turn __forced_unwind into broken
promise and rethrow.
* include/std/mutex (try_lock): Likewise.
* testsuite/30_threads/async/forced_unwind.cc: New.
* testsuite/30_threads/packaged_task/forced_unwind.cc: New.

From-SVN: r211138

10 years agotype_traits (__strictest_alignment): New helper struct.
Rüdiger Sonderfeld [Mon, 2 Jun 2014 13:55:14 +0000 (13:55 +0000)] 
type_traits (__strictest_alignment): New helper struct.

2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
    Jonathan Wakely  <jwakely@redhat.com>

* libstdc++-v3/include/std/type_traits (__strictest_alignment): New
helper struct.
(aligned_union): New struct (C++11).
(aligned_union_t): New type alias (C++14).
* doc/xml/manual/status_cxx2011.xml: Update.
* libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r211137

10 years agoxop-rotate1-vector.c (dg-options): Add -mno-avx2.
Uros Bizjak [Mon, 2 Jun 2014 13:40:49 +0000 (15:40 +0200)] 
xop-rotate1-vector.c (dg-options): Add -mno-avx2.

* gcc.target/i386/xop-rotate1-vector.c (dg-options): Add -mno-avx2.
* gcc.target/i386/xop-rotate2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-rotate3-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul32widen-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul64-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift1-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift3-vector.c (dg-options): Ditto.

From-SVN: r211136

10 years agore PR target/61239 (ICE in decompose, at rtl.h when compiling vshuf-v16hi.c using...
Uros Bizjak [Mon, 2 Jun 2014 13:22:34 +0000 (15:22 +0200)] 
re PR target/61239 (ICE in decompose, at rtl.h when compiling vshuf-v16hi.c using -mavx2)

PR target/61239
* config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.

From-SVN: r211134

10 years agoFix ICE in aarch64_float_const_representable_p
Tom de Vries [Mon, 2 Jun 2014 13:13:43 +0000 (13:13 +0000)] 
Fix ICE in aarch64_float_const_representable_p

2014-06-02  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
case that x has VOIDmode.

From-SVN: r211132

10 years agoFix a decl to match the calls to it.
Bernd Schmidt [Mon, 2 Jun 2014 12:06:20 +0000 (12:06 +0000)] 
Fix a decl to match the calls to it.

* trans-decl.c (gfc_build_builtin_function_decls): Correct number of
arguments to caf_init.

From-SVN: r211131

10 years agoDelete a copy that looks like a relic from obstack times.
Bernd Schmidt [Mon, 2 Jun 2014 12:06:11 +0000 (12:06 +0000)] 
Delete a copy that looks like a relic from obstack times.

* varasm.c (copy_constant): Delete function.
(build_constant_desc): Don't call it.

From-SVN: r211130

10 years agore PR target/61154 ([ARM] wide-int merge introduced regressions in vshuf tests)
Ramana Radhakrishnan [Mon, 2 Jun 2014 08:22:30 +0000 (08:22 +0000)] 
re PR target/61154 ([ARM] wide-int merge introduced regressions in vshuf tests)

Fix PR target/61154

2014-06-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/61154
* config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
* config/arm/arm.md (mov64 splitter): Replace const_double_operand
with immediate_operand.

From-SVN: r211129

10 years agore PR tree-optimization/61346 (VRP chooses bad bounds for variable)
Richard Biener [Mon, 2 Jun 2014 08:07:23 +0000 (08:07 +0000)] 
re PR tree-optimization/61346 (VRP chooses bad bounds for variable)

2014-06-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61346
* gcc.dg/torture/pr61346.c: New testcase.

From-SVN: r211128

10 years ago* config/ia64/ia64.c
Andreas Schwab [Mon, 2 Jun 2014 07:53:26 +0000 (07:53 +0000)] 
* config/ia64/ia64.c
(ia64_first_cycle_multipass_dfa_lookahead_guard): Check
pending_data_specs first.

From-SVN: r211127

10 years agore PR middle-end/61378 (Obvious bug in vn_reference_lookup_3)
Richard Biener [Mon, 2 Jun 2014 07:45:15 +0000 (07:45 +0000)] 
re PR middle-end/61378 (Obvious bug in vn_reference_lookup_3)

2014-06-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61378
* tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
valueized_anything.

From-SVN: r211126

10 years agoDaily bump.
GCC Administrator [Mon, 2 Jun 2014 00:17:19 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211125

10 years agouses_allocator.h (__uses_allocator_helper): Simplify.
Jonathan Wakely [Sun, 1 Jun 2014 22:35:42 +0000 (23:35 +0100)] 
uses_allocator.h (__uses_allocator_helper): Simplify.

* include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
(__uses_allocator_arg): Remove unused type.
(__uses_alloc0): Turn into a trivial type.
(__uses_alloc): Add missing template parameter in primary template.
(__uses_alloc_impl): Rename to __uses_alloc_t.

From-SVN: r211121

10 years agosibcall-2.c: Xfail dg-final scan-assembler-not, not compilation.
Uros Bizjak [Sun, 1 Jun 2014 21:14:02 +0000 (23:14 +0200)] 
sibcall-2.c: Xfail dg-final scan-assembler-not, not compilation.

* gcc.target/i386/sibcall-2.c: Xfail dg-final scan-assembler-not,
not compilation.
* gcc.target/i386/sibcall-4.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Add -mregparm=1 for ia32 target.

From-SVN: r211120

10 years agoconstraints.md (Bw): Rename from 'w'.
Uros Bizjak [Sun, 1 Jun 2014 20:53:18 +0000 (22:53 +0200)] 
constraints.md (Bw): Rename from 'w'.

* config/i386/constraints.md (Bw): Rename from 'w'.
(Bz): Rename from 'z'.
* config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.

From-SVN: r211119

10 years agosibcall-2.c (dg-final): Properly escape '[' and ']' in scan-assembler-not string.
Uros Bizjak [Sun, 1 Jun 2014 20:37:41 +0000 (22:37 +0200)] 
sibcall-2.c (dg-final): Properly escape '[' and ']' in scan-assembler-not string.

* gcc.target/i386/sibcall-2.c (dg-final): Properly escape '[' and ']'
in scan-assembler-not string.
* gcc.target/i386/sibcall-3.c (dg-final): Ditto.
* gcc.target/i386/sibcall-4.c (dg-final): Ditto.
* gcc.target/i386/sibcall-6.c (dg-final): Ditto.

From-SVN: r211118

10 years ago* Add missing ChangeLog entry.
Kai Tietz [Sun, 1 Jun 2014 19:48:53 +0000 (21:48 +0200)] 
* Add missing ChangeLog entry.

From-SVN: r211117

10 years agopex-win32.c (argv_to_cmdline): Don't quote args unnecessarily
Ray Donnelly [Sun, 1 Jun 2014 19:09:59 +0000 (19:09 +0000)] 
pex-win32.c (argv_to_cmdline): Don't quote args unnecessarily

2014-06-01  Ray Donnelly  <mingw.android@gmail.com>

        * pex-win32.c (argv_to_cmdline): Don't quote
        args unnecessarily

From-SVN: r211116

10 years agopr60969.C (dg-do compile): Change ilp32 target to ia32.
Uros Bizjak [Sun, 1 Jun 2014 18:12:00 +0000 (20:12 +0200)] 
pr60969.C (dg-do compile): Change ilp32 target to ia32.

* g++.dg/pr60969.C (dg-do compile): Change ilp32 target to ia32.

From-SVN: r211114

10 years agore PR libstdc++/61374 (string_view::operator string() is buggy)
Jonathan Wakely [Sun, 1 Jun 2014 17:23:41 +0000 (18:23 +0100)] 
re PR libstdc++/61374 (string_view::operator string() is buggy)

PR libstdc++/61374
* include/experimental/string_view (operator basic_string): Correct
order of arguments.
(to_string): Replace with member function.
Add inline specifiers. Remove unused header. Remove _S_empty_rep and
allow _M_str to be null.
* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
default constructor semantics.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
copyright dates. Remove unused header.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Fix copyright dates. Adjust to new default constructor semantics.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc: New.

From-SVN: r211113

10 years agore PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)
Kai Tietz [Sun, 1 Jun 2014 10:36:55 +0000 (12:36 +0200)] 
re PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)

PR target/61377
* constrains.md (define_constrain): New 'Bs' constraint.
* i386.md (sibcall_insn_operand): Use Bs instead of m constraint.

From-SVN: r211112

10 years agore PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)
Kai Tietz [Sun, 1 Jun 2014 10:35:19 +0000 (12:35 +0200)] 
re PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)

PR target/61377
* gcc.target/i386/sibcall-6.c: New test.

From-SVN: r211111

10 years agoDaily bump.
GCC Administrator [Sun, 1 Jun 2014 00:17:25 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211110

10 years agoSummary: m68k: add missing early clobber in beq0_di, bne0_di patterns
Andreas Schwab [Sat, 31 May 2014 12:08:25 +0000 (12:08 +0000)] 
Summary: m68k: add missing early clobber in beq0_di, bne0_di patterns

* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.

From-SVN: r211104

10 years agoarm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
Kugan Vivekanandarajah [Sat, 31 May 2014 09:27:52 +0000 (09:27 +0000)] 
arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.

gcc/

2014-05-31  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
(arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
(bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
and __builtins_arm_get_fpscr.
(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
__builtins_arm_get_fpscr.
(arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
__builtins_arm_ldfpscr.
(arm_atomic_assign_expand_fenv): New function.
* config/arm/vfp.md (set_fpscr): New pattern.
(get_fpscr) : Likewise.
* config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
VUNSPEC_SET_FPSCR.
* doc/extend.texi (AARCH64 Built-in Functions) : Document
__builtins_arm_set_fpscr, __builtins_arm_get_fpscr.

From-SVN: r211103

10 years agoDR 1227 PR c++/57543
Paolo Carlini [Sat, 31 May 2014 08:51:20 +0000 (08:51 +0000)] 
DR 1227 PR c++/57543

/cp
2014-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1227
PR c++/57543
* cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
* pt.c (tsubst_function_type): Inject the this parameter; do the
substitutions in the order mandated by the DR.
(copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
* decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
(static_fn_type): Copy it.
* decl2.c (build_memfn_type, change_return_type,
cp_reconstruct_complex_type): Likewise.
* parser.c (cp_parser_lambda_declarator_opt): Likewise.
* tree.c (strip_typedefs): Likewise.
* typeck.c (merge_types): Likewise.

/testsuite
2014-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1227
PR c++/57543
* g++.dg/cpp0x/pr57543-1.C: New.
* g++.dg/cpp0x/pr57543-2.C: Likewise.
* g++.dg/cpp0x/pr57543-3.C: Likewise.
* g++.dg/cpp0x/decltype59.C: Likewise.

From-SVN: r211102

10 years agoDaily bump.
GCC Administrator [Sat, 31 May 2014 00:17:15 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211101

10 years agoAdd missing closing brace
Tom de Vries [Fri, 30 May 2014 22:58:46 +0000 (22:58 +0000)] 
Add missing closing brace

2014-05-31  Tom de Vries  <tom@codesourcery.com>

* gcc.target/i386/sibcall-4.c: Add missing closing brace.

From-SVN: r211097

10 years agoappendix_contributing.xml (list.copyright): Add Paolo's address too.
Jonathan Wakely [Fri, 30 May 2014 19:26:15 +0000 (20:26 +0100)] 
appendix_contributing.xml (list.copyright): Add Paolo's address too.

* doc/xml/manual/appendix_contributing.xml (list.copyright): Add
Paolo's address too.

From-SVN: r211095

10 years agore PR c++/56947 (Bogus 'XX' was not declared in this scope)
Jason Merrill [Fri, 30 May 2014 18:55:56 +0000 (14:55 -0400)] 
re PR c++/56947 (Bogus 'XX' was not declared in this scope)

PR c++/56947
* pt.c (instantiate_decl): Check that defer_ok is not set for
local class members.

From-SVN: r211094

10 years agotarget-libpath.exp (set_gcc_exec_prefix_env_var, [...]): New procedures.
Jakub Jelinek [Fri, 30 May 2014 18:40:20 +0000 (20:40 +0200)] 
target-libpath.exp (set_gcc_exec_prefix_env_var, [...]): New procedures.

* lib/target-libpath.exp (set_gcc_exec_prefix_env_var,
restore_gcc_exec_prefix_env_var): New procedures.
(set_ld_library_path_env_vars,
restore_ld_library_path_env_vars): Use them.
* lib/c-compat.exp: Load target-libpath.exp.
(compat-use-alt-compiler): Call restore_gcc_exec_prefix_env_var.
(compat-use-tst-compiler): Call set_gcc_exec_prefix_env_var.
* g++.dg/compat/compat.exp (compat-use-alt-compiler): Call
restore_gcc_exec_prefix_env_var.
* g++.dg/compat/struct-layout-1.exp (compat-use-alt-compiler):
Likewise.

From-SVN: r211093

10 years agoasan.c (report_error_func): Add SLOW_P argument, use BUILT_IN_ASAN_*_N if set.
Jakub Jelinek [Fri, 30 May 2014 18:37:59 +0000 (20:37 +0200)] 
asan.c (report_error_func): Add SLOW_P argument, use BUILT_IN_ASAN_*_N if set.

* asan.c (report_error_func): Add SLOW_P argument, use
BUILT_IN_ASAN_*_N if set.
(build_check_stmt): Likewise.
(instrument_derefs): If T has insufficient alignment,
force same handling as for odd sizes.

* c-c++-common/asan/misalign-1.c: New test.
* c-c++-common/asan/misalign-2.c: New test.

From-SVN: r211092

10 years agosanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, [...]): New.
Jakub Jelinek [Fri, 30 May 2014 18:37:05 +0000 (20:37 +0200)] 
sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, [...]): New.

* sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
BUILT_IN_ASAN_REPORT_STORE_N): New.
* asan.c (struct asan_mem_ref): Change access_size type to
HOST_WIDE_INT.
(asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
update_mem_ref_hash_table): Likewise.
(asan_mem_ref_hasher::hash): Hash in a HWI.
(report_error_func): Change size_in_bytes argument to HWI.
Use *_N builtins if size_in_bytes is larger than 16 or not power of
two.
(build_shadow_mem_access): New function.
(build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
Handle size_in_bytes not power of two or larger than 16.
(instrument_derefs): Don't give up if size_in_bytes is not
power of two or is larger than 16.

From-SVN: r211091

10 years agoasan_test.C: Add -std=c++11 and -DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options...
Jakub Jelinek [Fri, 30 May 2014 18:36:24 +0000 (20:36 +0200)] 
asan_test.C: Add -std=c++11 and -DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options...

* g++.dg/asan/asan_test.C: Add -std=c++11 and
-DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options, remove
-DASAN_USE_DEJAGNU_GTEST=1.
* g++.dg/asan/asan_mem_test.cc: Updated from upstream
r209283.
* g++.dg/asan/asan_oob_test.cc: Likewise.
* g++.dg/asan/sanitizer_test_utils.h: Likewise.
* g++.dg/asan/asan_str_test.cc: Likewise.
* g++.dg/asan/asan_test_utils.h: Likewise.
* g++.dg/asan/sanitizer_test_config.h: Likewise.
* g++.dg/asan/asan_test.cc: Likewise.  Allow size 12
for long double.
* g++.dg/asan/sanitizer_pthread_wrappers.h: New file.
Imported from upstream r209283.
* g++.dg/asan/asan_test_config.h: Likewise.

From-SVN: r211090

10 years agore PR target/60104 (load not folded into indirect branch on x86-64)
Kai Tietz [Fri, 30 May 2014 18:00:11 +0000 (20:00 +0200)] 
re PR target/60104 (load not folded into indirect branch on x86-64)

PR target/60104
* config/i386/i386.c (x86_output_mi_thunk): Add memory case
for sibling-tail-calls.
* config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
to its use.
* config/i386/predicates.md (sibcall_memory_operand): New predicate.
(sibcall_insn_operand): Add check for sibcall_memory_operand.

PR target/60104
* gcc.target/i386/sibcall-1.c: New test.
* gcc.target/i386/sibcall-2.c: New test.
* gcc.target/i386/sibcall-3.c: New test.
* gcc.target/i386/sibcall-4.c: New test.

From-SVN: r211089

10 years agore PR libstdc++/61011 (libstdc++-v3 should be target-libstdc++-v3 in top level configure)
Jonathan Wakely [Fri, 30 May 2014 17:16:14 +0000 (18:16 +0100)] 
re PR libstdc++/61011 (libstdc++-v3 should be target-libstdc++-v3 in top level configure)

PR libstdc++/61011
* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
* configure: Regenerate.

From-SVN: r211087

10 years agoappendix_contributing.xml (list.copyright): Replace Benjamin's old email address.
Jonathan Wakely [Fri, 30 May 2014 16:58:58 +0000 (17:58 +0100)] 
appendix_contributing.xml (list.copyright): Replace Benjamin's old email address.

* doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
Benjamin's old email address.

From-SVN: r211086

10 years agoavr-mcus.def: Change ATA6289 ISA to AVR4
Pitchumani Sivanupandi [Fri, 30 May 2014 16:36:05 +0000 (16:36 +0000)] 
avr-mcus.def: Change ATA6289 ISA to AVR4

* config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

From-SVN: r211085

10 years agore PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
Jason Merrill [Fri, 30 May 2014 15:09:40 +0000 (11:09 -0400)] 
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)

PR c++/60992
* pt.c (tsubst_init): Split out from...
(tsubst_expr) [DECL_EXPR]: Here.
(tsubst_copy) [VAR_DECL]: Use it.
* semantics.c (finish_id_expression): Return the decl for static/const.

From-SVN: r211084

10 years agoruntime: Use _mm_pause rather than __builtin_ia32_pause.
Ian Lance Taylor [Fri, 30 May 2014 13:53:58 +0000 (13:53 +0000)] 
runtime: Use _mm_pause rather than __builtin_ia32_pause.

Based on a patch from Peter Collingbourne.

From-SVN: r211081

10 years agosanitizer_stacktrace.cc: Cherry pick upstream r209879.
Jakub Jelinek [Fri, 30 May 2014 13:48:22 +0000 (15:48 +0200)] 
sanitizer_stacktrace.cc: Cherry pick upstream r209879.

* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
r209879.
* sanitizer_common/sanitizer_common.h: Likewise.
* asan/asan_mapping.h: Likewise.
* asan/asan_linux.cc: Likewise.
* tsan/tsan_mman.cc: Cherry pick upstream r209744.
* sanitizer_common/sanitizer_allocator.h: Likewise.

From-SVN: r211080

10 years agoxmmintrin.h (_mm_pause): Move out of scope of pragma target("sse").
Ian Lance Taylor [Fri, 30 May 2014 13:11:05 +0000 (13:11 +0000)] 
xmmintrin.h (_mm_pause): Move out of scope of pragma target("sse").

gcc/:
* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
target("sse").
testsuite/:
* gcc.target/i386/pause-2.c: New test.

From-SVN: r211079

10 years ago-fuse-caller-save - Enable for i386
Tom de Vries [Fri, 30 May 2014 11:39:49 +0000 (11:39 +0000)] 
-fuse-caller-save - Enable for i386

2014-05-30  Tom de Vries  <tom@codesourcery.com>

* config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
Redefine as true.

* gcc.target/i386/fuse-caller-save.c: New test.
* gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save.
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.

From-SVN: r211078