- 28 Jul, 2016 15 commits
-
-
2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org> Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/71883 * frontend-passes.c (gfc_run_passes): Bail out if there are any errors. * error.c (gfc_internal_error): If there are any errors in the buffer, exit with EXIT_FAILURE. 2016-07-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/71883 * gfortran.dg/pr71883.f90 : New test. From-SVN: r238822
Paul Thomas committed -
which does a shift as part of its operation. An AND immediate is a simpler operation, and might be faster on some implementations, so it is better to emit this this instead of UBFM. Benchmarking showed no difference on implementations where UBFM has the same performance as AND, and minor speedups across several benchmarks on an implementation where UBFM is slower than AND. Bootstrapped and tested on aarch64-none-elf. gcc/ * config/aarch64/aarch64.md (zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output statement and type. (<optab>qihi2_aarch64): Likewise, and split into two. (extendqihi2_aarch64): New. (zero_extendqihi2_aarch64): New. * config/aarch64/iterators.md (ldrxt): Remove. * config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of uxtb/uxth. From-SVN: r238821
Wilco Dijkstra committed -
When zero extending a 32-bit register, we emit a "mov", but currently report the cost of the "mov" incorrectly. In terms of speed, we currently say the cost is that of an extend operation. But the cost of a "mov" is the cost of 1 instruction, so fix that. In terms of size, we currently say that the "mov" takes 0 instructions. Fix it by changing it to 1. Bootstrapped and tested on aarch64-none-elf. gcc/ * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend. From-SVN: r238820
Kristina Martsenko committed -
This patch improves the readability of the prolog and epilog code by moving some code into separate functions. This patch improves the readability of the prolog and epilog code by moving some code into separate functions. There is no difference in generated code. gcc/ * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename. (aarch64_push_reg): New function to push 1 or 2 registers. (aarch64_pop_reg): New function to pop 1 or 2 registers. (aarch64_expand_prologue): Use aarch64_push_regs. (aarch64_expand_epilogue): Use aarch64_pop_regs. From-SVN: r238818
Wilco Dijkstra committed -
gcc/ 2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com> PR tree-optimization/71734 * tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen attribute instead of REF_LOOP and use it. (ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and set it for Loops having non-zero safelen attribute. (ref_indep_loop_p): Pass zero as initial value for safelen. gcc/testsuite/ 2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com> PR tree-optimization/71734 * g++.dg/vect/pr70729-nest.cc: New test. From-SVN: r238817
Yuri Rumyantsev committed -
gcc/ PR middle-end/72657 PR target/72683 * tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation call using chkp_gimple_call_builtin_p. (chkp_copy_bounds_for_assign): Likewise. From-SVN: r238816
Ilya Enkovich committed -
This patch reverts the change for PR 71902 since it causes 178.gagel miscompile in spec2000 as reported in PR 71961 which was observed in x86_64, aarch64, powerpc64. gcc/fortran/ChangeLog: 2016-07-28 Renlin Li <renlin.li@arm.com> Revert 2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/71902 * dependency.c (gfc_check_dependency): Use dep_ref. Handle case if identical is true and two array element references differ. (gfc_dep_resovler): Move most of the code to dep_ref. (dep_ref): New function. * frontend-passes.c (realloc_string_callback): Name temporary variable "realloc_string". gcc/testsuite/ChangeLog: 2016-07-28 Renlin Li <renlin.li@arm.com> Revert 2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/71902 * gfortran.dg/dependency_47.f90: New test. From-SVN: r238815
Renlin Li committed -
gcc/ChangeLog: 2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/alpha/alpha.c (alpha_adjust_cost): Adjust. * config/arm/arm-protos.h (struct tune_params): Likewise. * config/arm/arm.c (xscale_sched_adjust_cost): Likewise. (cortex_a9_sched_adjust_cost): Likewise. (fa726te_sched_adjust_cost): Likewise. (arm_adjust_cost): Likewise. * config/bfin/bfin.c (bfin_adjust_cost): Likewise. * config/c6x/c6x.c (c6x_adjust_cost): Likewise. * config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise. * config/i386/i386.c (ix86_adjust_cost): Likewise. * config/ia64/ia64.c: Likewise. * config/m68k/m68k.c: Likewise. * config/mep/mep.c (mep_adjust_cost): Likewise. * config/microblaze/microblaze.c (microblaze_adjust_cost): * Likewise. * config/mips/mips.c (mips_adjust_cost): Likewise. * config/mn10300/mn10300.c (mn10300_adjust_sched_cost): * Likewise. * config/pa/pa.c (pa_adjust_cost): Likewise. * config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise. (rs6000_debug_adjust_cost): Likewise. * config/sh/sh.c (sh_adjust_cost): Likewise. * config/sparc/sparc.c (supersparc_adjust_cost): Likewise. (hypersparc_adjust_cost): Likewise. (sparc_adjust_cost): Likewise. * config/spu/spu.c (spu_sched_adjust_cost): Likewise. * config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise. * config/tilepro/tilepro.c (tilepro_sched_adjust_cost): * Likewise. * config/visium/visium.c (visium_adjust_cost): Likewise. * doc/tm.texi: Regenerate. * haifa-sched.c (dep_cost_1): Adjust. * target.def: Merge adjust_cost and adjust_cost_2. From-SVN: r238814
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * haifa-sched.c (add_to_speculative_block): Make twins a vector. From-SVN: r238813
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * store-motion.c (struct st_expr): Make pattern_regs a vector. (extract_mentioned_regs): Append to a vector instead of returning a rtx_expr_list. (st_expr_entry): Adjust. (free_st_expr_entry): Likewise. (store_ops_ok): Likewise. (store_killed_in_insn): Likewise. (find_moveable_store): Likewise. From-SVN: r238812
Trevor Saunders committed -
PR gcov-profile/68025 * tree-profile.c (tree_profiling): Respect no_profile_instrument_function attribute. * doc/extend.texi: Document no_profile_instrument_function attribute. PR gcov-profile/68025 * c-common.c (handle_no_profile_instrument_function_attribute): PR gcov-profile/68025 * gcc.dg/no_profile_instrument_function-attr-1.c: New test. From-SVN: r238811
Martin Liska committed -
From-SVN: r238810
Martin Liska committed -
* mark_spam.py: New file. From-SVN: r238809
Martin Liska committed -
* g++.dg/vect/pr70944.cc: New test. PR rtl-optimization/70944 * combine.c (make_compound_operation): Do not allow make_compound_operation for vector mode From-SVN: r238808
Martin Liska committed -
From-SVN: r238806
GCC Administrator committed
-
- 27 Jul, 2016 17 commits
-
-
gcc/testsuite/ChangeLog: 2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71994 * gcc.dg/torture/pr71994.c: New test. From-SVN: r238803
Kugan Vivekanandarajah committed -
gcc/testsuite/ChangeLog: 2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71994 * gcc.dg/torture/pr71994.c: New test. gcc/ChangeLog: 2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71994 * tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison before calling get_ops. From-SVN: r238802
Kugan Vivekanandarajah committed -
2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de> * defaults.h (LOG2_BITS_PER_UNIT): Move from here... * tree.h (LOG2_BITS_PER_UNIT): ...to here. (BITS_PER_UNIT_LOG): Remove. (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG. * expr.c (expand_assignment): Likewise. * stor-layout.c (initialize_sizetypes): Likewise. c-family: 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG. From-SVN: r238800
Bernd Edlinger committed -
vector.md (vec_extract<mode>): Change the calling signature of rs6000_expand_vector_extract so that the... 2016-07-27 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vector.md (vec_extract<mode>): Change the calling signature of rs6000_expand_vector_extract so that the element number is a RTX instead of a constant integer. * config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract): Likewise. * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise. (altivec_expand_vec_ext_builtin): Likewise. * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise. * config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the MFVSRLD instruction. From-SVN: r238799
Michael Meissner committed -
From-SVN: r238793
Jonathan Wakely committed -
For some reason I added make_location and some related functions to tree.h/c, rather than to input.h/c. Move them there, so we can use them without requiring tree, and add some selftest coverage. gcc/ChangeLog: * input.c (get_pure_location): Move here from tree.c. (make_location): Likewise. Add header comment. (selftest::test_accessing_ordinary_linemaps): Verify pure_location_p, make_location, get_location_from_adhoc_loc and get_range_from_loc. * input.h (get_pure_location): Move declaration here from tree.h. (get_finish): Likewise for inline function. (make_location): Likewise for declaration. * tree.c (get_pure_location): Move to input.c. (make_location): Likewise. * tree.h (get_pure_location): Move declaration to tree.h. (get_finish): Likewise for inline function. (make_location): Likewise for declaration. libcpp/ChangeLog: * include/line-map.h (source_location): Fix line numbers in comment. From-SVN: r238792
David Malcolm committed -
From-SVN: r238790
Segher Boessenkool committed -
2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR middle-end/71078 * match.pd (x / abs(x) -> copysign(1.0, x)): New pattern. testsuite/ * gcc.dg/tree-ssa/pr71078-1.c: New test-case. * gcc.dg/tree-ssa/pr71078-2.c: Likewise. * gcc.dg/tree-ssa/pr71078-3.c: Likewise. From-SVN: r238787
Prathamesh Kulkarni committed -
C++11 has a static_assert (COND, MESSAGE) which gives more readable error messages for STATIC_ASSERT than our current implementation. This patch makes us use it if __cplusplus >= 201103L There's also a provisional static_assert (COND) in C++1z, but presumably we should wait until that one is fully standardized before using it. gcc/ChangeLog: * system.h (STATIC_ASSERT): Use static_assert if building with C++11 onwards. From-SVN: r238786
David Malcolm committed -
* pt.c (get_partial_spec_bindings): Replace tparms and spec_args parameters with spec_tmpl. Call push_tinst_level. (most_specialized_partial_spec): Adjust. (more_specialized_partial_spec): Adjust. From-SVN: r238785
Jason Merrill committed -
2016-07-27 Richard Biener <rguenther@suse.de> * gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: Remove. From-SVN: r238784
Richard Biener committed -
re PR tree-optimization/72517 (436.cactusADM: More than 40% regression in O3 and Ofast on AMD bdver4 m/c.) 2016-07-27 Richard Biener <rguenther@suse.de> PR tree-optimization/72517 * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Revert change to not compute read-read dependences. From-SVN: r238783
Richard Biener committed -
2016-07-27 Richard Biener <rguenther@suse.de> * predict.c (set_even_probabilities): Make nedges unsigned. From-SVN: r238782
Richard Biener committed -
* gcc.dg/predict-13.c: New test. * gcc.dg/predict-14.c: New test. * predict.c (set_even_probabilities): Handle unlikely edges. (combine_predictions_for_bb): Likewise. From-SVN: r238781
Martin Liska committed -
gcc/testsuite/ * gcc.dg/torture/pr69352.c: Use __INTPTR_TYPE__ instead of including stdint.h. * gcc.dg/torture/pr71866.c: Use __UINTPTR_TYPE__ isntead of including stdint.h. From-SVN: r238780
Senthil Kumar Selvaraj committed -
re PR target/71869 (__builtin_isgreater raises an invalid exception on PPC64 using __float128 inputs.) [gcc] 2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71869 * config/rs6000/rs6000.c (rs6000_generate_compare): Rework __float128 support when we don't have hardware support, so that the IEEE built-in functions like isgreater, first call __unordkf3 to make sure neither operand is a NaN, and if both operands are ordered, do the normal comparison. [gcc/testsuite] 2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71869 * gcc.target/powerpc/float128-cmp.c: New test to make sure that IEEE built-in functions handle quiet and signalling NaNs correctly. From-SVN: r238779
Michael Meissner committed -
From-SVN: r238778
GCC Administrator committed
-
- 26 Jul, 2016 8 commits
-
-
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71862 * class.c: Remove assert. Iterate over component only if non-null. 2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71862 * gfortran.dg/pr71862.f90: New test. From-SVN: r238774
Steven G. Kargl committed -
gcc/testsuite/ChangeLog: * gcc.dg/atomic/pr71675.c: Replace the unsupported c11 target selector with dg-options. From-SVN: r238766
Martin Sebor committed -
2016-07-12 Nathan Sidwell <nathan@acm.org> * config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE when -mno-pic-data-is-text-relative is in effect, by default. * doc/invoke.texi (mpic-data-is-text-relative): Document new behavior and clarify. 2016-07-12 Nathan Sidwell <nathan@acm.org> * gcc.target/arm/data-rel-1.c: New. * gcc.target/arm/data-rel-2.c: New. * gcc.target/arm/data-rel-3.c: New. From-SVN: r238763
Nathan Sidwell committed -
gcc/ChangeLog: * tree-vrp.c (dump_asserts_for): Print loc->expr instead of name. (extract_code_and_val_from_cond_with_ops): Verify that name is either cond_op0 or cond_op1. From-SVN: r238762
Patrick Palka committed -
gcc/ChangeLog: PR tree-optimization/18046 * genmodes.c (emit_mode_size_inline): Emit an assert that verifies that mode is a valid array index. (emit_mode_nuinits_inline): Likewise. (emit_mode_inner_inline): Likewise. (emit_mode_unit_size_inline): Likewise. (emit_mode_unit_precision_inline): Likewise. * tree-vrp.c: Include params.h. (find_switch_asserts): Register edge assertions for the default label which correspond to the anti-ranges of each case label. * params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New. * doc/invoke.texi: Document it. gcc/testsuite/ChangeLog: PR tree-optimization/18046 * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Bump FSM count to 5. * gcc.dg/tree-ssa/vrp103.c: New test. * gcc.dg/tree-ssa/vrp104.c: New test. From-SVN: r238761
Patrick Palka committed -
From-SVN: r238760
William Schmidt committed -
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/pr63354.c: Require lp64 since -mprofile-kernel is not legal with -m32. From-SVN: r238759
Bill Schmidt committed -
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead and unnecessary call to gimple_bb. From-SVN: r238758
Bill Schmidt committed
-