- 15 Jul, 2015 4 commits
-
-
PR rtl-optimization/58066 * calls.c (expand_call): Precompute register parameters before stack alignment is performed. From-SVN: r225807
Uros Bizjak committed -
re PR rtl-optimization/66838 (Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters) PR rtl-optimization/66838 * postreload.c (reload_cse_move2add): Also process CALL_INSN_FUNCTION_USAGE when resetting information of call-clobbered registers. testsuite/ChangeLog: PR rtl-optimization/66838 * gcc.target/i386/pr66838.c: New test. From-SVN: r225806
Uros Bizjak committed -
From-SVN: r225804
GCC Administrator committed -
re PR c++/66850 (Adding a forward declaration of a template containing a template template parm causes ICE on valid code) Fix PR c++/66850 gcc/cp/ChangeLog: PR c++/66850 * pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each template template parm in the redeclaration. (lookup_template_class_1): Peel off irrelevant template levels from current_template_parms before augmenting the argument list. gcc/testsuite/ChangeLog: PR c++/66850 * g++.dg/template/pr66850.C: New test. From-SVN: r225801
Patrick Palka committed
-
- 14 Jul, 2015 34 commits
-
-
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/constraints.md (U, v): New constraints. * config/nios2/predicates.md (rdprs_dcache_operand): New. (ldstex_memory_operand): New. * config/nios2/sync.md: New file. * config/nios2/nios2.md (unspecv): Add new builtin function UNSPECV codes. (rdprs, flushd, flushda, wrpie, eni): New patterns. (top-level): Include sync.md. * config/nios2/nios2.c (N2_FTYPES): Add function types for new builtins. (N2_BUILTINS): Add arch field setting, add new builtins. (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF for arch field. (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin. Also handle ldex/stex/ldsex/stsex builtins. (nios2_expand_rdprs_builtin): New function. (nios2_expand_cache_builtin): New function. (nios2_expand_wrpie_builtin): New function. (nios2_expand_eni_builtin): New function. (nios2_expand_builtin): Add arch field handling and new builtin cases. * doc/extend.texi (Altera Nios II Built-in Functions): Document new builtins. * doc/md.texi (Machine Constraints): Document U and v constraints. gcc/testsuite/ * gcc.target/nios2/nios2-flushd.c: New. * gcc.target/nios2/nios2-rdprs.c: New. * gcc.target/nios2/r2-atomic.c: New. * gcc.target/nios2/r2-eni.c: New. * gcc.target/nios2/r2-wrpie.c: New. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225800
Sandra Loosemore committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/nios2-protos.h (nios2_expand_return): Declare. * config/nios2/nios2.c (struct GTY (()) machine_function): Add callee_save_reg_size and uses_anonymous_args fields. (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage. (nios2_create_cfa_notes): New function. (nios2_adjust_stack): New function for adjusting stack. (nios2_expand_prologue): Update for CDX push.n/pop.n usage. Use nios2_adjust_stack. (nios2_expand_epilogue): Likewise. (nios2_expand_return): New function. (nios2_can_use_return_insn): Update for CDX pop.n usage. (nios2_setup_incoming_varargs): Set uses_anonymous_args flag. If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue. * config/nios2/nios2.md (return): Use nios2_expand_return. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225799
Sandra Loosemore committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/predicates.md (pop_operation): New. (ldwm_operation, stwm_operation): New. (nios2_hard_register_operand): New. * config/nios2/nios2-protos.h (pop_operation_p): Declare. (ldstwm_operation_p): Declare. (gen_ldstwm_peep): Declare. * config/nios2/nios2.c: (nios2_ldst_parallel): Declare. (base_reg_adjustment_p): New. (pop_operation_p): New. (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define. (nios2_ldstwm_regset_p): New. (ldstwm_operation_p): New. (gen_ldst): New. (nios2_ldst_parallel): New. (struct ldswm_operand): Declare. (compare_ldstwm_operands): New. (can_use_cdx_ldstw): New. (gen_ldstwm_peep): New. * config/nios2/nios2-ldstwm.sml: New. * config/nios2/nios2.md: Include ldstwm.md. * config/nios2/ldstwm.md: Generated. gcc/testsuite/ * gcc.target/nios2/cdx-ldstwm-1.c: New. * gcc.target/nios2/cdx-ldstwm-2.c: New. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225798
Sandra Loosemore committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/nios2.h (LABEL_ALIGN): Define. (REG_ALLOC_ORDER): Define. (ADJUST_REG_ALLOC_ORDER): Define. (HONOR_REG_ALLOC_ORDER): Define. (CDX_REG_P): Define. (ANDCLEAR_INT): Define. * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare. (nios2_label_align): Declare. (nios2_cdx_narrow_form_p): Declare. (nios2_adjust_reg_alloc_order): Declare. * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract operation. (nios2_large_unspec_reloc_p): New function, split from... (nios2_legitimate_pic_operand_p): ...here. (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code. (nios2_print_operand_punct_valid_p): New. (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U. (split_mem_address): New. (split_alu_insn): New. (cdxreg): New. (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New. (enum nios2_add_insn_kind): New. (nios2_add_insn_names, nios2_add_insn_narrow): New. (nios2_add_insn_classify): New. (nios2_add_insn_asm): New. (nios2_cdx_narrow_form_p): New. (label_align, min_labelno, max_labelno): New. (nios2_reorg): New. (nios2_label_align): New. (nios2_adjust_reg_alloc_order): New. (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. (TARGET_MACHINE_DEPENDENT_REORG): Define. * config/nios2/constraints.md (P): New constraint. * config/nios2/predicates.md (const_and_operand): New. (and_operand): New. (stack_memory_operand): New. * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno. (length): Update to use nios2_cdx_narrow_form_p(). (type): Add new insn type values. (control, alu, st, ld, shift): Update insn reservations with new insn type values. (*high, *lo_sum): Define new insn patterns for constant generation. (movqi_internal, movhi_internal, movsi_internal): Reduce alternatives, update asm template to handle CDX variants, update type attributes. (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm template, update type attributes. (extendhisi2, extendqi<mode>2): Likewise. (addsi3): Change to use function for asm string. (subsi3): Add CDX notation to asm template, update type attributes. (negsi3, one_cmplsi3): Likewise. (andsi3): New pattern, specialized from logical patterns. (<code>si3): Remove and case, combine alternatives, update asm template. (<shift_op>si3): Add CDX notation, update type attributes. (rotrsi3): Update type attribute. (*merge, extzv, insv): New insn patterns. (return): Change to define_expand. (simple_return): Add CDX notation, update type attributes. (indirect_jump): Add CDX notation. (jump): Update asm cases, update length attribute expression. (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant. (nios2_cbranch): Update asm cases and length attribute expression to handle CDX variants. (nios2_cmp<code>): Update asm template. (nop): Add CDX notation, update type attributes. (trap): Add CDX notation. (ctrapsi4): Update asm cases and length attribute expression to handle CDX variant. * doc/md.texi (Machine Constraints): Document P constraint. gcc/testsuite/ * gcc.target/nios2/andci.c: New. * gcc.target/nios2/bmx.c: New. * gcc.target/nios2/cdx-add.c: New. * gcc.target/nios2/cdx-branch.c: New. * gcc.target/nios2/cdx-callret.c: New. * gcc.target/nios2/cdx-loadstore.c: New. * gcc.target/nios2/cdx-logical.c: New. * gcc.target/nios2/cdx-mov.c: New. * gcc.target/nios2/cdx-shift.c: New. * gcc.target/nios2/cdx-sub.c: New. * gcc.target/nios2/nios2-trap-insn.c: Adjust pattern. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225796
Sandra Loosemore committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> libgcc/ * config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225794
Sandra Loosemore committed -
/cp 2015-07-14 Andrea Azzarone <azzaronea@gmail.com> PR c++/65071 * parser.c (cp_parser_sizeof_pack): Also consider template template parameters. /testsuite 2015-07-14 Andrea Azzarone <azzaronea@gmail.com> PR c++/65071 * g++.dg/cpp0x/vt-65071.C: New. From-SVN: r225793
Andrea Azzarone committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/nios2.h (SMALL_INT12): New macro. * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function. (nios2_valid_addr_expr_p): Use it. (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing with implicit "io" instructions on R2. * config/nios2/constraints.md (w): New constraint. * config/nios2/predicates.md (ldstio_memory_operand): New. * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory operand predicate and constraint. (ld<bh>io_signed, st<bhw>io>): Likewise. * doc/md.texi (Machine Constraints): Document w constraint. gcc/testsuite/ * gcc.target/nios2/r2-io-range.c: New. * gcc.target/nios2/r2-stio-1.c: New. * gcc.target/nios2/r2-stio-2.c: New. * gcc.target/nios2/nios2-ldxio.c: New. * gcc.target/nios2/nios2-stxio.c: Change to assemble test instead of just compile. Add more tests. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225792
Sandra Loosemore committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * config/nios2/nios2.opt (march, mbmx, mcdx): New options. * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for Nios II architecture level. * config/nios2/nios2.h (TARGET_ARCH_R2): New define. (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol. (OPTION_DEFAULT_SPECS): Define. (ASM_SPEC): Add -march= spec strings. * config/nios2/nios2.c (nios2_option_override): Check for conflicts involving new options. * config.gcc (nios2*-*-*): Support --with-arch=. * doc/invoke.texi (Option Summary, Nios II Options): Document -march=, -mbmx, and -mcdx. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> From-SVN: r225791
Sandra Loosemore committed -
2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org> * simplify.c (gfc_simplify_floor): Set precision of temporary to that of arg. 2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org> gfortran.dg/pr66864.f90: New test. From-SVN: r225790
Steven G. Kargl committed -
re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu) 2015-07-14 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/66626 * lra-constraints.c (lra_constraints): Prevent equivalence substitution for static chain pseudo in functions with nonlocal goto. 2015-07-14 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/66626 * gcc.target/i386/pr66626.c: New. From-SVN: r225789
Vladimir Makarov committed -
2015-07-14 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/66861 * io/unix.c (compare_file_filename): Verify that u->filename is non-NULL before strcmp. (find_file0): Likewise. From-SVN: r225788
Janne Blomqvist committed -
2015-07-14 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file. (nios2_emit_stack_limit_check): Add size parameter. Handle -fstack-limit-symbol as well as -fstack-limit-register. (nios2_expand_prologue): Emit only a single stack limit check, even if multiple stack adjustments are required. (nios2_option_override): Diagnose unsupported combination of -fpic and -stack-limit-symbol. gcc/testsuite/ * gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns. * gcc.target/nios2/nios2-stack-check-2.c: Likewise. * gcc.target/nios2/nios2-stack-check-3.c: New test case. From-SVN: r225787
Sandra Loosemore committed -
2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> libgomp/ * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res and ref from int to double. Replaced their comparison with an inequality of their difference and EPS. * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the comparison of pri and a reference number with an inequality of their difference and EPS. * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced the comparison of sum and sum_ref with an inequality of their difference and EPS. * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace the comparison of pri and a reference number with an inequality of their difference and EPS. From-SVN: r225786
Maxim Blumenthal committed -
From-SVN: r225784
Jason Merrill committed -
/cp 2015-07-14 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (check_template_shadow): Emit error + inform instead of two errors. /testsuite 2015-07-14 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/template/crash81.C: Adjust for error + inform change. * g++.dg/template/pr58878.C: Likewise. * g++.dg/template/shadow1.C: Likewise. * g++.dg/template/shadow2.C: Likewise. * g++.old-deja/g++.benjamin/tem03.C: Likewise. * g++.old-deja/g++.benjamin/tem04.C: Likewise. * g++.old-deja/g++.brendan/crash7.C: Likewise. * g++.old-deja/g++.pt/shadow2.C: Likewise. From-SVN: r225783
Paolo Carlini committed -
From-SVN: r225782
H.J. Lu committed -
From-SVN: r225781
H.J. Lu committed -
2015-07-14 John Marino <gnugcc@marino.st> * configure.tgt: Add *-*-dragonfly to supported targets. From-SVN: r225779
John Marino committed -
Sync with binutils-gdb: 2015-03-17 H.J. Lu <hongjiu.lu@intel.com> * configure.ac (target_configdirs): Exclude target-zlib if target-libjava isn't built. * configure: Regenerated. From-SVN: r225778
H.J. Lu committed -
Sync with binutils-gdb: 2015-05-13 John David Anglin <dave.anglin@bell.net> * configure.ac: Disable configuration of GDB for HPUX targets. * configure: Regenerate. 2015-04-01 H.J. Lu <hongjiu.lu@intel.com> * configure.ac: Add --with-system-zlib. * configure: Regenerated. 2015-01-28 James Bowman <james.bowman@ftdichip.com> * configure.ac: Add FT32 support. * configure: Regenerate. 2015-01-12 Anthony Green <green@moxielogic.com> * configure.ac: Don't disable gprof for moxie. * configure: Rebuild. From-SVN: r225777
H.J. Lu committed -
Sync with binutils-gdb: 2015-05-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/18355 * Makefile.def: Add extra_configure_flags to host zlib. * configure.ac (extra_host_zlib_configure_flags): New. Set to --enable-host-shared When bfd is to be built as shared library. AC_SUBST. * Makefile.in: Regenerated. From-SVN: r225776
H.J. Lu committed -
in gcc/configure.ac. config/ * zlib.m4: Sync with binutils-gdb. gcc/ * Makefile.in (top_srcdir): New. * configure.ac: Use AM_ZLIB. * configure: Regeneated. From-SVN: r225774
H.J. Lu committed -
2015-07-14 Matthias Klose <doko@ubuntu.com> PR target/66840 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. From-SVN: r225772
Matthias Klose committed -
2015-03-30 H.J. Lu <hongjiu.lu@intel.com> * Makefile.def (dependencies): Add all-zlib to all-bfd. * Makefile.in: Regenerated. From-SVN: r225769
Hans-Peter Nilsson committed -
2015-07-14 Richard Biener <rguenther@suse.de> PR tree-optimization/66863 * tree-vrp.c (register_edge_assert_for_2): Properly restrict what we record for conversion use stmt lhs inequalities. * gcc.dg/torture/pr66863.c: New testcase. From-SVN: r225768
Richard Biener committed -
2015-07-14 Richard Biener <rguenther@suse.de> * genmatch.c (dt_node::gen_kids_1): Fix case label indenting. (decision_tree::gen_gimple): Likewise. From-SVN: r225765
Richard Biener committed -
2015-07-14 Tom de Vries <tom@codesourcery.com> * gcc.c (greater_than_spec_func): Declare forward. (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore -ftree-parallelize-loops={0,1}. (static_spec_functions): Add greater_than_spec_func function with name "gt". (greater_than_spec_func): New function. From-SVN: r225764
Tom de Vries committed -
tree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion case from record_equivalences_from_incoming_edge... 2015-07-14 Richard Biener <rguenther@suse.de> * tree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion case from record_equivalences_from_incoming_edge and use record_equality to record equivalences. (record_equivalences_from_incoming_edge): Call record_temporary_equivalences. From-SVN: r225761
Richard Biener committed -
2015-07-14 Richard Biener <rguenther@suse.de> * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types. (struct if_expr): New. (struct with_expr): Likewise. (is_a_helper): Add helpers for if_expr and with_expr. (struct simplify): Add simplify_kind enum and member. Remove ifexpr_vec member. (simplify::simplify): Adjust. (lower_commutative): Adjust. (lower_opt_convert): Likewise. (lower_cond): Likewise. (replace_id): Handle with_expr and if_expr. (lower_for): Adjust. (dt_simplify::gen_1): New recursive worker, split out from ... (dt_simplify::gen): ... here. Deal with if and with expansion recursively. (capture_info::capture_info): Take context argument (capture_info::walk_result): Only analyze specific result. (parser::parse_result): New function. (parser::parse_simplify): Adjust to parse ifs with then end else case. (parser::parse_if): Simplify. (parser::parse_pattern): Pass down simplify kind. * match.pd: Convert if structure to new syntax. From-SVN: r225760
Richard Biener committed -
As the removed comment states, if the package being compiled played certain tricks with pointers that looked like integers, the compiler might allocate space for new pointers unnecessarily. Since the type information on the heap is now precise, this logic can be moved to the runtime. Reviewed-on: https://go-review.googlesource.com/11581 From-SVN: r225757
Ian Lance Taylor committed -
Previously, errors reported for function parameters would point to the beginning of the function declaration instead of to the column for the given parameter. Reviewed-on: https://go-review.googlesource.com/11580 From-SVN: r225756
Ian Lance Taylor committed -
From-SVN: r225755
GCC Administrator committed -
From-SVN: r225752
Ian Lance Taylor committed -
For multi-result type assertions, the object being converted is hidden behind unsafe conversions and calls to runtime methods. This change allows the analysis to make edges between the result of the assertion and the object being asserted. Reviewed-on: https://go-review.googlesource.com/10661 From-SVN: r225751
Ian Lance Taylor committed
-
- 13 Jul, 2015 2 commits
-
-
Fix PR c++/65186 gcc/cp/ChangeLog: PR c++/65186 * pt.c (invalid_nontype_parm_type_p): Accept a bound template template parm type under C++11 and later. gcc/testsuite/ChangeLog: PR c++/65186 * g++.dg/template/pr65186.C: New test. From-SVN: r225749
Patrick Palka committed -
PR libstdc++/66855 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. From-SVN: r225748
Jonathan Wakely committed
-