aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-12-11typeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional.Paolo Carlini2-6/+5
2014-12-11 Paolo Carlini <paolo.carlini@oracle.com> * typeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional. From-SVN: r218629
2014-12-11do_iterator.f90: Remove bogus dg-warning.Manuel López-Ibáñez1-1/+0
gcc/testsuite/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> * gfortran.dg/do_iterator.f90: Remove bogus dg-warning. From-SVN: r218628
2014-12-11re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez26-544/+730
!GCC$ diagnostic (pragmas) and color) gcc/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * diagnostic.c (diagnostic_action_after_output): Make it extern. Take diagnostic_t argument instead of diagnostic_info. Count also DK_WERROR towards max_errors. (diagnostic_report_diagnostic): Update call according to the above. (error_recursion): Likewise. * diagnostic.h (diagnostic_action_after_output): Declare. * pretty-print.c (pp_formatted_text_data): Delete. (pp_append_r): Call output_buffer_append_r. (pp_formatted_text): Call output_buffer_formatted_text. (pp_last_position_in_text): Call output_buffer_last_position_in_text. * pretty-print.h (output_buffer_formatted_text): New. (output_buffer_append_r): New. (output_buffer_last_position_in_text): New. gcc/fortran/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (pp_error_buffer): New static variable. (pp_warning_buffer): Make it a pointer. (gfc_output_buffer_empty_p): New. (gfc_error_init_1): Call gfc_buffer_error. (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the buffered_p flag. (gfc_clear_warning): Likewise. (gfc_warning_check): Call gfc_clear_warning. Only check the new pp_warning_buffer if the old warning_buffer was empty. Call diagnostic_action_after_output. (gfc_error_1): Renamed from gfc_error. (gfc_error): New. (gfc_clear_error): Clear also pp_error_buffer. (gfc_error_flag_test): Check also pp_error_buffer. (gfc_error_check): Likewise. Only check the new pp_error_buffer if the old error_buffer was empty. (gfc_move_output_buffer_from_to): New. (gfc_push_error): Use it here. Take also an output_buffer as argument. (gfc_pop_error): Likewise. (gfc_free_error): Likewise. (gfc_diagnostics_init): Use XNEW and placement-new to init pp_error_buffer and pp_warning_buffer. Set flush_p to false for both pp_warning_buffer and pp_error_buffer. * Update gfc_push_error, gfc_pop_error and gfc_free_error calls according to the above changes. * Use gfc_error_1 for all gfc_error calls that use multiple locations. * Use %qs instead of '%s' for many gfc_error calls. From-SVN: r218627
2014-12-11[AArch64] Fix usage of +no in error message for aarch64_parse_extensionKyrylo Tkachov2-1/+7
* config/aarch64/aarch64.c (aarch64_parse_extension): Update error message to say +no only when removing extension. From-SVN: r218626
2014-12-11gen-mul-tables.cc: Add insn-codes.h to include list for generator file.Andrew MacLeod4-0/+17
2014-12-11 Andrew MacLeod <amacleod@redhat.com> * config/tilepro/gen-mul-tables.cc: Add insn-codes.h to include list for generator file. Add comment indicating it is a generated file. * config/tilepro/mul-tables.c: Update generated file. * config/tilegx/mul-tables.c: Likewise. From-SVN: r218624
2014-12-11combine.c (try_combine): Do not allow combining a PARALLEL I2 with a ↵Segher Boessenkool2-0/+12
register move I3 if that I2 is an asm. * combine.c (try_combine): Do not allow combining a PARALLEL I2 with a register move I3 if that I2 is an asm. From-SVN: r218623
2014-12-11[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32Kyrylo Tkachov9-16/+95
* config/arm/arm_neon.h (vrndqn_f32): Rename to... (vrndnq_f32): ... this. (vrndqa_f32): Rename to... (vrndaq_f32): ... this. (vrndqp_f32): Rename to... (vrndpq_f32): ... this. (vrndqm_f32): Rename to... (vrndmq_f32): ... this. (vrndx_f32): New intrinsic. (vrndxq_f32): Likewise. * config/arm/arm_neon.h (vrndqn_f32): Rename to... (vrndnq_f32): ... this. (vrndqa_f32): Rename to... (vrndaq_f32): ... this. (vrndqp_f32): Rename to... (vrndpq_f32): ... this. (vrndqm_f32): Rename to... (vrndmq_f32): ... this. (vrndx_f32): New intrinsic. (vrndxq_f32): Likewise. From-SVN: r218622
2014-12-11fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.Marek Polacek7-20/+87
* fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check. (extract_muldiv_1): Likewise. (maybe_canonicalize_comparison_1): Likewise. (fold_comparison): Likewise. (tree_binary_nonnegative_warnv_p): Likewise. (tree_binary_nonzero_warnv_p): Likewise. * gimple-ssa-strength-reduction.c (legal_cast_p_1): Likewise. * tree-scalar-evolution.c (simple_iv): Likewise. (scev_const_prop): Likewise. * tree-ssa-loop-niter.c (expand_simple_operations): Likewise. * tree-vect-generic.c (expand_vector_operation): Likewise. * tree.h (ANY_INTEGRAL_TYPE_CHECK): Define. (ANY_INTEGRAL_TYPE_P): Define. (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS): Add ANY_INTEGRAL_TYPE_CHECK. (any_integral_type_check): New function. From-SVN: r218621
2014-12-11[testsuite][1/2] Move ${tool}_check_unsupported_p into separate fileKyrylo Tkachov9-49/+67
* lib/target-utils.exp: New file. * lib/gcc-defs.exp (${tool}_check_unsupported_p): Delete. Include target-utils.exp. * lib/objc.exp: Likewise. * lib/mike-gcc.exp: Load target-utils.exp. * lib/mike-g++.exp: Likewise. * lib/go-torture.exp: Likewise. * lib/fortran-torture.exp: Likewise. * lib/c-torture.exp: Likewise. From-SVN: r218620
2014-12-11diagnostic.c (get_terminal_width): Renamed fromTobias Burnus7-52/+50
2014-12-11 Tobias Burnus <burnus@net-b.de> Manuel López-Ibáñez <manu@gcc.gnu.org> gcc/ * diagnostic.c (get_terminal_width): Renamed from * getenv_columns, removed static, and additionally use ioctl to get width. (diagnostic_set_caret_max_width): Update call. * diagnostic.h (get_terminal_width): Add prototype. * opts.c (print_specific_help): Use it for x_help_columns. * doc/invoke.texi (fdiagnostics-show-caret): Document how the width is set. gcc/fortran/ * error.c (gfc_get_terminal_width): Renamed from get_terminal_width and use same-named common function. (gfc_error_init_1): Update call. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r218619
2014-12-11Minor interface cleanups of libgccjitUlrich Drepper6-45/+79
Minor interface cleanups of libgccjit * jit/jit-playback.c (convert_to_dso): Use auto_vec instead of automatic array to build up command line. * jit/jit-recording.c (recording::context::set_str_option): Make copy of the string. (recording::context::~context): Free string options. * jit/jit-recording.h (recording::context): Adjust type of m_str_options member. * jit/libgccjit.h: Adjust comment about gcc_jit_context_set_str_option parameter begin used after the call. Update comment now that all interfaces are copy strings if necessary. * jit/libgccjit++.h (gccjit::context): Add set_str_option member function. From-SVN: r218617
2014-12-11Daily bump.GCC Administrator1-1/+1
From-SVN: r218616
2014-12-10gdbhooks.py (class DWDieRefPrinter): New class.Aldy Hernandez2-0/+27
* gdbhooks.py (class DWDieRefPrinter): New class. (build_pretty_printer): Register dw_die_ref's. From-SVN: r218612
2014-12-11Add march=knl.Ilya Tocar10-27/+83
gcc/ * config.gcc: Support "knl". * config/i386/driver-i386.c (host_detect_local_cpu): Detect "knl". * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_KNL. * config/i386/i386.c (m_KNL): Define. (processor_target_table): Add "knl". (PTA_KNL): Define. (ix86_issue_rate): Add PROCESSOR_KNL. (ix86_adjust_cost): Ditto. (ia32_multipass_dfa_lookahead): Ditto. (get_builtin_code_for_version): Handle "knl". (fold_builtin_cpu): Ditto. * config/i386/i386.h (TARGET_KNL): Define. (processor_type): Add PROCESSOR_KNL. * config/i386/i386.md (attr "cpu"): Add knl. * config/i386/x86-tune.def: Add m_KNL. gcc/testsuite/ * gcc.target/i386/funcspec-5.c: Test avx512f and knl. From-SVN: r218610
2014-12-10invoke.texi: (-devirtualize-at-ltrans): Document.Jan Hubicka4-5/+30
* doc/invoke.texi: (-devirtualize-at-ltrans): Document. * lto-cgraph.c (lto_output_varpool_node): Mark initializer as removed when it is not streamed to the given ltrans. (compute_ltrans_boundary): Make code adding all polymorphic call targets conditional with !flag_wpa || flag_ltrans_devirtualize. * common.opt (fdevirtualize-at-ltrans): New flag. From-SVN: r218609
2014-12-10Force output of vars with "omp declare target" attribute in gcc/varpool.cIlya Verbin2-0/+6
gcc/ * varpool.c (varpool_node::get_create): Force output of vars with "omp declare target" attribute. libgomp/ * testsuite/libgomp.c/target-9.c: New test. From-SVN: r218607
2014-12-10re PR go/61316 (gccgo: spurious "incompatible types in assignment" error ↵Ian Lance Taylor3-1/+26
[GoSmith]) PR go/61316 compiler: Don't lower multi-valued arguments into temporaries. From-SVN: r218606
2014-12-10real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.Marc Glisse16-55/+96
2014-12-10 Marc Glisse <marc.glisse@inria.fr> * real.h (HONOR_NANS): Replace macro with 3 overloaded declarations. * real.c: Include rtl.h and options.h. (HONOR_NANS): Define three overloads. * builtins.c (fold_builtin_classify, fold_builtin_unordered_cmp): Simplify argument of HONOR_NANS. * fold-const.c (combine_comparisons, fold_truth_not_expr, fold_cond_expr_with_comparison, merge_truthop_with_opposite_arm, fold_comparison, fold_binary_loc): Likewise. * ifcvt.c (noce_try_move, noce_try_minmax): Likewise. * ipa-inline-analysis.c (add_clause, set_cond_stmt_execution_predicate): Likewise. * match.pd: Likewise. * rtlanal.c (may_trap_p_1): Likewise. * simplify-rtx.c (simplify_const_relational_operation): Likewise. * tree-if-conv.c (parse_predicate): Likewise. * tree-ssa-ccp.c (valid_lattice_transition): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * tree-ssa-phiopt.c (minmax_replacement, neg_replacement): Likewise. * tree-ssa-reassoc.c (eliminate_using_constants): Likewise. * tree-ssa-tail-merge.c (gimple_equal_p): Likewise. From-SVN: r218605
2014-12-10re PR tree-optimization/62021 (ICE in verify_gimple_assign_single)Jakub Jelinek4-10/+59
PR tree-optimization/62021 * omp-low.c (simd_clone_adjust_return_type): Use vector of pointer_sized_int_node types instead vector of pointer types. (simd_clone_adjust_argument_types): Likewise. * gcc.dg/vect/pr62021.c: New test. From-SVN: r218603
2014-12-10re PR target/64252 (expand_vec_perm_pblendv caused miscompilation)Jakub Jelinek6-0/+128
PR target/64252 * config/i386/i386.c (expand_vec_perm_pblendv): If not testing_p, set dcopy.target to a new pseudo. * gcc.dg/vect/pr64252.c: New test. * gcc.dg/pr64252.c: New test. * gcc.target/i386/avx2-pr64252.c: New test. Co-Authored-By: Evgeny Stupachenko <evstupac@gmail.com> From-SVN: r218602
2014-12-10chkp-privatize_0.c: Remove unneeded selector from target check.Ilya Enkovich2-1/+6
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector from target check. From-SVN: r218601
2014-12-10pr64127.C: Fix.Paolo Carlini1-0/+4
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp/pr64127.C: Fix. From-SVN: r218600
2014-12-10pr64127.C: Fix.Paolo Carlini1-7/+2
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp/pr64127.C: Fix. From-SVN: r218599
2014-12-10* config/rs6000/rs6000.md (*add<mode>3): Remove condition.Segher Boessenkool2-1/+5
From-SVN: r218598
2014-12-1040x.md (ppc403-compare): Remove "compare".Segher Boessenkool25-48/+65
* config/rs6000/40x.md (ppc403-compare): Remove "compare". config/rs6000/440.md (ppc440-compare): Remove "compare". config/rs6000/476.md (ppc476-compare): Remove "compare". config/rs6000/601.md (ppc601-compare): Remove "compare". config/rs6000/603.md (ppc603-compare): Remove "compare". config/rs6000/6xx.md (ppc604-compare): Remove "compare". config/rs6000/7450.md (ppc7450-compare): Remove "compare". config/rs6000/7xx.md (ppc750-compare): Remove "compare". config/rs6000/8540.md (ppc8540_su): Remove "compare". config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove "compare". config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare". config/rs6000/e500mc.md (e500mc_su): Remove "compare". config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare". config/rs6000/e5500.md (e5500_sfx2): Remove "compare". config/rs6000/e6500.md (e6500_sfx2): Remove "compare". config/rs6000/mpc.md (mpccore-compare): Remove "compare". config/rs6000/power4.md (power4-compare): Remove "compare". config/rs6000/power5.md (power5-compare): Remove "compare". config/rs6000/power6.md (power6-compare): Remove "compare". config/rs6000/power7.md (power7-compare): Remove "compare". config/rs6000/power8.md (power8-compare): Remove "compare". Update comment. config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove (three times). (is_cracked_insn): Remove TYPE_COMPARE case. (insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice). config/rs6000/rs6000.md (type): Remove "compare". (cell_micro): Remove "compare". config/rs6000/rs64.md (rs64a-compare): Remove "compare". From-SVN: r218597
2014-12-10rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".Segher Boessenkool2-2/+7
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2): Change type from "compare" to "two". From-SVN: r218596
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool5-1181/+424
PR target/64180 * config/rs6000/predicates.md (unsigned_comparison_operator): New. (signed_comparison_operator): New. * config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare. * config/rs6000/rs6000.c (rs6000_emit_eqne): New function. (rs6000_emit_sCOND): Remove ISEL test (move it to the expander). * config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode add to addc,adde directly, if !TARGET_POWERPC64. (sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly, if !TARGET_POWERPC64. (neg<mode>2): Delete expander. (*neg<mode>2): Rename to "neg<mode>2". (addti3, subti3): Delete. (addti3, subti3): New expanders. (*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete. (cstore<mode>4_unsigned): New expander. (cstore<mode>4): Allow GPR as output (not just SI). Rewrite. (cstore<mode>4 for FP): Remove superfluous quotes. (*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter, *compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter, *neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>, compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>, *leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>, *and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>, *plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>, *geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>, *and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare, *plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare, *neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters): Delete. (eq<mode>3, ne<mode>3): New. (*neg_eq_<mode>, *neg_ne_<mode>): New. (*plus_eq_<mode>, *plus_ne_<mode>): New. (*minus_eq_<mode>, *minus_ne_<mode>): New. From-SVN: r218595
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool3-0/+228
PR target/64180 * config/rs6000/predicates.md (adde_operand): New. * config/rs6000/rs6000.md (add<mode>3_carry): New. (*add<mode>3_imm_carry_pos): New. (*add<mode>3_imm_carry_0): New. (*add<mode>3_imm_carry_m1): New. (*add<mode>3_imm_carry_neg): New. (add<mode>3_carry_in): New. (*add<mode>3_carry_in_internal): New. (add<mode>3_carry_in_0): New. (add<mode>3_carry_in_m1): New. (subf<mode>3_carry): New. (*subf<mode>3_imm_carry_0): New. (*subf<mode>3_imm_carry_m1): New. (subf<mode>3_carry_in): New. (*subf<mode>3_carry_in_internal): New. (subf<mode>3_carry_in_0): New. (subf<mode>3_carry_in_m1): New. (subf<mode>3_carry_in_xx): New. From-SVN: r218594
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool2-45/+84
PR target/64180 * config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to "*add<mode>3". (*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters): Delete. (*add<mode>3_dot, *add<mode>3_dot2): New. (*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New. From-SVN: r218593
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool2-6/+9
PR target/64180 * config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic alternative. From-SVN: r218592
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool2-22/+28
PR target/64180 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, *ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives to "b". Increase length. (splitters for these): Split to cmp+addi instead of addic. From-SVN: r218591
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool4-30/+35
PR target/64180 * config/rs6000/darwin.md (macho_low_si): Remove "r" alternative. (macho_low_di): Ditto. * config/rs6000/rs6000.md (*largetoc_low): Ditto. (tocref<mode>): Ditto. (elf_low): Ditto. * config/rs6000/spe.md (mov_si<mode>_e500_subreg0_elf_low_be): Ditto. (mov_si<mode>_e500_subreg0_elf_low_le): Ditto. (mov_si<mode>_e500_subreg4_elf_low_be): Ditto. Reformat condition. (mov_si<mode>_e500_subreg4_elf_low_le): Ditto. From-SVN: r218590
2014-12-10re PR target/64180 (PowerPC carry bit improvements)Segher Boessenkool2-0/+22
PR target/64180 * config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define. (rs6000_md_asm_clobbers): New function. From-SVN: r218589
2014-12-10Document libgccjit++.hDavid Malcolm25-35/+10164
gcc/jit/ChangeLog: * docs/cp/index.rst: New file. * docs/cp/intro/index.rst: New file. * docs/cp/intro/tutorial01.rst: New file. * docs/cp/intro/tutorial02.rst: New file. * docs/cp/intro/tutorial03.rst: New file. * docs/cp/intro/tutorial04.rst: New file. * docs/cp/topics/contexts.rst: New file. * docs/cp/topics/expressions.rst: New file. * docs/cp/topics/functions.rst: New file. * docs/cp/topics/index.rst: New file. * docs/cp/topics/locations.rst: New file. * docs/cp/topics/objects.rst: New file. * docs/cp/topics/results.rst: New file. * docs/cp/topics/types.rst: New file. * docs/examples/tut01-hello-world.cc: New file. * docs/examples/tut02-square.c: Fix missing newline in output. * docs/examples/tut02-square.cc: New file. * docs/examples/tut03-sum-of-squares.cc: New file. * docs/examples/tut04-toyvm/toyvm.cc: New file. * docs/index.rst: Move summary to above the table of contents. Add text about the C vs C++ APIs. * docs/topics/contexts.rst: Fix a typo. * docs/_build/texinfo/libgccjit.texi: Regenerate. * docs/_build/texinfo/factorial1.png: New file. * docs/_build/texinfo/sum-of-squares1.png: New file. From-SVN: r218588
2014-12-10re PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump ↵Richard Biener2-2/+7
loop2_unroll) 2014-12-10 Richard Biener <rguenther@suse.de> PR testsuite/64048 * gcc.dg/tree-prof/peel-1.c: Update dump scanning. From-SVN: r218585
2014-12-10re PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM)Bernd Edlinger4-0/+156
2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de> PR fortran/60718 * trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing violation when passing a class object to a formal parameter which has different pointer or allocatable attributes. testsuite: 2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de> PR fortran/60718 * gfortran.dg/class_alias.f90: New. From-SVN: r218584
2014-12-10forwprop-29.c: Add -fno-ipa-icf.Richard Biener2-1/+5
2014-12-10 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf. From-SVN: r218583
2014-12-10aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed ↵Felix Yang2-1/+5
function. * config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function. From-SVN: r218582
2014-12-102014-12-10 Richard Biener <rguenther@suse.de>Richard Biener2-0/+18
* tree-ssa-loop-im.c (move_computations_dom_walker::before_dom_children): Clear SSA_NAME_RANGE_INFO on moved stmts. From-SVN: r218580
2014-12-10New sreal implementation which uses int64_t as m_sig.Martin Liska4-126/+81
* sreal.c (sreal::shift_right): New implementation for int64_t as m_sig. (sreal::normalize): Likewise. (sreal::to_int): Likewise. (sreal::operator+): Likewise. (sreal::operator-): Likewise. (sreal::operator*): Likewise. (sreal::operator/): Likewise. (sreal::signedless_minus): Removed. (sreal::signedless_plus): Removed. (sreal::debug): const keyword is added. * sreal.h (sreal::operator<): New implementation for int64_t as m_sig. * ipa-inline.c (recursive_inlining): LONG_MIN is replaced with sreal::min (). From-SVN: r218579
2014-12-10re PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb())Martin Liska5-15/+60
PR ipa/63909 * gimple-iterator.h (gsi_start_bb_nondebug): New function. * ipa-icf-gimple.c (func_checker::compare_bb): Correct iteration replaces loop based on precomputed number of non-debug statements. * gcc.dg/ipa/pr63909.c: New test. From-SVN: r218578
2014-12-10linux.c (linux_has_ifunc_p): Remove.Alexander Ivchenko3-12/+5
gcc/ * config/linux.c (linux_has_ifunc_p): Remove. * config/linux.h (TARGET_HAS_IFUNC_P): Use default version. From-SVN: r218577
2014-12-10check_GNU_style.sh "80 characters exceeded" error fixMantas Mikaitis1-0/+5
2014-12-10 Mantas Mikaitis <mantas.mikaitis@arm.com> * contrib/check_GNU_style.sh (col): Got rid of cut operation from the pipe chain and instead added cut inside awk command. From-SVN: r218575
2014-12-10re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have ↵Kai Tietz2-0/+12
template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980) PR c++/64127 * g++.dg/cpp/pr64127.C: New file. From-SVN: r218574
2014-12-10re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have ↵Kai Tietz2-0/+5
template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980) PR c++/64127 * parser.c (cp_parser_diagnose_invalid_type_name): Check id for being an identifier before accessing it. From-SVN: r218573
2014-12-10re PR c++/64100 (A static assert using the the current class in a noexcept ↵Kai Tietz2-0/+14
test leads to a segfault) PR c++/64100 * g++.dg/template/pr64100.C: New file. From-SVN: r218572
2014-12-10re PR c++/64100 (A static assert using the the current class in a noexcept ↵Kai Tietz2-0/+11
test leads to a segfault) PR c++/64100 * typeck.c (lookup_destructor): Handle incomplete type. From-SVN: r218571
2014-12-10ChangeLog fix for r218307Matthew Fortune1-0/+5
Remove entry from ChangeLog. Insert entry into appropriate location of gcc/ChangeLog. From-SVN: r218570
2014-12-10re PR tree-optimization/64191 (indirect clobbers messes up dead code ↵Richard Biener4-2/+58
elimination in loop calling dtor) 2014-12-10 Richard Biener <rguenther@suse.de> PR tree-optimization/64191 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark clobbers as necessary. (eliminate_unnecessary_stmts): Keep clobbers live if we can. * g++.dg/pr64191.C: Make sure we can DCE empty loops with indirect clobbers. From-SVN: r218566
2014-12-10re PR target/63594 (ICE: in ix86_vector_duplicate_value, at ↵Jakub Jelinek5-127/+95
config/i386/i386.c:39831 with -mavx512f) PR target/63594 * config/i386/sse.md (vec_dupv4sf): Move after <mask_codefor><avx512>_vec_dup_gpr<mode><mask_name> pattern. (*vec_dupv4si, *vec_dupv2di): Likewise. (<mask_codefor><avx512>_vec_dup_mem<mode><mask_name>): Merge into ... (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): ... this pattern. (*vec_dup<mode> AVX2_VEC_DUP_MODE splitter): Disable for TARGET_AVX512VL (for QI/HI scalar modes only if TARGET_AVX512BW is set too). * config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_PBROADCASTQ256_MEM_MASK, IX86_BUILTIN_PBROADCASTQ128_MEM_MASK and IX86_BUILTIN_PBROADCASTQ512_MEM. (bdesc_args): Use __builtin_ia32_pbroadcastq512_gpr_mask, __builtin_ia32_pbroadcastq256_gpr_mask and __builtin_ia32_pbroadcastq128_gpr_mask instead of *_mem_mask regardless of OPTION_MASK_ISA_64BIT. * config/i386/avx512fintrin.h (_mm512_set1_epi64, _mm512_mask_set1_epi64, _mm512_maskz_set1_epi64): Use *_gpr_mask builtins regardless of whether TARGET_64BIT is defined or not. * config/i386/avx512vlintrin.h (_mm256_mask_set1_epi64, _mm256_maskz_set1_epi64, _mm_mask_set1_epi64, _mm_maskz_set1_epi64): Likewise. From-SVN: r218565