aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-05-16re PR fortran/65903 (Line continuation followed by comment character in ↵Jerry DeLisle3-14/+14
string fails to compile) 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/65903 * io.c (format_lex): Change to NONSTRING when checking for possible doubled quote. * scanner.c (gfc_next_char_literal): Revert change from 64506 and add a check for quotes and return. From-SVN: r223248
2015-05-16re PR fortran/66113 (Variable n cannot appear in the expression with nested ↵Thomas Koenig4-4/+46
blocks) 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66113 * expr.c (is_parent_of_current_ns): New function. (check_restricted): Use it. 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66113 * gfortran.dg/block_14.f90: New test. From-SVN: r223238
2015-05-16re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez16-258/+375
!GCC$ diagnostic (pragmas) and color) gcc/fortran/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 Replace all calls to gfc_notify_std_1 with gfc_notify_std and gfc_warning_1 with gfc_warning. * decl.c (gfc_verify_c_interop_param): Here. * resolve.c (resolve_branch): Here. (resolve_fl_derived): Here. * dependency.c (gfc_check_argument_var_dependency): * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line counter and locations before and after warning. * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): Delete. (gfc_warning_now_at): Declare. * error.c (gfc_warning_1): Delete. (gfc_notify_std_1): Delete. (gfc_warning_now_1): Delete. (gfc_format_decoder): Handle two locations. (gfc_diagnostic_build_prefix): Rename as gfc_diagnostic_build_kind_prefix. (gfc_diagnostic_build_locus_prefix): Take an expanded_location instead of diagnostic_info. (gfc_diagnostic_build_locus_prefix): Add overload that takes two expanded_location. (gfc_diagnostic_starter): Handle two locations. (gfc_warning_now_at): New. (gfc_diagnostics_init): Initialize caret_chars array. (gfc_diagnostics_finish): Reset caret_chars array to default. gcc/cp/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (cp_diagnostic_starter): Use diagnostic_location function. (cp_print_error_function): Likewise. (cp_printer): Replace locus pointer with accessor function. gcc/c/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * c-objc-common.c (c_tree_printer): Replace locus pointer with accessor function. gcc/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * tree-pretty-print.c (percent_K_format): Replace locus pointer with accessor function. * tree-diagnostic.c (diagnostic_report_current_function): Use diagnostic_location function. (maybe_unwind_expanded_macro_loc): Likewise. (virt_loc_aware_diagnostic_finalizer): Likewise. (default_tree_printer): Replace locus pointer with accessor function. * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. (diagnostic_set_info_translated): Initialize second location. (diagnostic_build_prefix): Use CARET_LINE_MARGIN. (diagnostic_show_locus): Handle two locations. Call diagnostic_print_caret_line. (diagnostic_print_caret_line): New. (default_diagnostic_starter): Use diagnostic_location function. (diagnostic_report_diagnostic): Use diagnostic_location function. (verbatim): Do not set text.locus. * diagnostic.h (struct diagnostic_info): Remove location field. (struct diagnostic_context): Make caret_chars an array of two. (diagnostic_location): New inline. (diagnostic_expand_location): Handle two locations. (diagnostic_same_line): New inline. (diagnostic_print_caret_line): Declare. (CARET_LINE_MARGIN): New constant. * pretty-print.c (pp_printf): Do not set text.locus. (pp_verbatim): Do not set text.locus. * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. (struct text_info): Replace locus pointer with locations array. Add accessor functions. gcc/testsuite/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * lib/gfortran-dg.exp: Update regex to handle two locations for the same diagnostic without caret. * gfortran.dg/badline.f: Test also that line numbers are correct before and after "left but not entered" warning. From-SVN: r223237
2015-05-16re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez5-0/+84
!GCC$ diagnostic (pragmas) and color) gcc/fortran/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 Replace all calls to gfc_notify_std_1 with gfc_notify_std and gfc_warning_1 with gfc_warning. * decl.c (gfc_verify_c_interop_param): Here. * resolve.c (resolve_branch): Here. (resolve_fl_derived): Here. * dependency.c (gfc_check_argument_var_dependency): * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line counter and locations before and after warning. * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): Delete. (gfc_warning_now_at): Declare. * error.c (gfc_warning_1): Delete. (gfc_notify_std_1): Delete. (gfc_warning_now_1): Delete. (gfc_format_decoder): Handle two locations. (gfc_diagnostic_build_prefix): Rename as gfc_diagnostic_build_kind_prefix. (gfc_diagnostic_build_locus_prefix): Take an expanded_location instead of diagnostic_info. (gfc_diagnostic_build_locus_prefix): Add overload that takes two expanded_location. (gfc_diagnostic_starter): Handle two locations. (gfc_warning_now_at): New. (gfc_diagnostics_init): Initialize caret_chars array. (gfc_diagnostics_finish): Reset caret_chars array to default. gcc/cp/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (cp_diagnostic_starter): Use diagnostic_location function. (cp_print_error_function): Likewise. (cp_printer): Replace locus pointer with accessor function. gcc/c/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * c-objc-common.c (c_tree_printer): Replace locus pointer with accessor function. gcc/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * tree-pretty-print.c (percent_K_format): Replace locus pointer with accessor function. * tree-diagnostic.c (diagnostic_report_current_function): Use diagnostic_location function. (maybe_unwind_expanded_macro_loc): Likewise. (virt_loc_aware_diagnostic_finalizer): Likewise. (default_tree_printer): Replace locus pointer with accessor function. * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. (diagnostic_set_info_translated): Initialize second location. (diagnostic_build_prefix): Use CARET_LINE_MARGIN. (diagnostic_show_locus): Handle two locations. Call diagnostic_print_caret_line. (diagnostic_print_caret_line): New. (default_diagnostic_starter): Use diagnostic_location function. (diagnostic_report_diagnostic): Use diagnostic_location function. (verbatim): Do not set text.locus. * diagnostic.h (struct diagnostic_info): Remove location field. (struct diagnostic_context): Make caret_chars an array of two. (diagnostic_location): New inline. (diagnostic_expand_location): Handle two locations. (diagnostic_same_line): New inline. (diagnostic_print_caret_line): Declare. (CARET_LINE_MARGIN): New constant. * pretty-print.c (pp_printf): Do not set text.locus. (pp_verbatim): Do not set text.locus. * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. (struct text_info): Replace locus pointer with locations array. Add accessor functions. gcc/testsuite/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * lib/gfortran-dg.exp: Update regex to handle two locations for the same diagnostic without caret. * gfortran.dg/badline.f: Test also that line numbers are correct before and after "left but not entered" warning. From-SVN: r223236
2015-05-16re PR target/65768 (sub-optimimal code for constant Uses in loop)Kugan Vivekanandarajah5-21/+87
gcc/ChangeLog: 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org> Zhenqiang Chen <zhenqiang.chen@linaro.org> PR target/65768 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro. * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some large constants in register instead of splitting them. gcc/testsuite/ChangeLog: 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org> Zhenqiang Chen <zhenqiang.chen@linaro.org> PR target/65768 * gcc.target/arm/maskdata.c: New test. Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org> From-SVN: r223235
2015-05-162015-05-16 Mikael Morin <mikael@gcc.gnu.orgMikael Morin4-6/+93
Paul Thomas <pault@gcc.gnu.org> PR fortran/65792 * trans-expr.c (gfc_trans_subcomponent_assign): Always assign the expression component to the destination. In addition, if the component has allocatable components, copy them and deallocate those of the expression, if it is not a variable. The expression is fixed if not a variable to prevent multiple evaluations. 2015-05-16 Mikael Morin <mikael@gcc.gnu.org> PR fortran/65792 * gfortran.dg/derived_constructor_components_5: New test From-SVN: r223234
2015-05-16re PR target/66140 (ICE at extract_insn, at recog.c:2343 when compiling for ↵Uros Bizjak4-5/+67
alpha with gcc-5.1.1) PR target/66140 * config/alpha/alpha.c (get_aligned_mem): Also look for reload replacements in memory addresses. (get_unaligned_address): Ditto. testsuite/ChangeLog: PR target/66140 * gcc.target/alpha/pr66140.c: New test. From-SVN: r223232
2015-05-16Daily bump.GCC Administrator1-1/+1
From-SVN: r223230
2015-05-15re PR c/48956 (-Wconversion should warn when a complex value is assigned to ↵Mikhail Maltsev6-23/+446
a real result) PR c/48956 gcc/c-family/ * c-common.c (int_safely_convertible_to_real_p): Define. (unsafe_conversion_p): Check conversions involving complex types. (conversion_warning): Add new warning message for conversions which discard imaginary component. * c-common.h: (enum conversion_safety): Add new enumerator for such conversions. gcc/testsuite/ * gcc.dg/Wconversion-complex-c99.c: New test. * gcc.dg/Wconversion-complex-gnu.c: New test. From-SVN: r223223
2015-05-15re PR tree-optimization/64454 (optimize (x%5)%5)Marc Glisse4-3/+42
2015-05-15 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/64454 gcc/ * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns. (-1 - A -> ~A): Remove unnecessary condition. gcc/testsuite/ * gcc.dg/modmod.c: New testcase. From-SVN: r223221
2015-05-15[PATCH 9/13] x86 musl supportGregor Richards3-0/+16
On behalf of Szabolcs Nagy. 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca> * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define. * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define. (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define. From-SVN: r223218
2015-05-15Add missed testcase for 223215.Ilya Enkovich1-0/+17
From-SVN: r223217
2015-05-15ipa-chkp.h (chkp_wrap_function): New.Ilya Enkovich6-8/+91
gcc/ * ipa-chkp.h (chkp_wrap_function): New. * ipa-chkp.c (chkp_wrap_function): Remove 'static'. (chkp_wrap_function_name): New. (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name to get wrapper name. * lto-cgraph.c: Include ipa-chkp.h. (input_cgraph_1): Avoid alias chain for wrappers. gcc/testsuite/ * gcc.dg/lto/chkp-wrap-asm-name_0.c: New. From-SVN: r223216
2015-05-15re PR middle-end/66134 ([CHKP] ICE: Unable to coalesce ssa_names 18 and 17 ↵Ilya Enkovich3-5/+26
which are marked as MUST COALESCE) gcc/ PR middle-end/66134 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. gcc/testsuite/ PR middle-end/66134 * gcc.target/i386/mpx/pr66134.c: New test. From-SVN: r223215
2015-05-15[AArch64] Removed unused SLOWMUL target flagsKyrylo Tkachov2-4/+9
* config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete. (AARCH64_FL_SLOWMUL): Delete. (AARCH64_FL_CRC): Redefine to 1<<3. (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4. From-SVN: r223214
2015-05-15Apply arm.h change for previous commit.Ramana Radhakrishnan1-2/+2
2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate casting. From-SVN: r223213
2015-05-15Fix up bootstrap and fix typo in related changelog entry.Ramana Radhakrishnan1-1/+6
2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate casting. From-SVN: r223212
2015-05-15alpha.md (extendqidi2): Use general_operand instead of some_operand for ↵Uros Bizjak3-20/+17
operand[1] predicate. * config/alpha/alpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1] predicate. (extendhidi2): Ditto. (cbranchdi4): Use general_operand instead of some_operand for operand[1] and operands[2] predicates. (cstoredi4): Ditto. * config/alpha/predicates.md (some_operand): Remove unused predicate. (some_ni_operand): Ditto. From-SVN: r223211
2015-05-15alpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE.Uros Bizjak2-22/+25
* config/alpha/alpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x). (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and low part of the constant using alpha_emit_set_const_1. (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE. From-SVN: r223210
2015-05-14varasm.c (output_constant_pool_1): Pass down alignment from constant pool ↵Rohit Arul Raj4-2/+108
entry's descriptor to output_constant_pool_2. 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com> * varasm.c (output_constant_pool_1): Pass down alignment from constant pool entry's descriptor to output_constant_pool_2. (output_object_block): Add comment prior to call to output_constant_pool_1. * gcc.target/powerpc/pr60158.c: New test. From-SVN: r223209
2015-05-15Daily bump.GCC Administrator1-1/+1
From-SVN: r223208
2015-05-14re PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to ↵Vladimir Makarov7-1/+54
floating-point registers) 2015-05-14 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/65862 * target.def (ira_change_pseudo_allocno_class): New hook. * targhooks.c (default_ira_change_pseudo_allocno_class): Default value of the hook. * targhooks.h (default_ira_change_pseudo_allocno_class): New extern * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the hook. * ira-costs.c (find_costs_and_classes): Call the hook and change classes when it is necessary. * doc/tm.texi: Update. From-SVN: r223202
2015-05-14i386.md (sibcall_memory): Check that register with callee address is not ↵Alexander Monakov5-9/+65
also used as one of the arguments... * config/i386/i386.md (sibcall_memory): Check that register with callee address is not also used as one of the arguments, instead of checking that it is not live after the sibcall. (sibcall_pop_memory): Ditto. (sibcall_value_memory): Ditto. (sibcall_value_pop_memory): Ditto. testsuite: * gcc.target/i386/sibcall-7.c: New test. * gcc.target/i386/sibcall-8.c: New test. From-SVN: r223201
2015-05-14generic-match-head.c (types_match): Handle non-types.Marc Glisse4-7/+25
2015-05-14 Marc Glisse <marc.glisse@inria.fr> gcc/ * generic-match-head.c (types_match): Handle non-types. * gimple-match-head.c (types_match): Likewise. * match.pd: Remove unnecessary TREE_TYPE for types_match. From-SVN: r223199
2015-05-14[AArch64] Use conditional negate for absWilco Dijkstra4-28/+19
2015-05-14 Wilco Dijkstra <wdijkstr@arm.com> gcc/ * config/aarch64/aarch64.md (absdi2): Optimize abs expansion. (csneg3<mode>_insn): Enable expansion of pattern. gcc/testsuite/ * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion. (abs64_in_dreg): Likewise. From-SVN: r223197
2015-05-14re PR c/66066 (r222889 causes bogus error: initializer element is not constant)Marek Polacek10-19/+191
PR c/66066 PR c/66127 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal. (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and use it. If FOR_INT_CONST, require that all evaluated operands be INTEGER_CSTs. * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic rather than with 0. * gcc.dg/pr14649-1.c: Add -Wpedantic. * gcc.dg/pr19984.c: Likewise. * gcc.dg/pr66066-1.c: New test. * gcc.dg/pr66066-2.c: New test. * gcc.dg/pr66066-3.c: New test. From-SVN: r223193
2015-05-14rl78.c (rl78_select_section): Select the correct default section based upon ↵Nick Clifton2-3/+16
the category of the decl. * config/rl78/rl78.c (rl78_select_section): Select the correct default section based upon the category of the decl. From-SVN: r223192
2015-05-14Daily bump.GCC Administrator1-1/+1
From-SVN: r223189
2015-05-13re PR rtl-optimization/30967 (Extra sign/zero extend with word comparison ↵Segher Boessenkool2-1/+7
result) PR rtl-optimization/30967 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider destination mode for the cost of scc patterns. From-SVN: r223174
2015-05-13i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.Uros Bizjak2-101/+67
* config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator. (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint. (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand for operand[2] constraint. (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator. From-SVN: r223173
2015-05-13re PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)Jakub Jelinek2-5/+56
PR middle-end/66133 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, make sure it is never noreturn, even when the task body does not return. (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE right before GIMPLE_OMP_RETURN. (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. * testsuite/libgomp.c/pr66133.c: New test. From-SVN: r223171
2015-05-13[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possibleKyrylo Tkachov9-85/+491
* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param. * tree-ssa-math-opts.c: Include params.h (pow_synth_sqrt_info): New struct. (representable_as_half_series_p): New function. (get_fn_chain): Likewise. (print_nested_fn): Likewise. (dump_fractional_sqrt_sequence): Likewise. (dump_integer_part): Likewise. (expand_pow_as_sqrts): Likewise. (gimple_expand_builtin_pow): Use above to attempt to expand pow as series of square roots. Removed now unused variables. * gcc.target/aarch64/pow-sqrt-synth-1.c: New test. * gcc.dg/pow-sqrt.x: New file. * gcc.dg/pow-sqrt-1.c: New test. * gcc.dg/pow-sqrt-2.c: Likewise. * gcc.dg/pow-sqrt-3.c: Likewise. From-SVN: r223167
2015-05-13alpha.c (alpha_emit_set_long_const): Remove c1 argument.Uros Bizjak3-30/+37
* config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument. (alpha_extract_integer): Redeclare as static HOST_WIDE_INT. Remove *p0 and *p1 arguments. Rewrite function. (alpha_legitimate_constant_p): Update call to alpha_extract_integer. (alpha_split_const_mov): Update calls to alpha_extract_integer and alpha_emit_set_long_const. (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const. (alpha_output_mi_thunk_osf): Ditto. * config/alpha/alpha.md (movti): Do not check operands[1] for CONST_DOUBLE. From-SVN: r223166
2015-05-13re PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)Richard Biener2-1/+9
2015-05-13 Richard Biener <rguenther@suse.de> PR tree-optimization/66129 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are commutative. (vect_schedule_slp_instance): Fix typo. From-SVN: r223164
2015-05-13libcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)David Malcolm5-0/+246
gcc/ChangeLog: * common.opt (fdump-internal-locations): New option. * input.c: Include diagnostic-core.h. (get_end_location): New function. (write_digit): New function. (write_digit_row): New function. (dump_location_range): New function. (dump_labelled_location_range): New function. (dump_location_info): New function. * input.h (dump_location_info): New prototype. * toplev.c (compile_file): Handle flag_dump_locations. libcpp/ChangeLog: * include/line-map.h (source_location): Add a reference to location-example.txt to the descriptive comment. * location-example.txt: New file. From-SVN: r223163
2015-05-13gimple-expr.h (is_gimple_constant): Reorder.Eric Botcazou3-4/+7
* gimple-expr.h (is_gimple_constant): Reorder. * tree-ssa-propagate.c (before_dom_children): Use inline accessor. From-SVN: r223156
2015-05-13combine.c (simplify_set): When generating a CC set...Segher Boessenkool2-10/+12
* combine.c (simplify_set): When generating a CC set, if the source already is in the correct mode, do not wrap it in a compare. Simplify the rest of that code. From-SVN: r223146
2015-05-13re PR tree-optimization/66123 (Array of labels as values + ternary operator ↵Richard Biener4-0/+25
+ pointer arithmetic = internal compiler error) 2015-05-13 Richard Biener <rguenther@suse.de> PR tree-optimization/66123 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found a taken edge. * gcc.dg/torture/pr66123.c: New testcase. From-SVN: r223130
2015-05-13re PR middle-end/66110 (uint8_t memory access not optimized)Richard Biener6-5/+37
2015-05-13 Richard Biener <rguenther@suse.de> PR middle-end/66110 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child specially. * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing. * gcc.dg/alias-2.c: Adjust. * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase. From-SVN: r223126
2015-05-13gcc: Bump to automake 1.11.6Michael Haubenwallner3-4/+10
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> * doc/install.texi: Bump latest automake 1.11 version to 1.11.6. * aclocal.m4: Regenerated with automake-1.11.6. From-SVN: r223122
2015-05-13Gimplify va_arg ap based on do_derefTom de Vries4-28/+16
2015-05-13 Tom de Vries <tom@codesourcery.com> PR tree-optimization/66010 * gimplify.h (gimplify_va_arg_internal): Remove declaration. * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval and rval based on do_deref. From-SVN: r223120
2015-05-13re PR target/65103 ([i386] GOTOFF relocation is not propagated into address ↵Ilya Enkovich4-1/+34
expression) gcc/ PR target/65103 * config/i386/i386.c (ix86_rtx_costs): We want to propagate link time constants into adress expressions and therefore set their cost to 0. gcc/testsuite/ PR target/65103 * gcc.target/i386/pr65103-3.c: New. From-SVN: r223119
2015-05-13Fix test case.Martin Liska2-1/+5
* g++.dg/ipa/pr65557.C: Remove unnecessary dump flag. From-SVN: r223118
2015-05-13re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)Jakub Jelinek4-24/+114
PR target/66112 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4): Use SWI248 iterator instead of SWI. (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template. Use eq_attr "alternative" "0" instead of match_test in length_immediate attribute computation. (*mulvhi4, *mulvhi4_1): New define_insns. * gcc.target/i386/pr66112-2.c: New test. From-SVN: r223116
2015-05-13re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)Jakub Jelinek4-1/+28
PR target/66112 * internal-fn.c (get_min_precision): Use UNSIGNED instead of SIGNED to get precision of non-negative value. * gcc.target/i386/pr66112-1.c: New test. From-SVN: r223115
2015-05-13re PR rtl-optimization/66048 ([i386] ICE in create_pre_exit when both AVX ↵Ilya Enkovich5-2/+31
and MPX are used) gcc/ PR target/66048 * function.c (diddle_return_value_1): Process bounds first. * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 register. gcc/testsuite/ PR target/66048 * gcc.target/i386/mpx/pr66048.cc: New. From-SVN: r223114
2015-05-13re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and ↵Thomas Preud'homme5-14/+144
outside a loop) 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR rtl-optimization/64616 * loop-invariant.c (can_move_invariant_reg): New. (move_invariant_reg): Call above new function to decide whether instruction can just be moved, skipping creation of temporary register. gcc/testsuite/ PR rtl-optimization/64616 * gcc.dg/loop-8.c: New test. * gcc.dg/loop-9.c: New test. From-SVN: r223113
2015-05-13re PR target/66047 (vlc compilation failure with target attribute)Jan Hubicka5-11/+79
PR target/66047 * i386.c (ix86_function_sseregparm): Only return -1 if local function with implied regparm is called from -mno-sse function. (init_cumulative_args): Output error if ix86_function_sseregparm return -1 and SSE register would be needed. (function_arg_advance_32): Likewise. (function_arg_32): Likewise. * i386.h (ix86_args): Add decl field. * gcc.target/i386/pr66047.c: New testcase. From-SVN: r223111
2015-05-13re PR ipa/65873 (Failure to inline always_inline memcpy)Jan Hubicka2-0/+19
PR ipa/65873 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always inlines across optimization boundary. * testsuite/gcc.c-torture/compile/pr65873.c: New testcase. From-SVN: r223108
2015-05-13re PR ipa/65873 (Failure to inline always_inline memcpy)Jan Hubicka2-35/+61
PR ipa/65873 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always inlines across optimization boundary. From-SVN: r223107