aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-10-07resolve.c (resolve_array_ref): Set array_ref's dimen field (and the ↵Mikael Morin2-2/+22
associated dimen_type) in the full array... * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array ref case. From-SVN: r179685
2011-10-07trans-intrinsic.c (walk_coarray): New function.Mikael Morin2-19/+34
* trans-intrinsic.c (walk_coarray): New function. (convert_element_to_coarray_ref): Move code to walk_coarray. Remove. (trans-this_image, trans_image_index, conv_intrinsic_cobound): Use walk_coarray. From-SVN: r179684
2011-10-07trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds ↵Mikael Morin2-1/+20
evaluation. * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation. From-SVN: r179683
2011-10-07trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.Mikael Morin2-6/+10
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop. From-SVN: r179682
2011-10-07trans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound.Mikael Morin2-34/+42
* trans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound. Use evaluate_bound. (evaluate_bound): New function. From-SVN: r179681
2011-10-07trans-array.c (gfc_conv_section_startstride): Update assertion to also ↵Mikael Morin2-1/+7
accept coarrays. * trans-array.c (gfc_conv_section_startstride): Update assertion to also accept coarrays. From-SVN: r179680
2011-10-07trans-array.c (gfc_conv_section_startstride): Factor common array ref ↵Mikael Morin2-5/+12
references. * trans-array.c (gfc_conv_section_startstride): Factor common array ref references. From-SVN: r179679
2011-10-07trans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen ↵Mikael Morin2-3/+7
as argument to gfc_get_array_type_bounds. * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen as argument to gfc_get_array_type_bounds. From-SVN: r179677
2011-10-07trans-array.h (struct gfc_se): New flag want_coarray.Mikael Morin4-1/+18
* trans-array.h (struct gfc_se): New flag want_coarray. * trans-intrinsic.c (trans_this_image, trans_image_index, conv_intrinsic_cobound): Set want_coarray. * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension earlier and without relying on the scalarizer. From-SVN: r179676
2011-10-07expr.c (gfc_get_corank): Return 0 if input expression is not a coarray.Mikael Morin2-0/+11
* expr.c (gfc_get_corank): Return 0 if input expression is not a coarray. From-SVN: r179675
2011-10-07trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup ↵Mikael Morin2-13/+9
code. * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code. From-SVN: r179674
2011-10-07resolve.c (compare_spec_to_ref): Move coarray ref initialization code...Mikael Morin2-8/+14
* resolve.c (compare_spec_to_ref): Move coarray ref initialization code... (resolve_array_ref): ... here. From-SVN: r179672
2011-10-07check.c (is_coarray): Remove.Mikael Morin2-33/+6
* check.c (is_coarray): Remove. (coarray_check): Use gfc_is_coarray. From-SVN: r179671
2011-10-07Delete incorrect representations of avx2 shifts.Richard Henderson3-36/+25
* config/i386/i386.c (bdesc_args): Update code for __builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256, and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT. (ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT. * config/i386/sse.md (mode iterator V16): Add V2TI. (mode iterator SSESCALARMODE): Use V2TI not V4DI. (mode attr ssse3_avx2): Add V2TI. (avx2_lshrqv4di3, avx2_lshlqv4di3): Remove. From-SVN: r179668
2011-10-07Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.David S. Miller14-10/+45
gcc/ PR 50655 * configure.ac: Add .register directives to VIS3 test. * configure: Regenerate. gcc/testsuite/ PR 50655 * gcc.target/sparc/sparc.exp: Add vis3 target test. * gcc.target/sparc/cmask.c: Use it. * gcc.target/sparc/fhalve.c: Likewise. * gcc.target/sparc/fnegop.c: Likewise. * gcc.target/sparc/fpadds.c: Likewise. * gcc.target/sparc/fshift.c: Likewise. * gcc.target/sparc/fucmp.c: Likewise. * gcc.target/sparc/lzd.c: Likewise. * gcc.target/sparc/vis3misc.c: Likewise. * gcc.target/sparc/xmul.c: Likewise. From-SVN: r179667
2011-10-07Fix avx256 test cases for AVX2.Richard Henderson3-2/+8
From-SVN: r179666
2011-10-07* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.Richard Henderson2-1/+5
From-SVN: r179664
2011-10-07re PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in ↵Richard Henderson2-5/+6
fold-const.c, can't build with `--enable-checking=fold') PR 49752 * fold-const.c (fold_checksum_tree): Remove out-of-date assert. From-SVN: r179663
2011-10-07predicates.md (shift_amount_operand): Remove constant range check.Andrew Stubbs2-0/+73
2011-10-07 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/arm/predicates.md (shift_amount_operand): Remove constant range check. (shift_operator): Check range of constants for all shift operators. gcc/testsuite/ * gcc.dg/pr50193-1.c: New file. * gcc.target/arm/shiftable.c: New file. From-SVN: r179662
2011-10-07predicates.md (shift_amount_operand): Remove constant range check.Andrew Stubbs3-3/+22
2011-10-07 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/arm/predicates.md (shift_amount_operand): Remove constant range check. (shift_operator): Check range of constants for all shift operators. gcc/testsuite/ * gcc.dg/pr50193-1.c: New file. * gcc.target/arm/shiftable.c: New file. From-SVN: r179661
2011-10-07re PR fortran/50625 ([OOP] ALLOCATABLE attribute lost for module CLASS ↵Janus Weil6-2/+38
variables) 2011-10-07 Janus Weil <janus@gcc.gnu.org> PR fortran/50625 * class.c (gfc_build_class_symbol): Fix whitespace. * module.c (mio_symbol): Set 'class_ok' attribute. * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has been built for class symbols. 2011-10-07 Janus Weil <janus@gcc.gnu.org> PR fortran/50625 * gfortran.dg/class_46.f03: New. From-SVN: r179660
2011-10-07pr47276.c (ASMNAME, [...]): Define.Joern Rennecke4-10/+35
* gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define. (__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME. (syslog, vsyslog, __vsyslog_chk): Likewise. * gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define. (x, EXT_x): Use ASMNAME. * gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define. (a, c): Use ASMNAME. From-SVN: r179659
2011-10-07s390.c (s390_emit_tls_call_insn): Remove assertion.Andreas Krebbel2-7/+20
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion. Load GOT pointer for non-pic builds. (s390_load_got): Replace pic_offset_table_rtx with hardcoded r12. (s390_emit_call): Likewise. From-SVN: r179658
2011-10-07re PR middle-end/50527 (inconsistent vla align)Tom de Vries2-0/+51
2011-10-07 Tom de Vries <tom@codesourcery.com> PR middle-end/50527 * gcc.dg/pr50527.c: New test. From-SVN: r179656
2011-10-07re PR middle-end/50527 (inconsistent vla align)Tom de Vries15-30/+93
2011-10-07 Tom de Vries <tom@codesourcery.com> PR middle-end/50527 * tree.c (build_common_builtin_nodes): Add local_define_builtin for BUILT_IN_ALLOCA_WITH_ALIGN. Mark that BUILT_IN_ALLOCA_WITH_ALIGN can throw. * builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN arglist. Set align for BUILT_IN_ALLOCA_WITH_ALIGN. (expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN. (is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN. * tree-ssa-ccp.c (evaluate_stmt): Set align for BUILT_IN_ALLOCA_WITH_ALIGN. (fold_builtin_alloca_for_var): Rename to ... (fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd BUILT_IN_ALLOCA_WITH_ALIGN argument. (ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using fold_builtin_alloca_with_align. (optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN. * builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using DEF_BUILTIN_STUB. * ipa-pure-const.c (special_builtin_state): Handle BUILT_IN_ALLOCA_WITH_ALIGN. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1) (call_may_clobber_ref_p_1): Same. * function.c (gimplify_parameters): Lower vla to BUILT_IN_ALLOCA_WITH_ALIGN. * gimplify.c (gimplify_vla_decl): Same. * cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN. * tree-mudflap.c (mf_xform_statements): Same. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary) (mark_all_reaching_defs_necessary_1, propagate_necessity): Same. * varasm.c (incorporeal_function_p): Same. * tree-object-size.c (alloc_object_size): Same. * gimple.c (gimple_build_call_from_tree): Same. From-SVN: r179655
2011-10-07function.c (frame_required_for_rtx): Remove function.Bernd Schmidt2-29/+56
* function.c (frame_required_for_rtx): Remove function. (requires_stack_frame_p): New arg set_up_by_prologue. All callers changed. Compute a set of mentioned registers and compare against the new arg rather than calling frame_required_for_rtx. (thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue reg set. Convert the unconverted_simple_returns mechanism to store jump insns rather than their basic blocks. Also check the orig_entry_edge destination for new blocks. From-SVN: r179654
2011-10-07re PR middle-end/50650 (ICE in vect_is_simple_use_1, at tree-vect-stmts.c:5689)Jakub Jelinek6-4/+32
PR tree-optimization/50650 * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't call vect_is_simple_cond here, instead fail if cond_expr isn't COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL for cond_expr's first operand. * tree-vect-stmts.c (vect_is_simple_cond): Static again. * tree-vectorizer.h (vect_is_simple_cond): Remove prototype. * gcc.c-torture/compile/pr50650.c: New test. From-SVN: r179653
2011-10-07re PR lto/50492 (Ada bootstrap failure --with-build-config=bootstrap-lto)Eric Botcazou3-9/+27
PR lto/50492 * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment. * gcc-interface/utils.c (global_context): New variable. (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs that are either public external or at top level. Use "No" macro. (end_subprog_body): Call decl_function_context. (rest_of_subprog_body_compilation): Likewise. From-SVN: r179652
2011-10-07Disable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR ↵Rainer Orth2-0/+7
tree-optimization/50575) PR tree-optimization/50575 * gcc.c-torture/execute/vector-compare-2.x: New file. From-SVN: r179651
2011-10-07gigi.h (gnat_useless_type_conversion): Declare.Eric Botcazou5-16/+400
* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare. (rest_of_subprog_body_compilation): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming, test for useless conversions by means of gnat_useless_type_conversion. * gcc-interface/trans.c: Include bitmap.h and cgraph.h. (language_function): Add named_ret_val and other_ret_val. (f_named_ret_val): New macro. (f_other_ret_val): Likewise. (gigi): Call rest_of_subprog_body_compilation. (struct nrv_data): New structure. (is_nrv_p): New predicate. (prune_nrv_r): New helper function. (prune_nrv_in_block): New function. (finalize_nrv_r): New helper function. (finalize_nrv): New function. (return_value_ok_for_nrv_p): New predicate. (build_return_expr): If optimization is enabled, record candidates for the Named Return Value optimization. (build_function_stub): Call rest_of_subprog_body_compilation. (Subprogram_Body_to_gnu): If optimization is enabled and there are candidates, finalize the Named Return Value optimization. Call rest_of_subprog_body_compilation. (call_to_gnu): At the end, if a return value is needed, simplify the result before wrapping it up in a COMPOUND_EXPR. * gcc-interface/utils.c (end_subprog_body): Split into... (rest_of_subprog_body_compilation): ...this. New function. (gnat_useless_type_conversion): Likewise. From-SVN: r179650
2011-10-07Don't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)Rainer Orth3-3/+10
PR middle-end/50125 * gcc.dg/uninit-B.c (baz): Remove xfail *-*-*. * gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*. (bar3): Likewise. From-SVN: r179649
2011-10-07re PR testsuite/50637 (gcc.dg/vect/vect-align-2.c is invalid (FAILs with -O2 ↵Richard Guenther2-1/+6
-flto -fpeel-loops)) 2011-10-07 Richard Guenther <rguenther@suse.de> PR testsuite/50637 * gcc.dg/vect/vect-align-2.c: Increase array size. From-SVN: r179648
2011-10-07s390.md (DWH, dwh): New mode macros.Andreas Krebbel2-11/+21
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.md (DWH, dwh): New mode macros. ("umulsidi3"): Extend to support "umulditi3" as well. From-SVN: r179647
2011-10-07re PR target/50603 ([x32] Unnecessary lea)Uros Bizjak4-13/+39
PR target/50603 * config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of integer PLUS RTX to a register to improve address combine. testsuite/ChangeLog: PR target/50603 * gcc.target/i386/pr50603.c: New test. From-SVN: r179646
2011-10-07Daily bump.GCC Administrator1-1/+1
From-SVN: r179642
2011-10-06re PR middle-end/50632 (FAIL: gcc.dg/pr50132.c)Richard Henderson2-4/+19
PR 50632 * combine-stack-adjust.c (maybe_move_args_size_note): Add after parameter; use it to decide whether to merge two notes. (combine_stack_adjustments_for_block): Use maybe_move_args_size_note for the deallocation case as well. From-SVN: r179637
2011-10-06re PR c++/39164 ([C++0x] defaulted dtor redefinition not caught)Jason Merrill4-0/+32
PR c++/39164 * decl.c (grokfndecl): Diagnose redefinition of defaulted fn. From-SVN: r179634
2011-10-06[multiple changes]Arnaud Charlet45-404/+284
2011-10-06 Thomas Quinot <quinot@adacore.com> * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb, g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb, s-regpat.adb, s-tpopde-vms.ads: Minor reformatting. * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container references. 2011-10-06 Matthew Heaney <heaney@adacore.com> * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb (Dequeue_Only_High_Priority): Protected procedure now implemented. 2011-10-06 Vincent Celier <celier@adacore.com> * g-trasym.adb: Replace old implementation with the default implementation that returns list of addresses as "0x...". * g-trasym.ads: Update the list of platforms with the full capability. Indicate that there is a default implementation for other platforms. * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove. * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there is now a default implementation for all platforms without the full capability. From-SVN: r179631
2011-10-06system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.Anatoly Sokolov8-42/+22
* system.h (OUTPUT_ADDR_CONST_EXTRA): Poison. * doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation. * doc/tm.texi: Regenerate. * target.def (output_addr_const_extra): Use hook_bool_FILEptr_rtx_false. * targhooks.c (default_asm_output_addr_const_extra): Remove. * targhooks.h (default_asm_output_addr_const_extra): Remove. * hooks.c (hook_bool_FILEptr_rtx_false): New functions. * hooks.h (hook_bool_FILEptr_rtx_false): Declare. From-SVN: r179630
2011-10-06[multiple changes]Arnaud Charlet14-604/+322
2011-10-06 Robert Dewar <dewar@adacore.com> * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb, a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb, a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code reorganization (use conditional expressions). 2011-10-06 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for floating divide by zero. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Limited interfaces that are not immutably limited are OK in return statements. From-SVN: r179629
2011-10-06Correct errors in sparc SImode popcount/clz patterns when 64-bit.David S. Miller2-29/+82
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into... (popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the SI mode 64-bit code gen case explicitly zero-extend and truncate. (*popcount<mode>_sp64): Split up into... (*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the SImode case use truncate. (*clzsi_sp64): Rewrite to use truncate, and let the expander emit the subtract so the compiler can optimize it. (SIDI): Remove unused mode iterator. From-SVN: r179628
2011-10-06function.c (thread_prologue_and_epilogue_insns): Emit split prologue on the ↵Bernd Schmidt2-5/+7
orig_entry_edge. * function.c (thread_prologue_and_epilogue_insns): Emit split prologue on the orig_entry_edge. Don't account for it in prologue_clobbered. From-SVN: r179627
2011-10-06re PR tree-optimization/50596 (Problems in vectorization of condition ↵Jakub Jelinek7-10/+312
expression) PR tree-optimization/50596 * tree-vectorizer.h (vect_is_simple_cond): New prototype. (NUM_PATTERNS): Change to 6. * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New function. (vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern. (vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt if it already has one, and don't set STMT_VINFO_VECTYPE in it if it is already set. * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle COND_EXPR in pattern stmts. (vect_is_simple_cond): No longer static. * lib/target-supports.exp (check_effective_target_vect_cond_mixed): New. * gcc.dg/vect/vect-cond-8.c: New test. From-SVN: r179626
2011-10-06i386: Use the proper mode for blend in vshuffle.Richard Henderson2-7/+27
From-SVN: r179625
2011-10-06i386: Add AVX2 support to ix86_expand_vshuffle.Richard Henderson3-17/+135
From-SVN: r179624
2011-10-06Rework vector shuffle tests.Richard Henderson26-460/+526
Test vector sizes 8, 16, and 32. Test most data types for each size. From-SVN: r179623
2011-10-06vshuffle: Use correct mode for mask operand.Richard Henderson2-9/+12
From-SVN: r179622
2011-10-06tree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef ↵Jakub Jelinek2-7/+11
for the first argument. * tree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef for the first argument. (vect_pattern_recog): Rename vect_recog_func_ptr variable to vect_recog_func, use vect_recog_func_ptr typedef for it. From-SVN: r179621
2011-10-06re PR tree-optimization/49279 (Optimization incorrectly presuming constant ↵Jakub Jelinek7-21/+52
variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets) PR tree-optimization/49279 * tree-ssa-structalias.c (find_func_aliases): Don't handle CAST_RESTRICT. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow restrict propagation. * tree-ssa.c (useless_type_conversion_p): Don't return false if TYPE_RESTRICT differs. * gcc.dg/tree-ssa/restrict-4.c: XFAIL. * gcc.c-torture/execute/pr49279.c: New test. From-SVN: r179620
2011-10-06function.c (thread_prologue_and_epilogue_insns): Build a vector of ↵Bernd Schmidt2-16/+18
unconverted simple return blocks rather than trying to... * function.c (thread_prologue_and_epilogue_insns): Build a vector of unconverted simple return blocks rather than trying to recompute them later based on bb_flags bitmap tests. From-SVN: r179619