aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-12-11nvptx.h (RETURN_ADDR_REGNO): Delete.Nathan Sidwell3-41/+53
* config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete. (OUTGOING_ARG_POINTER_REGNUM): Delete. (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. (REGISTER_NAMES): Name static chain regs. * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge ifs. (nvptx_incoming_arg): Merge ifs. (nvptx_function_arg_boundary): Reimplement to avoid mixing units. (nvptx_function_value): Tail call nvptx_libcall_value. (nvptx_pass_by_reference): Add ARG_UNUSED. (nvptx_static_chain): Use conditional op. (nvptx_handle_kernel_attribute): Use VOID_TYPE_P. From-SVN: r231572
2015-12-11re PR target/26427 (with -fsection-anchors with zero sized structs)Jan-Benedict Glaw2-5/+15
2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de> Dominique d'Humieres <dominiq@lps.ens.fr> PR target/26427 PR target/33120 PR testsuite/35710 * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and trailing whitespace. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r231571
2015-12-11* gcc.dg/pr59605-1.c: Reduce iterations for nvptx.Nathan Sidwell2-1/+5
From-SVN: r231570
2015-12-11avoid alignment of static variables affecting stack'sJan Beulich4-0/+38
Function (or more narrow) scope static variables (as well as others not placed on the stack) should also not have any effect on the stack alignment. I noticed the issue first with Linux'es dynamic_pr_debug() construct using an 8-byte aligned sub-file-scope local variable. According to my checking bad behavior started with 4.6.x (4.5.3 was still okay), but generated code got quite a bit worse as of 4.9.0. gcc/ 2015-12-11 Jan Beulich <jbeulich@suse.com> * cfgexpand.c (expand_one_var): Exit early for static and external variables when adjusting stack alignment related. gcc/testsuite/ 2015-12-11 Jan Beulich <jbeulich@suse.com> * gcc.c-torture/execute/stkalign.c: New. From-SVN: r231569
2015-12-11* ChangeLog: Remove confusign PR marker.Uros Bizjak1-1/+0
From-SVN: r231567
2015-12-11S/390: Wide int support.Dominik Vogt4-14/+37
gcc/ChangeLog * config/s390/s390.c (s390_rtx_costs) (s390_cannot_force_const_mem, legitimate_pic_operand_p) (s390_preferred_reload_class, s390_reload_symref_address) (legitimate_reload_constant_p, print_operand): Wide int support. * config/s390/predicates.md ("const0_operand", "constm1_operand") ("consttable_operand"): Likewise. ("larl_operand"): Add a comment. * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int support. From-SVN: r231566
2015-12-11Makefile.am (libmpx_la_LDFLAGS): Add -version-info option.Tsvetkova Alexandra3-0/+162
libmpx/ 2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com> * mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info option. * libmpxwrap/Makefile.am (libmpx_la_LDFLAGS): Likewise and fix include path. * libmpx/Makefile.in: Regenerate. * mpxrt/Makefile.in: Regenerate. * libmpxwrap/Makefile.in: Regenerate. * mpxrt/libtool-version: New version. * libmpxwrap/libtool-version: Likewise. * mpxrt/libmpx.map: Add new version and a new symbol. * mpxrt/mpxrt.h: New file. * mpxrt/mpxrt.c (NUM_L1_BITS): Moved to mpxrt.h. (REG_IP_IDX): Moved to mpxrt.h. (REX_PREFIX): Moved to mpxrt.h. (XSAVE_OFFSET_IN_FPMEM): Moved to mpxrt.h. (MPX_L1_SIZE): Moved to mpxrt.h. * libmpxwrap/mpx_wrappers.c (mpx_pointer): New type. (mpx_bt_entry): New type. (alloc_bt): New function. (get_bt): New function. (copy_if_possible): New function. (copy_if_possible_from_end): New function. (move_bounds): New function. (__mpx_wrapper_memmove): Use move_bounds to copy bounds. gcc/testsuite/ 2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com> * gcc.target/i386/mpx/memmove-1.c: New test. * gcc.target/i386/mpx/memmove-2.c: New test. From-SVN: r231565
2015-12-11nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.Nathan Sidwell6-20/+46
gcc/ * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define. * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for unrecognizable RTX. gcc/testsuite/ * gcc.target/nvptx/ary-init.c: Repair dg_final syntax. * gcc.target/nvptx/decl-init.c: Likewise. Add TI case. From-SVN: r231564
2015-12-11Remove unpaired TERMINATE_PASS_LIST in passes.defTom de Vries2-1/+4
2015-12-11 Tom de Vries <tom@codesourcery.com> * passes.def: Remove unpaired TERMINATE_PASS_LIST. From-SVN: r231561
2015-12-11hash-map.h (hash_map::hash_map): Gather statistics only when ↵Michael Matz4-5/+18
GATHER_STATISTICS is true. * hash-map.h (hash_map::hash_map): Gather statistics only when GATHER_STATISTICS is true. * hash-set.h (hash_set::hash_set): Ditto. * hash-table.h (hash_table::hash_table): Ditto. (hash_table::create_ggc): Ditto. From-SVN: r231560
2015-12-11Add an asssert and testcase for PR 68064Martin Jambor4-0/+47
2015-12-11 Martin Jambor <mjambor@suse.cz> PR ipa/68064 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking assert that align is nonzero. testsuite/ * g++.dg/torture/pr68064.C: New test. From-SVN: r231559
2015-12-11S/390: Fix warnings in "*setmem_long..." patterns.Dominik Vogt5-11/+115
gcc/ChangeLog * config/s390/s390.c (s390_expand_setmem): Use new expanders. * config/s390/s390.md ("*setmem_long") ("*setmem_long_and", "*setmem_long_31z"): Fix warnings. ("*setmem_long_and_31z"): New define_insn. ("setmem_long_<P:mode>"): New expanders. * (<modesize>): New mode attribute gcc/testsuite/ChangeLog * gcc.target/s390/md/setmem_long-1.c: New test. From-SVN: r231558
2015-12-11S/390: Fix warnings in "*setmem_long..." patterns.Dominik Vogt5-9/+71
gcc/ChangeLog * config/s390/s390.md ("movstr", "*movstr"): Fix warning. ("movstr<P:mode>"): New indirect expanders used by "movstr". gcc/testsuite/ChangeLog * gcc.target/s390/md/movstr-1.c: New test. * gcc.target/s390/s390.exp: Add subdir md. Do not run hotpatch tests twice. From-SVN: r231557
2015-12-11re PR target/67484 (options-save.c sanitizer asan detects freed storage ↵Martin Liska2-2/+12
referenced heap-use-after-free) Fix PR target/67484 Uros Bizjak <ubizjak@gmail.com> PR target/67484 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and opts->x_ix86_tune_string. From-SVN: r231556
2015-12-11lto-streamer.h (lto_simple_header_with_strings): Remove main_size field ↵Richard Biener2-3/+5
already in lto_simple_header. 2015-12-11 Richard Biener <rguenther@suse.de> * lto-streamer.h (lto_simple_header_with_strings): Remove main_size field already in lto_simple_header. From-SVN: r231555
2015-12-11tree-vect-stmts.c (vectorizable_mask_load_store): Check mask vectype.Ilya Enkovich2-1/+6
gcc/ * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask vectype. From-SVN: r231554
2015-12-11i386.c (ix86_get_mask_mode): Use scalar modes for 32 and 16 byte boolean ↵Ilya Enkovich4-1/+27
vectors when possible. gcc/ * config/i386/i386.c (ix86_get_mask_mode): Use scalar modes for 32 and 16 byte boolean vectors when possible. gcc/testsuite/ * gcc.dg/vect/vect-32-chars.c: New test. From-SVN: r231553
2015-12-11Fix shrink-wrapping bug (PR67778, PR68634)Segher Boessenkool2-5/+43
After shrink-wrapping has found the "tightest fit" for where to place the prologue, it tries move it earlier (so that frame saves are run earlier) -- but without copying any more basic blocks. Unfortunately a candidate block we select can be inside a loop, and we will still allow it (because the loop always exits via our previously chosen block). We can do that just fine if we make a duplicate of the block, but we do not want to here. So we need to detect this situation. We can place the prologue at a previous block PRE only if PRE dominates every block reachable from it, because then we will never need to duplicate that block (it will always be executed with prologue). 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> PR rtl-optimization/67778 PR rtl-optimization/68634 * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want to put the prologue earlier. When determining if an earlier block is suitable, make sure it dominates every block reachable from it. From-SVN: r231552
2015-12-11Daily bump.GCC Administrator1-1/+1
From-SVN: r231551
2015-12-10re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)Jan Hubicka4-6/+90
PR ipa/61886 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different values of error and warning attributes. * gcc.dg/lto/pr61886_0.c: New testcase From-SVN: r231548
2015-12-11rtlanal: Fix bits/bytes confusion in set_noop_p (PR68814)Segher Boessenkool2-1/+7
The meaning of ZERO_EXTRACT depends on BITS_BIG_ENDIAN, not on BYTES_BIG_ENDIAN. This caused PR68814. 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> PR rtl-optimization/68814 * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of BYTES_BIG_ENDIAN. From-SVN: r231547
2015-12-10nvptx.c (nvptx_function_arg, [...]): Move earlier.Nathan Sidwell2-229/+250
* config/nvptx/nvptx.c (nvptx_function_arg, nvptx_function_incoming_arg, nvptx_function_arg_advance, nvptx_strict_argument_naming, nvptx_function_arg_boundary, nvptx_libcall_value, nvptx_function_value, nvptx_function_value_regno_p, nvptx_pass_by_reference, nvptx_return_in_memory, nvptx_promote_function_mode, nvptx_static_chain): Move earlier. (write_one_arg): Break out as helper fn for ... (write_arg): ... this new function. Adjust all callers. From-SVN: r231543
2015-12-10* lto-streamer-out.c (wrap_refs): Only wrap public decls.Jan Hubicka2-1/+6
From-SVN: r231541
2015-12-10ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.Jan Hubicka4-13/+36
* ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p. (good_cloning_opportunity_p): Likewise. (gather_context_independent_values): Do not return true when polymorphic call context is known or when we have known aggregate value of unused parameter. (estimate_local_effects): Try to create clone for all context when either some params are substituted or devirtualization is possible or some params can be removed; use local flag instead of node->will_be_removed_from_program_if_no_direct_calls_p. (identify_dead_nodes): Likewise. * gcc.c-torture/execute/20010122-1.c: Disable cloning. From-SVN: r231540
2015-12-10Add -Wmisleading-indentation to -WallDavid Malcolm4-3/+15
gcc/c-family/ChangeLog: * c.opt (Wmisleading-indentation): Add to -Wall for C and C++. gcc/ChangeLog: * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the list. (-Wmisleading-indentation): Update documentation to reflect being enabled by -Wall in C/C++. From-SVN: r231539
2015-12-10re PR rtl-optimization/68691 (ICE at -O3 with -g enabled on x86_64-linux-gnu ↵Vladimir Makarov4-0/+77
in alter_subregs, at lra-spills.c:610 (in 32-bit mode)) 2015-12-10 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/68691 * lra-spills.c (lra_final_code_change): Check pseudo occurrence number in non-debug insns and remove debug insns if necessary. 2015-12-10 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/68691 * gcc.target/i386/pr68691.c: New. From-SVN: r231538
2015-12-10invoke.texi (Warning Options): Update -Wall options.Martin Sebor2-11/+27
* invoke.texi (Warning Options): Update -Wall options. Clarify when some -Wextra options are enabled. Add -Wplacement-new example. From-SVN: r231533
2015-12-10re PR tree-optimization/68619 (error: loop with header 6 not in loop tree)Uros Bizjak2-4/+12
PR tree-optimization/68619 * graphite-scop-detection.c (gather_bbs::before_dom_children): Change return type to an edge. Always return NULL. From-SVN: r231532
2015-12-10testsuite/lib/multline.exp: show test name and line numbersDavid Malcolm2-7/+30
gcc/testsuite/ChangeLog: * lib/multiline.exp (_multiline_expected_outputs): Update comment. (dg-end-multiline-output): Capture line numbers within _multiline_expected_outputs. (handle-multiline-outputs): Access global $testname_with_flags and add it as a prefix to pass/fail results. Extract line numbers from $_multiline_expected_outputs and print them within pass/fail results, replacing the printing of $index. Consolidate the string prefix shared between pass/fail into a new local ($title). From-SVN: r231530
2015-12-10re PR tree-optimization/68619 (error: loop with header 6 not in loop tree)Jeff Law23-136/+740
2015-12-10 Jeff Law <law@redhat.com> PR tree-optimization/68619 * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate return value from optimize_stmt. (dom_opt_dom_walker): Add new argument to dom_walker constructor. (pass_dominator:execute): If a block has an unreachable edge, remove all jump threads through any successor of the affected block. (record_equivalences_from_phis): Ignore alternative if the edge does not have EDGE_EXECUTABLE set. (single_incoming_edge_ignoring_loop_edges): Similarly. (optimize_stmt): If a gimple_code has a compile-time constant condition, return the edge taken for that constant value. Also change the condition to true/false as necessary. * domwalk.h (dom_walker::dom_walker): Add new argument skip_unreachable_blocks. Don't provide empty constructor body. (dom_walker::before_dom_children): Change return type. (dom_walker::bb_reachable): Declare new private method. (dom_walker::propagate_unreachable_to_edges): Likewise. (dom_walker::m_unreachable_dom): Declare new private data member. (dom_walker::m_skip_unreachable_blocks): Likewise. * domwalk.c: Include dumpfile.h. (dom_walker::dom_walker): New constructor. Initialize private data members. If needed, set EDGE_EXECUTABLE for all edges in the CFG, extracted from tree-ssa-sccvn.c. (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c (dom_walker::propagate_unreachable_to_edges): Likewise. (dom_walker::walk): Only call before_dom_children on reachable blocks. If before_dom_children returns an edge, then clear EDGE_EXECUTABLE for all other outgoing edges from the same block. For unreachable blocks, call propagate_unreachable_to_edges. Similarly, only call after_dom_children on reachable blocks. For unreachable blocks, conditionally clear m_unreachable_dom. * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove private data member. (sccvn_dom_walker::after_dom_children): Use methods from dom_walker class. (run_scc_vn): Likewise. (sccvn_dom_walker::before_dom_children): Likewise. Return the taken outgoing edge if a COND, SWITCH, or GOTO are optimized. * compare-elim.c (find_comparison_dom_walker::before_dom_children): Change return type to an edge. Always return NULL. * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise. * gimple-ssa-strength-reduction.c (find_candidates_dom_walker::before_dom_children): Likewise. * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise. (ipcp_modif_dom_walker::before_dom_children): Likewise. * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise. (rewrite_update_dom_walker::before_dom_children): Likewise. (mark_def_dom_children::before_dom_children): Likewise. * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise. * tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children): Likewise. (move_computations_dom_walker::before_dom_walker): Likewise. * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children): Likewise. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. * tree-ssa-propagate.c (substitute_and_fold_dom_walker::before_dom_children): Likewise. * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Likewise. * tree-ssa-uncprop.c (uncprop_dom_walker::before_dom_children): Likewise. PR tree-optimization/68619 * gcc.dg/tree-ssa/pr68619-1.c: New test. * gcc.dg/tree-ssa/pr68619-2.c: New test. * gcc.dg/tree-ssa/pr68619-3.c: New test. * gcc.dg/tree-ssa/pr68619-4.c: New test. * gcc.dg/tree-ssa/pr68619-5.c: New test. From-SVN: r231527
2015-12-10re PR rtl-optimization/68376 (wrong code at -O1 and above on x86_64-linux-gnu)Jakub Jelinek6-32/+69
PR rtl-optimization/68376 PR rtl-optimization/68670 * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 or > -1 conditions regardless of negate, and disallow all other conditions. * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New tests. (main): Call them. * gcc.dg/pr68670-1.c: New test. * gcc.dg/pr68670-2.c: New test. From-SVN: r231526
2015-12-10tree-chkp.c (chkp_call_returns_bounds_p): Return true for VA_ARG call.Ilya Enkovich4-1/+85
gcc/ * tree-chkp.c (chkp_call_returns_bounds_p): Return true for VA_ARG call. (chkp_fixup_inlined_call): New. * tree-chkp.h (chkp_fixup_inlined_call): New. * tree-stdarg.c: Include tree-chkp.h. (expand_ifn_va_arg_1): Fixup bndret calls for removed VA_ARG calls. From-SVN: r231525
2015-12-10re PR c++/68348 (ICE: segfault in cxx_eval_constant_expression at ↵Marek Polacek2-0/+23
cp/constexpr.c:3172) PR c++/68348 * g++.dg/cpp0x/pr68348.C: New test. From-SVN: r231524
2015-12-10tree-inline.c (duplicate_remap_omp_clause_seq): New function.Martin Jambor2-0/+51
2015-12-10 Martin Jambor <mjambor@suse.cz> * tree-inline.c (duplicate_remap_omp_clause_seq): New function. (replace_locals_op): Duplicate gimple sequences in OMP clauses. From-SVN: r231523
2015-12-10Fix -Wmisleading-indentation warning in graphite-optimize-isl.cDavid Malcolm2-1/+5
../../../src/gcc/graphite-optimize-isl.c: In function ‘isl_union_set* scop_get_domains(scop_p)’: ../../../src/gcc/graphite-optimize-isl.c:362:5: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] return res; ^~~~~~ In file included from ../../../src/gcc/hash-table.h:236:0, from ../../../src/gcc/coretypes.h:348, from ../../../src/gcc/graphite-optimize-isl.c:28: ../../../src/gcc/vec.h:1343:3: note: ...this ‘for’ clause, but it is not for (I = 0; (V).iterate ((I), &(P)); ++(I)) ^ ../../../src/gcc/graphite-optimize-isl.c:359:3: note: in expansion of macro ‘FOR_EACH_VEC_ELT’ FOR_EACH_VEC_ELT (scop->pbbs, i, pbb) ^~~~~~~~~~~~~~~~ 351 static isl_union_set * 352 scop_get_domains (scop_p scop ATTRIBUTE_UNUSED) 353 { 354 int i; 355 poly_bb_p pbb; 356 isl_space *space = isl_set_get_space (scop->param_context); 357 isl_union_set *res = isl_union_set_empty (space); 358 359 FOR_EACH_VEC_ELT (scop->pbbs, i, pbb) 360 res = isl_union_set_add_set (res, isl_set_copy (pbb->domain)); 361 362 return res; ^ warning is here 363 } gcc/ChangeLog: * graphite-optimize-isl.c (scop_get_domains): Fix indentation. From-SVN: r231522
2015-12-10Fix -Wmisleading-indentation warning in ifcvt.cDavid Malcolm2-6/+10
../../../src/gcc/ifcvt.c: In function ‘bool noce_try_inverse_constants(noce_if_info*)’: ../../../src/gcc/ifcvt.c:1233:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] seq = end_ifcvt_sequence (if_info); ^~~ ../../../src/gcc/ifcvt.c:1230:7: note: ...this ‘if’ clause, but it is not if (target != if_info->x) ^~ due to the lack of an outdent after the conditional at lines 1230-1: 1220 if (target) 1221 { 1222 rtx_insn *seq = get_insns (); 1223 1224 if (!seq) 1225 { 1226 end_sequence (); 1227 return false; 1228 } 1229 >>1230 if (target != if_info->x) >>1231 noce_emit_move_insn (if_info->x, target); 1232 >>1233 seq = end_ifcvt_sequence (if_info); 1234 1235 if (!seq) 1236 return false; 1237 1238 emit_insn_before_setloc (seq, if_info->jump, 1239 INSN_LOCATION (if_info->insn_a)); 1240 return true; 1241 } gcc/ChangeLog: * ifcvt.c (noce_try_inverse_constants): Fix indentation. From-SVN: r231521
2015-12-10Fix -Wmisleading-indentation warning in gcc/regrename.cDavid Malcolm2-2/+6
../../../src/gcc/regrename.c: In function ‘void scan_rtx_address(rtx_insn*, rtx_def**, reg_class, scan_actions, machine_mode, addr_space_t)’: ../../../src/gcc/regrename.c:1314:7: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] break; ^ ../../../src/gcc/regrename.c:1311:5: note: ...this ‘if’ clause, but it is not if (!AUTO_INC_DEC) ^ gcc/ChangeLog: * regrename.c (scan_rtx_address): Fix indentation. From-SVN: r231520
2015-12-10Fix misleading indentation in gcc/fortran/io.cDavid Malcolm2-2/+6
Fix this warning: ../../../src/gcc/fortran/io.c: In function ‘match gfc_match_open()’: ../../../src/gcc/fortran/io.c:2003:4: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] if (!compare_to_allowed_values ("DELIM", delim, NULL, NULL, ^ ../../../src/gcc/fortran/io.c:2000:2: note: ...this ‘if’ clause, but it is not if (!is_char_type ("DELIM", open->delim)) ^ gcc/fortran/ChangeLog: * io.c (gfc_match_open): Fix indentation. From-SVN: r231519
2015-12-10Fix -Wmisleading-indentation warning in function.cDavid Malcolm2-8/+12
Fix this warning: ../../../src/gcc/function.c: In function ‘void locate_and_pad_parm(machine_mode, tree, int, int, int, tree, args_size*, locate_and_pad_arg_data*)’: ../../../src/gcc/function.c:4123:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] { ^ ../../../src/gcc/function.c:4119:7: note: ...this ‘if’ clause, but it is not if (initial_offset_ptr->var) ^ gcc/ChangeLog: * function.c (locate_and_pad_parm): Fix indentation. From-SVN: r231518
2015-12-10re PR ada/48013 (generic instantiation breaks the No_Elaboration_Code ↵Eric Botcazou6-4/+62
restriction) PR ada/48013 * gcc-interface/trans.c (empty_stmt_list_p): New predicate. (gigi): Invoke it to compute the No_Elaboration_Code property. (insert_code_for): Do not insert the code if it's empty. From-SVN: r231515
2015-12-10tree-ssa-structalias.c (struct variable_info): Add is_ipa_escape_point flag.Richard Biener2-8/+32
2015-12-10 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c (struct variable_info): Add is_ipa_escape_point flag. (new_var_info): Initialize to false. (find_func_aliases): Generate escape constraints for stores properly in IPA mode. (ipa_pta_execute): Compute is_ipa_escape_point for globals. From-SVN: r231514
2015-12-10trans.c (Call_to_gnu): Remove guard for NULL_EXPR.Eric Botcazou7-4/+60
* gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR. * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return the reference unmodified. <NULL_EXPR>: New case. Likewise. From-SVN: r231513
2015-12-10gigi.h (create_var_decl): Adjust comment.Eric Botcazou3-8/+27
* gcc-interface/gigi.h (create_var_decl): Adjust comment. (create_subprog_decl): Likewise. * gcc-interface/utils.c (create_var_decl): Likewise. (create_subprog_decl): Likewise. From-SVN: r231511
2015-12-10[ARC] Add support for atomic memory built-in. Add atomic.md file.Claudiu Zissulescu2-0/+222
gcc/ 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/atomic.md: Add new file. From-SVN: r231510
2015-12-10[ARC] Add support for atomic memory built-in.Claudiu Zissulescu11-2/+440
gcc/ 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype. (arc_split_compare_and_swap): Likewise. (arc_expand_compare_and_swap): Likewise. * config/arc/arc.c (arc_init): Check usage atomic option. (arc_pre_atomic_barrier): New function. (arc_post_atomic_barrier): Likewise. (emit_unlikely_jump): Likewise. (arc_expand_compare_and_swap_qh): Likewise. (arc_expand_compare_and_swap): Likewise. (arc_split_compare_and_swap): Likewise. (arc_expand_atomic_op): Likewise. * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro. (ASM_SPEC): Enable mlock option when matomic is used. * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define. (VUNSPEC_ARC_CAS): Likewise. (VUNSPEC_ARC_LL): Likewise. (VUNSPEC_ARC_SC): Likewise. (VUNSPEC_ARC_EX): Likewise. * config/arc/arc.opt (matomic): New option. * config/arc/constraints.md (ATO): New constraint. * config/arc/predicates.md (mem_noofs_operand): New predicate. * doc/invoke.texi: Document -matomic. * config/arc/atomic.md: New file. gcc/testsuite 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> * lib/target-supports.exp (check_effective_target_arc_atomic): New function. (check_effective_target_sync_int_long): Add checks for ARC atomic feature. (check_effective_target_sync_char_short): Likewise. From-SVN: r231509
2015-12-10re PR tree-optimization/68817 (internal compiler error: Segmentation fault ↵Richard Biener4-0/+24
(program f951)) 2015-12-10 Richard Biener <rguenther@suse.de> PR tree-optimization/68817 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect gaps early. * gfortran.dg/pr68817.f90: New testcase. From-SVN: r231508
2015-12-10Revert [testsuite][ARM target attributes] Fix effective_target testsChristophe Lyon7-136/+48
From-SVN: r231507
2015-12-10* alias.c (get_alias_set): Add cut-off for recursion.Eric Botcazou4-0/+25
From-SVN: r231505
2015-12-10fix typo in date formatChristian Bruel1-1/+1
From-SVN: r231504
2015-12-10tree-vect-stmts.c (vectorizable_assignment): Support useless boolean conversion.Ilya Enkovich2-1/+11
gcc/ * tree-vect-stmts.c (vectorizable_assignment): Support useless boolean conversion. From-SVN: r231503