- 27 Jul, 2011 14 commits
-
-
2011-07-27 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/49471 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned iv only when the largest type is unsigned. Do not call lang_hooks.types.type_for_size. * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. From-SVN: r176838
Sebastian Pop committed -
2011-07-27 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/45450 * graphite-poly.c (apply_poly_transforms): Disable legality check after an openscop read. From-SVN: r176837
Sebastian Pop committed -
2011-07-27 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/47691 * graphite-clast-to-gimple.c (translate_clast_user): Update use of copy_bb_and_scalar_dependences. * sese.c (rename_uses): Do not call gcc_assert. Set gloog_error. (graphite_copy_stmts_from_block): Update call to rename_uses. (copy_bb_and_scalar_dependences): Update call to graphite_copy_stmts_from_block. * sese.h (copy_bb_and_scalar_dependences): Update declaration. * gfortran.dg/graphite/id-pr47691.f: New. From-SVN: r176836
Sebastian Pop committed -
PR target/49313 * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction. (__ctzsi2): Result for 0 may be undefined. (__ctzhi2): Result for 0 may be undefined. (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail. (__popcountsi2): Ditto. And don't clobber r26. (__popcountdi2): Ditto. And don't clobber r27. * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum. (parityhi2): New expand. (paritysi2): New expand. (popcounthi2): New expand. (popcountsi2): New expand. (clzhi2): New expand. (clzsi2): New expand. (ctzhi2): New expand. (ctzsi2): New expand. (ffshi2): New expand. (ffssi2): New expand. (copysignsf3): New insn. (bswapsi2): New expand. (*parityhi2.libgcc): New insn. (*parityqihi2.libgcc): New insn. (*paritysihi2.libgcc): New insn. (*popcounthi2.libgcc): New insn. (*popcountsi2.libgcc): New insn. (*popcountqi2.libgcc): New insn. (*popcountqihi2.libgcc): New insn-and-split. (*clzhi2.libgcc): New insn. (*clzsihi2.libgcc): New insn. (*ctzhi2.libgcc): New insn. (*ctzsihi2.libgcc): New insn. (*ffshi2.libgcc): New insn. (*ffssihi2.libgcc): New insn. (*bswapsi2.libgcc): New insn. From-SVN: r176835
Georg-Johann Lay committed -
* config/i386/i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes. From-SVN: r176834
Uros Bizjak committed -
* config/i386/predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands. * config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand in DImode. From-SVN: r176833
Uros Bizjak committed -
* gcc.target/i386/avx-os-support.h: New. * gcc.target/i386/avx-check.h: Include avx-os-support.h (main): Check avx_os_support before the test is run. * gcc.target/i386/aes-avx-check.h: Ditto. * gcc.target/i386/pclmul-avx-check.h: Ditto. From-SVN: r176829
Uros Bizjak committed -
* config/i386/i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too. (ix86_handle_abi_attribute): Allow function attributes ms_abi/sysv_abi in 32-bit mode, too. * doc/extend.texi: Adjust attribute documentation. * gcc.target/i386/aggregate-ret3.c: New test. * gcc.target/i386/aggregate-ret4.c: New test. From-SVN: r176828
Kai Tietz committed -
2011-07-27 Kai Tietz <ktietz@redhat.com> * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling. (and_var_with_comparison_1): Likewise. From-SVN: r176827
Kai Tietz committed -
* params.h (ALLOW_STORE_DATA_RACES): New. * params.def (PARAM_ALLOW_STORE_DATA_RACES): New. * Makefile.in (expr.o): Depend on PARAMS_H. * machmode.h (get_best_mode): Add argument. * fold-const.c (optimize_bit_field_compare): Add argument to get_best_mode. (fold_truthop): Same. * ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field. * expr.c (emit_group_store): Same. (copy_blkmode_from_reg): Same. (write_complex_part): Same. (optimize_bitfield_assignment_op): Add argument. Add argument to get_best_mode. (get_bit_range): New. (expand_assignment): Calculate maxbits and pass it down accordingly. (store_field): New argument. (expand_expr_real_2): New argument to store_field. Include params.h. * expr.h (store_bit_field): New argument. * stor-layout.c (get_best_mode): Restrict mode expansion by taking into account maxbits. * calls.c (store_unaligned_arguments_into_pseudos): New argument to store_bit_field. * expmed.c (store_bit_field_1): New argument. Use it. (store_bit_field): Same. (store_fixed_bit_field): Same. (store_split_bit_field): Same. (extract_bit_field_1): Pass new argument to get_best_mode. (extract_bit_field): Same. * stmt.c (store_bit_field): Pass new argument to store_bit_field. * doc/invoke.texi: Document parameter allow-store-data-races. From-SVN: r176824
Aldy Hernandez committed -
2011-07-26 Daniel Carrera <dcarrera@gmail.com> PR fortran/49755 * trans.c (gfc_allocate_using_malloc): Change function signature. Return nothing. New parameter "pointer". Eliminate temorary variables. (gfc_allocate_using_lib): Ditto. (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib and gfc_allocate_using_malloc. Do not free and then reallocate a variable that is already allocated. (gfc_likely): New function. Basedon gfc_unlikely. * trans-array.c (gfc_array_init_size): New parameter "descriptor_block". Instructions to modify the array descriptor are stored in this block while other instructions continue to be stored in "pblock". (gfc_array_allocate): Update call to gfc_array_init_size. Move the descriptor_block so that the array descriptor is only updated if the array was allocated successfully. Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc. * trans.h (gfc_allocate_allocatable): Change function signature. Function now returns void. (gfc_allocate_using_lib): Ditto, and new function parameter. (gfc_allocate_using_malloc): Ditto. * trans-openmp.c (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call to gfc_allocate_allocatable with gfc_allocate_using_malloc. * trans-stmt.c (gfc_trans_allocate): Update function calls for gfc_allocate_allocatable and gfc_allocate_using_malloc. 2011-07-26 Daniel Carrera <dcarrera@gmail.com> PR fortran/49755 * gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an allocated array should *not* change its size. * gfortran.dg/multiple_allocation_3.f90: New test. From-SVN: r176822
Daniel Carrera committed -
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string. (dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections before .debug_line, not after it. From-SVN: r176819
Jakub Jelinek committed -
2011-07-27 Kai Tietz <ktietz@redhat.com> * tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new bitwise-cases. (extract_range_from_assignment): Likewise. (register_edge_assert_for_1): Likeiwise. (register_edge_assert_for): Likewise. (simplify_truth_ops_using_ranges): Likewise. (simplify_stmt_using_ranges): Likewise. From-SVN: r176818
Kai Tietz committed -
From-SVN: r176816
GCC Administrator committed
-
- 26 Jul, 2011 24 commits
-
-
2011-07-26 H.J. Lu <hongjiu.lu@intel.com> PR target/47372 * config/i386/i386.c (ix86_delegitimize_address): Call simplify_gen_subreg for PIC with mode of x only if modes of x and orig_x are different. From-SVN: r176812
H.J. Lu committed -
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string. (dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections before .debug_line, not after it. From-SVN: r176811
Jakub Jelinek committed -
/cp 2011-07-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49776 * typeck.c (cp_build_modify_expr): Check digest_init return value for error_mark_node. /testsuite 2011-07-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49776 * g++.dg/cpp0x/constexpr-49776.C: New. From-SVN: r176809
Paolo Carlini committed -
"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity" The problem here is that we are left with the following code to be translated in the new representation following the transform that Graphite has chosen: D.2709_14 = j_33 * i_32; D.2710_15 = D.2709_14 * i_32; D.2711_16 = D.2710_15 * sign_34; *D.2708_13 = D.2711_16; In this particular case we have a nonlinear expression "i * i" for which we have to generate code following the new graphite_iv variables. The patch fixes the function that detects whether we are passing non linear stuff to graphite: evolution_function_is_affine_p. It seems like for the moment evolution_function_is_affine_p is testing whether an evolution function is affine only in the innermost loop, without looking recursively at what happens in outer loops. The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are testing whether the evolution is affine only for the loop_2, which is true as we have {0, +, blah}_2 with blah invariant in loop_2. The patch adds the recursive call to evolution_function_is_affine_p. Bootstrapped and tested on amd64-linux. 2011-07-26 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/47046 * tree-chrec.h (evolution_function_is_affine_p): Recursively call evolution_function_is_affine_p on CHREC_RIGHT. * gcc.dg/graphite/id-pr47046.c: New. From-SVN: r176805
Sebastian Pop committed -
2011-07-26 Sebastian Pop <sebastian.pop@amd.com> * tree-data-ref.c (max_stmt_executions_tree): Do not call lang_hooks.types.type_for_size. From-SVN: r176804
Sebastian Pop committed -
2011-07-26 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/47653 * gcc.dg/graphite/run-id-pr47593.c: New. From-SVN: r176803
Sebastian Pop committed -
2011-07-26 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/47653 * graphite-scop-detection.c (graphite_can_represent_loop): Discard loops using wrapping semantics. * gcc.dg/graphite/run-id-pr47653.c: New. * gcc.dg/graphite/interchange-3.c: Do not use unsigned types for induction variables. * gcc.dg/graphite/scop-16.c: Same. * gcc.dg/graphite/scop-17.c: Same. * gcc.dg/graphite/scop-21.c: Same. From-SVN: r176802
Sebastian Pop committed -
With this patch we avoid instantiating ADDR_EXPR: it makes no sense to translate &b[i] into &b[{0, +, 1}_1]. Bootstrapped and tested on amd64-linux. 2011-07-26 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/48805 * tree-scalar-evolution.c (instantiate_scev_r): Return chrec_dont_know for ADDR_EXPR. * gcc.dg/graphite/id-pr48805.c: New. From-SVN: r176801
Sebastian Pop committed -
* configure.ac: Set have_compiler based on whether gcc directory exists, rather than on whether gcc is in configdirs. * configure: Rebuild. From-SVN: r176800
Ian Lance Taylor committed -
PR target/47369 PR target/49853 * config/i386/i386.c (ix86_expand_move): Call convert_to_mode if legitimize_tls_address returned operand in wrong mode. Allow SImode and DImode symbolic operand for PIC. Call convert_to_mode if legitimize_pic_address returned operand in wrong mode. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> From-SVN: r176798
Uros Bizjak committed -
2011-07-26 Martin Jambor <mjambor@suse.cz> * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and return false for invariants. From-SVN: r176797
Martin Jambor committed -
2011-07-26 H.J. Lu <hongjiu.lu@intel.com> * testsuite/demangle-expected: Remove an extra line. From-SVN: r176796
H.J. Lu committed -
* config/i386/i386.md (add->lea splitter): Implement using SWI mode iterator. Change operand 2 predicate to <nonmemory_operand>. (add->lea zext splitter): Change operand 2 predicate to x86_64_nonmemory_operand. From-SVN: r176795
Uros Bizjak committed -
2011-07-26 Richard Guenther <rguenther@suse.de> * predict.c (maybe_hot_frequency_p): Make sure a zero entry-block frequency makes everything hot. From-SVN: r176794
Richard Guenther committed -
* cp-demangle.c (d_print_init): Initialize pack_index field. (d_print_comp): Check for NULL template argument. * testsuite/demangle-expected: Add test case. From-SVN: r176791
Ian Lance Taylor committed -
2011-07-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/49840 * tree-vrp.c (range_fits_type_p): Properly handle full double-int precision. From-SVN: r176790
Richard Guenther committed -
2011-07-26 Martin Jambor <mjambor@suse.cz> PR bootstrap/49786 * ipa-cp.c (update_profiling_info): Avoid overflow when updating counts. (update_specialized_profile): Likewise. From-SVN: r176789
Martin Jambor committed -
PR target/47381 PR target/49832 PR target/49833 * config/i386/i386.md (i): Change SImode attribute to "e". (g): Change SImode attribute to "rme". (di): Change SImode attribute to "nF". (general_operand): Change SImode attribute to x86_64_general_operand. (general_szext_operand): Change SImode attribute to x86_64_szext_general_operand. (immediate_operand): Change SImode attribute to x86_64_immediate_operand. (nonmemory_operand): Change SImode attribute to x86_64_nonmemory_operand. (*movdi_internal_rex64): Remove mode from pic_32bit_operand check. (*movsi_internal): Ditto. Use "e" constraint in alternative 2. (*lea_1): Use SWI48 mode iterator. (*lea_1_zext): New insn pattern. (testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2. (*bt<mode>): Ditto. (*add<mode>1): Use x86_64_general_operand predicate for operand 2. Update operand constraints. (addsi_1_zext): Ditto. (*add<mode>2): Ditto. (*addsi_3_zext): Ditto. (*subsi_1_zext): Ditto. (*subsi_2_zext): Ditto. (*subsi_3_zext): Ditto. (*addsi3_carry_zext): Ditto. (*<plusminus_insn>si3_zext_cc_overflow): Ditto. (*mulsi3_1_zext): Ditto. (*andsi_1): Ditto. (*andsi_1_zext): Ditto. (*andsi_2_zext): Ditto. (*<any_or:code>si_1_zext): Ditto. (*<any_or:code>si_2_zext): Ditto. (*test<mode>_1): Use <general_operand> predicate for operand 1. (*and<mode>_2): Ditto. (mov<mode>cc): Use <general_operand> predicate for operands 1 and 2. (add->lea splitter): Check operand modes in insn constraint. Extend operands less than SImode wide to SImode. (add->lea zext splitter): Do not extend input operands to DImode. (*lea_general_1): Handle only QImode and HImode operands. (*lea_general_2): Ditto. (*lea_general_3): Ditto. (*lea_general_1_zext): Remove. (*lea_general_2_zext): Ditto. (*lea_general_3_zext): Ditto. (*lea_general_4): Check operand modes in insn constraint. Extend operands less than SImode wide to SImode. (ashift->lea splitter): Ditto. * config/i386/i386.c (ix86_print_operand_address): Print address registers with 'q' modifier on 64bit targets. * config/i386/predicates.md (pic_32bit_opreand): Define as special predicate. Reject non-SI and non-DI modes. From-SVN: r176788
Uros Bizjak committed -
2011-07-26 Tobias Burnus <burnus@net-b.de> * trans-array.c (CAF_TOKEN_FIELD): New macro constant. (gfc_conv_descriptor_token): New function. * trans-array.h (gfc_conv_descriptor_token): New prototype. * trans-types.c (gfc_get_array_descriptor_base): For coarrays with -fcoarray=lib, append "void *token" to the array descriptor. (gfc_array_descriptor_base_caf): New static variable. * trans-expr.c (gfc_conv_procedure_call): Handle token and * offset when passing a descriptor coarray to a nondescriptor dummy. 2011-07-26 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_lib_token_2.f90: New. From-SVN: r176784
Tobias Burnus committed -
* gcc.dg/vect/vect-70.c: Reduce the data size to fit SPU local store. From-SVN: r176783
Ira Rosen committed -
2011-07-25 Andrew Pinski <apinski@cavium.com> PR tree-opt/49671 * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and TREE_THIS_NOTRAP into the inner most MEM_REF. Always copy TREE_THIS_VOLATILE. * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and arguments are not volatile references. 2011-07-25 Andrew Pinski <apinski@cavium.com> PR tree-opt/49671 * gcc.dg/tree-ssa/pr49671-1.c: New testcase. * gcc.dg/tree-ssa/pr49671-2.c: New testcase. From-SVN: r176782
Andrew Pinski committed -
2011-07-25 Benjamin Kosnik <bkoz@redhat.com> * include/std/array (at): Remove constexpr when -fno-exceptions. * testsuite/23_containers/array/at_neg.cc: Test. From-SVN: r176780
Benjamin Kosnik committed -
* insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove. * final.c (final_scan_insn): Don't test for it. (rest_of_clean_state): Likewise. From-SVN: r176779
Richard Henderson committed -
From-SVN: r176778
GCC Administrator committed
-
- 25 Jul, 2011 2 commits
-
-
PR debug/49841 * config/rs6000/rs6000.c (rs6000_frame_related): Return the insn. (emit_frame_save): Likewise. (rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save insn onto a dummy blockage insn after the join label. From-SVN: r176773
Richard Henderson committed -
From-SVN: r176772
Richard Henderson committed
-