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