aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-01-16re PR fortran/52865 (GCC can't vectorize fortran loop but able to vectorize ↵Jakub Jelinek2-8/+19
similar c-loop) PR fortran/52865 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional and use value of countm1 before the decrement in the condition. From-SVN: r195241
2013-01-16tree-inline.c (tree_function_versioning): Remove set but never used variable.Richard Biener2-8/+5
2013-01-16 Richard Biener <rguenther@suse.de> * tree-inline.c (tree_function_versioning): Remove set but never used variable. From-SVN: r195240
2013-01-16re PR tree-optimization/55964 (Segmentation fault with -O ↵Richard Biener6-245/+100
-ftree-loop-distribution -funswitch-loops) 2013-01-16 Richard Biener <rguenther@suse.de> PR tree-optimization/55964 * tree-flow.h (rename_variables_in_loop): Remove. (rename_variables_in_bb): Likewise. * tree-loop-distribution.c (update_phis_for_loop_copy): Remove. (copy_loop_before): Adjust and delete update-ssa status. * tree-vect-loop-manip.c (rename_variables_in_bb): Make static. (rename_variables_in_bb): Likewise. Properly walk over predecessors. (rename_variables_in_loop): Remove. (slpeel_update_phis_for_duplicate_loop): Likewise. (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops, use available cfg machinery instead of duplicating it. Update PHI nodes and perform poor-mans SSA update here. (slpeel_tree_peel_loop_to_edge): Adjust. * gcc.dg/torture/pr55964.c: New testcase. From-SVN: r195239
2013-01-16re PR tree-optimization/54767 (Incorrect code generated with "-O2 ↵Richard Biener4-6/+69
-fcheck=bounds") 2013-01-16 Richard Biener <rguenther@suse.de> PR tree-optimization/54767 PR tree-optimization/53465 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465. (vrp_visit_phi_node): For PHI arguments coming via backedges drop all symbolical range information. (execute_vrp): Compute backedges. * gfortran.fortran-torture/execute/pr54767.f90: New testcase. From-SVN: r195238
2013-01-16install.texi: Update CLooG and ISL requirements to 0.18.0 and 0.11.1.Richard Biener2-7/+13
2013-01-16 Richard Biener <rguenther@suse.de> * doc/install.texi: Update CLooG and ISL requirements to 0.18.0 and 0.11.1. From-SVN: r195233
2013-01-16re PR target/55301 ([SH] broken sp_switch function attribute)Christian Bruel5-5/+48
PR target/55301 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol. (broken_move): Handle UNSPECV_SP_SWITCH_B. * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG). * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New. (UNSPECV_SP_SWITCH_E): New. (sp_switch_1): Change to an unspec. (sp_switch_2): Change to an unspec. Don't use post-inc when we replace $r15. * gcc.target/sh/sh-switch.c: New testcase. From-SVN: r195230
2013-01-16emit-rtl.c (need_atomic_barrier_p): Mask memory model argument with ↵Uros Bizjak3-11/+21
MEMMODEL_MASK before comparing with MEMMODEL_*... * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument with MEMMODEL_MASK before comparing with MEMMODEL_* memory types. * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto. (expand_mem_thread_fence): Ditto. (expand_mem_signal_fence): Ditto. (expand_atomic_load): Ditto. (expand_atomic_store): Ditto. From-SVN: r195228
2013-01-16re PR rtl-optimization/55547 (Alias analysis does not handle AND addresses ↵Alexandre Oliva2-5/+22
correctly) PR rtl-optimization/55547 PR rtl-optimization/53827 PR debug/53671 PR debug/49888 * alias.c (memrefs_conflict_p): Set sizes to negative after AND adjustments. From-SVN: r195227
2013-01-16* gcc.dg/webizer.c: Increase the array size.Janis Johnson2-1/+5
From-SVN: r195225
2013-01-16Daily bump.GCC Administrator1-1/+1
From-SVN: r195223
2013-01-15re PR target/55940 (Incorrect code for accessing parameters with 32-bit ↵Jakub Jelinek4-3/+69
Intel hosts) PR target/55940 * function.c (thread_prologue_and_epilogue_insns): Always add crtl->drap_reg to set_up_by_prologue.set, even if stack_realign_drap is false. * gcc.dg/pr55940.c: New test. From-SVN: r195220
2013-01-15* config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,Jan-Benedict Glaw2-10/+16
and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3, *call): Fix indention. From-SVN: r195218
2013-01-15bounds_check_4.f90: Add dg-options "-fbounds-check".Manfred Schwarb10-12/+26
2013-01-15 Manfred Schwarb <manfred99@gmx.ch> Harald Anlauf <anlauf@gmx.de> * gfortran.dg/bounds_check_4.f90: Add dg-options "-fbounds-check". * gfortran.dg/bounds_check_5.f90: Likewise. * gfortran.dg/class_array_10.f03: Fix syntax of dg-directive. * gfortran.dg/continuation_9.f90: Likewise. * gfortran.dg/move_alloc_13.f90: Likewise. * gfortran.dg/structure_constructor_11.f90: Likewise. * gfortran.dg/tab_continuation.f: Likewise. * gfortran.dg/warning-directive-2.F90: Likewise. * gfortran.dg/coarray_lib_token_4.f90: Remove misspelled directive. Co-Authored-By: Harald Anlauf <anlauf@gmx.de> From-SVN: r195217
2013-01-15fma.c: Skip for conflicting multilib options.Janis Johnson3-2/+15
* gcc.target/arm/fma.c: Skip for conflicting multilib options. * gcc.target/arm/fma-sp.c: Likewise. From-SVN: r195213
2013-01-15re PR target/55876 (internal compiler error: in gen_rtx_SUBREG, at ↵Tom de Vries2-2/+8
emit-rtl.c:776) 2013-01-15 Tom de Vries <tom@codesourcery.com> PR target/55876 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG. Update comment. From-SVN: r195212
2013-01-15PR rtl-optimization/pr55153Vladimir Makarov4-0/+35
2013-01-15 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/pr55153 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch. 2013-01-15 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/pr55153 * gcc.dg/pr55153.c: New. From-SVN: r195211
2013-01-15re PR tree-optimization/55920 (ICE in expand_debug_locations, at ↵Martin Jambor2-1/+9
cfgexpand.c:3753) 2013-01-15 Martin Jambor <mjambor@suse.cz> PR tree-optimization/55920 * tree-sra.c (analyze_access_subtree): Do not mark non-removable accesses as grp_to_be_debug_replaced. From-SVN: r195210
2013-01-15re PR tree-optimization/55920 (ICE in expand_debug_locations, at ↵Jakub Jelinek4-2/+42
cfgexpand.c:3753) PR tree-optimization/55920 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced there is non-useless type conversion needed from debug rhs to lhs, use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR. * gcc.c-torture/compile/pr55920.c: New test. From-SVN: r195209
2013-01-15re PR target/43961 ([ARM thumb] "branch out of range" with thumb1_output_casesi)Joseph Myers3-14/+41
2013-01-15 Joseph Myers <joseph@codesourcery.com> Mikael Pettersson <mikpe@it.uu.se> PR target/43961 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for Thumb. (ASM_OUTPUT_CASE_LABEL): Remove. (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty. * final.c (shorten_branches): Update alignment of labels before jump tables if CASE_VECTOR_SHORTEN_MODE. Co-Authored-By: Mikael Pettersson <mikpe@it.uu.se> From-SVN: r195208
2013-01-15re PR bootstrap/55961 (system.h includes gmp.h but system.h is included for ↵Richard Biener2-0/+8
build and not just target) 2013-01-15 Richard Biener <rguenther@suse.de> PR bootstrap/55961 * system.h: Do not include gmp.h for building host tools. From-SVN: r195205
2013-01-15re PR middle-end/55882 (unaligned load/store : incorrect struct offset)Richard Biener4-1/+111
2013-01-15 Richard Biener <rguenther@suse.de> PR middle-end/55882 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly account for bitpos when computing alignment. * gcc.dg/torture/pr55882.c: New testcase. From-SVN: r195194
2013-01-15i386-c.c (ix86_target_macros_internal): New case.Vladimir Yakovlev4-28/+67
* config/i386/i386-c.c (ix86_target_macros_internal): New case. (ix86_target_macros_internal): Likewise. * config/i386/i386.c (m_CORE2I7): Removed. (m_CORE_HASWELL): New macro. (m_CORE_ALL): Likewise. (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL. (initial_ix86_arch_features): Likewise. (processor_target_table): Initializations for Core avx2. (cpu_names): New names "core-avx2". (ix86_option_override_internal): Changed PROCESSOR_COREI7 by PROCESSOR_CORE_HASWELL. (ix86_issue_rate): New case. (ia32_multipass_dfa_lookahead): Likewise. (ix86_sched_init_global): Likewise. * config/i386/i386.h (TARGET_HASWELL): New macro. (target_cpu_default): New TARGET_CPU_DEFAULT_haswell. (processor_type): New PROCESSOR_HASWELL. From-SVN: r195191
2013-01-15re PR tree-optimization/55955 (ICE in optab_for_tree_code, at optabs.c:402)Jakub Jelinek4-0/+32
PR tree-optimization/55955 * tree-vect-loop.c (vectorizable_reduction): Give up early on *SHIFT_EXPR and *ROTATE_EXPR codes. * gcc.c-torture/compile/pr55955.c: New test. From-SVN: r195190
2013-01-15PR c++/55663 - constexpr function templ instantiationDodji Seketeli4-0/+95
Consider the example of the problem report 1 template <typename> 2 constexpr bool the_truth () { return true; } 3 4 template <bool> 5 struct Takes_bool { }; 6 7 template<bool B> 8 using Alias = Takes_bool<B>; 9 10 template<typename T> 11 struct test { using type = Alias<the_truth<T>()>; }; 12 13 int main () { 14 test<int> a; 15 16 return 0; 17 } that yields the error: test.cc: In substitution of ‘template<bool B> using Alias = Takes_bool<B> [with bool B = the_truth<int>()]’: test.cc:11:51: required from ‘struct test<int>’ test.cc:14:13: required from here test.cc:11:51: error: integral expression ‘the_truth<int>()’ is not constant struct test { using type = Alias<the_truth<T>()>; }; I think the issue happens in the course of instantiating test<int> at line 14, when we look into instantiating Alias<the_truth<T>()> (at line 11) (using instantiate_alias_template) with T = int. There, when we check the argument 'the_truth<int>()' to see if it actually is a constant expression, in check_instantiated_arg, we fail to recognize it constexpr-ness b/c we just look at its TREE_CONSTANT. At that point, the_truth<int> should have been folded, and it's not, because instantiate_alias_template forgets to call coerce_template_parms on its arguments. Fixed thus, bootstapped and tested on x86_64-unknown-linux-gnu against trunk. gcc/cp/ PR c++/55663 * pt.c (coerce_innermost_template_parms): New static function. (instantiate_alias_template): Use it here. gcc/testsuite/ PR c++/55663 * g++.dg/cpp0x/alias-decl-31.C: New test. From-SVN: r195189
2013-01-15re PR tree-optimization/48766 (Infinite recursion in fold_binary_loc())Jakub Jelinek2-0/+16
PR tree-optimization/48766 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for -ftrapv disable -fwrapv. From-SVN: r195186
2013-01-15re PR fortran/54286 (Accepts invalid proc-pointer assignments involving ↵Paul Thomas4-1/+30
proc-ptr function result) 2013-01-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/54286 * expr.c (gfc_check_pointer_assign): Check for presence of 's2' before using it. 2013-01-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/54286 * gfortran.dg/proc_ptr_result_8.f90 : Add module 'm' to check case where interface is null. From-SVN: r195185
2013-01-15Daily bump.GCC Administrator1-1/+1
From-SVN: r195184
2013-01-14re PR fortran/55806 (Missed optimization with ANY or ALL)Thomas Koenig4-0/+233
2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55806 * frontend-passes.c (optimize_reduction): New function, including prototype. (callback_reduction): Likewise. (gfc_run_passes): Also run optimize_reduction. (copy_walk_reduction_arg): New function. (dummy_code_callback): New function. 2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55806 * gfortran.dg/array_constructor_40.f90: New test. From-SVN: r195179
2013-01-14re PR target/55974 ([avr] Wrong suffix for built-in defines __INT24_MAX__ ↵Georg-Johann Lay2-4/+13
and __UINT24_MAX__ with -mint8) PR target/55974 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH etc. to 1 and not to __flash. Use LL suffix for __INT24_MAX__ with -mint8. Use ULL suffix for __UINT24_MAX__ with -mint8. From-SVN: r195169
2013-01-14slsr-8.c: Allow widening multiplications.Richard Sandiford2-2/+7
gcc/testsuite/ * gcc.dg/tree-ssa/slsr-8.c: Allow widening multiplications. From-SVN: r195161
2013-01-14avr-arch.h (struct base_arch_s): Use typedef avr_arch_t instead.Georg-Johann Lay7-21/+36
* config/avr/avr-arch.h (struct base_arch_s): Use typedef avr_arch_t instead. (struct arch_info_s): Use typedef avr_arch_info_t instead. (struct mcu_type_s): Use typedef avr_mcu_t instead. * config/avr/avr.c: Same. * config/avr/avr-devices.c: Same. * config/avr/driver-avr.c: Same. * config/avr/gen-avr-mmcu-texi.c: Same. * config/avr/avr-mcus.def: Adjust comment. From-SVN: r195160
2013-01-14aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.Tejas Belagod9-0/+186
2013-01-14 Tejas Belagod <tejas.belagod@arm.com> gcc/ * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New. * config/aarch64/iterators.md (VALLDI): New. testsuite/ * gcc.target/aarch64/aarch64/vect-ld1r-compile-fp.c: New. * gcc.target/aarch64/vect-ld1r-compile.c: New. * gcc.target/aarch64/vect-ld1r-fp.c: New. * gcc.target/aarch64/vect-ld1r.c: New. * gcc.target/aarch64/vect-ld1r.x: New. From-SVN: r195158
2013-01-14re PR target/55948 (__atomic_clear / __atomic_store_n ignore HLE_RELEASE flags)Uros Bizjak5-15/+58
PR target/55948 * config/i386/sync.md (atomic_store<mode>_1): New pattern. (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE memmodel flag. testsuite/ChangeLog PR target/55948 * gcc.target/i386/hle-clear-rel.c: New file * gcc.target/i386/hle-store-rel.c: New file. From-SVN: r195155
2013-01-14* Fix typos. Remove trailing blanks. Fix coding style.Georg-Johann Lay12-915/+979
From-SVN: r195151
2013-01-14tree-cfg.c (verify_expr_location, [...]): New functions.Richard Biener2-1/+105
2013-01-14 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_expr_location, verify_expr_location_1, verify_location, collect_subblocks): New functions. (verify_gimple_in_cfg): Verify that locations only reference BLOCKs in the functions BLOCK tree. From-SVN: r195147
2013-01-14aint_anint_1.f90: Add dg-do run.Harald Anlauf19-5/+39
2013-01-14 Harald Anlauf <anlauf@gmx.de> * gfortran.dg/aint_anint_1.f90: Add dg-do run. * gfortran.dg/bounds_check_4.f90: Likewise. * gfortran.dg/inquire_10.f90: Likewise. * gfortran.dg/minloc_3.f90: Likewise. * gfortran.dg/minlocval_3.f90: Likewise. * gfortran.dg/module_double_reuse.f90: Likewise. * gfortran.dg/mvbits_1.f90: Likewise. * gfortran.dg/oldstyle_1.f90: Likewise. * gfortran.dg/pr20163-2.f: Likewise. * gfortran.dg/save_1.f90: Likewise. * gfortran.dg/scan_1.f90: Likewise. * gfortran.dg/select_char_1.f90: Likewise. * gfortran.dg/shape_4.f90: Likewise. * gfortran.dg/coarray_29_2.f90: Fix dg-do directive. * gfortran.dg/function_optimize_10.f90: Likewise. * gfortran.dg/gomp/appendix-a/a.11.2.f90: Likewise. * gfortran.dg/used_types_17.f90: Likewise. * gfortran.dg/used_types_18.f90: Likewise. From-SVN: r195146
2013-01-14tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated PHI argument.Richard Biener6-21/+26
2013-01-14 Richard Biener <rguenther@suse.de> * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated PHI argument. * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly unshare reference. (insert_out_of_ssa_copy_on_edge): Likewise. (rewrite_close_phi_out_of_ssa): Likewise. * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare debug expressions. * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare propagated constants. * tree-cfg.c (tree_node_can_be_shared): Handled component-refs can not be shared. From-SVN: r195144
2013-01-14avr-modes.def: Add GPL copyright notice.Georg-Johann Lay2-0/+22
* config/avr/avr-modes.def: Add GPL copyright notice. From-SVN: r195143
2013-01-14Daily bump.GCC Administrator1-1/+1
From-SVN: r195140
2013-01-13sync.md (mem_thread_fence): Mask operands[0] with MEMMODEL_MASK to determine ↵Uros Bizjak4-7/+15
memory model. * config/i386/sync.md (mem_thread_fence): Mask operands[0] with MEMMODEL_MASK to determine memory model. (atomic_store<mode>): Ditto from operands[2]. * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool. From-SVN: r195137
2013-01-13re PR fortran/55935 ([OOP] Fortran fronted has ADDR_EXPRs of FUNCTION_DECLs ↵Jakub Jelinek4-5/+21
with bogus BLOCK) PR fortran/55935 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr. (fold_gimple_assign): Don't call unshare_expr here. (fold_ctor_reference): Call unshare_expr. * trans-expr.c (gfc_conv_structure): Call unshare_expr_without_location on the ctor elements. From-SVN: r195136
2013-01-13Makefile.in (s-mlib): New argument MULTILIB_REUSE.Terry Guo5-51/+173
2013-01-13 Terry Guo <terry.guo@arm.com> * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE. * gcc/doc/fragments.texi: Document MULTILIB_REUSE. * gcc/gcc.c (multilib_reuse): New internal spec. (set_multilib_dir): Also search multilib from multilib_reuse. * gcc/genmultilib (tmpmultilib3): Refactor code. (tmpmultilib4): Ditto. (multilib_reuse): New multilib argument. From-SVN: r195134
2013-01-13re PR fortran/54286 (Accepts invalid proc-pointer assignments involving ↵Paul Thomas4-6/+84
proc-ptr function result) 2013-01-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/54286 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue and rvalue interfaces are presented to gfc_compare_interfaces. Simplify references to interface names by using the symbols themselves. Call gfc_compare_interfaces with s1 and s2 inter- changed to overcome the asymmetry of this function. Do not repeat the check for the presence of s1 and s2. 2013-01-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/54286 * gfortran.dg/proc_ptr_result_8.f90 : New test. From-SVN: r195133
2013-01-13unroll_5.c: Add nomips16 attributes.Richard Sandiford2-0/+12
gcc/testsuite/ * gcc.dg/unroll_5.c: Add nomips16 attributes. From-SVN: r195132
2013-01-13ssa-dom-thread-4.c: Update expected results for MIPS.Richard Sandiford2-3/+24
gcc/testsuite/ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected results for MIPS. From-SVN: r195131
2013-01-13Makefile.in: Update copyright.Richard Sandiford2-3/+5
gcc/ * Makefile.in: Update copyright. From-SVN: r195130
2013-01-13Daily bump.GCC Administrator1-1/+1
From-SVN: r195128
2013-01-12re PR fortran/55072 (Missing internal_pack leads to wrong code with derived ↵Janus Weil6-10/+84
type) 2013-01-12 Janus Weil <janus@gcc.gnu.org> PR fortran/55072 * trans-array.c (gfc_conv_array_parameter): No packing was done for full arrays of derived type. 2013-01-12 Janus Weil <janus@gcc.gnu.org> PR fortran/55072 * gfortran.dg/assumed_type_2.f90: Fix test case. * gfortran.dg/internal_pack_13.f90: New test. * gfortran.dg/internal_pack_14.f90: New test. From-SVN: r195125
2013-01-12re PR fortran/55868 (gfortran generates for CLASS(*) __m_MOD___vtab__$tar ↵Paul Thomas5-91/+105
on NO_DOLLAR_IN_LABEL systems) 2013-01-08 Paul Thomas <pault@gcc.gnu.org> PR fortran/55868 * class.c (get_unique_type_string): Change $tar to STAR and replace sprintf by strcpy where there is no formatting. * decl.c (gfc_match_decl_type_spec): Change $tar to STAR. 2013-01-08 Paul Thomas <pault@gcc.gnu.org> PR fortran/55868 * gfortran.dg/unlimited_polymorphic_8.f90: Update scan-tree-dump-times for foo.0.x._vptr to deal with change from $tar to STAR. From-SVN: r195124
2013-01-12Daily bump.GCC Administrator1-1/+1
From-SVN: r195123