aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-12-01Fix rtl-optimization/78596 - combine.c:12561:14: runtime error: left shift ↵Markus Trippelsdorf2-1/+8
of negative value PR rtl-optimization/78596 * combine.c (simplify_comparison): Cast to unsigned to avoid left shifting of negative value. From-SVN: r243111
2016-12-01Remove svn conflict marker.David Edelsohn1-1/+0
From-SVN: r243110
2016-12-01configure.ac: Don't use pkg-config to check for bdw-gc.Matthias Klose2-2/+6
<toplevel> * configure.ac: Don't use pkg-config to check for bdw-gc. * configure: Regenerate. config/ * pkg.m4: Remove. libobjc/ * configure.ac: Don't use pkg-config to check for bdw-gc. * configure: Regenerate. gcc/ * doc/install.texi: Don't use pkg-config to check for bdw-gc. From-SVN: r243108
2016-12-01tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same ↵Richard Biener1-1/+4
type as objects that cannot overlap. 2016-12-01 Richard Biener <rguenther@suse.de> * tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same type as objects that cannot overlap. * gcc.dg/torture/alias-2.c: New testcase. From-SVN: r243107
2016-12-01tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same ↵Richard Biener3-0/+26
type as objects that cannot overlap. 2016-12-01 Richard Biener <rguenther@suse.de> * tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same type as objects that cannot overlap. * gcc.dg/torture/alias-2.c: New testcase. From-SVN: r243106
2016-12-01tiny-memx.c: Only perform if target avr_tiny.Georg-Johann Lay3-2/+7
gcc/testsuite/ * gcc.target/avr/tiny-memx.c: Only perform if target avr_tiny. * gcc.target/avr/tiny-caller-save.c: Dito. From-SVN: r243105
2016-12-01avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.Georg-Johann Lay2-5/+11
gcc/ * config/avr/avr.c (avr_print_operand): Use SYMBOL_REF_P if possible. (avr_handle_addr_attribute, avr_asm_output_aligned_decl_common) (avr_asm_asm_output_aligned_bss, avr_addr_space_convert): Dito. From-SVN: r243104
2016-12-01coarray_lib_alloc_4.f90: Fix for 32-bits.Andre Vehreschild2-1/+5
gcc/testsuite/ChangeLog: 2016-12-01 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_lib_alloc_4.f90: Fix for 32-bits. From-SVN: r243101
2016-12-01re PR debug/78587 (dwarf2out.c:1517:45: runtime error: negation of ↵Jakub Jelinek4-3/+38
-9223372036854775808 cannot be represented in type 'long int [4]'; cast to an unsigned type to negate this value to itself) PR debug/78587 * dwarf2out.c (loc_descr_plus_const): For negative offset use uint_loc_descriptor instead of int_loc_descriptor and perform negation in unsigned HOST_WIDE_INT type. (scompare_loc_descriptor): Shift UINTVAL left instead of INTVAL. * gcc.dg/debug/pr78587.c: New test. From-SVN: r243100
2016-12-01re PR target/78614 (ICE error: invalid rtl sharing found in the insn ↵Jakub Jelinek2-2/+12
(verify_rtx_sharing) gcc/emit-rtl.c:2743) PR target/78614 * config/rs6000/rs6000.c (rs6000_frame_related): Call set_used_flags (pat) before any simplifications. Clear used flag on PARALLEL copy. Don't guard add_reg_note call. Call copy_rtx_if_shared on pat before storing it into REG_FRAME_RELATED_EXPR. From-SVN: r243099
2016-12-01[RS6000] fix rtl-checking internal compiler errorAlan Modra2-1/+6
* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly look inside UNSPEC_VSX_XXSPLTW vec. From-SVN: r243097
2016-12-01runtime: set isarchive in initsigIan Lance Taylor1-1/+1
The library initialization code in go-libmain.c sets the C variable runtime_isarchive but failed to set the Go variable runtime.isarchive. We don't currently have a way to let C code access an unexported Go variable, but fortunately the only time the Go function initsig is called with an argument of true is exactly where we want to set isarchive. So let initsig do it. Reviewed-on: https://go-review.googlesource.com/33753 From-SVN: r243094
2016-12-01combine: Emit a barrier after unconditional trap (PR78607)Segher Boessenkool4-0/+24
After an unconditional trap there should be a barrier. In most cases one is automatically inserted, but not if the trap is the final insn in the instruction stream. We need to emit one explicitly. PR rtl-optimization/78607 * combine.c (try_combine): Emit a barrier after a unconditional trap. gcc/testsuite/ PR rtl-optimization/78607 * gcc.c-torture/compile/pr78607.c: New testcase. From-SVN: r243092
2016-12-01Daily bump.GCC Administrator1-1/+1
From-SVN: r243091
2016-11-30* es.po: Update.Joseph Myers2-1827/+1476
From-SVN: r243085
2016-11-30runtime: print C functions in tracebackIan Lance Taylor1-1/+1
Since gccgo can trace back through C code as easily as Go code, we should print C functions in the traceback. This worked before https://golang.org/cl/31230 for a dumb reason. The default value for runtime.traceback_cache was, and is, 2 << 2, meaning to print all functions. The old C code for runtime_parsedebugvars would return immediately and do nothing if the environment variable GODEBUG was not set (if GODEBUG was set it would later call setTraceback. The new Go code for runtime.parsedebugvars does not return immediately if GODEBUG is not set, and always calls setTraceback. Either way, if GOTRACEBACK is not set, setTraceback would set traceback_cache to 1 << 2, meaning to only print non-runtime functions and having the effect of not printing plain C functions. Keep the current handling of GODEBUG/GOTRACEBACK, which matches the gc library, but add an extra check to print C functions by default. Reviewed-on: https://go-review.googlesource.com/33717 From-SVN: r243083
2016-11-30* testsuite/ChangeLog: Fix some entries.Uros Bizjak1-4/+4
From-SVN: r243082
2016-11-30PR tree-optimization/78586 - [7 Regression] Wrong code caused by ↵Martin Sebor2-3/+31
printf-return-value gcc/testsuite/ChangeLog: PR tree-optimization/78586 * gcc.dg/tree-ssa/builtin-sprintf-2.c: New test cases. From-SVN: r243081
2016-11-30re PR target/78602 (PowerPC vec-extract-v2df.c can fail if -mcpu=power9 -O0)Michael Meissner3-1/+19
2016-11-30 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78602 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): If the element is not a constant or in a register, force it to a register. PR target/78560 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Force value that will be set to a vector element to be in a register. * config/rs6000/vsx.md (vsx_set_<mode>_p9): Fix thinko that used the wrong multiplier to convert the element number to a byte offset. From-SVN: r243044
2016-11-30re PR tree-optimization/77856 (wrong code at -O2 on x86_64-linux-gnu in ↵Vladimir Makarov4-4/+105
32-bit mode) 2016-11-30 Vladimir Makarov <vmakarov@redhat.com> PR tree-optimization/77856 * lra-constraints.c (inherit_in_ebb): Check original regno for invalid invariant regs too. Set only clobbered hard regs for the invalid invariant regs. 2016-11-30 Vladimir Makarov <vmakarov@redhat.com> PR tree-optimization/77856 * gcc.target/i386.c (pr77856.c): New. From-SVN: r243038
2016-11-30* g++.dg/debug/dwarf2/ptrdmem-1.C: Don't XFAIL scan-assembler-not on AI\X.David Edelsohn2-1/+5
From-SVN: r243035
2016-11-30single.c (_gfortran_caf_get_by_ref): Prevent compile time warning.Andre Vehreschild2-5/+51
libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/single.c (_gfortran_caf_get_by_ref): Prevent compile time warning. (_gfortran_caf_send_by_ref): Same. (_gfortran_caf_is_present): Prevent fallthrough warnings. gcc/testsuite/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * ChangeLog: Removed wrongly placed entry. * gfortran.dg/coarray_lib_alloc_4.f90: New test. From-SVN: r243034
2016-11-30Commit files forgotten in r242966.Pitchumani Sivanupandi5-21/+30
2016-11-30 Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com> Commit files forgotten in r242966. * config/avr/avr-arch.h (avr_mcu_t) [flash_size]: New member. * config/avr/avr-devices.c (avr_mcu_types): Add flash size info. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded prefix check to find wrap-around value, instead use MCU flash size. For 8k flash devices, update link_pmem_wrap spec string to add --pmem-wrap-around=8k. * config/avr/specs.h (LINK_RELAX_SPEC): Move link_pmem_wrap from here... (LINK_SPEC): ...to here. From-SVN: r243033
2016-11-30new1.C: XFAIL on AIX.David Edelsohn5-0/+12
* g++.dg/eh/new1.C: XFAIL on AIX. * g++.dg/eh/delete1.C: Same. * g++.dg/init/new40.C: Same. * g++.old-deja/g++.eh/new2.C: Same. From-SVN: r243032
2016-11-30Fix typo in testcase nameDavid Malcolm2-0/+6
gcc/testsuite/ChangeLog: PR c/78498 * gcc.dg/format/pr78494.c: Rename to... * gcc.dg/format/pr78498.c: ...this. From-SVN: r243031
2016-11-30libiberty: avoid reading past end of buffer in strndup/xstrndup (PR c/78498)David Malcolm4-0/+73
gcc/ChangeLog: PR c/78498 * selftest.c (selftest::assert_strndup_eq): New function. (selftest::test_strndup): New function. (selftest::test_libiberty): New function. (selftest::selftest_c_tests): Call test_libiberty. gcc/testsuite/ChangeLog: PR c/78498 * gcc.dg/format/pr78494.c: New test case. libiberty/ChangeLog: PR c/78498 * strndup.c (strlen): Delete decl. (strnlen): Add decl. (strndup): Call strnlen rather than strlen. * xstrndup.c (xstrndup): Likewise. From-SVN: r243030
2016-11-30ref-1.C: Don't XFAIL scan-assembler-not on AIX.David Edelsohn5-4/+11
* g++.dg/debug/dwarf2/ref-1.C: Don't XFAIL scan-assembler-not on AIX. * g++.dg/debug/dwarf2/imported-decl-2.C: Same. * g++.dg/debug/dwarf2/refqual-1.C: Same. * g++.dg/debug/dwarf2/refqual-2.C: Same. From-SVN: r243029
2016-11-30ira: Don't substitute into TRAP_IF insns (PR78610)Segher Boessenkool4-0/+30
In the testcase, IRA propagates a constant into a TRAP_IF insn, which then becomes an unconditional trap. Unconditional traps are control flow insns so doing this requires surgery on the cfg. We cannot do that here, so instead refuse to do the substitution. PR rtl-optimization/78610 * ira.c (combine_and_move_insns): Don't substitute into TRAP_IF instructions. gcc/testsuite/ PR rtl-optimization/78610 * gcc.c-torture/compile/pr78610.c: New testcase. From-SVN: r243028
2016-11-30re PR tree-optimization/78574 (ice on valid C code at -O2 and -O3 in both ↵Bin Cheng4-0/+43
32- and 64-bit modes on x86_64-linux-gnu (internal compiler error: Segmentation fault (program cc1))) PR tree-optimization/78574 * tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Skip loop header PHI that doesn't define biv. gcc/testsuite PR tree-optimization/78574 * gcc.c-torture/compile/pr78574.c: New test. From-SVN: r243026
2016-11-30Add the missing changelog entry to 243023.Andre Vehreschild1-0/+5
libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/single.c (_gfortran_caf_is_present): Prevent fallthrough warnings. From-SVN: r243025
2016-11-30[multiple changes]Arnaud Charlet11-24/+85
2016-11-30 Gary Dismukes <dismukes@adacore.com> * sem_prag.adb, sem_ch6.adb: Minor reformatting and typo fixes. * g-sechas.adb: Minor reformatting. * lib-xref.ads: minor grammar fix in comment. * lib-xref-spark_specific.adb (Is_SPARK_Reference): do not ignore references to concurrent objects. * sinfo.ads: Fix of unbalanced parens in comment 2016-11-30 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Get_Type_Reference): If the entity is a function returning a classwide type, the type reference is obtained right away and does not need further unwinding. 2016-11-30 Javier Miranda <miranda@adacore.com> * sem_ch8.adb (Find_Renamed_Entity): For non-overloaded subprogram actuals of generic units check that the spec of the renaming and renamed entities match. 2016-11-30 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: For CERT runtimes: do not use gcc includes, simplify the handling. * sem_attr.adb (Analyze_Attribute): Check No_Dynamic_Priorities restriction for Priority Attribute. From-SVN: r243022
2016-11-30libcaf.h: Add new action types for (de-)registration of allocatable ↵Andre Vehreschild22-244/+993
components in derived... libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add new action types for (de-)registration of allocatable components in derived type coarrays. Add _caf_is_present prototype. * caf/single.c (_gfortran_caf_register): Add support for registration only and allocation of already registered allocatable components in derived type coarrays. (_gfortran_caf_deregister): Add mode to deallocate but not deregister an allocatable component in a derived type coarray. (_gfortran_caf_is_present): New function. Query whether an allocatable component in a derived type coarray on a remote image is allocated. gcc/testsuite/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray/alloc_comp_1.f90: Fix tree-dump scans to adhere to the changed interfaces. * gfortran.dg/coarray_alloc_comp_1.f08: Likewise. * gfortran.dg/coarray_allocate_7.f08: Likewise. * gfortran.dg/coarray_lib_alloc_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_2.f90: Likewise. * gfortran.dg/coarray_lib_alloc_3.f90: Likewise. * gfortran.dg/coarray_lib_comm_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_4.f90: New test. gcc/fortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * check.c (gfc_check_allocated): By pass the caf_get call and check on the array. * gfortran.h: Add optional flag to gfc_caf_attr. * gfortran.texi: Document new enum values and _caf_is_present function. * primary.c (caf_variable_attr): Add optional flag to indicate that the expression is reffing a component. (gfc_caf_attr): Likewise. * trans-array.c (gfc_array_deallocate): Handle deallocation mode for coarray deregistration. (gfc_trans_dealloc_allocated): Likewise. (duplicate_allocatable): Use constants instead of creating custom constant tree node of zero or one. Use gfc_add_modify convenience function. (duplicate_allocatable_coarray): This function is similar to duplicate_allocatable but tailored to handle coarrays. (caf_enabled): Check whether in-derived-type coarray processing is enabled. (caf_in_coarray): Check that in-derived-type coarray processing is enabled and currently in a derived-typed coarray. (gfc_caf_is_dealloc_only): Return true, when deallocate only is desired for components in derived typed coarrays. (structure_alloc_comps): A mode for handling coarrays, that is no longer encode in the purpose. This makes the use cases of the routine more flexible without repeating. Allocatable components in derived type coarrays are now registered only when nullifying an object and allocated before copying data into them. (gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps now. (gfc_deallocate_alloc_comp): Likewise. (gfc_deallocate_alloc_comp_no_caf): Likewise. (gfc_reassign_alloc_comp_caf): Likewise. (gfc_copy_alloc_comp): Likewise. (gfc_copy_only_alloc_comp): Likewise. (gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of reallocating a coarray without deregistering and reregistering it. (gfc_trans_deferred_array): Initialize the coarray token correctly for deferred variables and tear them down on exit. * trans-array.h: Change some prototypes to add the coarray (de-) registration modes. Add prototype for checking if deallocate only is selected for components in derived typed coarrays. * trans-decl.c (gfc_build_builtin_function_decls): Generate the declarations for the changed/new caf-lib routines. (gfc_trans_deferred_vars): Ensure deferred variables are (de-) registered correctly on procedure entry/exit. (generate_coarray_sym_init): Use constants. * trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation modes accordingly. (gfc_trans_alloc_subarray_assign): Likewise. (gfc_trans_subcomponent_assign): Likewise. (gfc_trans_structure_assign): Generate code to register the components of a derived type coarray prior to initialization. (gfc_conv_structure): Set flag that the structure is in a coarray. (gfc_trans_scalar_assign): Add flag to indicate being in a coarray and set the structure_alloc_comps modes correctly. (gfc_trans_assignment_1): Figure being in a coarray expression. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new structure_alloc_comps interface. (conv_caf_send): Use the old API as long as possible. (trans_caf_is_present): Generate code to check whether an allocatable component in a derived typed coarray is allocated on a remote image. (caf_this_image_ref): Return true, when only reffing this image. (gfc_conv_allocated): Convert allocated queries on allocatable components to the library API. (conv_intrinsic_move_alloc): Adapt to new interface of structure_alloc_comps. * trans-openmp.c (gfc_walk_alloc_comps): Likewise. (gfc_omp_clause_assign_op): Likewise. (gfc_omp_clause_dtor): Likewise. * trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when deallocating allocatable components in derived type coarras. * trans.c (gfc_allocate_using_lib): Renamed to gfc_allcate_using_caf_lib. (gfc_allocate_allocatable): Set the registration mode/type of caf- register calls adapting to all the possible allocatable objects. (gfc_deallocate_with_status): Add deregistration mode for allocatable components in derived type coarrays. (gfc_deallocate_scalar_with_status): Likewise. * trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to avoid collision with gfc_coarray_deregtype. From-SVN: r243021
2016-11-30re PR fortran/78593 (ICE in gfc_match_varspec, at fortran/primary.c:2053)Janus Weil4-1/+21
2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78593 * primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78593 * gfortran.dg/derived_result.f90: New test case. From-SVN: r243020
2016-11-30emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of ↵Jakub Jelinek2-3/+6
reset_used_flags. * emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of reset_used_flags. From-SVN: r243019
2016-11-30i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx ↵Jakub Jelinek2-1/+4
between move and following insn. * config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx between move and following insn. From-SVN: r243018
2016-11-30ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx for REG_EQUIV ↵Jakub Jelinek2-1/+6
argument. * ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx for REG_EQUIV argument. From-SVN: r243017
2016-11-30Add multilib mapping for Cortex-M23 & Cortex-M33Thomas Preud'homme2-0/+6
2016-11-30 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/t-rmprofile: Add mappings for Cortex-M23 and Cortex-M33. From-SVN: r243015
2016-11-30Force soft float in ARMv6-M and ARMv8-M Baseline optionsThomas Preud'homme2-19/+27
2016-11-29 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ * lib/target-supports.exp (add_options_for_arm_arch_v6m): Add -mfloat-abi=soft option. (add_options_for_arm_arch_v8m_base): Likewise. Reindent containing foreach loop. From-SVN: r243013
2016-11-30Fix part of PR78555 - gcc/real.c:2890:25: runtime error: left shift of ↵Markus Trippelsdorf2-1/+7
negative value -125 PR ipa/78555 * real.c (real_hash): Add cast to avoid left shifting of negative values. From-SVN: r243012
2016-11-30[AArch64] PR target/78362: Make sure to only take REGNO of a registerKyrylo Tkachov4-1/+28
PR target/78362 * config/aarch64/aarch64.md (add<mode>3): Extract inner expression from a subreg in operands[1] and don't call REGNO on a non-reg expression when deciding to force operands[2] into a reg. * gcc.c-torture/compile/pr78362.c: New test. From-SVN: r243011
2016-11-30arm/gcc: Tighten checks in check_effective_target_freorderAndrew Burgess2-2/+14
In check_effective_target_freorder we check to see if the target supports -freorder-blocks-and-partition. However we disable -freorder-blocks-and-partition when -fprofile-use is not supplied so for some targets we'll not see any message about lack of support for -freorder-blocks-and-partition unless -fprofile-use is also passed. This commit extends check_effective_target_freorder to first try -freorder-blocks-and-partition on its own, then try -fprofile-use and -freorder-blocks-and-partition. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_freorder): Check additional case. From-SVN: r243009
2016-11-30re PR lto/78562 (Wrong warning for built-in functions with -flto)Georg-Johann Lay2-0/+14
gcc/lto/ PR lto/78562 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type mismatch if the two types are built-in. From-SVN: r243008
2016-11-30arc: Avoid store/load pipeline hazardAndrew Burgess6-0/+104
ARC700 targets have a store/load pipeline hazard, if we load within 2 cycles of a store, and the load/store are at the same address, then we pay a multi-cycle penalty. This commit avoids this by inserting nop instructions between the store and the load. gcc/ChangeLog: * config/arc/arc-protos.h (arc_store_addr_hazard_p): Declare. * config/arc/arc.c (arc_store_addr_hazard_p): New function. (workaround_arc_anomaly): Call arc_store_addr_hazard_p for ARC700. * config/arc/arc700.md: Add define_bypass for store/load. gcc/testsuite/ChangeLog: * gcc.target/arc/arc700-stld-hazard.c: New file. From-SVN: r243007
2016-11-30re PR fortran/78592 (ICE in gfc_find_specific_dtio_proc, at ↵Janus Weil4-7/+33
fortran/interface.c:4939) 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid dereferencing a null pointer. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * gfortran.dg/dtio_18.f90: New test case. From-SVN: r243005
2016-11-30Introduce -fdump-ipa-clones dump outputMartin Liska7-10/+84
* cgraph.c (symbol_table::initialize): Initialize ipa_clones_dump_file. (cgraph_node::remove): Report to ipa_clones_dump_file. * cgraph.h: Add new argument (suffix) to cloning methods. * cgraphclones.c (dump_callgraph_transformation): New function. (cgraph_node::create_clone): New argument. (cgraph_node::create_virtual_clone): Likewise. (cgraph_node::create_version_clone): Likewise. * dumpfile.c: Add .ipa-clones dump file. * dumpfile.h (enum tree_dump_index): Add TDI_clones * ipa-inline-transform.c (clone_inlined_nodes): Report operation to dump_callgraph_transformation. From-SVN: r243004
2016-11-30Support nested functions (PR sanitizer/78541).Martin Liska5-0/+53
PR sanitizer/78541 * gcc.dg/asan/pr78541-2.c: New test. * gcc.dg/asan/pr78541.c: New test. PR sanitizer/78541 * asan.c (asan_expand_mark_ifn): Properly select a VAR_DECL from FRAME.* component reference. From-SVN: r243003
2016-11-30Add missing fileMartin Liska1-0/+18
From-SVN: r243002
2016-11-30simplify-rtx: Add missing line for previous commit (PR78583)Segher Boessenkool2-0/+7
The comment for the added case to simplify_truncation reads /* Turn (truncate:M1 (*_extract:M2 (reg:M2) (len) (pos))) into (*_extract:M1 (truncate:M1 (reg:M2)) (len) (pos')) if possible without changing len. */ but I forgot to check the two modes M2 are actually the same. PR rtl-optimization/78583 * simplify-rtx.c (simplify_truncation): Add check missing from the previous commit. From-SVN: r243000
2016-11-30combine: Don't mess with subregs of floating point (PR78590)Segher Boessenkool2-0/+7
PR78590 shows a problem in change_zero_ext, where we change a zero_extend of a subreg to a logical and. We should only do this if the thing we are taking the subreg of is a scalar integer, otherwise we will take a subreg of (e.g.) a float in a different size, which is nonsensical and hits an assert. PR rtl-optimization/78590 * combine.c (change_zero_ext): Transform zero_extend of subregs only if the subreg_reg is a scalar integer mode. From-SVN: r242999
2016-11-30re PR tree-optimization/78586 (Wrong code caused by printf-return-value)Jakub Jelinek4-15/+45
PR tree-optimization/78586 * gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR. Don't build_int_cst min/max twice. Formatting fix. * gcc.c-torture/execute/pr78586.c: New test. From-SVN: r242998