IPA ICF: compare_operand is split to multiple functions.
[official-gcc.git] / gcc / ChangeLog
blobffea916db29ab77270615ab1d93a0c52ba70911c
1 2015-01-09  Martin Liska  <mliska@suse.cz>
3         * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
4         name comparison.
5         (func_checker::compare_memory_operand): New function.
6         (func_checker::compare_operand): Split case to newly
7         added functions.
8         (func_checker::compare_cst_or_decl): New function.
9         (func_checker::compare_gimple_call): Identify
10         memory operands.
11         (func_checker::compare_gimple_assign): Likewise.
12         * ipa-icf-gimple.h: New function.
14 2015-01-09  Martin Liska  <mliska@suse.cz>
16         PR ipa/64503
17         * sreal.c (sreal::dump): Change unsigned format to signed for
18         m_exp value.
19         (sreal::to_double): Replace exp2 with scalbln.
21 2015-01-09  Martin Liska  <mliska@suse.cz>
23         * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
24         * ipa-icf.c (sem_function::equals_private): Add support for target and
25         (sem_item_optimizer::merge_classes): Remove redundant function
26         optimization flags comparison.
27         * tree.h (target_opts_for_fn): New function.
29 2015-01-09  Tom de Vries  <tom@codesourcery.com>
31         * omp-low.c (expand_omp_for_static_chunk): Fix assert.
33 2015-01-09  Kito Cheng  <kito@0xlab.org>
35         PR rtl-optimization/64348
36         * lra-constraints.c (split_reg): Fix caller-save store/restore
37         instruction generation.
39 2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
41         PR gcov-profile/61790
42         * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
43         long long.  Fallback to int64_t if host doesn't have long long and
44         use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
46 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
48         PR tree-optimization/63989
49         * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
50         from 1000 to 10000.
51         * tree-ssa-strlen.c (get_strinfo): Moved earlier.
52         (get_stridx): If we don't have a record for certain SSA_NAME,
53         but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
54         constant offset, call get_stridx_plus_constant.
55         (get_stridx_plus_constant): New function.
56         (zero_length_string): Don't use get_stridx here.
58         PR target/55023
59         PR middle-end/64388
60         * dse.c (struct insn_info): Mention frame_read set also
61         before reload for tail calls on some targets.
62         (scan_insn): Revert 2014-12-22 change.  Set frame_read
63         also before reload for tail calls if
64         HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
65         instead of add_non_frame_wild_read for non-const/memset
66         tail calls after reload.
68 2015-01-08  Jason Merrill  <jason@redhat.com>
70         * ubsan.c (do_ubsan_in_current_function): New.
71         (pass_ubsan::gate): Use it.
72         * ubsan.h: Declare it.
73         * convert.c (convert_to_integer): Use it.
75 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
77         PR target/64338
78         * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
79         compare_code when it is unconditionally overwritten afterwards.
80         Use ix86_reverse_condition instead of reverse_condition.  Don't
81         change code if *reverse_condition* returned UNKNOWN and don't
82         swap ct/cf and negate diff in that case.
84 2015-01-08  Mike Stump  <mikestump@comcast.net>
86         * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
87         (pass_tsan_O0::gate): Likewise.
88         * extend.texi (Function Attributes): Add no_sanitize_thread
89         documentation.
91 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
93         * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
94         for registering builtins.
95         * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
96         add -fopenmp to the argv_obstack used when invoking
97         compile_for_target.
99         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
100         add "-m32" or "-m64" to argv_obstack.
101         (generate_host_descr_file): Likewise, when invoking host_compiler.
102         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
103         ld.
105 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
107         * config/sh/sh-mem.cc: Use constant as second operand when emitting
108         tstsi_t insns.
110 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
112         PR target/55212
113         * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
114         constant load if constant operand fits into I08.
116 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
118         PR sanitizer/64336
119         * tree.c (build2_stat): Fix up initialization of TREE_READONLY
120         and TREE_THIS_VOLATILE for MEM_REFs.
121         (build5_stat): Fix up initialization of TREE_READONLY and
122         TREE_THIS_VOLATILE for TARGET_MEM_REFs.
124 2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
126         PR target/64533
127         * config/sh/sh.md (*addsi3_compact): Use u constraint instead
128         of r for the second alternative of the destination operand.
130 2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
132         PR target/36557
133         * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
135 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
137         * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
138         keywords.
139         ([-fivar-visibility], [-fvisibility]): Likewise.
141 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
143         * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
144         the file where @code, @command, etc is more appropriate.
146 2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
148         * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
149         of -mrecip= documentation.
151 2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
153         PR target/64505
154         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
155         correct reload handler if -m32 -mpowerpc64 is used.
157 2015-01-06  Tom de Vries  <tom@codesourcery.com>
159         * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
161 2015-01-08  Christian Bruel  <christian.bruel@st.com>
163         PR target/64507
164         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
166 2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
168         PR tree-optimization/63259
169         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
170         if optab exists for 16bit byteswap.
172 2015-01-06  Jakub Jelinek  <jakub@redhat.com>
174         * opts.c (common_handle_option): Add support for
175         -fno-sanitize=all and -f{,no-}sanitize-recover=all.
176         * doc/invoke.texi: Document -fno-sanitize=all,
177         -f{,no-}sanitize-recover=all.  Document that
178         -fsanitize=float-cast-overflow is not enabled
179         by -fsanitize=undefined.  Fix up documentation
180         of -f{,no-}sanitize-recover.
182 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
184         * config.gcc: Add Visium support.
185         * configure.ac: Likewise.
186         * configure: Regenerate.
187         * doc/extend.texi (interrupt attribute): Add Visium.
188         * doc/invoke.texi: Document Visium options.
189         * doc/install.texi: Document Visium target.
190         * doc/md.texi: Document Visium constraints.
191         * common/config/visium: New directory.
192         * config/visium: Likewise.
194 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
196         * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
197         for the "(and X (ior (not X) Y) -> (and X Y)" transform.
199 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
201         * combine.c (combine_validate_cost): Do not count the cost of a
202         split I2 twice.  Do not display it twice in the dump, either.
204 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
206         Revert parts of r219199.
207         * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
208         <inttypes.h>.
209         ([-Wtraditional]): Restore markup on <limits.h>.
211 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
213         PR c++/31397
214         * doc/invoke.texi: Document -Wsuggest-override.
216 2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>
218         PR rtl-optimization/64287
219         * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
220         (process_options): Disable flag_ipa_ra if profiling.
222 2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
224         * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
226 2015-01-05  Max Filippov  <jcmvbkbc@gmail.com>
228         * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
229         hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
230         put under #if TARGET_LOOPS guard.
232 2015-01-05  Uros Bizjak  <ubizjak@gmail.com>
234         * config/i386/i386.c (output_387_binary_op): Use std::swap.
236 2015-01-05  Oleg Endo  <olegendo@gcc.gnu.org>
238         * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
239         * rtl.h (refers_to_regno_p): Add overload.
240         * cse.c: Use it.
241         * bt-load.c: Likewise.
242         * combine.c: Likewise.
243         * df-scan.c: Likewise.
244         * sched-deps.c: Likewise.
245         * config/s390/s390.c: Likewise.
246         * config/m32r/m32r.c: Likewise.
247         * config/rs6000/spe.md: Likewise.
248         * config/rs6000/rs6000.c: Likewise.
249         * config/pa/pa.c: Likewise.
250         * config/stormy16/stormy16.c: Likewise.
251         * config/cris/cris.c: Likewise.
252         * config/arc/arc.md: Likewise.
253         * config/arc/arc.c: Likewise.
254         * config/sh/sh.md: Likewise.
255         * config/sh/sh.c: Likewise.
256         * config/frv/frv.c: Likewise.
258 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
260         PR sanitizer/64265
261         * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
262         call as cleanup of the whole body.
263         * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
264         * tsan.c (replace_func_exit): New function.
265         (instrument_func_exit): Moved earlier.
266         (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
267         Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
268         been found.
269         (tsan_pass): Don't call instrument_func_exit.
270         * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
271         * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
272         inlining.
274         PR sanitizer/64344
275         * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
276         * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
277         it to libubsan handler instead of EXPR.  Fold comparisons earlier,
278         if the result is integer_zerop, return NULL_TREE.
279         * convert.c (convert_to_integer): Pass expr as ARG.
281         PR tree-optimization/64465
282         * tree-inline.c (redirect_all_calls): During inlining
283         clean up EH stmts and EH edges if redirect_call_stmt_to_callee
284         changed the stmt to a non-throwing call.
286 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
288         * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
289         etc markup throughout the file.
291 2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
293         Enable experimental TSAN support for Ada.
294         * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
296 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
298         PR tree-optimization/64494
299         * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
300         clear SSA_NAME_ANTI_RANGE_P flag.
302 2015-01-05  Marek Polacek  <polacek@redhat.com>
304         * doc/extend.texi (Arrays of Length Zero): Add missing comma.
306 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
308         Update copyright years.
310         * gcc.c (process_command): Update copyright notice dates.
311         * gcov-dump.c: Ditto.
312         * gcov.c: Ditto.
313         * doc/cpp.texi: Bump @copying's copyright year.
314         * doc/cppinternals.texi: Ditto.
315         * doc/gcc.texi: Ditto.
316         * doc/gccint.texi: Ditto.
317         * doc/gcov.texi: Ditto.
318         * doc/install.texi: Ditto.
319         * doc/invoke.texi: Ditto.
321         * auto-profile.c, auto-profile.h: Fix up Copyright line.
323 2015-01-04  Sandra Loosemore  <sandra@codesourcery.com>
325         * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
326         verb tense, etc.
327         ([-fvtable-verify], [-fvtv-debug]): Likewise.
328         ([-Wabi]): Likewise.
329         ([-fmessage-length]): Likewise.
330         ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
331         ([-Wno-discarded-qualifiers]): Likewise.
332         ([-Wnodiscarded-array-qualifiers]): Likewise.
333         ([-Wno-virtual-move-assign]): Likewise.
334         ([-fsanitize=address], [-fsanitize=thread]): Likewise.
335         ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
336         ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
337         ([-fsanitize-undefined-trap-on-error]): Likewise.
338         ([-floop-interchange]): Likewise.
339         ([-ftree-coalesce-inlined-vars]): Likewise.
340         ([-fvect-cost-model]): Likewise.
341         ([-flto]): Likewise.
342         ([--param]): Likewise.
343         (Spec Files): Likewise.
344         ([-mstrict-align]): Likewise.
345         ([-mfix-cortex-a53-835769]): Likewise.
346         ([-march], [-mtune]): Likewise.
347         ([-mpic-register]): Likewise.
348         ([-munaligned-access]): Likewise.
349         ([-msp8]): Likewise.
350         (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
351         (AVR Built-in Macros): Likewise.
352         ([-mpreferred-stack-boundary]): Likewise.
353         ([-mtune-crtl]): Likewise.
354         ([-mashf]): Likewise.
355         ([-mmcu=]): Likewise.
356         ([-minrt]): Likewise.
357         ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
358         ([-mupper-regs]): Likewise.
359         ([-matomic-model]): Likewise.
360         ([-mdiv]): Likewise.
361         ([-mzdcbranch]): Likewise.
362         ([-mdisable-callt]): Likewise.
363         ([-msoft-float]): Likewise.
364         ([-m8byte-align]): Likewise.
365         ([-fstack-reuse]): Likewise.
367 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
369         * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
370         Fix markup, light copy-editing.
371         ([-fauto-profile]): Rewrite to fix formatting and content
372         problems.
374 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
376         * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
377         Copy-edit description.
378         ([-fisolate-erroneous-paths-attribute]): Likewise.
379         * common.opt (fisolate-erroneous-paths-dereference):
380         Copy-edit description.
381         (fisolate-erroneous-paths-attribute): Likewise.
383 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
385         * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
386         tidy grammar.
388 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
390         * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
391         ([-fvtv-debug]): Likewise.
392         ([-Wc++-compat]): Likewise.
393         ([-Wc++11-compat]): Likewise.
394         ([-Wc++14-compat]): Likewise.
395         ([-Wno-sized-deallocation]): Likewise.
396         ([-femit-class-debug-always]): Likewise.
397         ([-femit-struct-debug-detailed]): Likewise.
398         ([-fno-keep-inline-dllexport]): Likewise.
399         ([-fira-algorithm]): Likewise.
400         ([-fira-region]): Likewise.
401         ([-flra-remat]): Likewise.
402         ([-fipa-ra]): Likewise.
403         ([-fhoist-adjacent-loads]): Likewise.
404         ([-fisolate-erroneous-paths-dereference]): Likewise.
405         ([-fisolate-erroneous-paths-attribute]): Likewise.
406         ([-ftree-switch-conversion]): Likewise.
407         ([-ftree-tail-merge]): Likewise.
408         ([-ftree-loop-if-convert]): Likewise.
409         ([-ftree-loop-if-convert-stores]): Likewise.
410         ([-ftree-loop-distribution]): Likewise.
411         ([-ftree-loop-distribute-patterns]): Likewise.
412         ([-flto-compression-level]): Likewise.
413         ([-flto-report]): Likewise.
414         ([-flto-report-wpa]): Likewise.
415         ([-fuse-linker-plugin]): Likewise.
416         ([-mfix-cortex-a53-835769]): Likewise.
417         ([-mno-fix-cortex-a53-835769]): Likewise.
418         ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
419         explicit listing; add a note to the discussion indicating they
420         exist.  Reorder table to group similar options.  Add missing
421         @opindex entries.  Add @need commands throughout the table to
422         allow it to be split across multiple pages.
423         ([-m8bit-idiv]): Fix @opindex.
424         ([-mavx256-split-unaligned-load]): Likewise.
425         ([-mavx256-split-unaligned-store]): Likewise.
426         ([-mstack-protector-guard]): Likewise.
427         ([-mcpu=]): Likewise.
428         ([-mcpu]): Likewise.
429         ([-mpointer-size=]): Likewise.
431 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
433         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
434         instead of `m' constraint.  Likewise for unnamed movb comparison
435         patterns using reg_before_reload_operand predicate.
436         * config/pa/predicates.md (reg_before_reload_operand): Tighten
437         predicate to reject register index and LO_SUM DLT memory forms
438         after reload.
440 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
442         * doc/invoke.texi (Option Summary): Fix spelling of
443         -fdevirtualize-at-ltrans.
444         ([-fdevirtualize]): Fix markup.
445         ([-fdevirtualize-speculatively]): Fix typo.
446         ([-fdevirtualize-at-ltrans]): Likewise.  Make description less
447         implementor-speaky.
448         * common.opt (fdevirtualize-at-ltrans): Likewise.
449         * ipa-devirt.c: Fix typos in comments throughout the file.
450         (ipa_devirt): Fix typos in format strings for dump output.
452 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
454         * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
455         discussion of defaults, light copy-editing.
457 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
459         * tsan.c (instrument_expr): corrected previous checkin.
461 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
463         Instrument bit field and unaligned accesses for TSAN.
464         * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
465         (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
466         * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
467         Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
468         unaligned memory regions.
470 2015-01-01  Anthony Green  <green@moxielogic.com>
472         * config/moxie/predicates.md (moxie_general_movsrc_operand):
473         Restrict move source register offsets to 16 bits.
475 Copyright (C) 2015 Free Software Foundation, Inc.
477 Copying and distribution of this file, with or without modification,
478 are permitted in any medium without royalty provided the copyright
479 notice and this notice are preserved.