PR sanitizer/65081
* ubsan.c (OBJSZ_MAX_OFFSET): Define.
(ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
is in range [-16K, -1]. Don't issue run-time error if
(ptr > ptr + offset).
* c-c++-common/ubsan/pr65081.c: New test.
From-SVN: r220784
gcc/
* config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
(access_check): New functions, copied from
config/i386/intelmic-mkoffload.c.
(main): For non-installed testing, look in all COMPILER_PATHs for
GCC_INSTALL_NAME.
From-SVN: r220782
Otherwise, offloading with -fopenacc or -fopenmp active will run into:
x86_64-unknown-linux-gnu-accel-nvptx-none-gcc: error: unrecognized command line option '-pthread'
gcc/
* config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
From-SVN: r220780
* ipa-visibility.c (function_and_variable_visibility): Only
check locality if node is not already local.
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
call_for_symbol_and_aliases instead of
call_for_symbol_thunks_and_aliases.
(ipa_inline): Likewise.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
first walk aliases.
* ipa.c (symbol_table::remove_unreachable_nodes): Use
call_for_symbol_and_aliases.
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
(ipa_propagate_frequency_1): Use it; use opt_for_fn
(ipa_propagate_frequency): Update.
(ipa_profile): Add opt_for_fn gueards.
From-SVN: r220775
This patch adds -fipa-cp-alignment to provide a way to enable/disable
alignment discovery and propagation in IPA-CP.
gcc/
* common.opt (fipa-cp-alignment): New.
* ipa-cp.c (ipcp_store_alignment_results): Check
flag_ipa_cp_alignment.
* opts.c (default_options_table): Enable -fipa-cp-alignment for
-O2.
(enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
* doc/invoke.texi: Document -fipa-cp-alignment.
gcc/testsuite/
* gcc.dg/ipa/propalign-3.c: New test.
From-SVN: r220773
* ipa-visibility.c (function_and_variable_visibility): Only
check locality if node is not already local.
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
call_for_symbol_and_aliases instead of
call_for_symbol_thunks_and_aliases.
(ipa_inline): Likewise.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
first walk aliases.
* ipa.c (symbol_table::remove_unreachable_nodes): Use
call_for_symbol_and_aliases.
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
(ipa_propagate_frequency_1): Use it; use opt_for_fn
(ipa_propagate_frequency): Update.
(ipa_profile): Add opt_for_fn guards.
From-SVN: r220771
2015-02-17 Sandra Loosemore <sandra@codesourcery.com>
libgcc/
* config/arm/bpabi.S (test_div_by_zero): Make label names
consistent between thumb2 and arm mode cases. Separate the
signed comparison on the high word of the numerator from the
unsigned comparison on the low word.
* config/arm/bpabi-v6m.S (test_div_by_zero): Similarly separate
signed comparison.
gcc/testsuite/
* gcc.target/arm/divzero.c: New test case.
From-SVN: r220765
* config/nvptx/realloc.c: Include <stddef.h> instead of <stdlib.h>
and <string.h>.
(__nvptx_realloc): Call __builtin_memcpy instead of memcpy.
From-SVN: r220764
gcc/
* haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
as forcing a HARD_DEP between instructions, thereby
disallowing rewriting to break dependencies.
From-SVN: r220751
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
* lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
variables in boundary that have no inlitalizer encoded and are
not aliases.
* varasm.c (default_binds_local_p_2): External definitions do not
count as definitions here.
From-SVN: r220749
PR tree-optimization/64823
* tree-vrp.c (identify_jump_threads): Handle blocks with no real
statements.
* tree-ssa-threadedge.c (potentially_threadable_block): Allow
threading through blocks with PHIs, but no statements.
(thread_through_normal_block): Distinguish between blocks where
we did not process all the statements and blocks with no statements.
PR tree-optimization/64823
* gcc.dg/uninit-20.c: New test.
From-SVN: r220743
gcc/
* doc/install.texi (Specific): Reorder targets list to put
aarch64 in alphabetical order. Add a link to aarch64*-*-*
from the top menu.
From-SVN: r220738
2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
David Edelsohn <dje.gcc@gmail.com>
PR target/65058
* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
mapping class to external variable or function reference.
* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
mapping class.
2015-02-16 David Eelsohn <dje.gcc@gmail.com>
PR target/53348
* config/rs6000/rs6000.c (rs6000_declare_alias): Only use
ASM_WEAKEN_DECL if defined.
From-SVN: r220737
Daniel Richard G. <skunk@iskunk.org>
PR bootstrap/48009
PR bootstrap/53348
* inclhack.def (aix_strtof_const): New fix.
* fixincl.x: Regenerate.
* tests/base/inttypes.h: New test.
From-SVN: r220736
2015-02-16 Richard Biener <rguenther@suse.de>
PR lto/65015
* varasm.c (default_file_start): For LTO produced units
emit <artificial> as file directive.
From-SVN: r220735
* config/pa/pa.c (pa_secondary_reload): Request a secondary reload
for all floading point loads and stores except those using a register
index address.
* config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
to a register.
From-SVN: r220716