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