]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR c/56566 (bogus "is narrower than values of its type" warning)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
12d2dc5e
JJ
12013-03-18 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/56566
4 * tree.c (tree_int_cst_min_precision): For integer_zerop (value)
5 return 1 even for !unsignedp.
6
286fb677
UB
72013-03-17 Uros Bizjak <ubizjak@gmail.com>
8
9 * config/i386/i386.md (isa): Add x64 and nox64.
10 (enabled): Define x64 for TARGET_64BIT and nox64 for !TARGET_64BIT.
11 (*pushtf): Enable *roF alternative for x64 isa only.
12 (*pushxf): Merge with *pushxf_nointeger. Use Yx*r constraint. Set
13 mode attribute of integer alternatives to DImode for TARGET_64BIT.
14 (*pushdf): Merge with *pushdf_rex64. Use x64 and nox64 isa attributes.
15 (*movtf_internal): Merge from *movtf_internal_rex64 and
16 *movtf_internal_sse. Use x64 and nox64 isa attributes.
17 (*movxf_internal): Merge with *movxf_internal_rex64. Use x64 and
18 nox64 isa attributes.
19 (*movdf_internal): Merge with *movdf_internal_rex64. Use x64 and
20 nox64 isa attributes.
21 * config/i386/constraints.md (Yd): Do not set for TARGET_64BIT.
22
88b97037
UB
232013-03-17 Uros Bizjak <ubizjak@gmail.com>
24
25 * config/alpha/alpha.c (TARGET_LRA_P): New define.
26
9f4f1735
JJ
272013-03-17 Jakub Jelinek <jakub@redhat.com>
28
29 PR target/56640
30 * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
31 class names. Remove trailing comma after "ALL_REGS".
32
48f4a6fa
JH
332013-03-16 Jan Hubicka <jh@suse.cz>
34
35 * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
36 * cgraph.c (cgraph_get_create_real_symbol_node): New function.
37 * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
38 of cgraph_get_create_node.
39 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
40
98e81123
JM
412013-03-16 Jason Merrill <jason@redhat.com>
42
43 PR debug/49090
44 * dwarf2out.c (gen_generic_params_dies): Indicate default arguments
45 with DW_AT_default_value.
46
8a298c04
JJ
472013-03-16 Jakub Jelinek <jakub@redhat.com>
48
49 * BASE-VER: Set to 4.9.0.
50
4323afa0
AK
512013-03-14 Andi Kleen <ak@linux.intel.com>
52
53 PR target/56619
54 * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
55 __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
56 Document _x* TSX intrinsics.
57
8cc9a5a5
EI
582013-03-14 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
59 David Holsgrove <david.holsgrove@xilinx.com>
60
61 * configure.ac: Add MicroBlaze TLS support detection.
62 * configure: Regenerate.
88b97037
UB
63 * config/microblaze/microblaze-protos.h
64 (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
65 symbol_mentioned_p, label_mentioned_p): Add prototypes.
66 * config/microblaze/microblaze.c (microblaze_address_type): Add
67 ADDRESS_TLS and tls_reloc address types.
8cc9a5a5
EI
68 (microblaze_address_info): Add tls_reloc.
69 (TARGET_HAVE_TLS): Define.
70 (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
71 microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
88b97037
UB
72 symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
73 load_tls_operand, microblaze_call_tls_get_addr,
74 microblaze_legitimize_tls_address): New functions.
8cc9a5a5
EI
75 (microblaze_classify_unspec): Handle UNSPEC_TLS.
76 (get_base_reg): Use microblaze_tls_symbol_p.
77 (microblaze_classify_address): Handle TLS.
88b97037
UB
78 (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
79 label_mentioned_p and microblaze_tls_referenced_p.
8cc9a5a5
EI
80 (microblaze_legitimize_address): Handle TLS.
81 (microblaze_address_insns): Handle ADDRESS_TLS.
82 (pic_address_needs_scratch): Handle TLS.
83 (print_operand_address): Handle TLS.
84 (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
85 (microblaze_expand_move): Handle TLS.
88b97037
UB
86 (microblaze_legitimate_constant_p): Check
87 microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
8cc9a5a5
EI
88 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
89 * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
90 (PIC_OFFSET_TABLE_REGNUM): Set.
91 * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
92 * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
93 (addsi3, movsi_internal2, movdf_internal): Update constraints
94 * config/microblaze/predicates.md (arith_plus_operand): Define
88b97037
UB
95 (move_operand): Redefine as move_src_operand,
96 check microblaze_tls_referenced_p.
8cc9a5a5 97
d803a491
IB
982013-03-14 Ian Bolton <ian.bolton@arm.com>
99
100 * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
101 (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
102
a8504f22
IB
1032013-03-14 Ian Bolton <ian.bolton@arm.com>
104
105 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
106 CC mode for AND.
107
df2dfaea
JJ
1082013-03-14 Jakub Jelinek <jakub@redhat.com>
109
fbd28bc3
JJ
110 PR tree-optimization/53265
111 * common.opt (Waggressive-loop-optimizations): New option.
112 * tree-ssa-loop-niter.c: Include tree-pass.h.
113 (do_warn_aggressive_loop_optimizations): New function.
114 (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds
115 if number_of_latch_executions returned constant.
116 (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
117 early. If number_of_latch_executions returned constant, set
118 nb_iterations_upper_bound back to it.
119 * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
120 field.
121 * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
122 * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
123
df2dfaea
JJ
124 * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
125 (MULTILIB_OSDIRNAMES): Set.
126 * genmultilib: If defaultosdirname doesn't start with :: , set
127 defaultosdirname2 instead, clear it and emit two . multilib_raw
128 entries instead of just one.
129
ee0d2b68
KK
1302013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
131
132 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
133 (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
134 * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
135 (SUBTARGET_OVERRIDE_OPTIONS): New.
136
decc676e
OE
1372013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
138
139 PR target/49880
140 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
141 (musermode): Convert to Var(TARGET_USERMODE).
142 * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
143 MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
144 * config/sh/sh.c (sh_option_override): Use
145 TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
146 * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
147 condition.
148 (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
149 TARGET_SH4.
150 (udivsi3_i4_single, divsi3_i4_single): Use
151 TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
152
f4b719c7
DK
1532013-03-13 Dave Korn <dave.korn.cygwin@....>
154
155 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
156 default setting.
157
c40eced0
RB
1582013-03-13 Richard Biener <rguenther@suse.de>
159
160 PR tree-optimization/56608
161 * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
162 calls when vectorizing basic-blocks.
163
1bfa5973
JJ
1642013-03-13 Jakub Jelinek <jakub@redhat.com>
165
166 PR plugins/45078
167 * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
168 tm_file.
169
6fcf5434
JJ
1702013-03-12 Jakub Jelinek <jakub@redhat.com>
171
172 * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
173
4f38fa8c
JH
1742013-03-11 Jan Hubicka <jh@suse.cz>
175
176 PR lto/56557
177 * lto-streamer-out.c (output_symbol_p): Skip references from
178 constructors of external variables.
179
c5c5ba89
JH
1802013-03-11 Jan Hubicka <jh@suse.cz>
181
182 PR middle-end/56571
183 * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
184 from pseudos.
185 * emit-rtl.c (verify_rtx_sharing): Likewise.
186 (copy_insn_1): Likewise.
187 * rtl.c (copy_rtx): Likewise.
188
c2a939b1
GJL
1892013-03-11 Georg-Johann Lay <avr@gjlay.de>
190
191 PR target/56591
192 * config/avr/avr.c (avr_print_operand): Add space after '%c' in
193 output_operand_lossage message.
88b97037 194
3c3279fb
RE
1952013-03-11 Richard Earnshaw <rearnsha@arm.com>
196
197 PR target/56470
198 * arm.c (shift_op): Validate RTL pattern on the fly.
199 (arm_print_operand, case 'S'): Don't use shift_operator to validate
200 the RTL.
201
aef5ef9d
JDA
2022013-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
203
204 PR target/56347
205 * config/pa/pa.md (call_value): Check for calls to powf and direct to
206 new call patterns that clobber %fr12.
207 (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
208 split and postreload patterns.
209 * config/pa/pa.c (pa_conditional_register_usage): Revert marking
210 registers %fr12 and %fr12R as call used.
211
456610d3
SB
2122013-03-09 Steven Bosscher <steven@gcc.gnu.org>
213
214 * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
215 (canon_address, record_store, replace_read, check_mem_read_rtx,
216 scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
217 dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
218 rest_of_handle_dse): Likewise.
219
4b1baac8
RS
2202013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
221
222 PR middle-end/56524
223 * tree.h (tree_optimization_option): Rename target_optabs to optabs.
224 Add base_optabs.
225 (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
226 (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
227 (save_optabs_if_changed): Replace with...
228 (init_tree_optimization_optabs): ...this.
229 * optabs.c (save_optabs_if_changed): Rename to...
230 (init_tree_optimization_optabs): ...this. Take the optimization node
231 as argument. Do nothing if the base optabs are already correct.
232 Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
233 to recompute optabs.
234 * function.h (function): Remove optabs field.
235 * function.c (invoke_set_current_function_hook): Call
236 init_tree_optimization_optabs. Use the result to initialize
237 this_fn_optabs.
238
b7a78683
AH
2392013-02-27 Aldy Hernandez <aldyh@redhat.com>
240
241 * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
242 if GTMA_HAS_NO_INSTRUMENTATION.
243 (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
244 (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
245 * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
246 * gimple-pretty-print.c (dump_gimple_transaction): Handle
247 GTMA_HAS_NO_INSTRUMENTATION.
248
6384c29b
JJ
2492013-03-08 Jakub Jelinek <jakub@redhat.com>
250
251 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
252 libasan_preinit.o.
253
ecd4f20a
MP
2542013-03-08 Marek Polacek <polacek@redhat.com>
255 Jakub Jelinek <jakub@redhat.com>
256
257 PR tree-optimization/56478
258 * predict.c (is_comparison_with_loop_invariant_p): Change the
259 type of loop_step to tree.
260 (predict_loops): Adjust.
261 (predict_iv_comparison): Perform the computations on double_ints.
262
64366d35
RB
2632013-03-08 Richard Biener <rguenther@suse.de>
264
265 PR tree-optimization/56570
266 * tree-cfg.c (verify_expr_location_1): Verify locations for
267 DECL_DEBUG_EXPR.
268 * tree-sra.c (create_access_replacement): Strip locations
269 from DECL_DEBUG_EXPRs.
270
a9d5a059
RB
2712013-03-08 Richard Biener <rguenther@suse.de>
272
273 * tree-inline.c (expand_call_inline): Do not associate
274 a BLOCK with the location in BLOCK_SOURCE_LOCATION.
275 * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
276
b7aa4e9a
RB
2772013-03-08 Richard Biener <rguenther@suse.de>
278
279 * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
280 or block changes with -Og. Fix for location / block encoding
281 changes and PHI arguments with locations.
282
c4c2f9fa
SB
2832013-03-07 Steven Bosscher <steven@gcc.gnu.org>
284
285 * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
286 for all counters.
287 (struct output_info): Likewise.
288 (register_overhead): Remove bad gcc_assert.
289 (bitmap_find_bit): If there is only a single bitmap element, do not
290 count a miss as a search.
291 (print_statistics): Update for counter type changes.
292 (dump_bitmap_statistics): Likewise. Print headers such that they
293 are properly lined up with the printed counters.
294
5bf6606a
JJ
2952013-03-07 Jakub Jelinek <jakub@redhat.com>
296
297 PR tree-optimization/56559
298 * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
299 check that it has only a single use.
300
2c653d46
RB
3012013-03-07 Richard Biener <rguenther@suse.de>
302
303 * doc/invoke.texi (fwhole-program): Discourage use in combination
304 with -flto.
305
a72d8780
JJ
3062013-03-06 Jakub Jelinek <jakub@redhat.com>
307
01a454df
JJ
308 * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
309
c1781047
JJ
310 PR tree-optimization/56539
311 * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
312 instead of GSI_CONTINUE_LINKING as last argument to
313 force_gimple_operand_gsi. Adjust function comment.
314
9772c47a
JJ
315 * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
316 aarch64-cores.def.
317
a72d8780
JJ
318 PR middle-end/56548
319 * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
320 promoted mode, convert the result back to the original mode.
321
fa5556de
RB
3222013-03-06 Richard Biener <rguenther@suse.de>
323
324 PR middle-end/56294
325 * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
326 (insert_updated_phi_nodes_compare_uids): New function.
327 (update_ssa): Sort symbols_to_rename after UID before
328 traversing it to insert PHI nodes.
329
010403d1
RB
3302013-03-06 Richard Biener <rguenther@suse.de>
331
332 PR middle-end/50494
333 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
334 Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
335
336 Revert
337 2013-02-13 Richard Biener <rguenther@suse.de>
338
339 PR lto/50494
340 * varasm.c (output_constant_def_1): Get the decl representing
341 the constant as argument.
342 (output_constant_def): Wrap output_constant_def_1.
343 (make_decl_rtl): Use output_constant_def_1 with the decl
344 representing the constant.
345 (build_constant_desc): Optionally re-use a decl already
346 representing the constant.
347 (tree_output_constant_def): Adjust.
348
3c27ce4c
JY
3492013-03-06 Joey Ye <joey.ye@arm.com>
350
351 PR lto/50293
352 * gcc.c (convert_white_space): New function.
353 (main): Handles white space in function name.
354
8f6d1c86
OE
3552013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
356
357 PR target/56529
358 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
359 instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
360 to SH_DIV_CALL_TABLE for TARGET_SH2.
361 * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
362 list.
363 * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
364 call-table options.
365
798a209f
SA
3662013-03-05 Sterling Augustine <saugustine@google.com>
367 Cary Coutant <ccoutant@google.com>
368
369 PR debug/55364
370 * dwarf2out.c (resolve_addr): Don't call
371 remove_loc_list_addr_table_entries a second time for the same
372 expression.
373
6cfa417f 3742013-03-05 Jakub Jelinek <jakub@redhat.com>
ee61ea38 375
6cfa417f
JJ
376 PR debug/56510
377 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
378 (avoid_complex_debug_insns): New function.
379 (expand_debug_locations): Call it.
380
381 PR rtl-optimization/56484
382 * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
383 lifetimes of hard registers on small register class machines.
384
3852013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
386
387 * config/microblaze/microblaze-protos.h: Rename
ee61ea38 388 microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
6cfa417f 389 * config/microblaze/microblaze.c (microblaze_attribute_table): Add
ee61ea38
DH
390 fast_interrupt.
391 (microblaze_fast_interrupt_function_p): New function.
392 (microblaze_is_interrupt_handler): Rename to
393 microblaze_is_interrupt_variant and add fast_interrupt check.
394 (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
395 (save_restore_insns): Likewise.
396 (compute_frame_size): Likewise.
397 (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
398 (microblaze_globalize_label): Likewise.
6cfa417f
JJ
399 * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
400 * config/microblaze/microblaze.md: Use wrapper
ee61ea38
DH
401 microblaze_is_interrupt_variant.
402
731aefac
KT
4032013-03-05 Kai Tietz <ktietz@redhat.com>
404
405 * sdbout.c (sdbout_one_type): Switch to current function's section
406 supporting cold/hot.
407
a72d8780 4082013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
e34fd5a7
DH
409
410 * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
411 -mxl-reorder.
412
334e71e8
JJ
4132013-03-05 Jakub Jelinek <jakub@redhat.com>
414
0b50e654
JJ
415 PR middle-end/56461
416 * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
417 if VALGRIND_GET_VBITS is defined, temporarily make object
418 memory all defined, and restore previous valgrind addressability
419 and definability afterwards. Free this_object at the end.
420
4ccf8f43
JJ
421 PR middle-end/56461
422 * lra.c (lra): Call lra_clear_live_ranges if live_p,
423 right before calling lra_create_live_ranges, also call it
424 when clearing live_p. Only call lra_clear_live_ranges
425 at the end if live_p.
426
334e71e8
JJ
427 PR middle-end/56461
428 * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
429
9ca966ca
RB
4302013-03-05 Richard Biener <rguenther@suse.de>
431
432 PR tree-optimization/56521
433 * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
434 value-id.
435
d273b176
SB
4362013-03-05 Steven Bosscher <steven@gcc.gnu.org>
437
438 PR c++/55135
439 * except.h (remove_unreachable_eh_regions): New prototype.
440 * except.c (remove_eh_handler_splicer): New function, split out
441 of remove_eh_handler.
442 (remove_eh_handler): Use remove_eh_handler_splicer. Add comment
443 warning about running it on many EH regions one at a time.
444 (remove_unreachable_eh_regions_worker): New function, walk the
445 EH tree in depth-first order and remove non-marked regions.
446 (remove_unreachable_eh_regions): New function.
447 * tree-eh.c (mark_reachable_handlers): New function, split out
448 from remove_unreachable_handlers.
449 (remove_unreachable_handlers): Use mark_reachable_handlers and
450 remove_unreachable_eh_regions.
451 (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
452 and remove_unreachable_eh_regions.
453
5e7f1aef
RB
4542013-03-05 Richard Biener <rguenther@suse.de>
455
456 PR middle-end/56525
457 * loop-init.c (fix_loop_structure): Remove loops in two stages,
458 not freeing them until the end.
459
f276b762
AK
4602013-03-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
461
462 * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
463
12a43ab8
RB
4642013-03-05 Richard Biener <rguenther@suse.de>
465
466 PR tree-optimization/56270
467 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
468 of loads after scheduling an SLP instance.
469
93675444
JJ
4702013-03-05 Jakub Jelinek <jakub@redhat.com>
471
db4138e3
JJ
472 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
473 tic6x.exp.
474 (check_gcc_parallelize): Run guality.exp as a separate job from
475 vect.exp with unsorted.exp and $(dg_target_exps) separately from
476 struct-layout-1.exp with stackalign.exp.
477
dd3d1ec0
JJ
478 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
479
b8d381a3
JJ
480 PR middle-end/56461
481 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
482 load_index sbitmap even if some bit in it isn't set.
483
b4f9786b
JJ
484 PR middle-end/56461
485 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
486 (discover_iteration_bound_by_body_walk): Change queues to
487 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
488 spelling in comment. Call safe_push on queues[bound_index] directly.
489 Release queues[queue_index] in every iteration unconditionally.
490 Release bounds vector.
491
93675444
JJ
492 PR middle-end/56461
493 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
494 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
495 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
496 inner_phis vector.
497
3e492e9c
RB
4982013-03-05 Richard Biener <rguenther@suse.de>
499
500 PR lto/56515
501 * tree-inline.c (remap_blocks_to_null): New function.
502 (expand_call_inline): When expanding a call stmt without
503 an associated block inline remap all callee blocks to NULL.
504
a5d1569a
JJ
5052013-03-05 Jakub Jelinek <jakub@redhat.com>
506
86efb5cd
JJ
507 PR rtl-optimization/56494
508 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
509 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
510 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
511
85f5dbea
JJ
512 PR middle-end/56461
513 * sel-sched-ir.c (free_sched_pools): Release
514 succs_info_pool.stack[succs_info_pool.max_top] vectors too
515 if succs_info_pool.max_top isn't -1.
516
a5d1569a
JJ
517 PR bootstrap/56509
518 * opts.c (opts_obstack, opts_concat): Moved to...
519 * opts-common.c (opts_obstack, opts_concat): ... here.
520
4432aa6c
JJ
5212013-03-04 Jakub Jelinek <jakub@redhat.com>
522
523 PR middle-end/56461
524 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
525
f3a1fb91
MJ
5262013-03-04 Martin Jambor <mjambor@suse.cz>
527
528 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
529 all appropriate places.
530
22110e6c
EB
5312013-01-04 Eric Botcazou <ebotcazou@adacore.com>
532
533 PR tree-optimization/56424
534 * ipa-split.c (split_function): Do not set the RSO flag if result is
535 not by reference and its type is a register type.
536
a72d8780 5372013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
91c4e421 538
88b97037 539 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New
91c4e421 540 (microblaze_legitimate_pic_operand): Likewise
88b97037 541 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls
91c4e421
DH
542 new function microblaze_legitimate_pic_operand
543 * config/microblaze/microblaze-protos.h
544 (microblaze_legitimate_pic_operand): Declare.
545
a72d8780 5462013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
82f8f53a 547
a72d8780 548 * config/microblaze/predicates.md (call_insn_simple_operand):
82f8f53a 549 New predicate for supported rtx code types.
a72d8780 550 * config/microblaze/microblaze.md (call_internal1): Use
82f8f53a
EI
551 call_insn_simple_operand predicate.
552
541d9ac8
JJ
5532013-03-04 Jakub Jelinek <jakub@redhat.com>
554
5eb010bc
JJ
555 PR middle-end/56461
556 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
557 partitions.ordered_remove.
558
30862efc
JJ
559 PR middle-end/56461
560 * tree-vect-stmts.c (vectorizable_conversion): Don't call
561 vec_oprnds0.create (1) for modifier == NONE.
562
8930f723
JJ
563 PR middle-end/56461
564 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
565 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
566 vec_oprnds1 right before pushing anything to it for
567 scalar_shift_arg.
568
541d9ac8
JJ
569 PR middle-end/56461
570 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
571 set nbbs to 0 instead of having separate code path.
572 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
573 instead of false as last argument if returning NULL.
574
7aa7f2e3
SL
5752013-03-03 Sandra Loosemore <sandra@codesourcery.com>
576
577 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
578 the attribute is now called "target" instead of "option".
579 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
580 * doc/tm.texi.in (Target Attributes): Likewise document the correct
581 attribute/pragma name for TARGET_OPTION_VALID_P and
582 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
583 * doc/tm.texi: Regenerated.
584
8930f723 5852013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
cb8a1637 586
8930f723 587 * config/microblaze/microblaze.c:
cb8a1637 588 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
8930f723
JJ
589 * config/microblaze/microblaze.h: Add -mxl-reorder to
590 DRIVER_SELF_SPECS.
591 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
592 instructions emitted if TARGET_REORDER.
88b97037
UB
593 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
594 or 0 for -m/-mno case, but initialises as 2 to detect default use case
8930f723 595 separately.
cb8a1637 596
4dc1d68c
XDL
5972013-03-01 Xinliang David Li <davidxl@google.com>
598
599 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
600 walk length.
601
689eaba3
JJ
6022013-03-01 Jakub Jelinek <jakub@redhat.com>
603
9d676bf6
JJ
604 PR middle-end/56461
605 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
606 vector even when returning true. Fix up function comment formatting.
607
caff7edf
JJ
608 PR middle-end/56461
609 * ira-build.c (ira_loop_nodes_count): New variable.
610 (create_loop_tree_nodes): Initialize it.
611 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
612
b6b9227d
JJ
613 PR middle-end/56461
614 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
615 method on dr_chain and result_chain.
616 * tree-vect-stmts.c (vectorizable_store): Only call
617 result_chain.create if j == 0.
618
689eaba3
JJ
619 PR middle-end/56461
620 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
621 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
622 before overwriting it.
623
40bf31ed
TB
6242013-03-01 Tobias Burnus <burnus@net-b.de>
625
626 * doc/extended.texi (C Extensions): Change order in @menu
627 to match @node.
628 (Other MIPS Built-in Functions): Move last MIPS entry before
629 "picoChip Built-in Functions".
630 (SH Built-in Functions): Move after RX Built-in Functions.
631 * doc/gcc.texi (Introduction): Change order in @menu
632 to match @node.
633 * doc/md.texi (Constraints): Ditto.
634 * gty.texi (Type Information): Ditto.
635 (User-provided marking routines for template types): Make
636 subsection.
637 * doc/invoke.texi (AArch64 Options): Move before
638 "Adapteva Epiphany Options".
639
e664c61c
KS
6402013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
641 Jakub Jelinek <jakub@redhat.com>
642
643 PR sanitizer/56454
644 * asan.c (gate_asan): Lookup no_sanitize_address instead of
645 no_address_safety_analysis attribute.
646 * doc/extend.texi (no_address_safety_attribute): Rename to
647 no_sanitize_address attribute, mention no_address_safety_analysis
648 attribute as deprecated alias.
649
37b5ec8f
JJ
6502013-02-28 Jakub Jelinek <jakub@redhat.com>
651
652 PR middle-end/56461
653 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
654 type to vec<vec<tree> > *.
655 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
656 to be vec<tree> instead of vec<tree> *, set vec_defs
657 to vNULL and call vec_defs.create (number_of_vects), adjust other
658 uses of vec_defs.
659 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
660 vectorizable_condition): Adjust vect_get_slp_defs callers.
661
ba96cdfb
JG
6622013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
663
664 * config/aarch64/aarch64.c
665 (aarch64_float_const_representable): Remove unused variable.
666
6f549691
JG
6672013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
668
669 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
670
af55e82d
JG
6712013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
672
673 * config/aarch64/aarch64-builtins.c
674 (aarch64_init_simd_builtins): Make static.
675
1df3f464
JG
6762013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
677
678 * config/aarch64/aarch64.c
679 (aarch64_simd_make_constant): Make static.
680
f8f42513
MJ
6812013-02-28 Martin Jambor <mjambor@suse.cz>
682
683 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
684 with no initialization to the RHS of debug statements.
685
b48b3fc4
MJ
6862013-02-28 Martin Jambor <mjambor@suse.cz>
687
688 PR tree-optimization/56294
689 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
690 Adjust dumping.
691 (get_access_replacement): Do not call create_access_replacement.
692 Assert a replacement exists.
693 (get_repl_default_def_ssa_name): Create the replacement declaration
694 itself.
695
c3ae224c
RR
6962013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
697
698 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
699 final_end_function.
700
45fa0eef
MP
7012013-02-28 Marek Polacek <polacek@redhat.com>
702
703 PR rtl-optimization/56466
704 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
705 if we're changing a loop.
706 (peel_loops_completely): Likewise.
707
502c067d
PC
7082013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
709
710 PR c++/55813
711 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
712
ff24afc8
GJL
7132013-02-28 Georg-Johann Lay <avr@gjlay.de>
714
715 PR target/56445
716 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
717 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
718 INTX_FTYPE_FX, FX_FTYPE_INTX.
719 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
720
c7b1fc1b
GJL
7212013-02-28 Georg-Johann Lay <avr@gjlay.de>
722
723 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
724 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
725 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
726 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
727 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
728 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
729 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
730 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
731 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
732 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
733 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
734 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
735 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
736 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
737 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
738 (avrxmega6): Increase max flash segments from 5 to 6.
739 * config/avr/t-multilib: Regenerate.
740 * config/avr/avr-tables.opt: Regenerate.
741 * doc/avr-mmcu.texi: Regenerate.
742
4a0e3cfe
GJL
7432013-02-28 Georg-Johann Lay <avr@gjlay.de>
744
745 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
746 (avr_device_to_arch): Rename to avr_device_to_ld.
747 (avr_device_to_as): New prototype.
748 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
749 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
750 * config/avr/driver-avr.c (avr_device_to_as): New.
751 (avr_device_to_arch): Rename to avr_device_to_ld.
752
97785e52
JJ
7532013-02-27 Jakub Jelinek <jakub@redhat.com>
754
3f292312
JJ
755 PR middle-end/56461
756 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
757 method on dr_chain and result_chain.
758
a344216b
JJ
759 PR middle-end/56461
760 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
761 pointer_set_destroy on not_executed_last_iteration.
762
f121ad02 763 PR middle-end/56461
88b97037 764 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
f121ad02 765
307f83a3
JJ
766 PR middle-end/56461
767 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
768 FOR_EACH_DEFINED_FUNCTION when freeing state.
769
e19624ee
JJ
770 PR middle-end/56461
771 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
772 pool_free.
773 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
774 overwriting it.
775
90e709fd
JJ
776 PR middle-end/56461
777 * ipa-cp.c (decide_whether_version_node): Call vec_free on
778 known_aggs[i].items and release known_aggs vector.
779
97785e52
JJ
780 PR middle-end/56461
781 * ipa-reference.c (propagate): Free node_info even for alias nodes.
782
7832013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 784
97785e52
JJ
785 * config/microblaze/microblaze.c (microblaze_emit_compare):
786 Use xor for EQ/NE comparisions.
787 * config/microblaze/microblaze.md (cstoresf4): Add constraints
788 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 789
6fa5e0ed
JJ
7902013-02-27 Jakub Jelinek <jakub@redhat.com>
791
792 PR middle-end/56461
793 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
794 vector.
795 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
796 vec_safe_push, always update *slot.
797 (redirect_edge_var_map_clear): Use vec_free.
798 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
799 (free_var_map_entry): Use vec_free.
800 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
801 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
802
436a956a
AB
8032013-02-27 Andrey Belevantsev <abel@ispras.ru>
804
805 PR middle-end/45472
436a956a
AB
806 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
807 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
808 Reorder tests for speculativeness in the logical and operator.
809
f5c2caca
JJ
8102013-02-27 Jakub Jelinek <jakub@redhat.com>
811
0fcb564b
JJ
812 * incpath.c (add_standard_paths): Use reconcat instead of concat
813 where appropriate and avoid leaking memory.
814
dc357798
JJ
815 * opts.h: Include obstack.h.
816 (opts_concat): New prototype.
817 (opts_obstack): New declaration.
818 * opts.c (opts_concat): New function.
819 (opts_obstack): New variable.
820 (init_options_struct): Call gcc_init_obstack on opts_obstack.
821 (finish_options): Use opts_concat instead of concat
822 and XOBNEWVEC instead of XNEWVEC.
823 * opts-common.c (generate_canonical_option, decode_cmdline_option,
824 generate_option): Likewise.
825 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
826 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
827
f5c2caca
JJ
828 PR target/56455
829 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
830 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
831
d0163673
JJ
8322013-02-26 Jakub Jelinek <jakub@redhat.com>
833
834 PR middle-end/56461
835 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
836
b5ad2b8e
JR
8372013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
838
839 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
840 (arm_block_move_unaligned_straight): Likewise.
841 (arm_adjust_block_mem): Likewise.
842
9b639e2c
JR
8432013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
844
845 PR target/48901
846 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
847 temp, cond and label.
848 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
849
e13a0ccb
JR
850 PR target/52500
851 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
852 * config/c6x/c6x.h (dbx_register_map): Update declaration.
853
fbe4f171
JR
854 PR target/52501
855 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
856 of prologue/epilogue functions.
857
ae006543
JR
858 PR target/52550
859 * config/tilegx/tilegx.c (tilegx_expand_prologue):
860 Remove unused variable cfa_offset.
861 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
862
c81369fa
JR
863 PR target/54639
864 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
865 type promotion to unsigned.
866
f8a8fea7
JR
867 PR target/54640
868 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
869 for HOST_WIDE_INT of 32 bit / same size as int.
870 (arm_block_move_unaligned_straight): Likewise.
871 (arm_adjust_block_mem): Likewise.
872
f8be5169
JR
873 PR target/54662
874 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
875 ALL_CFLAGS.
876
f1ad3354
MP
8772013-02-26 Marek Polacek <polacek@redhat.com>
878
879 PR tree-optimization/56426
88b97037 880 * tree-ssa-loop.c (tree_ssa_loop_init): Always call scev_initialize.
f1ad3354 881
a6af0f42
RB
8822013-02-26 Richard Biener <rguenther@suse.de>
883
884 PR target/56444
885 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
886 unused variable loops.
887
aca43c6c
JJ
8882013-02-26 Jakub Jelinek <jakub@redhat.com>
889
cecbe5d9
JJ
890 PR tree-optimization/56448
891 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
892 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
893 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
894 later operands of the references, or even first operand for
895 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
896
aca43c6c
JJ
897 PR tree-optimization/56443
898 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
899 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
900 to type_for_mode langhook.
901
53e2e141
MT
9022013-02-25 Matt Turner <mattst88@gmail.com>
903
904 * doc/invoke.texi: Document r4700.
905
259ee451
RB
9062013-02-25 Richard Biener <rguenther@suse.de>
907
908 PR tree-optimization/56175
909 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
910 split out from ...
911 (simplify_bitwise_binary): ... here. Also guard the conversion
912 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
913
6d65e8f1
CM
9142013-02-25 Catherine Moore <clm@codesourcery.com>
915
916 Revert:
917 2013-02-24 Catherine Moore <clm@codesourcery.com>
918 Maciej W. Rozycki <macro@codesourcery.com>
919 Tom de Vries <tom@codesourcery.com>
a72d8780 920 Nathan Sidwell <nathan@codesourcery.com>
6d65e8f1
CM
921 Iain Sandoe <iain@codesourcery.com>
922 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 923 Chao-ying Fu <fu@mips.com>
88b97037 924
6d65e8f1 925 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 926 Document new function attributes.
6d65e8f1
CM
927 * doc/invoke.texi (minterlink-compressed, mmicromips,
928 m14k, m14ke, m14kec): Document new options.
929 (minterlink-mips16): Update documentation.
930 * doc/md.texi (ZC, ZD): Document new constraints.
931 * configure.ac (gcc_cv_as_micromips): Check if linker
932 supports the .set micromips directive.
933 * configure: Regenerate.
934 * config.in: Regenerate.
935 * config/mips/mips-tables.opt: Regenerate.
936 * config/mips/micromips.md: New file.
937 * constraints.md (ZC, AD): New constraints.
938 * config/mips/predicates.md (movep_src_register): New predicate.
939 (movep_src_operand): New predicate.
940 (non_volatile_mem_operand): New predicate.
941 * config/mips/mips.md (multimem): New type.
942 (length): Differentiate between 17-bit and 18-bit branch offsets.
943 (MOVEP1, MOVEP2): New mode iterator.
944 (mov_<load>l): Use ZC constraint.
945 (mov_<load>r): Likewise.
946 (mov_<store>l): Likewise.
947 (mov_<store>r): Likewise.
948 (*branch_equality<mode>_inverted): Add microMIPS support.
949 (*branch_equality<mode>): Likewise.
950 (*jump_absolute): Likewise.
951 (indirect_jump_<mode>): Likewise.
952 (tablejump_<mode>): Likewise.
953 (<optab>_internal): Likewise.
954 (sibcall_internal): Likewise.
955 (sibcall_value_internal): Likewise.
956 (prefetch): Use constraint ZD.
957 * config/mips/mips.opt (minterlink-compressed): New option.
958 (minterlink-mips16): Now an alias for minterlink-compressed.
959 (mmicromips): New option.
960 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
961 (compare_and_swap_12): Likewise.
962 (sync_add<mode>): Likewise.
963 (sync_<optab>_12): Likewise.
964 (sync_old_<optab>_12): Likewise.
965 (sync_new_<optab>_12): Likewise.
966 (sync_nand_12): Likewise.
967 (sync_old_nand_12): Likewise.
968 (sync_new_nand_12): Likewise.
969 (sync_sub<mode>): Likewise.
970 (sync_old_add<mode>): Likewise.
971 (sync_old_sub<mode>): Likewise.
972 (sync_new_add<mode>): Likewise.
973 (sync_new_sub<mode>): Likewise.
974 (sync_<optab><mode>): Likewise.
975 (sync_old_<optab><mode>): Likewise.
976 (sync_new_<optab><mode>): Likewise.
977 (sync_nand<mode>): Likewise.
978 (sync_old_nand<mode>): Likewise.
979 (sync_new_nand<mode>): Likewise.
980 (sync_lock_test_and_set<mode>): Likewise.
981 (test_and_set_12): Likewise.
982 (atomic_compare_and_swap<mode>): Likewise.
983 (atomic_exchange<mode>_llsc): Likewise.
984 (atomic_fetch_add<mode>_llsc): Likewise.
985 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
986 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
987 (umips_save_restore_pattern_p): Likewise.
988 (umips_load_store_pair_p): Likewise.
989 (umips_output_load_store_pair): Likewise.
990 (umips_movep_target_p): Likewise.
991 (umips_12bit_offset_address_p): Likewise.
992 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
993 (mips_base_mips16): Rename this...
994 (mips_base_compression_flags): ...to this. Update all uses.
995 (mips_attribute_table): Add micromips, nomicromips and nocompression.
996 (mips_mips16_decl_p): Delete.
997 (mips_nomips16_decl_p): Delete.
998 (mips_get_compress_on_flags): New function.
999 (mips_get_compress_off_flags): New function.
1000 (mips_get_compress_mode): New function.
1001 (mips_get_compress_on_name): New function.
1002 (mips_get_compress_off_name): New function.
1003 (mips_insert_attributes): Support multiple compression types.
1004 (mips_merge_decl_attributes): Likewise.
1005 (umips_12bit_offset_address_p): New function.
1006 (mips_start_function_definition): Emit .set micromips directive.
1007 (mips_call_may_need_jalx_p): New function.
1008 (mips_function_ok_for_sibcall): Add microMIPS support.
1009 (mips_print_operand_punctuation): Support short delay slots and
1010 compact jumps.
1011 (umips_swm_mask, umips_swm_encoding): New.
1012 (umips_build_save_restore): New function.
1013 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
1014 (was_mips16_p): Remove.
1015 (old_compression_mode): New.
1016 (mips_set_compression_mode): New function.
1017 (mips_set_current_function): Add microMIPS support.
1018 (mips_option_override): Likewise.
1019 (umips_save_restore_pattern_p): New function.
1020 (umips_output_save_restore): New function.
1021 (umips_load_store_pair_p_1): New function.
1022 (umips_load_store_pair_p): New function.
1023 (umips_output_load_store_pair_1): New function.
1024 (umips_output_load_store_pair): New function.
1025 (umips_movep_target_p) New function.
1026 (mips_prepare_pch_save): Add microMIPS support.
1027 * config/mips/mips.h (TARGET_COMPRESSION): New.
1028 (TARGET_CPU_CPP_BUILTINS): Update macro
1029 to use new compression flags and to support microMIPS.
1030 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
1031 (MIPS_ARCH_FLOAT_SPEC): Likewise.
1032 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
1033 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
1034 (ASM_SPEC): Support mmicromips and mno-micromips.
1035 (M16STORE_REG_P): New macro.
1036 (MIPS_CALL): Support TARGET_MICROMIPS.
1037 (MICROMIPS_J): New macro.
1038 (mips_base_mips16): Rename this...
1039 (mips_base_compression_flags): ...to this.
1040 (UMIPS_12BIT_OFFSET_P): New macro.
1041 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
1042 (MULTILIB_DIRNAMES): Likewise.
1043
5e5df392
TV
10442013-02-25 Tom de Vries <tom@codesourcery.com>
1045
1046 PR rtl-optimization/56131
1047 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
1048 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
1049 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
1050
3fdb53c1
TB
10512013-02-25 Tobias Burnus <burnus@net-b.de>
1052
1053 * doc/invoke.texi (-fsanitize=): Move from optimization
1054 to debugging options.
1055
ed358aea
AB
10562013-02-25 Andrey Belevantsev <abel@ispras.ru>
1057
1058 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
1059
f45e9053
AB
10602013-02-25 Andrey Belevantsev <abel@ispras.ru>
1061 Alexander Monakov <amonakov@ispras.ru>
1062
1063 PR middle-end/56077
1064 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1065 flush pending lists also on non-jumps. Adjust comment.
1066
6941b508
CM
10672013-02-24 Catherine Moore <clm@codesourcery.com>
1068 Maciej W. Rozycki <macro@codesourcery.com>
1069 Tom de Vries <tom@codesourcery.com>
a72d8780 1070 Nathan Sidwell <nathan@codesourcery.com>
6941b508
CM
1071 Iain Sandoe <iain@codesourcery.com>
1072 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 1073 Chao-ying Fu <fu@mips.com>
6941b508
CM
1074
1075 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 1076 Document new function attributes.
6941b508
CM
1077 * doc/invoke.texi (minterlink-compressed, mmicromips,
1078 m14k, m14ke, m14kec): Document new options.
1079 (minterlink-mips16): Update documentation.
1080 * doc/md.texi (ZC, ZD): Document new constraints.
1081 * configure.ac (gcc_cv_as_micromips): Check if linker
1082 supports the .set micromips directive.
1083 * configure: Regenerate.
1084 * config.in: Regenerate.
1085 * config/mips/mips-tables.opt: Regenerate.
1086 * config/mips/micromips.md: New file.
1087 * constraints.md (ZC, AD): New constraints.
1088 * config/mips/predicates.md (movep_src_register): New predicate.
1089 (movep_src_operand): New predicate.
1090 (non_volatile_mem_operand): New predicate.
1091 * config/mips/mips.md (multimem): New type.
1092 (length): Differentiate between 17-bit and 18-bit branch offsets.
1093 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 1094 (mov_<load>l): Use ZC constraint.
6941b508
CM
1095 (mov_<load>r): Likewise.
1096 (mov_<store>l): Likewise.
1097 (mov_<store>r): Likewise.
1098 (*branch_equality<mode>_inverted): Add microMIPS support.
1099 (*branch_equality<mode>): Likewise.
1100 (*jump_absolute): Likewise.
1101 (indirect_jump_<mode>): Likewise.
1102 (tablejump_<mode>): Likewise.
1103 (<optab>_internal): Likewise.
1104 (sibcall_internal): Likewise.
1105 (sibcall_value_internal): Likewise.
1106 (prefetch): Use constraint ZD.
1107 * config/mips/mips.opt (minterlink-compressed): New option.
1108 (minterlink-mips16): Now an alias for minterlink-compressed.
1109 (mmicromips): New option.
1110 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
1111 (compare_and_swap_12): Likewise.
1112 (sync_add<mode>): Likewise.
1113 (sync_<optab>_12): Likewise.
1114 (sync_old_<optab>_12): Likewise.
1115 (sync_new_<optab>_12): Likewise.
1116 (sync_nand_12): Likewise.
1117 (sync_old_nand_12): Likewise.
1118 (sync_new_nand_12): Likewise.
1119 (sync_sub<mode>): Likewise.
1120 (sync_old_add<mode>): Likewise.
1121 (sync_old_sub<mode>): Likewise.
1122 (sync_new_add<mode>): Likewise.
1123 (sync_new_sub<mode>): Likewise.
1124 (sync_<optab><mode>): Likewise.
1125 (sync_old_<optab><mode>): Likewise.
1126 (sync_new_<optab><mode>): Likewise.
1127 (sync_nand<mode>): Likewise.
1128 (sync_old_nand<mode>): Likewise.
1129 (sync_new_nand<mode>): Likewise.
1130 (sync_lock_test_and_set<mode>): Likewise.
1131 (test_and_set_12): Likewise.
1132 (atomic_compare_and_swap<mode>): Likewise.
1133 (atomic_exchange<mode>_llsc): Likewise.
1134 (atomic_fetch_add<mode>_llsc): Likewise.
1135 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
1136 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
1137 (umips_save_restore_pattern_p): Likewise.
1138 (umips_load_store_pair_p): Likewise.
1139 (umips_output_load_store_pair): Likewise.
1140 (umips_movep_target_p): Likewise.
1141 (umips_12bit_offset_address_p): Likewise.
1142 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
1143 (mips_base_mips16): Rename this...
1144 (mips_base_compression_flags): ...to this. Update all uses.
1145 (mips_attribute_table): Add micromips, nomicromips and nocompression.
1146 (mips_mips16_decl_p): Delete.
1147 (mips_nomips16_decl_p): Delete.
3fdb53c1 1148 (mips_get_compress_on_flags): New function.
6941b508
CM
1149 (mips_get_compress_off_flags): New function.
1150 (mips_get_compress_mode): New function.
1151 (mips_get_compress_on_name): New function.
1152 (mips_get_compress_off_name): New function.
1153 (mips_insert_attributes): Support multiple compression types.
1154 (mips_merge_decl_attributes): Likewise.
1155 (umips_12bit_offset_address_p): New function.
1156 (mips_start_function_definition): Emit .set micromips directive.
1157 (mips_call_may_need_jalx_p): New function.
1158 (mips_function_ok_for_sibcall): Add microMIPS support.
1159 (mips_print_operand_punctuation): Support short delay slots and
1160 compact jumps.
1161 (umips_swm_mask, umips_swm_encoding): New.
1162 (umips_build_save_restore): New function.
1163 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
1164 (was_mips16_p): Remove.
1165 (old_compression_mode): New.
1166 (mips_set_compression_mode): New function.
1167 (mips_set_current_function): Add microMIPS support.
1168 (mips_option_override): Likewise.
1169 (umips_save_restore_pattern_p): New function.
1170 (umips_output_save_restore): New function.
1171 (umips_load_store_pair_p_1): New function.
1172 (umips_load_store_pair_p): New function.
1173 (umips_output_load_store_pair_1): New function.
1174 (umips_output_load_store_pair): New function.
1175 (umips_movep_target_p) New function.
1176 (mips_prepare_pch_save): Add microMIPS support.
1177 * config/mips/mips.h (TARGET_COMPRESSION): New.
1178 (TARGET_CPU_CPP_BUILTINS): Update macro
1179 to use new compression flags and to support microMIPS.
1180 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
1181 (MIPS_ARCH_FLOAT_SPEC): Likewise.
1182 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
1183 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
1184 (ASM_SPEC): Support mmicromips and mno-micromips.
1185 (M16STORE_REG_P): New macro.
1186 (MIPS_CALL): Support TARGET_MICROMIPS.
1187 (MICROMIPS_J): New macro.
1188 (mips_base_mips16): Rename this...
1189 (mips_base_compression_flags): ...to this.
1190 (UMIPS_12BIT_OFFSET_P): New macro.
1191 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
1192 (MULTILIB_DIRNAMES): Likewise.
1193
cdebbc6d
JJ
11942013-02-24 Jakub Jelinek <jakub@redhat.com>
1195
1196 PR target/52555
1197 * target-globals.c (save_target_globals): For init_reg_sets and
1198 target_reinit remporarily set this_fn_optabs to this_target_optabs.
1199
18c63565
JG
12002013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
1201
1202 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
1203 * config/aarch64/t-aarch64
1204 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
1205
2194f7a2
VM
12062013-02-22 Vladimir Makarov <vmakarov@redhat.com>
1207
1208 PR inline-asm/56148
1209 * lra-constraints.c (process_alt_operands): Reload operand
1210 conflicting with earlier clobber only if no more other conflicting
1211 operands.
1212
7d613735
JJ
12132013-02-22 Jakub Jelinek <jakub@redhat.com>
1214
1215 PR sanitizer/56393
1216 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
1217 if not linking a shared library.
1218
ac8d93a7
SL
12192013-02-22 Seth LaForge <sethml@google.com>
1220
1221 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
1222
e0237780
GY
12232013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
1224
3fdb53c1
TB
1225 * config/arm/arm.md (split for extendsidi): Update condition.
1226 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
1227 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
1228 (qhs_zextenddi_cstr): Likewise.
e0237780 1229
d7fde18c
JJ
12302013-02-21 Jakub Jelinek <jakub@redhat.com>
1231
be63b77d
JJ
1232 PR middle-end/56420
1233 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
1234 avoid signed wrapping.
1235 (expand_mult): Handle properly multiplication by
1236 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
1237 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
1238 in the compiler if coeff is HOST_WIDE_INT_MIN.
1239 (expand_divmod): Don't make ext_op1 static, change it's type to
1240 uhwi. Avoid undefined behavior in -INTVAL (op1).
1241
d7fde18c
JJ
1242 PR rtl-optimization/50339
1243 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
1244 field.
1245 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
1246 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
1247 into splitting_ashiftrt field.
1248 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
1249 ASHIFTRT.
1250 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
1251 choices.
1252
6aad4455
AH
12532013-02-20 Aldy Hernandez <aldyh@redhat.com>
1254
1255 PR middle-end/56108
1256 * trans-mem.c (execute_tm_mark): Do not expand transactions that
1257 are sure to go irrevocable.
1258
38fe784d
HPN
12592013-02-21 Hans-Peter Nilsson <hp@axis.com>
1260
1261 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
1262 scalars are valid operands.
1263
0fd44da3
MJ
12642013-02-21 Martin Jambor <mjambor@suse.cz>
1265
1266 PR tree-optimization/56310
1267 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
1268 only matching indices and non-negative final offsets.
1269 (intersect_aggregates_with_edge): Pass src_idx to
1270 agg_replacements_to_vector. Pass src_idx insstead of index to
1271 intersect_with_agg_replacements.
1272
7a92038b
MJ
12732013-02-21 Martin Jambor <mjambor@suse.cz>
1274
1275 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
1276 instead of hard-wired defaults.
1277
c0da9c37
MR
12782013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
1279
1280 * doc/invoke.texi (MIPS Options): Update documentation of the
1281 floating-point multiply-accumulate instruction restrictions.
1282
d247ea0c 12832013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
1284
1285 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
1286 asan_shadow_offset on x86_64 linux.
1287
22deefcb
RB
12882013-02-21 Richard Biener <rguenther@suse.de>
1289
1290 PR tree-optimization/56415
1291 Revert
1292 2013-02-11 Richard Biener <rguenther@suse.de>
1293
1294 PR tree-optimization/56273
1295 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1296 first VRP run.
1297
7bcc6e75
JJ
12982013-02-21 Jakub Jelinek <jakub@redhat.com>
1299
a0ad148f
JJ
1300 PR bootstrap/56258
1301 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1302 instead of @itemx.
1303
7bcc6e75
JJ
1304 PR inline-asm/56405
1305 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
1306 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
1307
a0a7b611
JH
13082013-02-20 Jan Hubicka <jh@suse.cz>
1309
1310 PR tree-optimization/56265
88b97037
UB
1311 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph
1312 when target is referenced for first time.
a0a7b611 1313
c0e50f72
RB
13142013-02-20 Richard Biener <rguenther@suse.de>
1315
1316 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
1317 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
1318 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
1319 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
1320 not return anything.
1321 (rename_ssa_copies): Do not remove unused locals.
1322 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
88b97037 1323 * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
c0e50f72
RB
1324 * passes.c (execute_function_todo): Do not schedule unused locals
1325 removal if cleanup_tree_cfg did something.
1326 * tree-ssa-live.c (remove_unused_locals): Dump statistics
1327 about the number of removed locals.
1328
a52ca739
RB
13292013-02-20 Richard Biener <rguenther@suse.de>
1330
1331 PR tree-optimization/56398
88b97037 1332 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip SSA default defs.
a52ca739 1333
ec9c9d1b
MJ
13342013-02-20 Martin Jambor <mjambor@suse.cz>
1335
1336 PR tree-optimization/55334
1337 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
1338 restricted pointers to arrays.
1339
e91c8ed6 13402013-02-20 Richard Biener <rguenther@suse.de>
88b97037 1341 Jakub Jelinek <jakub@redhat.com>
e91c8ed6
RB
1342
1343 PR tree-optimization/56396
1344 * tree-ssa-ccp.c (n_const_val): New static variable.
1345 (get_value): Return NULL for SSA names we don't have a lattice
1346 entry for.
1347 (ccp_initialize): Initialize n_const_val.
1348 * tree-ssa-copy.c (n_copy_of): New static variable.
1349 (init_copy_prop): Initialize n_copy_of.
1350 (get_value): Return NULL_TREE for SSA names we don't have a
1351 lattice entry for.
1352
3d916479
MJ
13532013-02-20 Martin Jambor <mjambor@suse.cz>
1354
1355 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
1356
71a86758
RB
13572013-02-20 Richard Biener <rguenther@suse.de>
1358
1359 * genpreds.c (write_lookup_constraint): Do not compare first
1360 letter of the constraint again.
1361
79836a12
RB
13622013-02-20 Richard Biener <rguenther@suse.de>
1363
1364 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
1365 and ceil_log2.
1366 (get_use_iv_cost): Terminate hashtable walk when coming across
1367 an empty entry.
1368
bbe4fb2c
IZ
13692013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
1370
1371 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
1372 reassociation for avx2 targets.
1373
a72d8780 13742012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 1375
c77f83d5
EI
1376 * config/microblaze/microblaze.c: microblaze_has_clz = 0
1377 Add version check for v8.10.a to enable microblaze_has_clz
88b97037 1378 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
c77f83d5
EI
1379 version and TARGET_PATTERN_COMPARE check
1380 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 1381
a72d8780 13822012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
959434e6 1383
a72d8780 1384 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
959434e6
EI
1385 function before branching.
1386
242387fa
AB
13872012-02-19 Andrey Belevantsev <abel@ispras.ru>
1388
1389 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
1390 DUMP_INSN_RTX_UID.
1391 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
1392
b4979ab9
AB
13932012-02-19 Andrey Belevantsev <abel@ispras.ru>
1394
1395 PR middle-end/55889
b4979ab9
AB
1396 * sel-sched.c: Include ira.h.
1397 (implicit_clobber_conflict_p): New function.
1398 (moveup_expr): Use it.
88b97037 1399 * Makefile.in (sel-sched.o): Depend on ira.h.
b4979ab9 1400
24d63016
RB
14012013-02-19 Richard Biener <rguenther@suse.de>
1402
1403 PR tree-optimization/56384
1404 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
1405 (vn_hash_type): Split out from ...
1406 (vn_hash_constant_with_type): ... here.
1407 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
1408 (vn_phi_eq): Compare types from vn_phi_s structure.
1409 (vn_phi_lookup): Populate vn_phi_s type.
1410 (vn_phi_insert): Likewise.
1411
a475fd3d
JJ
14122013-02-19 Jakub Jelinek <jakub@redhat.com>
1413
47cc28f5
JJ
1414 PR tree-optimization/56350
1415 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1416 if haven't found reduction or nested cycle operand, rather than
1417 asserting we must find it.
1418
a475fd3d
JJ
1419 PR tree-optimization/56381
1420 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1421 to fold_build3.
1422
14232013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
1424 Jakub Jelinek <jakub@redhat.com>
1425
1426 PR target/52555
1427 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
1428 (swap_optab_enable): Same.
1429 (init_all_optabs): Use argument instead of global.
88b97037 1430 * tree.h (struct tree_optimization_option): New field target_optabs.
135204dd
AH
1431 * expr.h (init_all_optabs): Add argument to prototype.
1432 (TREE_OPTIMIZATION_OPTABS): New.
1433 (save_optabs_if_changed): Protoize.
1434 * optabs.h: Declare this_fn_optabs.
1435 * optabs.c (save_optabs_if_changed): New.
1436 Declare this_fn_optabs.
1437 (init_optabs): Add argument to init_all_optabs() call.
1438 * function.c (invoke_set_current_function_hook): Handle per
1439 function optabs.
1440 * function.h (struct function): New field optabs.
1441 * config/mips/mips.c (mips_set_mips16_mode): Handle when
1442 optimization_current_node has changed.
1443 * target-globals.h (save_target_globals_default_opts): Protoize.
1444 * target-globals.c (save_target_globals_default_opts): New.
1445
3f587ca3
JDA
14462013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1447
1448 PR target/56347
1449 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
1450 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
1451
1452 PR target/56214
1453 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
88b97037
UB
1454 and HImode, require all displacements to be an integer multiple of
1455 their mode size.
ceaca33e
JDA
1456 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
1457 only allow QImode and HImode when reload is in progress and strict is
1458 true. Likewise for symbolic addresses. Use base14_operand to check
1459 displacements in REG+BASE addresses.
1460
fe0b4796
RB
14612013-02-18 Richard Biener <rguenther@suse.de>
1462
1463 PR tree-optimization/56366
1464 * tree-vect-loop.c (get_initial_def_for_induction): Properly
1465 handle sign-conversion of outer-loop initial induction value.
1466
6aaf596b
RB
14672013-02-18 Richard Biener <rguenther@suse.de>
1468
73db8ff1 1469 PR middle-end/56349
6aaf596b
RB
1470 * cfghooks.c (merge_blocks): If we merge a latch into another
1471 block adjust references to it.
1472 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
1473 (verify_loop_structure): Verify that a recorded latch is in fact
1474 a latch.
1475
5e97dfb6
RB
14762013-02-18 Richard Biener <rguenther@suse.de>
1477
1478 PR tree-optimization/56321
1479 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
1480 order SSA name release and virtual operand unlinking.
1481
825527e8
EI
14822013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1483
1484 * config/microblaze/microblaze.md (save_stack_block): Define.
1485 (restore_stack_block): Likewise.
1486
debd11d9
EI
14872013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1488
1489 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
1490 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
1491 * config/microblaze/microblaze.c (microblaze_option_override):
1492 Bail out early for PIC modes when target does not support PIC.
1493
8ec77be0
EI
14942013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1495
88b97037 1496 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
8ec77be0
EI
1497 Replace with a microblaze version.
1498 (microblaze_trampoline_init): Adapt for microblaze.
88b97037 1499 * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
8ec77be0
EI
1500 microblaze.
1501
b41288b3
JJ
15022013-02-16 Jakub Jelinek <jakub@redhat.com>
1503 Dodji Seketeli <dodji@redhat.com>
1504
1505 PR asan/56330
88b97037 1506 * asan.c (get_mem_refs_of_builtin_call): White space and style cleanup.
b41288b3
JJ
1507 (instrument_mem_region_access): Do not forget to always put
1508 instrumentation of the of 'base' and 'base + len' in a "if (len !=
1509 0) statement, even for cases where either 'base' or 'base + len'
1510 are not instrumented -- because they have been previously
1511 instrumented. Simplify the logic by putting all the statements
1512 instrument 'base + len' inside a sequence, and then insert that
1513 sequence right before the current insertion point. Then, to
1514 instrument 'base + len', just get an iterator on that statement.
1515 And do not forget to update the pointer to iterator the function
1516 received as argument.
1517
47918951
VM
15182013-02-15 Vladimir Makarov <vmakarov@redhat.com>
1519
1520 PR rtl-optimization/56348
1521 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
1522
3fb7c699
SB
15232013-02-15 Steven Bosscher <steven@gcc.gnu.org>
1524
1525 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
1526 (clean_graph_dump_file): Pass base to start_graph_dump.
1527
576fe41a
RH
15282013-02-14 Richard Henderson <rth@redhat.com>
1529
1530 PR target/55941
1531 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
1532
bb3accfa
SB
15332013-02-14 Steven Bosscher <steven@gcc.gnu.org>
1534
1535 * collect2-aix.h: Define F_LOADONLY.
1536
03143140
RB
15372013-02-14 Richard Biener <rguenther@suse.de>
1538
1539 PR lto/50494
1540 * varasm.c (output_constant_def_1): Get the decl representing
1541 the constant as argument.
1542 (output_constant_def): Wrap output_constant_def_1.
1543 (make_decl_rtl): Use output_constant_def_1 with the decl
1544 representing the constant.
1545 (build_constant_desc): Optionally re-use a decl already
1546 representing the constant.
1547 (tree_output_constant_def): Adjust.
1548
8fb06726
DS
15492013-02-14 Dodji Seketeli <dodji@redhat.com>
1550
1551 Fix an asan crash
1552 * asan.c (instrument_builtin_call): Really put the length of the
1553 second source argument into src1_len.
1554
c4bfe8bf
JJ
15552013-02-13 Jakub Jelinek <jakub@redhat.com>
1556
1557 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
1558 argument. If it is false, don't create edge from then_bb to
1559 fallthru_bb.
1560 (insert_if_then_before_iter): Pass true to it.
1561 (build_check_stmt): Pass false to it.
1562 (transform_statements): Flush hash table only on extended basic
1563 block boundaries, rather than at the beginning of every bb.
1564 Don't flush hash table on nonfreeing_call_p calls.
1565 * tree-flow.h (nonfreeing_call_p): New prototype.
1566 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
1567
7afe2801
DM
15682013-02-13 David S. Miller <davem@davemloft.net>
1569
1570 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1571
70cc3288
VM
15722013-02-13 Vladimir Makarov <vmakarov@redhat.com>
1573
1574 PR target/56184
1575 * ira.c (max_regno_before_ira): Move from ...
1576 (ira): ... here.
1577 (fix_reg_equiv_init): Use max_regno_before_ira instead of
1578 vec_safe_length.
1579
6422242b
JJ
15802013-02-13 Jakub Jelinek <jakub@redhat.com>
1581
1582 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
1583
976a81ee
RB
15842013-02-13 Richard Biener <rguenther@suse.de>
1585
1586 PR lto/56295
1587 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
1588 globals in MEM_REFs.
1589
c1874a87
RB
15902013-02-13 Richard Biener <rguenther@suse.de>
1591
1592 * loop-init.c (loop_optimizer_init): Clear loop state when
1593 re-initializing preserved loops.
1594 * loop-unswitch.c (unswitch_single_loop): Return whether
1595 we unswitched the loop. Do not verify loop state here.
88b97037 1596 (unswitch_loops): When we unswitched a loop discover new loops.
c1874a87 1597
b4ab7d34
KS
15982013-02-13 Kostya Serebryany <kcc@google.com>
1599
88b97037
UB
1600 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset
1601 on x86_64 linux.
b4ab7d34
KS
1602 * sanitizer.def: Rename __asan_init to __asan_init_v1.
1603
bdcbe80c
DS
16042013-02-12 Dodji Seketeli <dodji@redhat.com>
1605
1606 Avoid instrumenting duplicated memory access in the same basic block
1607 * Makefile.in (asan.o): Add new dependency on hash-table.h
1608 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
1609 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
1610 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
1611 (free_mem_ref_resources, has_mem_ref_been_instrumented)
1612 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
1613 (get_mem_ref_of_assignment): New functions.
1614 (get_mem_refs_of_builtin_call): Extract from
1615 instrument_builtin_call and tweak a little bit to make it fit with
1616 the new signature.
1617 (instrument_builtin_call): Use the new
1618 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
1619 of is_gimple_builtin_call.
1620 (instrument_derefs, instrument_mem_region_access): Insert the
1621 instrumented memory reference into the hash table.
1622 (maybe_instrument_assignment): Renamed instrument_assignment into
1623 this, and change it to advance the iterator when instrumentation
1624 actually happened and return true in that case. This makes it
1625 homogeneous with maybe_instrument_assignment, and thus give a
1626 chance to callers to be more 'regular'.
1627 (transform_statements): Clear the memory reference hash table
1628 whenever we enter a new BB, when we cross a function call, or when
1629 we are done transforming statements. Use
1630 maybe_instrument_assignment instead of instrumentation. No more
1631 need to special case maybe_instrument_assignment and advance the
1632 iterator after calling it; it's now handled just like
1633 maybe_instrument_call. Update comment.
1634
4861a1f7
RB
16352013-02-13 Richard Biener <rguenther@suse.de>
1636
1637 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
1638 Fix loop discovery code.
1639
1c86bd80
VM
16402013-02-12 Vladimir Makarov <vmakarov@redhat.com>
1641
1642 PR inline-asm/56148
1643 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 1644 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
1645 the operand is not reloaded. Prefer to reload conflicting operand
1646 if earlyclobber and matching operands are the same.
1647
7cbda518
RB
16482013-02-12 Richard Biener <rguenther@suse.de>
1649
1650 PR lto/56297
1651 * lto-streamer-out.c (write_symbol): Do not output symbols
1652 for hard register variables.
1653
e68a4ef6
GJL
16542013-02-12 Georg-Johann Lay <avr@gjlay.de>
1655
1656 PR target/54222
1657 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
1658 (umulsidi3_insn, mulsidi3_insn): New insns.
1659
a72d8780 16602013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
2597da22
CL
1661
1662 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
1663 (struct tune_params): Add vec_costs field.
1664 * config/arm/arm.c (arm_builtin_vectorization_cost)
1665 (arm_add_stmt_cost): New functions.
1666 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
1667 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
1668 (arm_default_vec_cost): New struct of type cpu_vec_costs.
1669 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
1670 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
1671 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
1672 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
1673
43320568
RB
16742013-02-12 Richard Biener <rguenther@suse.de>
1675
1676 PR lto/56295
1677 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
1678 decls again if possible.
1679
a011aa39
RB
16802013-02-12 Richard Biener <rguenther@suse.de>
1681
1682 PR middle-end/56288
1683 * tree-ssa.c (verify_ssa_name): Fix check, move
1684 SSA_NAME_IN_FREE_LIST check up.
1685
6da26889
JJ
16862013-02-12 Jakub Jelinek <jakub@redhat.com>
1687 Steven Bosscher <steven@gcc.gnu.org>
1688
1689 PR rtl-optimization/56151
1690 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
1691 equal to op0 or op1, and last_insn pattern is CODE operation
1692 with MEM dest and one of the operands matches that MEM.
1693
f80e0faf
ST
16942013-02-11 Sriraman Tallam <tmsriramgoogle.com>
1695
1696 * doc/extend.texi: Document Function Multiversioning and "default"
1697 parameter string to target attribute.
1698 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
1699 target attribute parameter is "default".
1700 (ix86_compare_version_priority): Remove checks for target attribute.
1701 (ix86_mangle_function_version_assembler_name): Change error to sorry.
1702 Remove check for target attribute equal to NULL. Add assert.
1703 (ix86_generate_version_dispatcher_body): Change error to sorry.
1704
6c59ffd1
IS
17052013-02-11 Iain Sandoe <iain@codesourcery.com>
1706 Jack Howarth <howarth@bromo.med.uc.edu>
1707 Patrick Marlier <patrick.marlier@gmail.com>
1708
1709 PR libitm/55693
1710 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
1711 define ENDFILE_SPEC as TM_DESTRUCTOR.
1712 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
1713
a72d8780 17142013-02-11 Alexander Potapenko <glider@google.com>
6a52ccb3
AP
1715 Jack Howarth <howarth@bromo.med.uc.edu>
1716 Jakub Jelinek <jakub@redhat.com>
1717
1718 PR sanitizer/55617
1719 * config/darwin.c (cdtor_record): Rename ctor_record.
1720 (sort_cdtor_records): Rename sort_ctor_records.
1721 (finalize_dtors): New routine to sort destructors by
1722 priority before use in assemble_integer.
1723 (machopic_asm_out_destructor): Use finalize_dtors if needed.
1724
b63fe007
UB
17252013-02-11 Uros Bizjak <ubizjak@gmail.com>
1726
1727 PR rtl-optimization/56275
1728 * simplify-rtx.c (avoid_constant_pool_reference): Check that
1729 offset is non-negative and less than cmode size before
1730 calling simplify_subreg.
1731
8e89b5b5
RB
17322013-02-11 Richard Biener <rguenther@suse.de>
1733
1734 PR tree-optimization/56264
1735 * cfgloop.h (fix_loop_structure): Adjust prototype.
1736 * loop-init.c (fix_loop_structure): Return the number of
1737 newly discovered loops.
1738 * tree-cfgcleanup.c (repair_loop_structures): When new loops
1739 are discovered, do a full loop-closed SSA rewrite.
1740
b4a4b56d
RB
17412013-02-11 Richard Biener <rguenther@suse.de>
1742
1743 PR tree-optimization/56273
1744 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1745 first VRP run.
1746 (check_array_ref): Fix missing newline in dumps.
1747 (search_for_addr_array): Likewise.
1748
0c885229
DE
17492013-02-09 David Edelsohn <dje.gcc@gmail.com>
1750
1751 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
1752
59ac9a55
JJ
17532013-02-09 Jakub Jelinek <jakub@redhat.com>
1754
1755 PR target/56256
1756 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
1757
25bb0bb5
VM
17582013-02-08 Vladimir Makarov <vmakarov@redhat.com>
1759
1760 PR rtl-optimization/56246
0c885229 1761 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
1762 reload pseudo.
1763 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
1764 constraints are satisfied.
1765
a698cc03
JL
17662013-02-08 Jeff Law <law@redhat.com>
1767
1768 PR debug/53948
1769 * emit-rtl.c (reg_is_parm_p): New function.
1770 * regs.h (reg_is_parm_p): New prototype.
1771 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
1772 callee-clobbered registers.
1773
e1122ddd
MM
17742013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1775
1776 PR target/56043
1777 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1778 If there is no implicit builtin declaration, just return NULL.
1779
19c5f6e6
UB
17802013-02-08 Uros Bizjak <ubizjak@gmail.com>
1781
1782 * config/i386/sse.md (FMAMODEM): New mode iterator.
1783 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1784 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1785
2480f2ca 17862013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 1787
2480f2ca
UB
1788 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1789 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1790 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1791
17922013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1793
1794 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
1795 (microblaze*-*-elf): Likewise.
1796 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
1797 LINK_SPEC.
1798 * config/microblaze/microblaze-c.c: Add builtin defines for
1799 _LITTLE_ENDIAN and _BIG_ENDIAN.
1800 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
1801 add to TARGET_DEFAULT flags.
76ef61fb 1802 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
1803 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
1804 * config/microblaze/microblaze.md: Update extendsidi2 and
1805 movdi_internal instructions to use low-order / high-order reg
1806 print_operands.
1807 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
1808 options and inversemask / mask of LITTLE_ENDIAN.
1809 * config/microblaze/t-microblaze: Expand multilib options to
1810 include mlittle-endian (le) and update exceptions patterns.
1811
600a5961
JJ
18122013-02-08 Jakub Jelinek <jakub@redhat.com>
1813
5df81313
JJ
1814 PR rtl-optimization/56195
1815 * lra-constraints.c (get_reload_reg): Don't reuse regs
1816 if they have smaller mode than requested, if they have
1817 wider mode than requested, try to return a SUBREG.
1818
600a5961
JJ
1819 PR tree-optimization/56250
1820 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1821 if type is unsigned and code isn't MULT_EXPR.
1822
ff544649
GJL
18232013-02-08 Georg-Johann Lay <avr@gjlay.de>
1824
1825 PR tree-optimization/56064
1826 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
1827 bits according to mode.
1828 * fixed-value.h (fixed_from_double_int)
1829 (const_fixed_from_double_int): Adjust comments.
1830
e45cde98
RB
18312013-02-08 Richard Biener <rguenther@suse.de>
1832
1833 PR lto/56231
1834 * lto-streamer.h (struct data_in): Remove current_file, current_line
1835 and current_col members.
1836 * lto-streamer-out.c (lto_output_location): Stream changed bits
1837 en-block for efficiency.
1838 * lto-streamer-in.c (clear_line_info): Remove.
1839 (lto_input_location): Cache current file, line and column
1840 globally via local statics. Read changed bits en-block.
1841 (input_function): Do not call clear_line_info.
1842 (lto_read_body): Likewise.
1843 (lto_input_toplevel_asms): Likewise.
1844
c1ca73d8
MM
18452013-02-08 Michael Matz <matz@suse.de>
1846
1847 PR tree-optimization/52448
1848 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
1849 (nt_call_phase): New static.
1850 (add_or_mark_expr): Only mark accesses with newer phase than any
1851 call seen.
1852 (nonfreeing_call_p): New.
1853 (nt_init_block): Update nt_call_phase, mark blocks as visited.
1854 (nt_fini_block): Keep blocks marked as visited.
1855 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
1856
57548aa2
RB
18572013-02-08 Richard Biener <rguenther@suse.de>
1858
1859 * ira.c (ira): Free broken dominator information.
1860
8e10366f
UB
18612013-02-08 Uros Bizjak <ubizjak@gmail.com>
1862
1863 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
1864
f64fb0fa
MP
18652013-02-08 Marek Polacek <polacek@redhat.com>
1866
8e10366f 1867 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 1868
0375167b
RB
18692013-02-08 Richard Biener <rguenther@suse.de>
1870
1871 PR middle-end/56181
1872 * cfgloop.h (flow_loops_find): Adjust.
1873 (bb_loop_header_p): Declare.
1874 * cfgloop.c (bb_loop_header_p): New function split out from ...
1875 (flow_loops_find): ... here. Adjust function signature,
1876 support incremental loop structure update.
1877 (verify_loop_structure): Cleanup. Verify a loop is a loop.
1878 * cfgloopmanip.c (fix_loop_structure): Move ...
1879 * loop-init.c (fix_loop_structure): ... here.
1880 (apply_loop_flags): Split out from ...
1881 (loop_optimizer_init): ... here.
1882 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
1883 in incremental mode, only remove dead loops here.
1884
85d768f3
GJL
18852013-02-08 Georg-Johann Lay <avr@gjlay.de>
1886
1887 PR target/54222
1888 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
1889 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
1890 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
1891 (*round<mode>3.libgcc): New insns for fixed-modes.
1892 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
1893 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
1894 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
1895 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
1896 implementations. Define to __builtin_avr_absFX,
1897 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
1898 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
1899 __builtin_avr_countlsFX, respectively.
1900 * config/avr/avr-c.c (target.h): Include it.
1901 (enum avr_builtin_id): New enum.
1902 (avr_resolve_overloaded_builtin): New static function.
1903 (avr_register_target_pragmas): Use it to set
1904 targetm.resolve_overloaded_builtin.
1905 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
1906 tree nodes used by DEF_BUILTIN.
1907 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
1908 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
1909 <AVR_BUILTIN_xxBITS>: Same.
1910
661bc682
RB
19112013-02-08 Richard Biener <rguenther@suse.de>
1912
1913 * cfgloop.c (verify_loop_structure): Properly handle
1914 a loop exiting to another loop header.
1915 * ira-int.h (ira_loops): Remove.
1916 * ira.c (ira_loops): Remove.
1917 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
1918 (do_reload): Use loop_optimizer_finalize.
1919 * ira-build.c (create_loop_tree_nodes): Use get_loops and
1920 number_of_loops to access the loop tree.
1921 (more_one_region_p): Likewise.
1922 (finish_loop_tree_nodes): Likewise.
1923 (rebuild_regno_allocno_maps): Likewise.
1924 (mark_loops_for_removal): Likewise.
1925 (mark_all_loops_for_removal): Likewise.
1926 (remove_unnecessary_regions): Likewise.
1927 (ira_build): Likewise.
1928 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
1929
0d5049b2
RB
19302013-02-08 Richard Biener <rguenther@suse.de>
1931
1932 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
1933 * ipa-pure-const.c (analyze_function): Avoid calling
1934 mark_irreducible_loops twice.
8e10366f 1935 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 1936
499f32e8
DM
19372013-02-07 David S. Miller <davem@davemloft.net>
1938
1939 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1940 on 'reg'.
1941 * var-tracking.c (vt_add_function_parameter): Test the presence of
1942 HAVE_window_save properly and do not remap argument registers when
1943 we have a leaf function.
1944
6edc3e32
UB
19452013-02-07 Uros Bizjak <ubizjak@gmail.com>
1946
1947 PR bootstrap/56227
1948 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1949 instead of "ll".
1950 * config/i386/i386.c (ix86_print_operand): Ditto.
1951
5306401f
VM
19522013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1953
6edc3e32 1954 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 1955
027ece11
VM
19562013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1957
1958 PR rtl-optimization/56225
1959 * lra-constraints.c (process_alt_operands): Check that reload hard
1960 reg can hold value for strict_low_part.
1961
f980dfdb
JJ
19622013-02-07 Jakub Jelinek <jakub@redhat.com>
1963
1964 PR debug/56154
1965 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
1966 dwarf2out_end_function.
1967 (in_first_function_p, maybe_at_text_label_p,
1968 first_loclabel_num_not_at_text_label): New variables.
1969 (dwarf2out_var_location): In the first function find out
6edc3e32 1970 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
1971 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
1972 functions.
1973
73dd3123
EB
19742013-02-07 Eric Botcazou <ebotcazou@adacore.com>
1975
1976 PR rtl-optimization/56178
1977 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
1978 SUBREG of a register. Tidy up related block of code.
1979 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
1980 note if the source is a register or a SUBREG of a register.
1981
e3936f47
JJ
19822013-02-07 Jakub Jelinek <jakub@redhat.com>
1983
1984 PR target/56228
1985 * config/rs6000/rs6000.md (ptrm): New mode attr.
1986 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
1987 call_value_indirect_aix<pttrsize>,
1988 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
1989 m in constraints.
1990
d96d674b
MH
19912013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1992
1993 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
1994 if -bnortl. Convert to strcmp and strncmp.
1995
921f2dee
AM
19962013-02-07 Alan Modra <amodra@gmail.com>
1997
1998 PR target/54009
1999 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
2000 addresses won't wrap when offsetting.
2001 (rs6000_secondary_reload): Provide secondary reloads needed for
2002 wrapping LO_SUM addresses.
2003
d09c7dba
TS
20042013-02-06 Thomas Schwinge <thomas@codesourcery.com>
2005
2006 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
2007 MACH, just __MACH__.
2008
a44bbd48
RB
20092013-02-06 Richard Biener <rguenther@suse.de>
2010
2011 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
2012 instead of calling fix_loop_structure.
2013
6d840d99
JJ
20142013-02-06 Jakub Jelinek <jakub@redhat.com>
2015
2016 PR middle-end/56217
2017 * omp-low.c (use_pointer_for_field): Return false if
2018 lower_send_shared_vars doesn't generate any copy-out code.
2019
0f33baa9
TV
20202013-02-06 Tom de Vries <tom@codesourcery.com>
2021
2022 PR rtl-optimization/56131
2023 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
2024 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
2025 of the label is NULL. Add comment.
2026
11f1e3ab
JJ
20272013-02-05 Jakub Jelinek <jakub@redhat.com>
2028
31502f9f
JJ
2029 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
2030
a74db9bd
JJ
2031 PR sanitizer/55374
2032 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
2033 (STATIC_LIBTSAN_LIBS): Likewise.
2034 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
2035 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
2036 is defined, don't add anything else beyond that.
2037 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
2038 (LINK_COMMAND_SPEC): Use them.
2039
11f1e3ab
JJ
2040 PR tree-optimization/56205
2041 * tree-stdarg.c (check_all_va_list_escapes): Return true if
2042 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
2043 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
2044
14ac6aa2
RB
20452013-02-05 Richard Biener <rguenther@suse.de>
2046
2047 PR tree-optimization/53342
2048 PR tree-optimization/53185
2049 * tree-vectorizer.h (vect_check_strided_load): Remove.
2050 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
2051 not disallow peeling for vectorized strided loads.
2052 (vect_check_strided_load): Make static and simplify.
2053 (vect_analyze_data_refs): Adjust.
2054 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
2055 correctly when vectorizing strided loads.
2056
6f22445a
RB
20572013-02-05 Richard Biener <rguenther@suse.de>
2058
2059 * doc/install.texi: Refer to ISL, not PPL.
2060
39f9719e
JH
20612013-02-05 Jan Hubicka <jh@suse.cz>
2062
ec4224ac
JH
2063 PR tree-optimization/55789
2064 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
2065
20662013-02-05 Jan Hubicka <jh@suse.cz>
2067
2068 PR tree-optimization/55789
39f9719e
JH
2069 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
2070 the dead call anyway.
2071
956d3b33
EB
20722013-02-05 Eric Botcazou <ebotcazou@adacore.com>
2073
2074 PR sanitizer/55374
2075 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
2076
20772013-02-04 Alexander Potapenko <glider@google.com>
2078 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
2079 Jakub Jelinek <jakub@redhat.com>
2080
2081 PR sanitizer/55617
2082 * config/darwin.c (sort_ctor_records): Stabilized qsort
2083 on constructor priority by using original position.
2084 (finalize_ctors): New routine to sort constructors by
2085 priority before use in assemble_integer.
2086 (machopic_asm_out_constructor): Use finalize_ctors if needed.
2087
7ac3af38
JJ
20882013-02-04 Jakub Jelinek <jakub@redhat.com>
2089
2090 PR libstdc++/54314
2091 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
2092 about visibility on artificial decls.
2093 * config/sol2.c (solaris_assemble_visibility): Likewise.
2094
152689dc
KT
20952013-02-04 Kai Tietz <ktietz@redhat.com>
2096
2097 PR target/56186
2098 * config/i386/i386.c (function_value_ms_64): Add additional valtype
2099 argument and improve checking of return-argument types for 16-byte
2100 modes.
2101 (ix86_function_value_1): Add additional valtype argument on call
2102 of function_value_64.
2103 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
2104 handling infunction_value_64 function.
2105
2b5987b5
MGD
21062013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
2107
7ac3af38 2108 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 2109
14597080
RB
21102013-02-04 Richard Biener <rguenther@suse.de>
2111
2112 PR tree-optimization/56188
2113 * tree-ssa-structalias.c (label_visit): Consider case with
2114 initially non-empty points-to set.
2115 (perform_var_substitution): Dump node mapping and clean up.
2116
ed73881e
RG
21172013-02-04 Richard Guenther <rguenther@suse.de>
2118
2119 PR lto/56168
2120 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
2121 node prevail as last resort.
2122 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 2123 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 2124
139a0707
RB
21252013-02-04 Richard Biener <rguenther@suse.de>
2126
2127 PR tree-optimization/56113
2128 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
2129 Merge into ...
2130 (equiv_class_lookup_or_add): ... this.
2131 (label_visit): Adjust and fix error in previous patch.
2132 (perform_var_substitution): Adjust.
2133
50fe8924
OE
21342013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
2135
2136 * config/sh/divtab.c: Fix formatting and comments throughout the file.
2137 * config/sh/sh4-300.md: Likewise.
2138 * config/sh/sh4a.md: Likewise.
2139 * config/sh/constraints.md: Likewise.
2140 * config/sh/sh.md: Likewise.
2141 * config/sh/netbsd-elf.h: Likewise.
2142 * config/sh/predicates.md: Likewise.
2143 * config/sh/sh-protos.h: Likewise.
2144 * config/sh/ushmedia.h: Likewise.
2145 * config/sh/linux.h: Likewise.
2146 * config/sh/sh.c: Likewise.
2147 * config/sh/superh.h: Likewise.
2148 * config/sh/elf.h: Likewise.
2149 * config/sh/sh4.md: Likewise.
2150 * config/sh/sh.h: Likewise.
2151
1a04ac2b
JDA
21522013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2153
2154 * config/pa/constraints.md: Adjust unused letters. Change "T"
2155 constraint to match_test floating_point_store_memory_operand().
2156 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
2157 (base14_operand): New.
2158 (floating_point_store_memory_operand): New.
2159 (integer_store_memory_operand): Revise to use base14_operand and
2160 reg_plus_base_memory_operand.
2161 (move_dest_operand): Allow symbolic_memory_operands.
2162 (symbolic_memory_operand): Check for LO_SOM.
2163 (symbolic_operand): Change default case to break.
2164 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
2165 CONST_DOUBLE values to be reloaded by putting them into memory when
2166 the destination is a floating point register.
2167 (movdf): Remove code to handle CONST_DOUBLE.
2168 (movsf): Likewise.
2169 (reload_indf_r1): New.
2170 (reload_insf_r1): New.
2171 Consistently use "Q" and "T" constraints with integer and floating
2172 point move instructions, respectively.
2173 (movdi): Remove FAIL.
2174 Change predicate for source operand unamed DImode move from
2175 general_operand to move_src_operand.
2176 (umulsidi3): Change predicate for destination operand to
2177 register_operand.
2178 Likewise for similar unamed patterns.
2179 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
2180 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
2181 (hppa_legitimize_address): Simplify mask calculation.
2182 (pa_emit_move_sequence): Revised handling of secondary reloads from
2183 REG+D addresses for floating point loads and stores. Directly handle
2184 loading CONST0_RTX (mode) to a floating point register.
2185 (pa_secondary_reload): Handle reloading DF and SFmode constant values
2186 to floating point registers. Don't restrict secondary reloads to
2187 floating point registers to integer modes. Revise some comments and
2188 cleanup some code.
2189 (TARGET_LEGITIMATE_ADDRESS_P): Define.
2190 (pa_legitimate_address_p): New.
2191 (pa_legitimize_reload_address): New.
2192 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
2193 (STRICT_REG_OK_FOR_BASE_P): New.
2194 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
2195 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
2196
3bf65591
DE
21972013-02-03 David Edelsohn <dje.gcc@gmail.com>
2198 Andrew Dixie <andrewd@gentrack.com>
2199
2200 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
2201 flag set.
2202
c0a8a3e6
RS
22032013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
2204
2205 * expmed.c (extract_bit_field_1): Pass the full width of the
2206 structure to get_best_reg_extraction_insn.
2207
99113dff
DE
22082013-02-01 David Edelsohn <dje.gcc@gmail.com>
2209
2210 PR target/54601
2211 * configure.ac (use_cxa_atexit): Add AIX.
2212 * configure: Regenerate.
2213
2214 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
2215
ddd84654
JJ
22162013-02-01 Jakub Jelinek <jakub@redhat.com>
2217
2218 PR debug/54793
2219 * final.c (need_profile_function): New variable.
2220 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
2221 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
2222 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
2223 notes, targetm.asm_out.function_prologue doesn't emit anything,
2224 HAVE_prologue and profiler should be emitted before prologue,
2225 set need_profile_function instead of emitting it.
2226 (final_scan_insn): If need_profile_function, emit
2227 profile_function on the first NOTE_INSN_BASIC_BLOCK or
2228 NOTE_INSN_FUNCTION_BEG note.
2229
22302013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
2231
2232 * config/rs6000/rs6000.md (smulditi3): New.
2233 (umulditi3): New.
2234
ff2a9d88
RH
2235 * config/alpha/alpha.md (umulditi3): New.
2236
14d52b90
DE
22372013-02-01 David Edelsohn <dje.gcc@gmail.com>
2238
2239 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
2240 (ASM_OUTPUT_ALIGNED_LOCAL): New.
2241
8c7ca45c
RB
22422013-02-01 Richard Biener <rguenther@suse.de>
2243
2244 PR tree-optimization/56113
2245 * tree-ssa-structalias.c (label_visit): Reduce work for
2246 single-predecessor nodes.
2247
9f419393
EB
22482013-02-01 Eric Botcazou <ebotcazou@adacore.com>
2249
2250 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
2251 range isn't testing for zero.
2252
c5f4be84
SB
22532013-01-31 Steven Bosscher <steven@gcc.gnu.org>
2254
2255 PR middle-end/56113
2256 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
2257
dbdbd982
NC
22582013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
2259 Nick Clifton <nickc@redhat.com>
2260
2261 * config/v850/constraints.md (Q): Define as a memory constraint.
2262 * config/v850/predicates.md (label_ref_operand): New predicate.
2263 (e3v5_shift_operand): New predicate.
2264 (ior_operator): New predicate.
2265 * config/v850/t-v850: Add e3v5 multilib.
2266 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
2267 (v850_gen_movdi): Prototype.
2268 * config/v850/v850.c: Add support for e3v5 architecture.
2269 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
2270 TARGET_V850E_UP.
2271 (construct_save_jarl): Add e3v5 long JARL support.
2272 (v850_adjust_insn_length): New function. Adjust length of call
2273 insns when using e3v5 instructions.
2274 (v850_gen_movdi): New function: Generate instructions to move a
2275 DImode value.
2276 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
2277 (CPP_SPEC): Define __v850e3v5__ as appropriate.
2278 (TARGET_USE_FPU): Enable for e3v5.
2279 (CONST_OK_FOR_W): New macro.
2280 (ADJUST_INSN_LENGTH): Define.
2281 * config/v850/v850.md (UNSPEC_LOOP): Define.
2282 (attr cpu): Add v850e3v5.
2283 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
2284 (movdi): New pattern.
2285 (movdi_internal): New pattern.
2286 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
2287 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
2288 (cstoresf4): Likewise.
2289 (cstoredf4): Likewise.
2290 (insv): New pattern.
2291 (rotlso3_a): New pattern.
2292 (rotlsi3_b): New pattern
2293 (rotlsi3_v850e3v5): New pattern.
2294 (doloop_begin): New pattern.
2295 (fix_loop_counter): New pattern.
2296 (doloop_end): New pattern.
2297 (branch_normal): Add e3v5 long branch support.
2298 (branch_invert): Likewise.
2299 (branch_z_normal): Likewise.
2300 (branch_z_invert): Likewise.
2301 (branch_nz_normal): Likewise.
2302 (branch_nz_invert): Likewise.
2303 (call_internal_short): Add e3v5 register-indirect JARL support.
2304 (call_internal_long): Likewise.
2305 (call_value_internal_short): Likewise.
2306 (call_value_internal_long): Likewise.
2307 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
2308 (mloop): New option.
2309 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 2310 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 2311
73861a41
PK
23122013-01-31 Paul Koning <ni1d@arrl.net>
2313
2314 PR debug/55059
2315 PR debug/54508
2316 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
2317 children if parent is a class.
2318 (prune_unused_types_prune): Don't add DW_AT_declaration.
2319
e44978dc
RB
23202013-01-31 Richard Biener <rguenther@suse.de>
2321
2322 PR tree-optimization/56157
2323 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
2324 match up operand with SLP child.
2325
90b10dec
JM
23262013-01-31 Jason Merrill <jason@redhat.com>
2327
04d2dadd 2328 PR debug/54410
90b10dec
JM
2329 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
2330 parameters the first time.
2331 (gen_scheduled_generic_parms_dies): Check completeness here.
2332
6e616110
RB
23332013-01-31 Richard Biener <rguenther@suse.de>
2334
2335 PR middle-end/53073
2336 * common.opt (faggressive-loop-optimizations): New flag,
2337 enabled by default.
2338 * doc/invoke.texi (faggressive-loop-optimizations): Document.
2339 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
2340 infer_loop_bounds_from_undefined by it.
2341
636f59cf
RB
23422013-01-31 Richard Biener <rguenther@suse.de>
2343
2344 PR tree-optimization/56150
2345 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
2346 visit virtual operands.
2347 (find_uses_to_rename_bb): Likewise.
2348
23492013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
2350
2351 PR tree-optimization/56150
2352 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
2353 mixed store non-store stmts.
2354
32887460
JJ
23552013-01-30 Jakub Jelinek <jakub@redhat.com>
2356
e60e09a0
JJ
2357 PR sanitizer/55374
2358 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
2359 LIBASAN_EARLY_SPEC is defined.
2360 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
2361 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
2362 before %o.
2363 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
2364
32887460
JJ
2365 PR c++/55742
2366 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
2367 invalid args instead of ICEing on it.
2368 (ix86_valid_target_attribute_tree): Return error_mark_node if
2369 ix86_valid_target_attribute_inner_p failed.
2370 (ix86_valid_target_attribute_p): Return false only if
2371 ix86_valid_target_attribute_tree returned error_mark_node. Allow
2372 target("default") attribute.
2373 (sorted_attr_string): Change argument from const char * to tree,
2374 merge in all target attribute arguments rather than just one.
2375 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
2376 instead of free. Avoid using strcat.
2377 (ix86_mangle_function_version_assembler_name): Mangle
2378 target("default") as if no target attribute is present. Adjust
2379 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
2380 instead of xmalloc and XDELETEVEC instead of free.
2381 (ix86_function_versions): Don't return true if one of the decls
2382 doesn't have target attribute. If they don't and one of the decls
2383 is DECL_FUNCTION_VERSIONED, report an error. Adjust
2384 sorted_attr_string caller. Use XDELETEVEC instead of free.
2385 (ix86_supports_function_versions): Remove.
2386 (make_name): Fix up formatting.
2387 (make_dispatcher_decl): Remove resolver_name and its initialization.
2388 Avoid leaking memory.
2389 (is_function_default_version): Return true if there is
2390 target("default") attribute rather than no target attribute at all.
2391 (make_resolver_func): Avoid leaking memory.
2392 (ix86_generate_version_dispatcher_body): Likewise.
2393 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
2394 * target.def (supports_function_versions): Remove.
2395 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
2396 * doc/tm.texi: Regenerated.
2397
73cca0cc
VM
23982013-01-30 Vladimir Makarov <vmakarov@redhat.com>
2399
2400 PR rtl-optimization/56144
2401 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
2402 for values with side effects.
2403
11452e7b
RB
24042013-01-30 Richard Biener <rguenther@suse.de>
2405
2406 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
2407 (sparseset_pop): Likewise.
2408 * cfganal.c (compute_idf): Likewise. Increase work-stack size
2409 to be able to use quick_push in the worker loop.
2410
01cb1ef5
MP
24112013-01-30 Marek Polacek <polacek@redhat.com>
2412
2413 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
2414
e892936e
RB
24152013-01-30 Richard Biener <rguenther@suse.de>
2416
2417 PR lto/56147
6edc3e32 2418 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 2419
cc06c01d
GJL
24202013-01-30 Georg-Johann Lay <avr@gjlay.de>
2421
2422 PR tree-optimization/56064
2423 * fixed-value.c (fixed_from_double_int): New function.
2424 * fixed-value.h (fixed_from_double_int): New prototype.
2425 (const_fixed_from_double_int): New static inline function.
2426 * fold-const.c (native_interpret_fixed): New static function.
2427 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
2428 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
2429 (native_encode_fixed): New static function.
2430 (native_encode_expr) <FIXED_CST>: Use it.
2431 (native_interpret_int): Move double_int worker code to...
2432 * double-int.c (double_int::from_buffer): ...this new static method.
2433 * double-int.h (double_int::from_buffer): Prototype it.
2434
d394a308
RB
24352013-01-30 Richard Biener <rguenther@suse.de>
2436
2437 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
2438 New pointer-map and obstack.
2439 (init_alias_vars): Allocate pointer-map and obstack.
2440 (delete_points_to_sets): Free them.
2441 (find_what_var_points_to): Cache result.
2442 (find_what_p_points_to): Adjust for changed interface of
2443 find_what_var_points_to.
2444 (compute_points_to_sets): Likewise.
2445 (ipa_pta_execute): Likewise.
2446
20804d96
RO
24472013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2448
2449 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
2450 * configure: Regenerate.
2451 * config.in: Regenerate.
2452 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
2453 #nobits/#progbits if supported.
2454
a7ad88a2
OE
24552013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
2456
2457 PR target/56121
2458 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
2459 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
2460 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
2461
7af79f92
GY
24622013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2463
91bfca59
OE
2464 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
2465 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 2466
753bcf7b
GY
24672013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2468
91bfca59
OE
2469 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
2470 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 2471
8cbc2ea8
GY
24722013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2473
91bfca59
OE
2474 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
2475 declaration.
2476 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
2477 * config/arm/cortex-a7.md: New bypasses using
2478 arm_mac_accumulator_is_result.
8cbc2ea8 2479
697a3325
GY
24802013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2481
91bfca59 2482 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 2483 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
2484 (cortex_a7_fpfmad): New reservation.
2485 (cortex_a7_fpmacs): Use ffmas and update required units.
2486 (cortex_a7_fpmuld): Update required units and latency.
2487 (cortex_a7_fpmacd): Likewise.
2488 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
2489 (cortex_a7_neon). Likewise.
2490 (bypass) Update participating units.
697a3325 2491
29637783
GY
24922013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2493
91bfca59
OE
2494 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
2495 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
2496 from fmac to ffma.
2497 * config/arm/vfp11.md (vfp_farith): Use ffmas.
2498 (vfp_fmul): Use ffmad.
2499 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
2500 (cortex_r4_fmacd): Use ffmad.
2501 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
2502 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
2503 (cortex_a9_fmacd): Use ffmad.
2504 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
2505 (cortex_a8_vfp_macd): Use ffmad.
2506 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
2507 (cortex_a5_fpmacd): Use ffmad.
2508 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
2509 (cortex_a15_vfp_macd): Use ffmad.
2510 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 2511
2ee8a2d5
JM
25122013-01-29 Jason Merrill <jason@redhat.com>
2513
2514 PR libstdc++/54314
2515 * varasm.c (default_assemble_visibility): Don't warn about
2516 visibility on artificial decls.
2517
78d087bc
RB
25182013-01-29 Richard Biener <rguenther@suse.de>
2519
2520 PR tree-optimization/56113
2521 * tree-ssa-structalias.c (equiv_class_lookup): Also return
2522 the bitmap leader.
2523 (label_visit): Free duplicate bitmaps and record the leader instead.
2524 (perform_var_substitution): Adjust.
2525
83ba4d6f
RB
25262013-01-29 Richard Biener <rguenther@suse.de>
2527
2528 PR tree-optimization/55270
2529 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
2530 the CFG, schedule loops for fixup.
2531
66dfe13f
NC
25322013-01-29 Nick Clifton <nickc@redhat.com>
2533
2534 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
2535 SP_REG.
2536
5a579c3b
LE
25372013-01-28 Leif Ekblad <leif@rdos.net>
2538
2539 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
2540 * config/i386/i386.h (TARGET_RDOS): New macro.
2541 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
2542 * config/i386/i386.c (ix86_option_override_internal): For 64bit
2543 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
2544 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
2545 DEFAULT_LARGE_SECTION_THRESHOLD.
2546 * config/i386/i386.md (R14_REG, R15_REG): New constants.
2547 * config/i386/rdos.h: New file.
2548 * config/i386/rdos64.h: New file.
2549
51e44392
BS
25502013-01-28 Bernd Schmidt <bernds@codesourcery.com>
2551
2552 PR other/54814
2553 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
2554 TEST_HARD_REG_BIT.
2555
db1fb332
JJ
25562013-01-28 Jakub Jelinek <jakub@redhat.com>
2557
2558 PR rtl-optimization/56117
2559 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
2560 call cselib_lookup_from_insn on the MEM before calling
2561 add_insn_mem_dependence.
2562
16917761
RB
25632013-01-28 Richard Biener <rguenther@suse.de>
2564
2565 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
2566 to a stmt that didn't have one.
2567 (copy_phis_for_bb): Likewise for PHI arguments.
2568 (copy_debug_stmt): Likewise for debug stmts.
2569
b9fc0497
RB
25702013-01-28 Richard Biener <rguenther@suse.de>
2571
2572 PR tree-optimization/56034
6edc3e32 2573 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
2574 (partition_builtin_p): Adjust.
2575 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
2576 it is the last partition.
2577 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
2578 up the vertex for the definition.
2579 (classify_partition): Classify whether a partition is a
2580 PKIND_REDUCTION, thus has uses outside of the loop.
2581 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
2582 Merge all PKIND_REDUCTION partitions into the last partition.
2583 (tree_loop_distribution): Seed partitions from reductions as well.
2584
aa710d25
JJ
25852013-01-28 Jakub Jelinek <jakub@redhat.com>
2586
0bfbca58
JJ
2587 PR tree-optimization/56125
2588 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
2589 pow(x,c) into sqrt(x) * powi(x, n/2) or
2590 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
2591 optimizing for size.
2592 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
2593 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
2594 integer.
2595
aa710d25
JJ
2596 PR tree-optimization/56094
2597 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
2598 to UNKNOWN_LOCATION while gimplifying expr.
2599
77dc5297
UB
26002013-01-27 Uros Bizjak <ubizjak@gmail.com>
2601
2602 PR target/56114
2603 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
2604 operand 0 in movabs insn template for -masm=intel asm alternative.
2605 (*movabs<mode>_2): Ditto for operand 1.
2606
0bfbca58 26072013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
2608
2609 PR target/54663
2610 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
2611 of microblaze-c.o
2612
0bfbca58 26132013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
2614
2615 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
2616 tm_file.
2617
0bfbca58 26182013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
2619
2620 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
2621 Undef to avoid warning.
2622
478f60f9
MH
26232013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2624
2625 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
2626 * configure: Regenerate.
2627
d7fa6ee2
JJ
26282013-01-25 Jakub Jelinek <jakub@redhat.com>
2629
2630 PR tree-optimization/56098
2631 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
2632 for stmts with volatile ops.
2633 (cond_store_replacement): Don't optimize if assign has volatile ops.
2634 (cond_if_else_store_replacement_1): Don't optimize if either
2635 then_assign or else_assign have volatile ops.
2636 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
2637 volatile ops.
2638
f8fe87bd
GJL
26392013-01-25 Georg-Johann Lay <avr@gjlay.de>
2640
2641 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
2642
28398d0d
GJL
26432013-01-25 Georg-Johann Lay <avr@gjlay.de>
2644
2645 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
2646 missing ':' in asm example.
2647
b7d7d917
TB
26482013-01-25 Tejas Belagod <tejas.belagod@arm.com>
2649
2650 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
2651 entries into lane and laneq entries.
77dc5297
UB
2652 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
2653 Remove AdvSIMD scalar modes.
b7d7d917
TB
2654 (aarch64_sq<r>dmulh_laneq<mode>): New.
2655 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
2656 modes.
2657 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
2658 builtin implementations to relfect changes in RTL in aarch64-simd.md.
2659 * config/aarch64/iterators.md (VCOND): New.
2660 (VCONQ): New.
2661
556f9906
GJL
26622013-01-25 Georg-Johann Lay <avr@gjlay.de>
2663
2664 PR target/54222
2665 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
2666 Add NULL LIBNAME argument to existing definitions.
2667 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
2668 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
2669 * config/avr/avr.c (DEF_BUILTIN): Same.
2670 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
2671 (avr_expand_builtin): Expand to a vanilla call if a libgcc
2672 implementation is available (DECL_ASSEMBLER_NAME is set).
2673 (avr_fold_absfx): New static function.
2674 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
2675 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
2676 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
2677 AVR_BUILTIN_ABSLLK.
2678 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
2679 (abshk, absk, abslk, absllk): Provide as static inline functions.
2680
1f546bbb
MP
26812013-01-25 Marek Polacek <polacek@redhat.com>
2682
2683 PR tree-optimization/56035
2684 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
2685
7e184bd7
UB
26862012-01-24 Uros Bizjak <ubizjak@gmail.com>
2687
2688 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
2689 (*movtf_internal_rex64): Add (!o,C) alternative
2690 (*movxf_internal_rex64): Ditto.
2691 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
2692
f5ba49ac
SM
26932013-01-24 Shenghou Ma <minux.ma@gmail.com>
2694
2695 * doc/invoke.texi: fix typo.
2696 * doc/objc.texi: fix typo.
2697
a6343728
RS
26982013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2699
2700 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
2701 for the first two alternatives.
2702
cd030c07
DN
27032013-01-24 Diego Novillo <dnovillo@google.com>
2704
77dc5297 2705 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
2706 (ggc-zone.o): Remove.
2707 * configure.ac: Remove option --with-gc.
2708 * configure: Re-generate.
2709 * doc/install.texi: Remove documentation for --with-gc.
2710 * gengtype.c (write_enum_defn): Remove. Update all users.
2711 (write_Types_process_field): Remove generation of gt_e_* argument.
2712 (output_type_enum): Remove. Update all users.
2713 (write_enum_defn): Remove. Update all users.
2714 (enum alloc_zone): Remove. Update all users.
77dc5297 2715 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
2716 * ggc-common.c (ggc_splay_alloc): Remove first argument.
2717 Update all callers.
2718 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 2719 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
2720 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
2721 Update all users.
aaf1e810 2722 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
2723 (struct alloc_zone): Remove.
2724 (ggc_internal_alloc_zone_stat): Remove.
2725 (ggc_internal_cleared_alloc_zone_stat): Remove.
2726 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
2727 (ggc_pch_count_object): Remove last argument. Update all users.
2728 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
2729 (struct alloc_zone): Remove.
2730 * ggc-zone.c: Remove.
77dc5297 2731 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
2732 (struct alloc_zone): Remove.
2733 (ggc_alloc_typed_stat): Remove.
2734 (ggc_alloc_typed): Remove.
2735 (ggc_splay_alloc): Remove first argument.
2736 (rtl_zone): Remove. Update all users.
2737 (tree_zone): Remove. Update all users.
2738 (tree_id_zone): Remove. Update all users.
2739 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 2740 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 2741 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 2742 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 2743
a861ffa4
GJL
27442013-01-24 Georg-Johann Lay <avr@gjlay.de>
2745
2746 * config/avr/avr.c (avr_out_fract): Make register numbers that
2747 might be outside of source operand signed.
2748
593c0ddd
UB
27492013-01-24 Uros Bizjak <ubizjak@gmail.com>
2750
2751 * config/i386/constraints.md (Yf): New constraint.
2752 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
2753 of f constraint to conditionaly disable x87 register preferences.
2754 (*movdf_internal): Ditto.
2755 (*movsf_internal): Ditto.
2756
e86c0101
SB
27572013-01-24 Steven Bosscher <steven@gcc.gnu.org>
2758
2759 PR inline-asm/55934
2760 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
2761 that have operands with impossible constraints.
2762 Add a FIXME for a speed-up opportunity.
2763 * lra-constraints.c (process_alt_operands): Verify that a class
2764 selected from constraints on asms is valid for the operand mode.
2765 (curr_insn_transform): Remove incorrect comment.
2766
f6fee35f
DE
27672013-01-23 David Edelsohn <dje.gcc@gmail.com>
2768
2769 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
2770 TOC operand is a valid symbol ref in the constant pool.
2771
27722013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 2773
aaf1e810 2774 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 2775
dc62d7d1
GJL
27762013-01-23 Georg-Johann Lay <avr@gjlay.de>
2777
2778 PR target/54222
2779 * config/avr/stdfix.h: New file.
2780 * t-avr (stdfix-gcc.h): New rule to build it.
2781 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
2782
2660d12d
KS
27832013-01-23 Kostya Serebryany <kcc@google.com>
2784
77dc5297
UB
2785 * config/darwin.h: remove dependency on
2786 CoreFoundation (asan on Mac OS).
2660d12d 2787
a70418fc
JJ
27882013-01-23 Jakub Jelinek <jakub@redhat.com>
2789
2790 PR target/49069
2791 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
2792 instead of cmpdi_operand for first comparison operand.
2793 Don't assert that comparison operands aren't both constants.
2794
47876a2a
JW
27952013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2796
2797 * doc/install.texi (Downloading the Source): Update references to
2798 downloading separate components.
2799
28002013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
2801
2802 * doc/extend.texi (__int128): Improve grammar.
2803
47876a2a 28042013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
2805
2806 PR target/56028
2807 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
2808 alternative to (o,r).
2809 (*movdi_internal_rex64): Remove (!o,n) alternative.
2810 (DImode immediate->memory splitter): Remove.
2811 (DImode immediate->memory peephole2): Remove.
2812 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
2813 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
2814 alternative to (!o,*r).
2815 (*movtf_internal_sse): New pattern.
2816 (*movxf_internal_rex64): New pattern.
2817 (*movxf_internal): Disable for TARGET_64BIT.
2818 (*movdf_internal_rex64): Remove (!o,F) alternative.
2819
3a984f10
JJ
28202013-01-22 Jakub Jelinek <jakub@redhat.com>
2821
502498d5
JJ
2822 PR middle-end/56074
2823 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
2824 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
2825 * tree-vect-loop-manip.c (find_loop_location): Also ignore
2826 stmt locations where LOCATION_LOCUS of the stmt location is
2827 UNKNOWN_LOCATION or BUILTINS_LOCATION.
2828
3a984f10
JJ
2829 PR target/55686
2830 * config/i386/i386.md (UNSPEC_STOS): New.
2831 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
2832 *strsetqi_1): Add UNSPEC_STOS.
2833
fa817f7f
PC
28342013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
2835
2836 PR c++/56067
2837 * doc/invoke.texi: Remove left over -Wsynth example.
2838
8f498c1b
JJ
28392013-01-21 Jakub Jelinek <jakub@redhat.com>
2840
2841 PR tree-optimization/56051
2842 * fold-const.c (fold_binary_loc): Don't fold
2843 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
2844 a narrowing conversion, or widening conversion from signed
2845 to unsigned.
2846
47876a2a 28472013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
2848
2849 PR rtl-optimization/56023
2850 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
2851 dependent on debug instruction.
2852
5b9db1bc
MJ
28532013-01-21 Martin Jambor <mjambor@suse.cz>
2854
2855 PR middle-end/56022
2856 * function.c (allocate_struct_function): Call
2857 invoke_set_current_function_hook earlier.
2858
e8bb7d68
JJ
28592013-01-21 Jakub Jelinek <jakub@redhat.com>
2860
2861 * reload1.c (init_reload): Only initialize reload_obstack
2862 during the first call.
2863
616a4e32
MP
28642013-01-21 Marek Polacek <polacek@redhat.com>
2865
2866 * cfgloop.c (verify_loop_structure): Fix up grammar.
2867
4401981b
YHH
28682013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
2869
2870 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
2871 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
2872
8e87740b
RR
28732013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2874
2875 PR target/56058
2876 * config/arm/marvell-pj4.md: Update copyright year.
2877 Fix up use of alu to alu_reg and simple_alu_imm.
2878
47876a2a 28792013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
2880
2881 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
2882
89d56d79
VM
28832013-01-20 Vladimir Makarov <vmakarov@redhat.com>
2884
2885 PR target/55433
2886 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 2887 insn for secondary memory move when memory mode should be different.
89d56d79 2888
fe603553
JDA
28892013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2890
2891 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
2892 atomic_storedi_1): New patterns.
2893
01284895
VK
28942013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2895
2896 btver2 pipeline descriptions.
2897 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
2898 descriptions.
2899 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 2900 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
2901 type attributes.
2902 * config/i386/btver2.md: New file describing btver2 pipelines.
2903
5630e3e1
JL
29042013-01-19 Andrew Pinski <apinski@cavium.com>
2905
2906 PR tree-optimization/52631
2907 * tree-ssa-sccvn (visit_use): Before looking up the original
2908 statement, try looking up the simplified expression.
2909
650ae806
AG
29102013-01-19 Anthony Green <green@moxielogic.com>
2911
2912 * config/moxie/moxie.c (moxie_expand_prologue): Set
2913 current_function_static_stack_size.
2914
e300ec2d
JJ
29152013-01-18 Jakub Jelinek <jakub@redhat.com>
2916
2917 PR tree-optimization/56029
2918 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
2919 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
2920
a3d7af04
SS
29212013-01-18 Sharad Singhai <singhai@google.com>
2922
2923 PR tree-optimization/55995
2924 * dumpfile.c (dump_loc): Print location only if available.
2925 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
2926
66aa7879
VM
29272013-01-18 Vladimir Makarov <vmakarov@redhat.com>
2928
2929 PR target/55433
2930 * lra-constraints.c (curr_insn_transform): Reuse original insn for
2931 secondary memory move.
2932 (inherit_reload_reg): Use rclass instead of cl for
2933 check_secondary_memory_needed_p.
2934
3f0fee7b
JJ
29352013-01-18 Jakub Jelinek <jakub@redhat.com>
2936
2937 PR middle-end/56015
2938 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 2939 the case where writing real complex part of target modifies op1.
3f0fee7b 2940
70c67693
JG
29412013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
2942
2943 * config/aarch64/aarch64-simd.md
2944 (aarch64_vcond_internal<mode>): Handle unordered cases.
2945 * config/aarch64/iterators.md (v_cmp_result): New.
2946
df8de9b3
YHH
29472013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
2948 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2949
2950 * config/arm/marvell-pj4.md: New file.
2951 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
2952 * config/arm/arm.md (generic_sched): Add marvell_pj4.
2953 (generic_vfp): Likewise.
2954 * config/arm/arm-cores.def: Add marvell-pj4.
2955 * config/arm/arm-tune.md: Regenerate.
2956 * config/arm/arm-tables.opt: Regenerate.
2957 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
2958 * doc/invoke.texi: Document marvell-pj4.
2959
be30c356
TB
29602013-01-18 Tejas Belagod <tejas.belagod@arm.com>
2961
2962 * config/aarch64/arm_neon.h: Map scalar types to standard types.
2963
0bfbca58 29642013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
2965
2966 PR debug/54114
2967 PR debug/54402
2968 PR debug/49888
2969 * var-tracking.c (negative_power_of_two_p): New.
2970 (global_get_addr_cache, local_get_addr_cache): New.
2971 (get_addr_from_global_cache, get_addr_from_local_cache): New.
2972 (vt_canonicalize_addr): Rewrite using the above. Adjust the
2973 heading comment.
2974 (vt_stack_offset_p): Remove.
2975 (vt_canon_true_dep): Always canonicalize loc's address.
2976 (clobber_overlapping_mems): Make sure we have a MEM.
2977 (local_get_addr_clear_given_value): New.
2978 (val_reset): Clear local cached entries.
2979 (compute_bb_dataflow): Create and release the local cache.
2980 Disable duplicate MEMs clobbering.
2981 (emit_notes_in_bb): Clobber MEMs likewise.
2982 (vt_emit_notes): Create and release the local cache.
2983 (vt_initialize, vt_finalize): Create and release the global
2984 cache, respectively.
1f6bc337 2985 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 2986
0bfbca58 29872013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
2988
2989 PR libmudflap/53359
2990 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
2991 not found in the symtab.
2992
0bfbca58 29932013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 2994
c350ba53 2995 PR debug/56006
3aa03517
AO
2996 PR rtl-optimization/55547
2997 PR rtl-optimization/53827
2998 PR debug/53671
2999 PR debug/49888
3000 * alias.c (offset_overlap_p): New, factored out of...
3001 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
3002 the conservative special case for symbolic constants. Don't
3003 adjust zero sizes on alignment.
3004
c664546f
JL
30052013-01-18 Bernd Schmidt <bernds@codesourcery.com>
3006
3007 PR rtl-optimization/52573
3008 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
3009 REG_UNUSED for the same register.
3010
1bd3f750
MP
30112013-01-17 Richard Biener <rguenther@suse.de>
3012 Marek Polacek <polacek@redhat.com>
3013
3014 PR rtl-optimization/55833
3015 * loop-unswitch.c (unswitch_loops): Move loop verification...
3016 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
3017 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
3018 Set it to true when we're removing a loop from hierarchy tree in
3019 an irreducible region.
3020 (fix_bb_placements): Adjust caller.
3021 (fix_loop_placements): Likewise.
3022
e52a8b71
GJL
30232013-01-17 Georg-Johann Lay <avr@gjlay.de>
3024
3025 * config/avr/builtins.def (DEF_BUILTIN): Factor out
3026 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
3027 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
3028 Remove ID. Adjust comments.
3029 * config/avr/avr-c.c (avr_builtin_name): Remove.
3030 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
3031 * config/avr/avr.c (avr_tolower): New static function.
3032 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
3033 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
3034 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
3035 default expansion.
3036
8386a7ea
JH
30372013-01-17 Jan Hubicka <jh@suse.cz>
3038
610fb637 3039 PR tree-optimization/55273
8386a7ea
JH
3040 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
3041
47876a2a 30422013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
3043
3044 PR target/55981
3045 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
3046 store through atomic_store<mode>_1.
3047 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
3048
8222c37e
MJ
30492013-01-17 Martin Jambor <mjambor@suse.cz>
3050
3051 PR tree-optimizations/55264
3052 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
3053 for virtual methods.
3054 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
3055 virtual methods before inlining is over.
3056 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
3057 virtual functions.
3058 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
3059 non-virtual.
3060
79f01c76
VM
30612013-01-16 Vladimir Makarov <vmakarov@redhat.com>
3062
3063 PR rtl-optimization/56005
3064 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
3065 pending reads for prefetch.
3066
d0b6bb1b
IB
30672013-01-16 Ian Bolton <ian.bolton@arm.com>
3068
aaf1e810 3069 * config/aarch64/aarch64.md
d0b6bb1b
IB
3070 (*cstoresi_neg_uxtw): New pattern.
3071 (*cmovsi_insn_uxtw): New pattern.
3072 (*<optab>si3_uxtw): New pattern.
3073 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
3074 (*<optab>si3_insn_uxtw): New pattern.
3075 (*bswapsi2_uxtw): New pattern.
3076
cb9cf03b
RB
30772013-01-16 Richard Biener <rguenther@suse.de>
3078
3079 * tree-inline.c (tree_function_versioning): Remove set but
3080 never used variable.
3081
2cfc56b9
RB
30822013-01-16 Richard Biener <rguenther@suse.de>
3083
3084 PR tree-optimization/55964
3085 * tree-flow.h (rename_variables_in_loop): Remove.
3086 (rename_variables_in_bb): Likewise.
3087 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
3088 (copy_loop_before): Adjust and delete update-ssa status.
3089 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 3090 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
3091 (rename_variables_in_loop): Remove.
3092 (slpeel_update_phis_for_duplicate_loop): Likewise.
3093 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
3094 use available cfg machinery instead of duplicating it.
3095 Update PHI nodes and perform poor-mans SSA update here.
3096 (slpeel_tree_peel_loop_to_edge): Adjust.
3097
c25a0c60
RB
30982013-01-16 Richard Biener <rguenther@suse.de>
3099
3100 PR tree-optimization/54767
3101 PR tree-optimization/53465
3102 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
3103 (vrp_visit_phi_node): For PHI arguments coming via backedges
3104 drop all symbolical range information.
3105 (execute_vrp): Compute backedges.
3106
04b535af
RB
31072013-01-16 Richard Biener <rguenther@suse.de>
3108
3109 * doc/install.texi: Update CLooG and ISL requirements to
3110 0.18.0 and 0.11.1.
3111
8b0a1e0b
CB
31122013-01-16 Christian Bruel <christian.bruel@st.com>
3113
3114 PR target/55301
3115 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
3116 (broken_move): Handle UNSPECV_SP_SWITCH_B.
3117 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
3118
31192013-01-16 DJ Delorie <dj@redhat.com>
3120
3121 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
3122 (UNSPECV_SP_SWITCH_E): New.
3123 (sp_switch_1): Change to an unspec.
3124 (sp_switch_2): Change to an unspec. Don't use post-inc when we
3125 replace $r15.
3126
31272013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
3128
3129 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
3130 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
3131 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
3132 (expand_mem_thread_fence): Ditto.
3133 (expand_mem_signal_fence): Ditto.
3134 (expand_atomic_load): Ditto.
3135 (expand_atomic_store): Ditto.
3136
0bfbca58 31372013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
3138
3139 PR rtl-optimization/55547
3140 PR rtl-optimization/53827
3141 PR debug/53671
3142 PR debug/49888
3143 * alias.c (memrefs_conflict_p): Set sizes to negative after
3144 AND adjustments.
3145
305e3ac1
JJ
31462013-01-15 Jakub Jelinek <jakub@redhat.com>
3147
3148 PR target/55940
3149 * function.c (thread_prologue_and_epilogue_insns): Always
3150 add crtl->drap_reg to set_up_by_prologue.set, even if
3151 stack_realign_drap is false.
3152
f78ac4f2
JBG
31532013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
3154
3155 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
3156 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
3157 *call): Fix indention.
3158
a78a8cc4
TV
31592013-01-15 Tom de Vries <tom@codesourcery.com>
3160
3161 PR target/55876
3162 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
3163 Update comment.
3164
0e80383f
VM
31652013-01-15 Vladimir Makarov <vmakarov@redhat.com>
3166
305e3ac1 3167 PR rtl-optimization/55153
0e80383f
VM
3168 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
3169
207b5956
MJ
31702013-01-15 Martin Jambor <mjambor@suse.cz>
3171
3172 PR tree-optimization/55920
3173 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
3174 accesses as grp_to_be_debug_replaced.
3175
a7818b54
JJ
31762013-01-15 Jakub Jelinek <jakub@redhat.com>
3177
3178 PR tree-optimization/55920
3179 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
3180 there is non-useless type conversion needed from debug rhs to lhs,
3181 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
3182
b0fe107e
JM
31832013-01-15 Joseph Myers <joseph@codesourcery.com>
3184 Mikael Pettersson <mikpe@it.uu.se>
3185
3186 PR target/43961
3187 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
3188 Thumb.
3189 (ASM_OUTPUT_CASE_LABEL): Remove.
3190 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
3191 * final.c (shorten_branches): Update alignment of labels before
3192 jump tables if CASE_VECTOR_SHORTEN_MODE.
3193
34ab62ee
RB
31942013-01-15 Richard Biener <rguenther@suse.de>
3195
3196 PR bootstrap/55961
3197 * system.h: Do not include gmp.h for building host tools.
3198
783a3a05
RB
31992013-01-15 Richard Biener <rguenther@suse.de>
3200
3201 PR middle-end/55882
3202 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
3203 account for bitpos when computing alignment.
3204
3a579e09
VY
32052013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
3206
3207 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
3208 (ix86_target_macros_internal): Likewise.
3209
3210 * config/i386/i386.c (m_CORE2I7): Removed.
3211 (m_CORE_HASWELL): New macro.
3212 (m_CORE_ALL): Likewise.
3213 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
3214 (initial_ix86_arch_features): Likewise.
3215 (processor_target_table): Initializations for Core avx2.
3216 (cpu_names): New names "core-avx2".
3217 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
3218 PROCESSOR_CORE_HASWELL.
3219 (ix86_issue_rate): New case.
3220 (ia32_multipass_dfa_lookahead): Likewise.
3221 (ix86_sched_init_global): Likewise.
3222
3223 * config/i386/i386.h (TARGET_HASWELL): New macro.
3224 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
3225 (processor_type): New PROCESSOR_HASWELL.
3226
955f5a07
JJ
32272013-01-15 Jakub Jelinek <jakub@redhat.com>
3228
ff784829
JJ
3229 PR tree-optimization/55955
3230 * tree-vect-loop.c (vectorizable_reduction): Give up early on
3231 *SHIFT_EXPR and *ROTATE_EXPR codes.
3232
955f5a07
JJ
3233 PR tree-optimization/48766
3234 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
3235 -ftrapv disable -fwrapv.
3236
aeb8b4e9
GJL
32372013-01-14 Georg-Johann Lay <avr@gjlay.de>
3238
3239 PR target/55974
3240 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
3241 etc. to 1 and not to __flash.
3242 Use LL suffix for __INT24_MAX__ with -mint8.
3243 Use ULL suffix for __UINT24_MAX__ with -mint8.
3244
1c494c6a
GJL
32452013-01-14 Georg-Johann Lay <avr@gjlay.de>
3246
3247 * config/avr/avr-arch.h
3248 (struct base_arch_s): Use typedef avr_arch_t instead.
3249 (struct arch_info_s): Use typedef avr_arch_info_t instead.
3250 (struct mcu_type_s): Use typedef avr_mcu_t instead.
3251 * config/avr/avr.c: Same.
3252 * config/avr/avr-devices.c: Same.
3253 * config/avr/driver-avr.c: Same.
3254 * config/avr/gen-avr-mmcu-texi.c: Same.
3255 * config/avr/avr-mcus.def: Adjust comment.
3256
a50344cb
TB
32572013-01-14 Tejas Belagod <tejas.belagod@arm.com>
3258
88e784e6
UB
3259 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
3260 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 3261
47876a2a 32622013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
3263 Andi Kleen <ak@linux.intel.com>
3264
3265 PR target/55948
3266 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
3267 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
3268 memmodel flag.
3269
00892272
GJL
32702013-01-14 Georg-Johann Lay <avr@gjlay.de>
3271
3272 * config/avr/avr-stdint.h: Remove trailing blanks.
3273 * config/avr/avr-log.h: Same.
3274 * config/avr/avr-arch.h: Same.
3275 * config/avr/avr-devices.c: Same.
3276 * config/avr/avr-dimode.md: Same.
3277 * config/avr/predicates.md: Same.
3278 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 3279
00892272
GJL
3280 * config/avr/avr-protos.h: Same. And:
3281 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
3282 (init_cumulative_args): Rename to avr_init_cumulative_args.
3283 (expand_prologue): Rename to avr_expand_prologue.
3284 (expand_epilogue): Rename to avr_expand_epilogue.
3285 (adjust_insn_length): Rename to avr_adjust_insn_length.
3286 (notice_update_cc): Rename to avr_notice_update_cc.
3287 (final_prescan_insn): Rename to avr_final_prescan_insn.
3288 * config/avr/avr.c: Same.
3289 * config/avr/avr.h: Same.
3290 * config/avr/avr.md: Remove trailing blanks.
3291 (prologue): Use avr_expand_prologue.
3292 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
3293
7bb01996
RB
32942013-01-14 Richard Biener <rguenther@suse.de>
3295
3296 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
3297 verify_location, collect_subblocks): New functions.
3298 (verify_gimple_in_cfg): Verify that locations only reference
3299 BLOCKs in the functions BLOCK tree.
3300
2724573f
RB
33012013-01-14 Richard Biener <rguenther@suse.de>
3302
3303 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
3304 PHI argument.
3305 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
3306 unshare reference.
3307 (insert_out_of_ssa_copy_on_edge): Likewise.
3308 (rewrite_close_phi_out_of_ssa): Likewise.
3309 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
3310 debug expressions.
3311 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
3312 propagated constants.
3313 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
3314 can not be shared.
3315
9a0bbab6
GJL
33162013-01-14 Georg-Johann Lay <avr@gjlay.de>
3317
3318 * config/avr/avr-modes.def: Add GPL copyright notice.
3319
45805f17
UB
33202013-01-13 Uros Bizjak <ubizjak@gmail.com>
3321
3322 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
3323 MEMMODEL_MASK to determine memory model.
3324 (atomic_store<mode>): Ditto from operands[2].
3325 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
3326
9d60be38
JJ
33272013-01-13 Jakub Jelinek <jakub@redhat.com>
3328
3329 PR fortran/55935
45805f17 3330 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
3331 (fold_gimple_assign): Don't call unshare_expr here.
3332 (fold_ctor_reference): Call unshare_expr.
3333
e7f49d92
TG
33342013-01-13 Terry Guo <terry.guo@arm.com>
3335
aaf1e810
EB
3336 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
3337 * doc/fragments.texi: Document MULTILIB_REUSE.
3338 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 3339 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 3340 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
3341 (tmpmultilib4): Ditto.
3342 (multilib_reuse): New multilib argument.
3343
fbd03a27
RS
33442013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
3345
3346 * Makefile.in: Update copyright.
3347
b3681f13
TV
33482013-01-12 Tom de Vries <tom@codesourcery.com>
3349
3350 PR middle-end/55890
3351 * calls.c (expand_call): Check if arg_nr is valid.
3352
3f287e4b
MM
33532013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3354
3355 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
3356 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
3357 documentation. Add missing '__' in front of
3358 __builtin_ia32_packssdw256.
3f287e4b 3359
1abcd5eb
AK
33602013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3361
3362 PR target/55719
3363 * config/s390/s390.c (s390_preferred_reload_class): Do not return
3364 NO_REGS for larl operands.
3365 (s390_reload_larl_operand): Use s390_load_address instead of
3366 emit_move_insn.
3367
980d0812
RB
33682013-01-11 Richard Biener <rguenther@suse.de>
3369
3370 * tree-cfg.c (verify_node_sharing_1): Split out from ...
3371 (verify_node_sharing): ... here.
3372 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
3373
7cb9fd07
EB
33742013-01-11 Eric Botcazou <ebotcazou@adacore.com>
3375
3376 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
3377 Substitute TREECHECKING.
3378 * configure: Regenerate.
3379 * Makefile.in (TREECHECKING): New.
3380
47876a2a 33812013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
3382
3383 PR tree-optimization/44061
3384 * tree-vrp.c (extract_range_basic): Compute zero as
3385 value-range for __builtin_constant_p of function parameters.
3386
d1e082c2
RS
33872013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
3388
45805f17 3389 Update copyright years.
d1e082c2 3390
f85021b0
VM
33912013-01-10 Vladimir Makarov <vmakarov@redhat.com>
3392
9d60be38 3393 PR rtl-optimization/55672
0160442c
VM
3394 * lra-eliminations.c (mark_not_eliminable): Permit addition with
3395 const to be eliminable.
f85021b0 3396
7a8b1ec4
DE
33972013-01-10 David Edelsohn <dje.gcc@gmail.com>
3398
3399 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
3400 * configure: Regenerate.
3401
ad2e5b71
RB
34022013-01-10 Richard Biener <rguenther@suse.de>
3403
ddf9322d 3404 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 3405
ffc5b2bb
RB
34062013-01-10 Richard Biener <rguenther@suse.de>
3407
3408 PR bootstrap/55792
3409 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
3410 locations for virtual PHI arguments.
3411 (rewrite_update_phi_arguments): Likewise.
3412
e1f674e4
JS
34132013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
3414
3415 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
3416 on to assembler.
3417
a57fc743
JJ
34182013-01-10 Jakub Jelinek <jakub@redhat.com>
3419
3420 PR tree-optimization/55921
3421 * tree-complex.c (expand_complex_asm): New function.
3422 (expand_complex_operations_1): Call it for GIMPLE_ASM.
3423
0ff4390d
AK
34242013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3425
3426 PR target/55718
3427 * config/s390/s390.c (s390_symref_operand_p)
3428 (s390_loadrelative_operand_p): Merge the two functions.
3429 (s390_check_qrst_address, print_operand_address): Add parameters
3430 to s390_loadrelative_operand_p invokation.
3431 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
3432 (s390_reload_larl_operand, s390_secondary_reload): Use
3433 s390_loadrelative_operand_p instead of s390_symref_operand_p.
3434 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
3435
6f557e0e
MS
34362013-01-09 Mike Stump <mikestump@comcast.net>
3437
3438 * dse.c (record_store): Remove unnecessary assert.
3439
7770c9e9
JH
34402013-01-09 Jan Hubicka <jh@suse.cz>
3441
3442 PR tree-optimization/55569
3443 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
3444 * cfgloop.h (scale_loop_profile): Likewise.
3445
a19b1432
JH
34462013-01-09 Jan Hubicka <jh@suse.cz>
3447
3448 PR lto/45375
ddf9322d
UB
3449 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
3450 functions.
a19b1432
JH
3451 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
3452
9a002da8
RS
34532013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
3454
3455 PR middle-end/55114
3456 * expr.h (maybe_emit_group_store): Declare.
3457 * expr.c (maybe_emit_group_store): New function.
3458 * builtins.c (expand_builtin_int_roundingfn): Call it.
3459 (expand_builtin_int_roundingfn_2): Likewise.
3460
511dcace
VM
34612013-01-09 Vladimir Makarov <vmakarov@redhat.com>
3462
e1f2b729 3463 PR rtl-optimization/55829
511dcace
VM
3464 * lra-constraints.c (match_reload): Add code for absent output.
3465 (curr_insn_transform): Add code for reloads of matched inputs
3466 without output.
3467
7b0fe4f4
UB
34682013-01-09 Uros Bizjak <ubizjak@gmail.com>
3469
3470 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
3471 attribute of movddup insn to DF.
3472 (*vec_interleave_lowv2df): Ditto.
3473 (vec_dupv2df): Ditto.
3474
870ca331
JH
34752013-01-09 Jan Hubicka <jh@suse.cz>
3476
3477 PR tree-optimiation/55875
3478 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
3479 EVERY_ITERATION parameter.
7b0fe4f4 3480 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
3481 (idx_infer_loop_bounds): Similarly here.
3482 (n_of_executions_at_most): Simplify
3483 to only test for cases where statement is dominated by the
7b0fe4f4 3484 particular bound; handle correctly the "postdominance" test.
870ca331
JH
3485 (scev_probably_wraps_p): Use max loop iterations info
3486 as a global bound first.
3487
6f575fe4 34882013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
3489 Nick Clifton <nickc@redhat.com>
3490
3491 * config/v850/v850.md (cbranchsf4): New pattern.
3492 (cstoresf4): New pattern.
3493 (cbranchdf4): New pattern.
3494 (cstoredf4): New pattern.
3495 (movsicc): Disallow floating point comparisons.
3496 (cmpsf_le_insn): Fix order of operators.
3497 (cmpsf_lt_insn): Likewise.
3498 (cmpsf_eq_insn): Likewise.
3499 (cmpdf_le_insn): Likewise.
3500 (cmpdf_lt_insn): Likewise.
3501 (cmpdf_eq_insn): Likewise.
3502 (cmpsf_ge_insn): Use LE comparison.
3503 (cmpdf_ge_insn): Likewise.
3504 (cmpsf_gt_insn): Use LT comparison.
3505 (cmpdf_gt_insn): Likewise.
3506 (cmpsf_ne_insn): Delete pattern.
3507 (cmpdf_ne_insn): Delete pattern.
3508 * config/v850/v850.c (v850_gen_float_compare): Use
3509 gen_cmpdf_eq_insn for NE comparison.
3510 (v850_float_z_comparison_operator)
3511 (v850_float_nz_comparison_operator): Move from here ...
3512 * config/v850/predicates.md: ... to here. Move GT and GE
3513 comparisons into v850_float_z_comparison_operator.
3514 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
3515 Delete prototype.
3516 (v850_float_nz_comparison_operator): Likewise.
3517
f0d54148
JDA
35182013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3519
3520 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
3521 with calls to gen_insvsi/gen_insvdi.
3522
8f01beca
VK
35232013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3524
3525 * config/i386/i386.c (initial_ix86_tune_features): Set up
3526 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
3527
2aa579ad
JJ
35282013-01-09 Steven Bosscher <steven@gcc.gnu.org>
3529 Jakub Jelinek <jakub@redhat.com>
3530
3531 PR tree-optimization/48189
3532 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
3533 If nitercst is 0, don't predict the exit edge.
3534
6edc3e32 35352013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
3536
3537 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
3538 in asm_fprintf with reg_names.
3539 (aarch64_print_operand_address): Likewise.
3540 (aarch64_return_addr): Likewise.
3541 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
3542
f6f94d94
JDA
35432013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3544
3545 * config/pa/pa.h (VAL_U6_BITS_P): Define.
3546 (INT_U6_BITS): Likewise.
3547 * config/pa/predicates.md (uint6_operand): New predicate.
3548 (shift5_operand, shift6_operand): Likewise.
3549 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
3550 arith32_operand.
3551 (lshrdi3): Use shift6_operand.
3552 (shrpsi4, shrpdi4): New insn patterns.
3553 (extzv): Delete expander.
3554 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
3555 predicates in unamed zero extract patterns. Tighten common constraint.
3556 (extv): Delete expander.
3557 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
3558 predicates in unamed sign extract patterns. Tighten common constraint.
3559 (insv): Delete expander.
3560 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
3561 predicates in unamed insert patterns. Tighten common constraint.
3562 Change uint32_operand predicate to uint6_operand predicate in unamed
3563 DImode pattern to insert constant values of type 1...1xxxx.
3564
36b72910
JH
35652013-01-04 Jan Hubicka <jh@suse.cz>
3566
3567 PR tree-optimization/55823
7b0fe4f4
UB
3568 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
3569 issue.
36b72910 3570
47876a2a 35712013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
3572 Uros Bizjak <ubizjak@gmail.com>
3573
3574 PR rtl-optimization/55845
3575 * df-problems.c (can_move_insns_across): Stop scanning at
3576 volatile_insn_p source instruction or give up if
3577 across_from .. across_to range contains any volatile_insn_p
3578 instructions.
3579
4369c11e
TB
35802013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3581
7b0fe4f4
UB
3582 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
3583 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
3584 Declare.
4369c11e 3585 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 3586 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 3587
aeb7e7c1
JJ
35882013-01-08 Jakub Jelinek <jakub@redhat.com>
3589
3590 PR fortran/55341
3591 * asan.c (asan_clear_shadow): New function.
3592 (asan_emit_stack_protection): Use it.
3593
a02ad1aa
TB
35942013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3595
3596 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
3597 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
3598 with tab instead of space.
3599
f90d87f5
NC
36002013-01-08 Nick Clifton <nickc@redhat.com>
3601
3602 * config/rl78/rl78.c (rl78_expand_prologue): Always select
3603 register bank 0 at the start of an interrupt handler.
83ffd964
NC
3604 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
3605 MDBH registers.
f90d87f5 3606
385eb93d
JG
36072013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3608
3609 * config/aarch64/aarch64-simd.md
3610 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
3611 (aarch64_simd_bsl): Likewise.
3612 (aarch64_vcond_internal<mode>): Likewise.
3613 (vcond<mode><mode>): Likewise.
3614 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
3615 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
3616
4dcd1054
JG
36172013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3618
3619 * config/aarch64/aarch64-builtins.c
3620 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
3621
4267a4a6
MJ
36222013-01-08 Martin Jambor <mjambor@suse.cz>
3623
3624 PR debug/55579
3625 * tree-sra.c (analyze_access_subtree): Return true also after
3626 potentially creating a debug-only replacement.
3627
5f4e6de3
JJ
36282013-01-08 Jakub Jelinek <jakub@redhat.com>
3629
3138f224
JJ
3630 PR middle-end/55890
3631 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
3632
5f4e6de3
JJ
3633 PR tree-optimization/54120
3634 * tree-vrp.c (range_fits_type_p): Don't allow
3635 src_precision < precision from signed vr to unsigned_p
3636 if vr->min or vr->max is negative.
3637 (simplify_float_conversion_using_ranges): Test can_float_p
3638 against CODE_FOR_nothing.
3639
f3ef18ff
JJ
36402013-01-08 Jakub Jelinek <jakub@redhat.com>
3641 Richard Biener <rguenther@suse.de>
3642
3643 PR middle-end/55851
3644 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
3645 types instead of just INTEGER_TYPE types.
3646
25c210f9
MK
36472013-01-07 Mark Kettenis <kettenis@openbsd.org>
3648
3649 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
3650 TF_SIZE): Define.
f90d87f5 3651
81826a7b
SE
36522013-01-07 Steve Ellcey <sellcey@mips.com>
3653
3654 PR target/42661
3655 * config/mips/mips.opt: Change mad to mmad to match documentation.
3656
35678514
GJL
36572013-01-07 Georg-Johann Lay <avr@gjlay.de>
3658
3659 PR target/55897
3660 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
3661 .progmemx.data now.
3662
e5669488
GJL
36632013-01-07 Georg-Johann Lay <avr@gjlay.de>
3664
3665 PR target/55897
3666 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
3667 (avr_addrspace_t): Add .section_name field.
3668 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
3669 array size.
3670 (avr_addrspace): Same. Initialize .section_name. Remove last
3671 NULL entry. Put __memx into .progmemx.data.
3672 (progmem_section_prefix): Remove.
3673 (avr_asm_init_sections): No need to initialize progmem_section.
3674 (avr_asm_named_section): Use avr_addrspace[].section_name to get
3675 section name prefix.
3676 (avr_asm_select_section): Ditto. And use get_unnamed_section to
3677 retrieve the progmem section.
3678 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
3679 boundary to run over avr_addrspace[].
3680 (avr_register_target_pragmas): Ditto.
3681
656e6f37
JJ
36822013-01-06 Jakub Jelinek <jakub@redhat.com>
3683
3684 * varasm.c (output_constant_def_contents): For asan_protect_global
3685 protected strings, adjust DECL_ALIGN if needed, before testing for
3686 anchored symbols.
3687 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
3688 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
3689 normal decls.
3690 (output_object_block): For asan protected decls, emit asan padding
3691 after their contents.
3692 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
3693 (asan_finish_file): Test it here instead.
3694
6edc3e32
UB
36952013-01-07 Nick Clifton <nickc@redhat.com>
3696 Matthias Klose <doko@debian.org>
3697 Doug Kwan <dougkwan@google.com>
3698 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
3699
3700 PR driver/55470
3701 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
3702
3703 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
3704
3705 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
3706
7b0fe4f4 3707 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
3708
3709 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
3710
2a095093
GJL
37112013-01-07 Georg-Johann Lay <avr@gjlay.de>
3712
f3b503f4 3713 PR target/54461
2a095093
GJL
3714 * doc/install.texi (Cross-Compiler-Specific Options): Document
3715 --with-avrlibc.
3716
383f9b34
TB
37172013-01-07 Tejas Belagod <tejas.belagod@arm.com>
3718
3719 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
3720 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
3721 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
3722 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
3723 vqmovun_high_s64): Fix source operand number and update copyright.
3724
3626621a
RB
37252013-01-07 Richard Biener <rguenther@suse.de>
3726
3727 PR middle-end/55890
3728 * gimple.h (gimple_call_builtin_p): New overload.
3729 * gimple.c (validate_call): New function.
3730 (gimple_call_builtin_p): Likewise.
3731 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3732 Use gimple_call_builtin_p.
3733 (find_func_clobbers): Likewise.
3734 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
3735 (strlen_optimize_stmt): Likewise.
3736
8b2ea410
JG
37372013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3738
3739 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
3740 (vld1q_dup_*): Likewise.
3741 (vld1_*): Likewise.
3742 (vld1q_*): Likewise.
3743 (vld1_lane_*): Likewise.
3744 (vld1q_lane_*): Likewise.
3745
9713d329
RB
37462013-01-07 Richard Biener <rguenther@suse.de>
3747
3748 * lto-streamer.h (LTO_minor_version): Bump to 2.
3749
3520f7cc
JG
37502013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3751
3752 * config/aarch64/aarch64-protos.h
3753 (aarch64_const_double_zero_rtx_p): Rename to...
3754 (aarch64_float_const_zero_rtx_p): ...this.
3755 (aarch64_float_const_representable_p): New.
3756 (aarch64_output_simd_mov_immediate): Likewise.
3757 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
3758 move immediate case.
3759 * config/aarch64/aarch64.c
3760 (aarch64_const_double_zero_rtx_p): Rename to...
3761 (aarch64_float_const_zero_rtx_p): ...this.
3762 (aarch64_print_operand): Allow printing of new constants.
3763 (aarch64_valid_floating_const): New.
3764 (aarch64_legitimate_constant_p): Check for valid floating-point
3765 constants.
3766 (aarch64_simd_valid_immediate): Likewise.
3767 (aarch64_vect_float_const_representable_p): New.
3768 (aarch64_float_const_representable_p): Likewise.
3769 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
3770 (aarch64_output_simd_mov_immediate): New.
3771 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
3772 (*movdf_aarch64): Likewise.
3773 * config/aarch64/constraints.md (Ufc): New.
3774 (Y): call aarch64_float_const_zero_rtx.
3775 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
3776
e167c04d
RB
37772013-01-07 Richard Biener <rguenther@suse.de>
3778
3779 PR tree-optimization/55888
3780 PR tree-optimization/55862
3781 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
3782 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
3783 not if it is contained therein.
3784
0139aaab
GJL
37852013-01-07 Georg-Johann Lay <avr@gjlay.de>
3786
3787 * config/avr/t-avr: Typo.
3788
4a176b23
GJL
37892013-01-07 Georg-Johann Lay <avr@gjlay.de>
3790
3791 PR55243
3792 * config/avr/t-avr: Don't automatically rebuild
3793 $(srcdir)/config/avr/t-multilib
3794 $(srcdir)/config/avr/avr-tables.opt
3795 $(srcdir)/doc/avr-mmcu.texi
3796 (avr-mcus): New phony target to build them on request.
3797 (s-avr-mlib, s-avr-mmcu-texi): Remove.
3798 * avr/avr-mcus.def: Adjust comments.
3799
c7afdc98
UB
38002013-01-07 Uros Bizjak <ubizjak@gmail.com>
3801
3802 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
3803
1ab05c31
RS
38042013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3805
3806 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
3807
488e3acc
RS
38082013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3809
3810 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
3811
a89599d2
DE
38122013-01-05 David Edelsohn <dje.gcc@gmail.com>
3813
3814 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
3815 to generate profiling.
3816 * config/rs6000/aix64.h (LIB_SPEC): Same.
3817
70f09188
AP
38182013-01-04 Andrew Pinski <apinski@cavium.com>
3819
3820 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
3821 New function.
3822 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3823
918d445f
UB
38242013-01-04 Uros Bizjak <ubizjak@gmail.com>
3825
3826 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
3827 unconditionally.
3828 (ix86_expand_move): Ditto.
3829 (ix86_zero_extend_to_Pmode): Ditto.
3830 (ix86_expand_call): Ditto.
3831 (ix86_expand_special_args_builtin): Ditto.
3832 (ix86_expand_builtin): Ditto.
3833
361618ec
RB
38342013-01-04 Richard Biener <rguenther@suse.de>
3835
3836 PR tree-optimization/55862
3837 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
3838 translating them through PHI nodes.
3839
87eab554
MJ
38402013-01-04 Martin Jambor <mjambor@suse.cz>
3841
3842 PR tree-optimization/55755
3843 * tree-sra.c (sra_modify_assign): Do not check that an access has no
3844 children when trying to avoid producing a VIEW_CONVERT_EXPR.
3845
33879b9f
MP
38462013-01-04 Marek Polacek <polacek@redhat.com>
3847
3848 PR middle-end/55859
3849 * opts.c (default_options_optimization): Clarify error message.
3850
3068819a
RB
38512013-01-04 Richard Biener <rguenther@suse.de>
3852
3853 PR middle-end/55863
3854 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
3855 reassociation.
3856
0e4ae794
JDA
38572013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3858
3859 PR target/53789
3860 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
3861 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
3862 references.
0e4ae794 3863
65c88cef
RH
38642013-01-03 Richard Henderson <rth@redhat.com>
3865
3866 * config/i386/i386.c (ix86_expand_move): Always assign to op1
3867 after eliminating TLS symbols.
3868
8ac16127
MG
38692013-01-03 Marc Glisse <marc.glisse@inria.fr>
3870
3871 PR bootstrap/50167
3872 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
3873 * graphite-poly.c (debug_gmp_value): Likewise.
3874
bb664f09
UB
38752013-01-03 Uros Bizjak <ubizjak@gmail.com>
3876
3877 PR target/55712
3878 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
3879 selected code model, define __code_mode_small__, __code_model_medium__,
3880 __code_model_large__, __code_model_32__ or __code_model_kernel__.
3881 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
3882 xchg temporary register with %k. Declare temporary register as
3883 early clobbered.
3884 [__x86_64__]: For medium and large code models, preserve %rbx register.
3885
bcf1ef00
RB
38862013-01-03 Richard Biener <rguenther@suse.de>
3887
0506634a 3888 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
3889 (dump_subscript): Adjust.
3890 (finalize_ddr_dependent): Do not dump redundant info.
3891 (analyze_siv_subscript): Adjust.
3892 (subscript_dependence_tester): Likewise.
3893 (compute_affine_dependence): Likewise.
3894
59fd17e3
RB
38952013-01-03 Richard Biener <rguenther@suse.de>
3896
3897 Revert
3898 2013-01-03 Richard Biener <rguenther@suse.de>
3899
3900 PR tree-optimization/55857
3901 * tree-vect-stmts.c (vectorizable_load): Do not setup
3902 re-alignment for invariant loads.
3903
3904 2013-01-02 Richard Biener <rguenther@suse.de>
3905
3906 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3907 invariant load do not generate a vector load from the scalar location.
59fd17e3 3908
595c2679
RB
39092013-01-03 Richard Biener <rguenther@suse.de>
3910
3911 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
3912 for not vectorizing.
3913 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
3914 not build INDIRECT_REFs, call get_name once only.
3915 (vect_create_data_ref_ptr): Likewise. Dump base object kind
3916 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
3917
90bb7d7a
RB
39182013-01-03 Richard Biener <rguenther@suse.de>
3919
3920 PR tree-optimization/55857
3921 * tree-vect-stmts.c (vectorizable_load): Do not setup
3922 re-alignment for invariant loads.
3923
f09b77ca
RB
39242013-01-03 Richard Biener <rguenther@suse.de>
3925
3926 PR lto/55848
3927 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
3928 prefer a built-in decl.
3929
3461a16e
JJ
39302013-01-03 Jakub Jelinek <jakub@redhat.com>
3931
df8e2b4f
JJ
3932 * gcc.c (process_command): Update copyright notice dates.
3933 * gcov.c (print_version): Likewise.
3934 * gcov-dump.c (print_version): Likewise.
3935
3461a16e
JJ
3936 PR rtl-optimization/55838
3937 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
3938 iv0.step, iv1.step and step.
3939
8b5546d6
JJ
39402013-01-03 Jakub Jelinek <jakub@redhat.com>
3941 Marc Glisse <marc.glisse@inria.fr>
3942
3943 PR tree-optimization/55832
3944 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
3945 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
3946 integer_{one,zero}_node.
3947
8ab1d2e9
JJ
39482013-01-03 Jakub Jelinek <jakub@redhat.com>
3949
3950 PR debug/54402
3951 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
3952 * var-tracking.c (reverse_op): Don't add reverse ops to
3953 VALUEs that have already
0506634a 3954 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 3955
5b9ad1d4
GP
39562013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
3957
3958 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
3959
e25a6711
TJ
39602013-01-02 Teresa Johnson <tejohnson@google.com>
3961
3962 * dumpfile.c (dump_loc): Print filename with location.
3963 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
3964 new location_t parameter to emit complete unroll message with
3965 new dump framework.
3966 (canonicalize_loop_induction_variables): Compute loops location
3967 and pass to try_unroll_loop_completely.
3968 * loop-unroll.c (report_unroll_peel): New function.
3969 (peel_loops_completely): Use new dump format with location
3970 for main dumpfile message, and invoke report_unroll_peel on success.
3971 (decide_unrolling_and_peeling): Ditto.
3972 (decide_peel_once_rolling): Remove old dumpfile message subsumed
3973 by report_unroll_peel.
3974 (decide_peel_completely): Ditto.
3975 (decide_unroll_constant_iterations): Ditto.
3976 (decide_unroll_runtime_iterations): Ditto.
3977 (decide_peel_simple): Ditto.
3978 (decide_unroll_stupid): Ditto.
3979 * cfgloop.c (get_loop_location): New function.
3980 * cfgloop.h (get_loop_location): Declare.
3981
77878621
ST
39822013-01-02 Sriraman Tallam <tmsriram@google.com>
3983
3984 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
3985 NULL.
3986
9e65d03e
JDA
39872013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3988
3989 PR middle-end/55198
3990 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
3991 BLKmode objects when EXPAND_MEMORY is specified.
3992
6a7da30f
ST
39932013-01-02 Sriraman Tallam <tmsriram@google.com>
3994
3995 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
3996 in loop predicate.
3997 (fold_builtin_cpu): Do not share cpu model decls across statements.
3998
e78167f2
JM
39992013-01-02 Jason Merrill <jason@redhat.com>
4000
4001 PR c++/55804
4002 * tree.c (build_array_type_1): Revert earlier change.
4003
8c075fb4
YZ
40042013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
4005
4006 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
4007 "cortex-a57".
4008 * config/aarch64/aarch64-tune.md: Re-generate.
4009
0682ed3e
RB
40102013-01-02 Richard Biener <rguenther@suse.de>
4011
4012 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 4013 invariant load do not generate a vector load from the scalar location.
0682ed3e 4014
b8f6a302
RB
40152013-01-02 Richard Biener <rguenther@suse.de>
4016
4017 PR bootstrap/55784
4018 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
4019 * configure: Regenerate.
4020
04b80dbb
RS
40212013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4022
4023 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
4024 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
4025 (expand_builtin_int_roundingfn_2): Keep the original target around
4026 for the fallback case.
4027
635b0b0c
RS
40282013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4029
4030 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
4031 to be clear for sign changes.
4032
42d57399
JH
40332013-01-01 Jan Hubicka <jh@suse.cz>
4034
4035 * ipa-inline-analysis.c: Fix formatting.
4036
5bb6669d
JJ
40372013-01-01 Jakub Jelinek <jakub@redhat.com>
4038
4039 PR tree-optimization/55831
4040 * tree-vect-loop.c (get_initial_def_for_induction): Use
4041 gsi_after_labels instead of gsi_start_bb.
ad41bd84 4042\f
86a2db33 4043Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
4044
4045Copying and distribution of this file, with or without modification,
4046are permitted in any medium without royalty provided the copyright
4047notice and this notice are preserved.