aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-28Replace v1, v2, lb, ub with bound_one, bound_twoSebastian Pop2-99/+116
2011-07-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with bound_one, bound_two. From-SVN: r176902
2011-07-28Fix PR48648: Handle CLAST assignments.Sebastian Pop4-0/+79
The CLAST produced by CLooG-ISL contains an assignment and GCC chokes on it. The exact CLAST contains an assignment followed by an if: scat_1 = max(0,ceild(T_4-7,8)); if (scat_1 <= min(1,floord(T_4-1,8))) { S7(scat_1); } This is equivalent to a loop that iterates only once, and so CLooG generates an assignment followed by an if instead of a loop. This is an important optimization that was improved in ISL, that allows if-conversion: imagine GCC having to figure out that a loop like the following actually iterates only once, and can be converted to an if: for (scat_1 = max(0,ceild(T_4-7,8)); scat_1 <= min(1,floord(T_4-1,8)); scat_1++) S7(scat_1); This patch implements the translation of CLAST assignments. Bootstrapped and tested on amd64-linux. 2011-07-28 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/48648 * graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle CLAST assignments. (translate_clast): Same. (translate_clast_assignment): New. * gcc.dg/graphite/id-pr48648.c: New. From-SVN: r176901
2011-07-28Fix PR49876: Continue code generation with integer_zero_node on gloog_errorSebastian Pop2-10/+15
When setting gloog_error, graphite should continue code generation without early returns, as otherwise the SSA representation would not be complete. So set the new expression to integer_zero_node, that would not require more SSA updates, and continue code generation as nothing happened. Regstrapped on amd64-linux. 2011-07-28 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/49876 * sese.c (rename_uses): Do not return false on gloog_error: set the new_expr to integer_zero_node and continue code generation. (graphite_copy_stmts_from_block): Remove early exit on gloog_error. From-SVN: r176900
2011-07-28re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)Paolo Carlini2-0/+12
2011-07-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49813 * semantics.c (potential_constant_expression_1): Handle FMA_EXPR. Checking this in for Paolo. From-SVN: r176899
2011-07-28line-map.h (struct line_maps): Remove unused field last_listed.Gabriel Charette3-6/+5
* include/line-map.h (struct line_maps): Remove unused field last_listed. Update all users. From-SVN: r176898
2011-07-28re PR fortran/31067 (MINLOC should sometimes be inlined (gas_dyn is sooooo ↵Jakub Jelinek9-1/+741
sloooow)) PR fortran/31067 * frontend-passes.c (optimize_minmaxloc): New function. (optimize_expr): Call it. * gfortran.dg/maxloc_2.f90: New test. * gfortran.dg/maxloc_3.f90: New test. * gfortran.dg/minloc_1.f90: New test. * gfortran.dg/minloc_2.f90: New test. * gfortran.dg/minloc_3.f90: New test. * gfortran.dg/minmaxloc_7.f90: New test. From-SVN: r176897
2011-07-28Use long long for 64bit int.H.J. Lu2-9/+10
2010-07-28 H.J. Lu <hongjiu.lu@intel.com> * config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64 version. (_FP_WS_TYPE): Likewise. (_FP_I_TYPE): Likewise. From-SVN: r176894
2011-07-28Check ia32 instead of ilp32 for ia32 tests.H.J. Lu4-3/+11
2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 for ia32 instead of ilp32. * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. * testsuite/libgomp.c/atomic-6.c: Likewise. From-SVN: r176893
2011-07-28re PR debug/49846 (entryval: missing DW_TAG_GNU_call_site_parameter for ↵Jakub Jelinek2-0/+23
stack-passed `double' parameter) PR debug/49846 * var-tracking.c (prepare_call_arguments): For non-MODE_INT stack arguments also check if they aren't initialized with a MODE_INT mode of the same size. From-SVN: r176892
2011-07-28expr.c (get_bit_range): Handle *MEM_REF's.Aldy Hernandez2-1/+8
* expr.c (get_bit_range): Handle *MEM_REF's. From-SVN: r176891
2011-07-28rtlanal.c (tablejump_p): False for returns.Bernd Schmidt17-165/+227
* rtlanal.c (tablejump_p): False for returns. * reorg.c (first_active_target_insn): New static function. (find_end_label): Set JUMP_LABEL for a new returnjump. (optimize_skip, get_jump_flags, rare_destination, mostly_true_jump, get_branch_condition, steal_delay_list_from_target, own_thread_p, fill_simple_delay_slots, follow_jumps, fill_slots_from_thread, fill_eager_delay_slots, relax_delay_slots, make_return_insns, dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs. * jump.c (delete_related_insns): Likewise. (jump_to_label_p): New function. (redirect_target): New static function. (redirect_exp_1): Use it. Adjust to handle ret_rtx in JUMP_LABELS. (redirect_jump_1): Assert that the new label is nonnull. (redirect_jump): Likewise. (redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels. * ifcvt.c (find_if_case_1): Take care when redirecting jumps to the exit block. (dead_or_predicable): Change NEW_DEST arg to DEST_EDGE. All callers changed. Ensure that the right label is passed to redirect_jump. * function.c (emit_return_into_block, thread_prologue_and_epilogue_insns): Ensure new returnjumps have ret_rtx in their JUMP_LABEL. * print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL. * emit-rtl.c (skip_consecutive_labels): Allow the caller to pass ret_rtx as label. * cfglayout.c (fixup_reorder_chain): Use force_nonfallthru_and_redirect rather than force_nonfallthru. (duplicate_insn_chain): Copy JUMP_LABELs for returns. * rtl.h (ANY_RETURN_P): New macro. (jump_to_label_p): Declare. * resource.c (find_dead_or_set_registers): Handle ret_rtx in JUMP_LABELs. (mark_target_live_regs): Likewise. * basic-block.h (force_nonfallthru_and_redirect): Declare. * cfgrtl.c (force_nonfallthru_and_redirect): No longer static. * config/alpha/alpha.c (alpha_tablejump_addr_vec, alpha_tablejump_best_label): Remove functions. * config/alpha/alpha-protos.c (alpha_tablejump_addr_vec, alpha_tablejump_best_label): Remove declarations. * config/sh/sh.c (barrier_align, split_branches): Adjust for ret_rtx in JUMP_LABELs. * config/arm/arm.c (is_jump_table): Likewise. From-SVN: r176881
2011-07-28predicates.md (pic_32bit_opreand): Do not define as special predicate.Uros Bizjak2-11/+13
* config/i386/predicates.md (pic_32bit_opreand): Do not define as special predicate. Remove explicit mode checks. From-SVN: r176879
2011-07-28dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize ↵Jakub Jelinek2-7/+24
DW_AT_data_member_location containing just... * dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize DW_AT_data_member_location containing just DW_OP_plus_uconst. From-SVN: r176878
2011-07-28re PR debug/49871 (-gdwarf-3 creates invalid DWARF3 with ↵Jakub Jelinek4-3/+50
DW_AT_data_member_location attribute) PR debug/49871 * dwarf2out.c (size_of_die, value_format, output_die): Use DW_FORM_udata instead of DW_FORM_data[48] for dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3. * gcc.dg/debug/dwarf2/pr49871.c: New test. From-SVN: r176876
2011-07-28* ChangeLog: Remove mess.Uros Bizjak1-37/+2
From-SVN: r176874
2011-07-28Update length attribute on *tls_global_dynamic_64.H.J. Lu2-1/+7
2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.md (*tls_global_dynamic_64): Update length attribute. From-SVN: r176873
2011-07-28re PR target/47715 ([x32] TLS doesn't work)Uros Bizjak2-15/+26
PR target/47715 * config/i386/i386.md (*tls_global_dynamic_64): Remove mode from tls_symbolic_operand check. Update code sequence for TARGET_X32. (tls_global_dynamic_64): Remove mode from tls_symbolic_operand check. (tls_dynamic_gnu2_64): Ditto. (*tls_dynamic_gnu2_lea_64): Ditto. (*tls_dynamic_gnu2_call_64): Ditto. (*tls_dynamic_gnu2_combine_64): Ditto. From-SVN: r176872
2011-07-28Set need_64bit_hwint to yes for x86 targets.H.J. Lu5-24/+12
gcc/ 2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Set need_64bit_hwint to yes for x86 targets. libcpp/ 2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * configure.ac: Set need_64bit_hwint to yes for x86 targets. * configure: Regenerated. From-SVN: r176871
2011-07-28init.c (__gnat_error_handler): Cast reason to int.Rainer Orth2-2/+15
* init.c (__gnat_error_handler): Cast reason to int. (__gnat_install_handler): Explain sa_sigaction use. From-SVN: r176870
2011-07-28Only expand strlen to Pmode.H.J. Lu2-5/+10
2011-07-28 H.J. Lu <hongjiu.lu@intel.com> PR target/47364 * config/i386/i386.md (strlen<mode>): Replace SWI48x with P. From-SVN: r176868
2011-07-28vfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints.Ramana Radhakrishnan2-14/+20
2011-07-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> * config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints. Adjust attributes. (*thumb2_movdf_vfp"): Likewise. From-SVN: r176867
2011-07-28tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.Kai Tietz2-50/+42
2011-07-28 Kai Tietz <ktietz@redhat.com> * tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case. (simplify_truth_ops_using_ranges): Likewise. (build_assert_expr_for): Likewise. (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case and handle BIT_NOT_EXPR for truth-operation. From-SVN: r176866
2011-07-28re PR target/49313 (Inefficient libgcc implementations for avr)Georg-Johann Lay3-298/+25
PR target/49313 Undo r176835 from trunk 2011-07-27 Georg-Johann Lay From-SVN: r176865
2011-07-28update copyrightAlan Modra1-1/+2
From-SVN: r176863
2011-07-28re PR target/49687 ([avr] Missed optimization for widening MUL)Georg-Johann Lay6-242/+637
PR target/49687 * config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit. Add _muluhisi3, _mulshisi3, _usmulhisi3. * config/avr/libgcc.S (__mulsi3): Rewrite. (__mulhisi3): Rewrite. (__umulhisi3): Rewrite. (__usmulhisi3): New. (__muluhisi3): New. (__mulshisi3): New. (__mulohisi3): New. (__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to declare. * config/avr/predicates.md (pseudo_register_operand): Rewrite. (pseudo_register_or_const_int_operand): New. (combine_pseudo_register_operand): New. (u16_operand): New. (s16_operand): New. (o16_operand): New. * config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI. * config/avr/avr.md (QIHI, QIHI2): New mode iterators. (any_extend, any_extend2): New code iterators. (extend_prefix): New code attribute. (mulsi3): Rewrite. Turn insn to expander. (mulhisi3): Ditto. (umulhisi3): Ditto. (usmulhisi3): New expander. (*mulsi3): New insn-and-split. (mulu<mode>si3): New insn-and-split. (muls<mode>si3): New insn-and-split. (mulohisi3): New insn-and-split. (*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3, *usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3, *sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3, *ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New insn-and-split. (*mulsi3_call): Rewrite. (*mulhisi3_call): Rewrite. (*umulhisi3_call): Rewrite. (*usmulhisi3_call): New insn. (*muluhisi3_call): New insn. (*mulshisi3_call): New insn. (*mulohisi3_call): New insn. (extendqihi2): Use combine_pseudo_register_operand as predicate for operand 1. (extendqisi2): Ditto. (zero_extendqihi2): Ditto. (zero_extendqisi2): Ditto. (zero_extendhisi2): Ditto. (extendhisi2): Ditto. Don't early-clobber operand 0. From-SVN: r176862
2011-07-28linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED ↵Alan Modra2-4/+28
if stopped on the instruction that saves r2 in a plt call stub. * config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub. Do restore r2 if stopped on bctrl. From-SVN: r176861
2011-07-28i386.c (add->lea splitter): Add SWI mode to PLUS RTX.Uros Bizjak2-2/+6
* config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX. From-SVN: r176860
2011-07-28i386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized ↵Jakub Jelinek2-2/+7
away. * gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized away. From-SVN: r176859
2011-07-28Daily bump.GCC Administrator1-1/+1
From-SVN: r176856
2011-07-28re PR fortran/45586 (ICE non-trivial conversion at assignment)Tobias Burnus4-0/+48
2011-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/45586 * trans-types.c (gfc_get_derived_type): Ensure that pointer component types are marked as nonrestricted. 2011-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/45586 * gfortran.dg/lto/pr45586-2_0.f90: New. From-SVN: r176852
2011-07-27re PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c)Aldy Hernandez3-2/+9
PR middle-end/49875 * c-c++-common/cxxbitfields-4.c: Check for smaller than long moves. * c-c++-common/cxxbitfields-5.c: Same. From-SVN: r176848
2011-07-27re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)Paolo Carlini2-271/+297
2011-07-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49813 * include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr. From-SVN: r176847
2011-07-27target-supports.exp (check_effective_target_mmap): Use check_function_available.Ulrich Weigand2-3/+6
* lib/target-supports.exp (check_effective_target_mmap): Use check_function_available. From-SVN: r176846
2011-07-27Propagate the source location of a template's function_decl to the ↵Jeffrey Yasskin6-10/+24
template_decl built out of it. Propagate the source location of a template's function_decl to the template_decl built out of it. Without this, specializations generated before the template was defined get the location of the closing ')' instead of the location of the template's name, which can produce inconsistent locations between translation units, which makes gold's ODR checker unhappy. * gcc/cp/pt.c (build_template_decl): Copy the function_decl's source location to the new template_decl. * gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated. * libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated. From-SVN: r176845
2011-07-27re PR target/49866 (-mcmodel=large tail call fails to assemble)Jakub Jelinek2-0/+28
PR target/49866 * gcc.target/i386/pr49866.c: New test. From-SVN: r176842
2011-07-27Add BMI testcases.Yukhin Kirill27-0/+561
2011-07-27 Yukhin Kirill <kirill.yukhin@intel.com> * gcc.target/i386/i386.exp (check_effective_target_bmi): New. * gcc.target/i386/bmi-andn-1.c: New test. * gcc.target/i386/bmi-andn-1a.c: Likewise. * gcc.target/i386/bmi-andn-2.c: Likewise. * gcc.target/i386/bmi-andn-2a.c: Likewise. * gcc.target/i386/bmi-bextr-1.c: Likewise. * gcc.target/i386/bmi-bextr-1a.c: Likewise. * gcc.target/i386/bmi-bextr-2.c: Likewise. * gcc.target/i386/bmi-bextr-2a.c: Likewise. * gcc.target/i386/bmi-blsi-1.c: Likewise. * gcc.target/i386/bmi-blsi-1a.c: Likewise. * gcc.target/i386/bmi-blsi-2.c: Likewise. * gcc.target/i386/bmi-blsi-2a.c: Likewise. * gcc.target/i386/bmi-blsmsk-1.c: Likewise. * gcc.target/i386/bmi-blsmsk-1a.c: Likewise. * gcc.target/i386/bmi-blsmsk-2.c: Likewise. * gcc.target/i386/bmi-blsmsk-2a.c: Likewise. * gcc.target/i386/bmi-blsr-1.c: Likewise. * gcc.target/i386/bmi-blsr-1a.c: Likewise. * gcc.target/i386/bmi-blsr-2.c: Likewise. * gcc.target/i386/bmi-blsr-2a.c: Likewise. * gcc.target/i386/bmi-tzcnt-1.c: Likewise. * gcc.target/i386/bmi-tzcnt-1a.c: Likewise. * gcc.target/i386/bmi-tzcnt-2.c: Likewise. * gcc.target/i386/bmi-tzcnt-2a.c: Likewise. From-SVN: r176840
2011-07-27Fix PR49471: canonicalize_loop_ivs should not generate unsigned types.Sebastian Pop5-5/+35
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
2011-07-27PR45450: disable legality check after an openscop readSebastian Pop2-1/+11
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
2011-07-27Fix PR47691: do not abort compilation when code generation failsSebastian Pop6-14/+56
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
2011-07-27re PR target/49313 (Inefficient libgcc implementations for avr)Georg-Johann Lay3-19/+335
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
2011-07-27i386.c (ix86_expand_move): Do not explicitly check the mode of ↵Uros Bizjak2-2/+6
symbolic_opreand RTXes. * config/i386/i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes. From-SVN: r176834
2011-07-27predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands.Uros Bizjak3-14/+13
* 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
2011-07-27avx-os-support.h: New.Uros Bizjak5-5/+29
* 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
2011-07-27i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too.Kai Tietz6-18/+78
* 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
2011-07-27gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling.Kai Tietz2-10/+16
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
2011-07-27params.h (ALLOW_STORE_DATA_RACES): New.Aldy Hernandez19-41/+433
* 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
2011-07-27re PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already ↵Daniel Carrera9-109/+166
allocated vars) 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
2011-07-27dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated ↵Jakub Jelinek2-0/+6
copy of the string. * 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
2011-07-27tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and ↵Kai Tietz2-96/+70
add new bitwise-cases. 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
2011-07-27Daily bump.GCC Administrator1-1/+1
From-SVN: r176816