]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR c++/56530 (Bogus warning with -Wsign-conversion (again))
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
12a43ab8
RB
12013-03-05 Richard Biener <rguenther@suse.de>
2
3 PR tree-optimization/56270
4 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
5 of loads after scheduling an SLP instance.
6
93675444
JJ
72013-03-05 Jakub Jelinek <jakub@redhat.com>
8
db4138e3
JJ
9 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
10 tic6x.exp.
11 (check_gcc_parallelize): Run guality.exp as a separate job from
12 vect.exp with unsorted.exp and $(dg_target_exps) separately from
13 struct-layout-1.exp with stackalign.exp.
14
dd3d1ec0
JJ
15 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
16
b8d381a3
JJ
17 PR middle-end/56461
18 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
19 load_index sbitmap even if some bit in it isn't set.
20
b4f9786b
JJ
21 PR middle-end/56461
22 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
23 (discover_iteration_bound_by_body_walk): Change queues to
24 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
25 spelling in comment. Call safe_push on queues[bound_index] directly.
26 Release queues[queue_index] in every iteration unconditionally.
27 Release bounds vector.
28
93675444
JJ
29 PR middle-end/56461
30 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
31 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
32 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
33 inner_phis vector.
34
3e492e9c
RB
352013-03-05 Richard Biener <rguenther@suse.de>
36
37 PR lto/56515
38 * tree-inline.c (remap_blocks_to_null): New function.
39 (expand_call_inline): When expanding a call stmt without
40 an associated block inline remap all callee blocks to NULL.
41
a5d1569a
JJ
422013-03-05 Jakub Jelinek <jakub@redhat.com>
43
86efb5cd
JJ
44 PR rtl-optimization/56494
45 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
46 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
47 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
48
85f5dbea
JJ
49 PR middle-end/56461
50 * sel-sched-ir.c (free_sched_pools): Release
51 succs_info_pool.stack[succs_info_pool.max_top] vectors too
52 if succs_info_pool.max_top isn't -1.
53
a5d1569a
JJ
54 PR bootstrap/56509
55 * opts.c (opts_obstack, opts_concat): Moved to...
56 * opts-common.c (opts_obstack, opts_concat): ... here.
57
4432aa6c
JJ
582013-03-04 Jakub Jelinek <jakub@redhat.com>
59
60 PR middle-end/56461
61 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
62
f3a1fb91
MJ
632013-03-04 Martin Jambor <mjambor@suse.cz>
64
65 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
66 all appropriate places.
67
22110e6c
EB
682013-01-04 Eric Botcazou <ebotcazou@adacore.com>
69
70 PR tree-optimization/56424
71 * ipa-split.c (split_function): Do not set the RSO flag if result is
72 not by reference and its type is a register type.
73
91c4e421
DH
742013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
75
76 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New
77 (microblaze_legitimate_pic_operand): Likewise
78 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls
79 new function microblaze_legitimate_pic_operand
80 * config/microblaze/microblaze-protos.h
81 (microblaze_legitimate_pic_operand): Declare.
82
82f8f53a
EI
832013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
84
85 * config/microblaze/predicates.md (call_insn_simple_operand):
86 New predicate for supported rtx code types.
87 * config/microblaze/microblaze.md (call_internal1): Use
88 call_insn_simple_operand predicate.
89
541d9ac8
JJ
902013-03-04 Jakub Jelinek <jakub@redhat.com>
91
5eb010bc
JJ
92 PR middle-end/56461
93 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
94 partitions.ordered_remove.
95
30862efc
JJ
96 PR middle-end/56461
97 * tree-vect-stmts.c (vectorizable_conversion): Don't call
98 vec_oprnds0.create (1) for modifier == NONE.
99
8930f723
JJ
100 PR middle-end/56461
101 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
102 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
103 vec_oprnds1 right before pushing anything to it for
104 scalar_shift_arg.
105
541d9ac8
JJ
106 PR middle-end/56461
107 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
108 set nbbs to 0 instead of having separate code path.
109 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
110 instead of false as last argument if returning NULL.
111
7aa7f2e3
SL
1122013-03-03 Sandra Loosemore <sandra@codesourcery.com>
113
114 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
115 the attribute is now called "target" instead of "option".
116 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
117 * doc/tm.texi.in (Target Attributes): Likewise document the correct
118 attribute/pragma name for TARGET_OPTION_VALID_P and
119 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
120 * doc/tm.texi: Regenerated.
121
8930f723 1222013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
cb8a1637 123
8930f723 124 * config/microblaze/microblaze.c:
cb8a1637 125 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
8930f723
JJ
126 * config/microblaze/microblaze.h: Add -mxl-reorder to
127 DRIVER_SELF_SPECS.
128 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
129 instructions emitted if TARGET_REORDER.
130 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
cb8a1637 131 or 0 for -m/-mno case, but initialises as 2 to detect default use case
8930f723 132 separately.
cb8a1637 133
4dc1d68c
XDL
1342013-03-01 Xinliang David Li <davidxl@google.com>
135
136 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
137 walk length.
138
689eaba3
JJ
1392013-03-01 Jakub Jelinek <jakub@redhat.com>
140
9d676bf6
JJ
141 PR middle-end/56461
142 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
143 vector even when returning true. Fix up function comment formatting.
144
caff7edf
JJ
145 PR middle-end/56461
146 * ira-build.c (ira_loop_nodes_count): New variable.
147 (create_loop_tree_nodes): Initialize it.
148 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
149
b6b9227d
JJ
150 PR middle-end/56461
151 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
152 method on dr_chain and result_chain.
153 * tree-vect-stmts.c (vectorizable_store): Only call
154 result_chain.create if j == 0.
155
689eaba3
JJ
156 PR middle-end/56461
157 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
158 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
159 before overwriting it.
160
40bf31ed
TB
1612013-03-01 Tobias Burnus <burnus@net-b.de>
162
163 * doc/extended.texi (C Extensions): Change order in @menu
164 to match @node.
165 (Other MIPS Built-in Functions): Move last MIPS entry before
166 "picoChip Built-in Functions".
167 (SH Built-in Functions): Move after RX Built-in Functions.
168 * doc/gcc.texi (Introduction): Change order in @menu
169 to match @node.
170 * doc/md.texi (Constraints): Ditto.
171 * gty.texi (Type Information): Ditto.
172 (User-provided marking routines for template types): Make
173 subsection.
174 * doc/invoke.texi (AArch64 Options): Move before
175 "Adapteva Epiphany Options".
176
e664c61c
KS
1772013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
178 Jakub Jelinek <jakub@redhat.com>
179
180 PR sanitizer/56454
181 * asan.c (gate_asan): Lookup no_sanitize_address instead of
182 no_address_safety_analysis attribute.
183 * doc/extend.texi (no_address_safety_attribute): Rename to
184 no_sanitize_address attribute, mention no_address_safety_analysis
185 attribute as deprecated alias.
186
37b5ec8f
JJ
1872013-02-28 Jakub Jelinek <jakub@redhat.com>
188
189 PR middle-end/56461
190 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
191 type to vec<vec<tree> > *.
192 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
193 to be vec<tree> instead of vec<tree> *, set vec_defs
194 to vNULL and call vec_defs.create (number_of_vects), adjust other
195 uses of vec_defs.
196 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
197 vectorizable_condition): Adjust vect_get_slp_defs callers.
198
ba96cdfb
JG
1992013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
200
201 * config/aarch64/aarch64.c
202 (aarch64_float_const_representable): Remove unused variable.
203
6f549691
JG
2042013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
205
206 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
207
af55e82d
JG
2082013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
209
210 * config/aarch64/aarch64-builtins.c
211 (aarch64_init_simd_builtins): Make static.
212
1df3f464
JG
2132013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
214
215 * config/aarch64/aarch64.c
216 (aarch64_simd_make_constant): Make static.
217
f8f42513
MJ
2182013-02-28 Martin Jambor <mjambor@suse.cz>
219
220 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
221 with no initialization to the RHS of debug statements.
222
b48b3fc4
MJ
2232013-02-28 Martin Jambor <mjambor@suse.cz>
224
225 PR tree-optimization/56294
226 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
227 Adjust dumping.
228 (get_access_replacement): Do not call create_access_replacement.
229 Assert a replacement exists.
230 (get_repl_default_def_ssa_name): Create the replacement declaration
231 itself.
232
c3ae224c
RR
2332013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
234
235 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
236 final_end_function.
237
45fa0eef
MP
2382013-02-28 Marek Polacek <polacek@redhat.com>
239
240 PR rtl-optimization/56466
241 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
242 if we're changing a loop.
243 (peel_loops_completely): Likewise.
244
502c067d
PC
2452013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
246
247 PR c++/55813
248 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
249
ff24afc8
GJL
2502013-02-28 Georg-Johann Lay <avr@gjlay.de>
251
252 PR target/56445
253 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
254 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
255 INTX_FTYPE_FX, FX_FTYPE_INTX.
256 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
257
c7b1fc1b
GJL
2582013-02-28 Georg-Johann Lay <avr@gjlay.de>
259
260 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
261 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
262 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
263 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
264 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
265 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
266 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
267 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
268 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
269 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
270 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
271 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
272 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
273 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
274 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
275 (avrxmega6): Increase max flash segments from 5 to 6.
276 * config/avr/t-multilib: Regenerate.
277 * config/avr/avr-tables.opt: Regenerate.
278 * doc/avr-mmcu.texi: Regenerate.
279
4a0e3cfe
GJL
2802013-02-28 Georg-Johann Lay <avr@gjlay.de>
281
282 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
283 (avr_device_to_arch): Rename to avr_device_to_ld.
284 (avr_device_to_as): New prototype.
285 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
286 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
287 * config/avr/driver-avr.c (avr_device_to_as): New.
288 (avr_device_to_arch): Rename to avr_device_to_ld.
289
97785e52
JJ
2902013-02-27 Jakub Jelinek <jakub@redhat.com>
291
3f292312
JJ
292 PR middle-end/56461
293 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
294 method on dr_chain and result_chain.
295
a344216b
JJ
296 PR middle-end/56461
297 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
298 pointer_set_destroy on not_executed_last_iteration.
299
f121ad02
JJ
300 PR middle-end/56461
301 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs
302 vector.
303
307f83a3
JJ
304 PR middle-end/56461
305 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
306 FOR_EACH_DEFINED_FUNCTION when freeing state.
307
e19624ee
JJ
308 PR middle-end/56461
309 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
310 pool_free.
311 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
312 overwriting it.
313
90e709fd
JJ
314 PR middle-end/56461
315 * ipa-cp.c (decide_whether_version_node): Call vec_free on
316 known_aggs[i].items and release known_aggs vector.
317
97785e52
JJ
318 PR middle-end/56461
319 * ipa-reference.c (propagate): Free node_info even for alias nodes.
320
3212013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 322
97785e52
JJ
323 * config/microblaze/microblaze.c (microblaze_emit_compare):
324 Use xor for EQ/NE comparisions.
325 * config/microblaze/microblaze.md (cstoresf4): Add constraints
326 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 327
6fa5e0ed
JJ
3282013-02-27 Jakub Jelinek <jakub@redhat.com>
329
330 PR middle-end/56461
331 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
332 vector.
333 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
334 vec_safe_push, always update *slot.
335 (redirect_edge_var_map_clear): Use vec_free.
336 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
337 (free_var_map_entry): Use vec_free.
338 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
339 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
340
436a956a
AB
3412013-02-27 Andrey Belevantsev <abel@ispras.ru>
342
343 PR middle-end/45472
436a956a
AB
344 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
345 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
346 Reorder tests for speculativeness in the logical and operator.
347
f5c2caca
JJ
3482013-02-27 Jakub Jelinek <jakub@redhat.com>
349
0fcb564b
JJ
350 * incpath.c (add_standard_paths): Use reconcat instead of concat
351 where appropriate and avoid leaking memory.
352
dc357798
JJ
353 * opts.h: Include obstack.h.
354 (opts_concat): New prototype.
355 (opts_obstack): New declaration.
356 * opts.c (opts_concat): New function.
357 (opts_obstack): New variable.
358 (init_options_struct): Call gcc_init_obstack on opts_obstack.
359 (finish_options): Use opts_concat instead of concat
360 and XOBNEWVEC instead of XNEWVEC.
361 * opts-common.c (generate_canonical_option, decode_cmdline_option,
362 generate_option): Likewise.
363 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
364 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
365
f5c2caca
JJ
366 PR target/56455
367 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
368 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
369
d0163673
JJ
3702013-02-26 Jakub Jelinek <jakub@redhat.com>
371
372 PR middle-end/56461
373 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
374
b5ad2b8e
JR
3752013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
376
377 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
378 (arm_block_move_unaligned_straight): Likewise.
379 (arm_adjust_block_mem): Likewise.
380
9b639e2c
JR
3812013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
382
383 PR target/48901
384 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
385 temp, cond and label.
386 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
387
e13a0ccb
JR
388 PR target/52500
389 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
390 * config/c6x/c6x.h (dbx_register_map): Update declaration.
391
fbe4f171
JR
392 PR target/52501
393 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
394 of prologue/epilogue functions.
395
ae006543
JR
396 PR target/52550
397 * config/tilegx/tilegx.c (tilegx_expand_prologue):
398 Remove unused variable cfa_offset.
399 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
400
c81369fa
JR
401 PR target/54639
402 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
403 type promotion to unsigned.
404
f8a8fea7
JR
405 PR target/54640
406 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
407 for HOST_WIDE_INT of 32 bit / same size as int.
408 (arm_block_move_unaligned_straight): Likewise.
409 (arm_adjust_block_mem): Likewise.
410
f8be5169
JR
411 PR target/54662
412 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
413 ALL_CFLAGS.
414
f1ad3354
MP
4152013-02-26 Marek Polacek <polacek@redhat.com>
416
417 PR tree-optimization/56426
418 * tree-ssa-loop.c (tree_ssa_loop_init): Always call
419 scev_initialize.
420
a6af0f42
RB
4212013-02-26 Richard Biener <rguenther@suse.de>
422
423 PR target/56444
424 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
425 unused variable loops.
426
aca43c6c
JJ
4272013-02-26 Jakub Jelinek <jakub@redhat.com>
428
cecbe5d9
JJ
429 PR tree-optimization/56448
430 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
431 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
432 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
433 later operands of the references, or even first operand for
434 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
435
aca43c6c
JJ
436 PR tree-optimization/56443
437 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
438 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
439 to type_for_mode langhook.
440
53e2e141
MT
4412013-02-25 Matt Turner <mattst88@gmail.com>
442
443 * doc/invoke.texi: Document r4700.
444
259ee451
RB
4452013-02-25 Richard Biener <rguenther@suse.de>
446
447 PR tree-optimization/56175
448 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
449 split out from ...
450 (simplify_bitwise_binary): ... here. Also guard the conversion
451 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
452
6d65e8f1
CM
4532013-02-25 Catherine Moore <clm@codesourcery.com>
454
455 Revert:
456 2013-02-24 Catherine Moore <clm@codesourcery.com>
457 Maciej W. Rozycki <macro@codesourcery.com>
458 Tom de Vries <tom@codesourcery.com>
459 Nathan Sidwell <nathan@codesourcery.com>
460 Iain Sandoe <iain@codesourcery.com>
461 Nathan Froyd <froydnj@codesourcery.com>
462 Chao-ying Fu <fu@mips.com>
463 * doc/extend.texi: (micromips, nomicromips, nocompression):
464 Document new function attributes.
465 * doc/invoke.texi (minterlink-compressed, mmicromips,
466 m14k, m14ke, m14kec): Document new options.
467 (minterlink-mips16): Update documentation.
468 * doc/md.texi (ZC, ZD): Document new constraints.
469 * configure.ac (gcc_cv_as_micromips): Check if linker
470 supports the .set micromips directive.
471 * configure: Regenerate.
472 * config.in: Regenerate.
473 * config/mips/mips-tables.opt: Regenerate.
474 * config/mips/micromips.md: New file.
475 * constraints.md (ZC, AD): New constraints.
476 * config/mips/predicates.md (movep_src_register): New predicate.
477 (movep_src_operand): New predicate.
478 (non_volatile_mem_operand): New predicate.
479 * config/mips/mips.md (multimem): New type.
480 (length): Differentiate between 17-bit and 18-bit branch offsets.
481 (MOVEP1, MOVEP2): New mode iterator.
482 (mov_<load>l): Use ZC constraint.
483 (mov_<load>r): Likewise.
484 (mov_<store>l): Likewise.
485 (mov_<store>r): Likewise.
486 (*branch_equality<mode>_inverted): Add microMIPS support.
487 (*branch_equality<mode>): Likewise.
488 (*jump_absolute): Likewise.
489 (indirect_jump_<mode>): Likewise.
490 (tablejump_<mode>): Likewise.
491 (<optab>_internal): Likewise.
492 (sibcall_internal): Likewise.
493 (sibcall_value_internal): Likewise.
494 (prefetch): Use constraint ZD.
495 * config/mips/mips.opt (minterlink-compressed): New option.
496 (minterlink-mips16): Now an alias for minterlink-compressed.
497 (mmicromips): New option.
498 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
499 (compare_and_swap_12): Likewise.
500 (sync_add<mode>): Likewise.
501 (sync_<optab>_12): Likewise.
502 (sync_old_<optab>_12): Likewise.
503 (sync_new_<optab>_12): Likewise.
504 (sync_nand_12): Likewise.
505 (sync_old_nand_12): Likewise.
506 (sync_new_nand_12): Likewise.
507 (sync_sub<mode>): Likewise.
508 (sync_old_add<mode>): Likewise.
509 (sync_old_sub<mode>): Likewise.
510 (sync_new_add<mode>): Likewise.
511 (sync_new_sub<mode>): Likewise.
512 (sync_<optab><mode>): Likewise.
513 (sync_old_<optab><mode>): Likewise.
514 (sync_new_<optab><mode>): Likewise.
515 (sync_nand<mode>): Likewise.
516 (sync_old_nand<mode>): Likewise.
517 (sync_new_nand<mode>): Likewise.
518 (sync_lock_test_and_set<mode>): Likewise.
519 (test_and_set_12): Likewise.
520 (atomic_compare_and_swap<mode>): Likewise.
521 (atomic_exchange<mode>_llsc): Likewise.
522 (atomic_fetch_add<mode>_llsc): Likewise.
523 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
524 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
525 (umips_save_restore_pattern_p): Likewise.
526 (umips_load_store_pair_p): Likewise.
527 (umips_output_load_store_pair): Likewise.
528 (umips_movep_target_p): Likewise.
529 (umips_12bit_offset_address_p): Likewise.
530 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
531 (mips_base_mips16): Rename this...
532 (mips_base_compression_flags): ...to this. Update all uses.
533 (mips_attribute_table): Add micromips, nomicromips and nocompression.
534 (mips_mips16_decl_p): Delete.
535 (mips_nomips16_decl_p): Delete.
536 (mips_get_compress_on_flags): New function.
537 (mips_get_compress_off_flags): New function.
538 (mips_get_compress_mode): New function.
539 (mips_get_compress_on_name): New function.
540 (mips_get_compress_off_name): New function.
541 (mips_insert_attributes): Support multiple compression types.
542 (mips_merge_decl_attributes): Likewise.
543 (umips_12bit_offset_address_p): New function.
544 (mips_start_function_definition): Emit .set micromips directive.
545 (mips_call_may_need_jalx_p): New function.
546 (mips_function_ok_for_sibcall): Add microMIPS support.
547 (mips_print_operand_punctuation): Support short delay slots and
548 compact jumps.
549 (umips_swm_mask, umips_swm_encoding): New.
550 (umips_build_save_restore): New function.
551 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
552 (was_mips16_p): Remove.
553 (old_compression_mode): New.
554 (mips_set_compression_mode): New function.
555 (mips_set_current_function): Add microMIPS support.
556 (mips_option_override): Likewise.
557 (umips_save_restore_pattern_p): New function.
558 (umips_output_save_restore): New function.
559 (umips_load_store_pair_p_1): New function.
560 (umips_load_store_pair_p): New function.
561 (umips_output_load_store_pair_1): New function.
562 (umips_output_load_store_pair): New function.
563 (umips_movep_target_p) New function.
564 (mips_prepare_pch_save): Add microMIPS support.
565 * config/mips/mips.h (TARGET_COMPRESSION): New.
566 (TARGET_CPU_CPP_BUILTINS): Update macro
567 to use new compression flags and to support microMIPS.
568 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
569 (MIPS_ARCH_FLOAT_SPEC): Likewise.
570 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
571 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
572 (ASM_SPEC): Support mmicromips and mno-micromips.
573 (M16STORE_REG_P): New macro.
574 (MIPS_CALL): Support TARGET_MICROMIPS.
575 (MICROMIPS_J): New macro.
576 (mips_base_mips16): Rename this...
577 (mips_base_compression_flags): ...to this.
578 (UMIPS_12BIT_OFFSET_P): New macro.
579 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
580 (MULTILIB_DIRNAMES): Likewise.
581
5e5df392
TV
5822013-02-25 Tom de Vries <tom@codesourcery.com>
583
584 PR rtl-optimization/56131
585 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
586 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
587 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
588
3fdb53c1
TB
5892013-02-25 Tobias Burnus <burnus@net-b.de>
590
591 * doc/invoke.texi (-fsanitize=): Move from optimization
592 to debugging options.
593
ed358aea
AB
5942013-02-25 Andrey Belevantsev <abel@ispras.ru>
595
596 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
597
f45e9053
AB
5982013-02-25 Andrey Belevantsev <abel@ispras.ru>
599 Alexander Monakov <amonakov@ispras.ru>
600
601 PR middle-end/56077
602 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
603 flush pending lists also on non-jumps. Adjust comment.
604
6941b508
CM
6052013-02-24 Catherine Moore <clm@codesourcery.com>
606 Maciej W. Rozycki <macro@codesourcery.com>
607 Tom de Vries <tom@codesourcery.com>
608 Nathan Sidwell <nathan@codesourcery.com>
609 Iain Sandoe <iain@codesourcery.com>
610 Nathan Froyd <froydnj@codesourcery.com>
611 Chao-ying Fu <fu@mips.com>
612
613 * doc/extend.texi: (micromips, nomicromips, nocompression):
614 Document new function attributes.
615 * doc/invoke.texi (minterlink-compressed, mmicromips,
616 m14k, m14ke, m14kec): Document new options.
617 (minterlink-mips16): Update documentation.
618 * doc/md.texi (ZC, ZD): Document new constraints.
619 * configure.ac (gcc_cv_as_micromips): Check if linker
620 supports the .set micromips directive.
621 * configure: Regenerate.
622 * config.in: Regenerate.
623 * config/mips/mips-tables.opt: Regenerate.
624 * config/mips/micromips.md: New file.
625 * constraints.md (ZC, AD): New constraints.
626 * config/mips/predicates.md (movep_src_register): New predicate.
627 (movep_src_operand): New predicate.
628 (non_volatile_mem_operand): New predicate.
629 * config/mips/mips.md (multimem): New type.
630 (length): Differentiate between 17-bit and 18-bit branch offsets.
631 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 632 (mov_<load>l): Use ZC constraint.
6941b508
CM
633 (mov_<load>r): Likewise.
634 (mov_<store>l): Likewise.
635 (mov_<store>r): Likewise.
636 (*branch_equality<mode>_inverted): Add microMIPS support.
637 (*branch_equality<mode>): Likewise.
638 (*jump_absolute): Likewise.
639 (indirect_jump_<mode>): Likewise.
640 (tablejump_<mode>): Likewise.
641 (<optab>_internal): Likewise.
642 (sibcall_internal): Likewise.
643 (sibcall_value_internal): Likewise.
644 (prefetch): Use constraint ZD.
645 * config/mips/mips.opt (minterlink-compressed): New option.
646 (minterlink-mips16): Now an alias for minterlink-compressed.
647 (mmicromips): New option.
648 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
649 (compare_and_swap_12): Likewise.
650 (sync_add<mode>): Likewise.
651 (sync_<optab>_12): Likewise.
652 (sync_old_<optab>_12): Likewise.
653 (sync_new_<optab>_12): Likewise.
654 (sync_nand_12): Likewise.
655 (sync_old_nand_12): Likewise.
656 (sync_new_nand_12): Likewise.
657 (sync_sub<mode>): Likewise.
658 (sync_old_add<mode>): Likewise.
659 (sync_old_sub<mode>): Likewise.
660 (sync_new_add<mode>): Likewise.
661 (sync_new_sub<mode>): Likewise.
662 (sync_<optab><mode>): Likewise.
663 (sync_old_<optab><mode>): Likewise.
664 (sync_new_<optab><mode>): Likewise.
665 (sync_nand<mode>): Likewise.
666 (sync_old_nand<mode>): Likewise.
667 (sync_new_nand<mode>): Likewise.
668 (sync_lock_test_and_set<mode>): Likewise.
669 (test_and_set_12): Likewise.
670 (atomic_compare_and_swap<mode>): Likewise.
671 (atomic_exchange<mode>_llsc): Likewise.
672 (atomic_fetch_add<mode>_llsc): Likewise.
673 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
674 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
675 (umips_save_restore_pattern_p): Likewise.
676 (umips_load_store_pair_p): Likewise.
677 (umips_output_load_store_pair): Likewise.
678 (umips_movep_target_p): Likewise.
679 (umips_12bit_offset_address_p): Likewise.
680 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
681 (mips_base_mips16): Rename this...
682 (mips_base_compression_flags): ...to this. Update all uses.
683 (mips_attribute_table): Add micromips, nomicromips and nocompression.
684 (mips_mips16_decl_p): Delete.
685 (mips_nomips16_decl_p): Delete.
3fdb53c1 686 (mips_get_compress_on_flags): New function.
6941b508
CM
687 (mips_get_compress_off_flags): New function.
688 (mips_get_compress_mode): New function.
689 (mips_get_compress_on_name): New function.
690 (mips_get_compress_off_name): New function.
691 (mips_insert_attributes): Support multiple compression types.
692 (mips_merge_decl_attributes): Likewise.
693 (umips_12bit_offset_address_p): New function.
694 (mips_start_function_definition): Emit .set micromips directive.
695 (mips_call_may_need_jalx_p): New function.
696 (mips_function_ok_for_sibcall): Add microMIPS support.
697 (mips_print_operand_punctuation): Support short delay slots and
698 compact jumps.
699 (umips_swm_mask, umips_swm_encoding): New.
700 (umips_build_save_restore): New function.
701 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
702 (was_mips16_p): Remove.
703 (old_compression_mode): New.
704 (mips_set_compression_mode): New function.
705 (mips_set_current_function): Add microMIPS support.
706 (mips_option_override): Likewise.
707 (umips_save_restore_pattern_p): New function.
708 (umips_output_save_restore): New function.
709 (umips_load_store_pair_p_1): New function.
710 (umips_load_store_pair_p): New function.
711 (umips_output_load_store_pair_1): New function.
712 (umips_output_load_store_pair): New function.
713 (umips_movep_target_p) New function.
714 (mips_prepare_pch_save): Add microMIPS support.
715 * config/mips/mips.h (TARGET_COMPRESSION): New.
716 (TARGET_CPU_CPP_BUILTINS): Update macro
717 to use new compression flags and to support microMIPS.
718 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
719 (MIPS_ARCH_FLOAT_SPEC): Likewise.
720 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
721 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
722 (ASM_SPEC): Support mmicromips and mno-micromips.
723 (M16STORE_REG_P): New macro.
724 (MIPS_CALL): Support TARGET_MICROMIPS.
725 (MICROMIPS_J): New macro.
726 (mips_base_mips16): Rename this...
727 (mips_base_compression_flags): ...to this.
728 (UMIPS_12BIT_OFFSET_P): New macro.
729 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
730 (MULTILIB_DIRNAMES): Likewise.
731
cdebbc6d
JJ
7322013-02-24 Jakub Jelinek <jakub@redhat.com>
733
734 PR target/52555
735 * target-globals.c (save_target_globals): For init_reg_sets and
736 target_reinit remporarily set this_fn_optabs to this_target_optabs.
737
18c63565
JG
7382013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
739
740 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
741 * config/aarch64/t-aarch64
742 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
743
2194f7a2
VM
7442013-02-22 Vladimir Makarov <vmakarov@redhat.com>
745
746 PR inline-asm/56148
747 * lra-constraints.c (process_alt_operands): Reload operand
748 conflicting with earlier clobber only if no more other conflicting
749 operands.
750
7d613735
JJ
7512013-02-22 Jakub Jelinek <jakub@redhat.com>
752
753 PR sanitizer/56393
754 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
755 if not linking a shared library.
756
ac8d93a7
SL
7572013-02-22 Seth LaForge <sethml@google.com>
758
759 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
760
e0237780
GY
7612013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
762
3fdb53c1
TB
763 * config/arm/arm.md (split for extendsidi): Update condition.
764 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
765 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
766 (qhs_zextenddi_cstr): Likewise.
e0237780 767
d7fde18c
JJ
7682013-02-21 Jakub Jelinek <jakub@redhat.com>
769
be63b77d
JJ
770 PR middle-end/56420
771 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
772 avoid signed wrapping.
773 (expand_mult): Handle properly multiplication by
774 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
775 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
776 in the compiler if coeff is HOST_WIDE_INT_MIN.
777 (expand_divmod): Don't make ext_op1 static, change it's type to
778 uhwi. Avoid undefined behavior in -INTVAL (op1).
779
d7fde18c
JJ
780 PR rtl-optimization/50339
781 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
782 field.
783 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
784 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
785 into splitting_ashiftrt field.
786 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
787 ASHIFTRT.
788 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
789 choices.
790
6aad4455
AH
7912013-02-20 Aldy Hernandez <aldyh@redhat.com>
792
793 PR middle-end/56108
794 * trans-mem.c (execute_tm_mark): Do not expand transactions that
795 are sure to go irrevocable.
796
38fe784d
HPN
7972013-02-21 Hans-Peter Nilsson <hp@axis.com>
798
799 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
800 scalars are valid operands.
801
0fd44da3
MJ
8022013-02-21 Martin Jambor <mjambor@suse.cz>
803
804 PR tree-optimization/56310
805 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
806 only matching indices and non-negative final offsets.
807 (intersect_aggregates_with_edge): Pass src_idx to
808 agg_replacements_to_vector. Pass src_idx insstead of index to
809 intersect_with_agg_replacements.
810
7a92038b
MJ
8112013-02-21 Martin Jambor <mjambor@suse.cz>
812
813 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
814 instead of hard-wired defaults.
815
c0da9c37
MR
8162013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
817
818 * doc/invoke.texi (MIPS Options): Update documentation of the
819 floating-point multiply-accumulate instruction restrictions.
820
d247ea0c 8212013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
822
823 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
824 asan_shadow_offset on x86_64 linux.
825
22deefcb
RB
8262013-02-21 Richard Biener <rguenther@suse.de>
827
828 PR tree-optimization/56415
829 Revert
830 2013-02-11 Richard Biener <rguenther@suse.de>
831
832 PR tree-optimization/56273
833 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
834 first VRP run.
835
7bcc6e75
JJ
8362013-02-21 Jakub Jelinek <jakub@redhat.com>
837
a0ad148f
JJ
838 PR bootstrap/56258
839 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
840 instead of @itemx.
841
7bcc6e75
JJ
842 PR inline-asm/56405
843 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
844 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
845
a0a7b611
JH
8462013-02-20 Jan Hubicka <jh@suse.cz>
847
848 PR tree-optimization/56265
849 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when target is
850 referenced for firs ttime.
851
c0e50f72
RB
8522013-02-20 Richard Biener <rguenther@suse.de>
853
854 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
855 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
856 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
857 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
858 not return anything.
859 (rename_ssa_copies): Do not remove unused locals.
860 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
861 * tree-ssanames.c (pass_release_ssa_names): Remove unused
862 locals first.
863 * passes.c (execute_function_todo): Do not schedule unused locals
864 removal if cleanup_tree_cfg did something.
865 * tree-ssa-live.c (remove_unused_locals): Dump statistics
866 about the number of removed locals.
867
a52ca739
RB
8682013-02-20 Richard Biener <rguenther@suse.de>
869
870 PR tree-optimization/56398
871 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
872 SSA default defs.
873
ec9c9d1b
MJ
8742013-02-20 Martin Jambor <mjambor@suse.cz>
875
876 PR tree-optimization/55334
877 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
878 restricted pointers to arrays.
879
e91c8ed6
RB
8802013-02-20 Richard Biener <rguenther@suse.de>
881 Jakub Jelinek <jakub@redhat.com>
882
883 PR tree-optimization/56396
884 * tree-ssa-ccp.c (n_const_val): New static variable.
885 (get_value): Return NULL for SSA names we don't have a lattice
886 entry for.
887 (ccp_initialize): Initialize n_const_val.
888 * tree-ssa-copy.c (n_copy_of): New static variable.
889 (init_copy_prop): Initialize n_copy_of.
890 (get_value): Return NULL_TREE for SSA names we don't have a
891 lattice entry for.
892
3d916479
MJ
8932013-02-20 Martin Jambor <mjambor@suse.cz>
894
895 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
896
71a86758
RB
8972013-02-20 Richard Biener <rguenther@suse.de>
898
899 * genpreds.c (write_lookup_constraint): Do not compare first
900 letter of the constraint again.
901
79836a12
RB
9022013-02-20 Richard Biener <rguenther@suse.de>
903
904 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
905 and ceil_log2.
906 (get_use_iv_cost): Terminate hashtable walk when coming across
907 an empty entry.
908
bbe4fb2c
IZ
9092013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
910
911 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
912 reassociation for avx2 targets.
913
c77f83d5 9142012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 915
c77f83d5
EI
916 * config/microblaze/microblaze.c: microblaze_has_clz = 0
917 Add version check for v8.10.a to enable microblaze_has_clz
918 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
919 version and TARGET_PATTERN_COMPARE check
920 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 921
959434e6
EI
9222012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
923
924 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
925 function before branching.
926
242387fa
AB
9272012-02-19 Andrey Belevantsev <abel@ispras.ru>
928
929 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
930 DUMP_INSN_RTX_UID.
931 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
932
b4979ab9
AB
9332012-02-19 Andrey Belevantsev <abel@ispras.ru>
934
935 PR middle-end/55889
936
937 * sel-sched.c: Include ira.h.
938 (implicit_clobber_conflict_p): New function.
939 (moveup_expr): Use it.
940 * Makefile.in (sel-sched.o): Depend on ira.h.
941
24d63016
RB
9422013-02-19 Richard Biener <rguenther@suse.de>
943
944 PR tree-optimization/56384
945 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
946 (vn_hash_type): Split out from ...
947 (vn_hash_constant_with_type): ... here.
948 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
949 (vn_phi_eq): Compare types from vn_phi_s structure.
950 (vn_phi_lookup): Populate vn_phi_s type.
951 (vn_phi_insert): Likewise.
952
a475fd3d
JJ
9532013-02-19 Jakub Jelinek <jakub@redhat.com>
954
47cc28f5
JJ
955 PR tree-optimization/56350
956 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
957 if haven't found reduction or nested cycle operand, rather than
958 asserting we must find it.
959
a475fd3d
JJ
960 PR tree-optimization/56381
961 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
962 to fold_build3.
963
9642013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
965 Jakub Jelinek <jakub@redhat.com>
966
967 PR target/52555
968 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
969 (swap_optab_enable): Same.
970 (init_all_optabs): Use argument instead of global.
971 * tree.h (struct tree_optimization_option): New field
972 target_optabs.
973 * expr.h (init_all_optabs): Add argument to prototype.
974 (TREE_OPTIMIZATION_OPTABS): New.
975 (save_optabs_if_changed): Protoize.
976 * optabs.h: Declare this_fn_optabs.
977 * optabs.c (save_optabs_if_changed): New.
978 Declare this_fn_optabs.
979 (init_optabs): Add argument to init_all_optabs() call.
980 * function.c (invoke_set_current_function_hook): Handle per
981 function optabs.
982 * function.h (struct function): New field optabs.
983 * config/mips/mips.c (mips_set_mips16_mode): Handle when
984 optimization_current_node has changed.
985 * target-globals.h (save_target_globals_default_opts): Protoize.
986 * target-globals.c (save_target_globals_default_opts): New.
987
3f587ca3
JDA
9882013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
989
990 PR target/56347
991 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
992 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
993
994 PR target/56214
995 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
996 and HImode, require all displacements to be an integer multiple of their
997 mode size.
998 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
999 only allow QImode and HImode when reload is in progress and strict is
1000 true. Likewise for symbolic addresses. Use base14_operand to check
1001 displacements in REG+BASE addresses.
1002
fe0b4796
RB
10032013-02-18 Richard Biener <rguenther@suse.de>
1004
1005 PR tree-optimization/56366
1006 * tree-vect-loop.c (get_initial_def_for_induction): Properly
1007 handle sign-conversion of outer-loop initial induction value.
1008
6aaf596b
RB
10092013-02-18 Richard Biener <rguenther@suse.de>
1010
73db8ff1 1011 PR middle-end/56349
6aaf596b
RB
1012 * cfghooks.c (merge_blocks): If we merge a latch into another
1013 block adjust references to it.
1014 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
1015 (verify_loop_structure): Verify that a recorded latch is in fact
1016 a latch.
1017
5e97dfb6
RB
10182013-02-18 Richard Biener <rguenther@suse.de>
1019
1020 PR tree-optimization/56321
1021 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
1022 order SSA name release and virtual operand unlinking.
1023
825527e8
EI
10242013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1025
1026 * config/microblaze/microblaze.md (save_stack_block): Define.
1027 (restore_stack_block): Likewise.
1028
debd11d9
EI
10292013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1030
1031 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
1032 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
1033 * config/microblaze/microblaze.c (microblaze_option_override):
1034 Bail out early for PIC modes when target does not support PIC.
1035
8ec77be0
EI
10362013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1037
1038 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
1039 Replace with a microblaze version.
1040 (microblaze_trampoline_init): Adapt for microblaze.
1041 * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
1042 microblaze.
1043
b41288b3
JJ
10442013-02-16 Jakub Jelinek <jakub@redhat.com>
1045 Dodji Seketeli <dodji@redhat.com>
1046
1047 PR asan/56330
1048 * asan.c (get_mem_refs_of_builtin_call): White space and style
1049 cleanup.
1050 (instrument_mem_region_access): Do not forget to always put
1051 instrumentation of the of 'base' and 'base + len' in a "if (len !=
1052 0) statement, even for cases where either 'base' or 'base + len'
1053 are not instrumented -- because they have been previously
1054 instrumented. Simplify the logic by putting all the statements
1055 instrument 'base + len' inside a sequence, and then insert that
1056 sequence right before the current insertion point. Then, to
1057 instrument 'base + len', just get an iterator on that statement.
1058 And do not forget to update the pointer to iterator the function
1059 received as argument.
1060
47918951
VM
10612013-02-15 Vladimir Makarov <vmakarov@redhat.com>
1062
1063 PR rtl-optimization/56348
1064 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
1065
3fb7c699
SB
10662013-02-15 Steven Bosscher <steven@gcc.gnu.org>
1067
1068 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
1069 (clean_graph_dump_file): Pass base to start_graph_dump.
1070
576fe41a
RH
10712013-02-14 Richard Henderson <rth@redhat.com>
1072
1073 PR target/55941
1074 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
1075
bb3accfa
SB
10762013-02-14 Steven Bosscher <steven@gcc.gnu.org>
1077
1078 * collect2-aix.h: Define F_LOADONLY.
1079
03143140
RB
10802013-02-14 Richard Biener <rguenther@suse.de>
1081
1082 PR lto/50494
1083 * varasm.c (output_constant_def_1): Get the decl representing
1084 the constant as argument.
1085 (output_constant_def): Wrap output_constant_def_1.
1086 (make_decl_rtl): Use output_constant_def_1 with the decl
1087 representing the constant.
1088 (build_constant_desc): Optionally re-use a decl already
1089 representing the constant.
1090 (tree_output_constant_def): Adjust.
1091
8fb06726
DS
10922013-02-14 Dodji Seketeli <dodji@redhat.com>
1093
1094 Fix an asan crash
1095 * asan.c (instrument_builtin_call): Really put the length of the
1096 second source argument into src1_len.
1097
c4bfe8bf
JJ
10982013-02-13 Jakub Jelinek <jakub@redhat.com>
1099
1100 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
1101 argument. If it is false, don't create edge from then_bb to
1102 fallthru_bb.
1103 (insert_if_then_before_iter): Pass true to it.
1104 (build_check_stmt): Pass false to it.
1105 (transform_statements): Flush hash table only on extended basic
1106 block boundaries, rather than at the beginning of every bb.
1107 Don't flush hash table on nonfreeing_call_p calls.
1108 * tree-flow.h (nonfreeing_call_p): New prototype.
1109 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
1110
7afe2801
DM
11112013-02-13 David S. Miller <davem@davemloft.net>
1112
1113 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1114
70cc3288
VM
11152013-02-13 Vladimir Makarov <vmakarov@redhat.com>
1116
1117 PR target/56184
1118 * ira.c (max_regno_before_ira): Move from ...
1119 (ira): ... here.
1120 (fix_reg_equiv_init): Use max_regno_before_ira instead of
1121 vec_safe_length.
1122
6422242b
JJ
11232013-02-13 Jakub Jelinek <jakub@redhat.com>
1124
1125 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
1126
976a81ee
RB
11272013-02-13 Richard Biener <rguenther@suse.de>
1128
1129 PR lto/56295
1130 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
1131 globals in MEM_REFs.
1132
c1874a87
RB
11332013-02-13 Richard Biener <rguenther@suse.de>
1134
1135 * loop-init.c (loop_optimizer_init): Clear loop state when
1136 re-initializing preserved loops.
1137 * loop-unswitch.c (unswitch_single_loop): Return whether
1138 we unswitched the loop. Do not verify loop state here.
1139 (unswitch_loops): When we unswitched a loop discover new
1140 loops.
1141
b4ab7d34
KS
11422013-02-13 Kostya Serebryany <kcc@google.com>
1143
1144 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
1145 linux.
1146 * sanitizer.def: Rename __asan_init to __asan_init_v1.
1147
bdcbe80c
DS
11482013-02-12 Dodji Seketeli <dodji@redhat.com>
1149
1150 Avoid instrumenting duplicated memory access in the same basic block
1151 * Makefile.in (asan.o): Add new dependency on hash-table.h
1152 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
1153 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
1154 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
1155 (free_mem_ref_resources, has_mem_ref_been_instrumented)
1156 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
1157 (get_mem_ref_of_assignment): New functions.
1158 (get_mem_refs_of_builtin_call): Extract from
1159 instrument_builtin_call and tweak a little bit to make it fit with
1160 the new signature.
1161 (instrument_builtin_call): Use the new
1162 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
1163 of is_gimple_builtin_call.
1164 (instrument_derefs, instrument_mem_region_access): Insert the
1165 instrumented memory reference into the hash table.
1166 (maybe_instrument_assignment): Renamed instrument_assignment into
1167 this, and change it to advance the iterator when instrumentation
1168 actually happened and return true in that case. This makes it
1169 homogeneous with maybe_instrument_assignment, and thus give a
1170 chance to callers to be more 'regular'.
1171 (transform_statements): Clear the memory reference hash table
1172 whenever we enter a new BB, when we cross a function call, or when
1173 we are done transforming statements. Use
1174 maybe_instrument_assignment instead of instrumentation. No more
1175 need to special case maybe_instrument_assignment and advance the
1176 iterator after calling it; it's now handled just like
1177 maybe_instrument_call. Update comment.
1178
4861a1f7
RB
11792013-02-13 Richard Biener <rguenther@suse.de>
1180
1181 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
1182 Fix loop discovery code.
1183
1c86bd80
VM
11842013-02-12 Vladimir Makarov <vmakarov@redhat.com>
1185
1186 PR inline-asm/56148
1187 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 1188 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
1189 the operand is not reloaded. Prefer to reload conflicting operand
1190 if earlyclobber and matching operands are the same.
1191
7cbda518
RB
11922013-02-12 Richard Biener <rguenther@suse.de>
1193
1194 PR lto/56297
1195 * lto-streamer-out.c (write_symbol): Do not output symbols
1196 for hard register variables.
1197
e68a4ef6
GJL
11982013-02-12 Georg-Johann Lay <avr@gjlay.de>
1199
1200 PR target/54222
1201 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
1202 (umulsidi3_insn, mulsidi3_insn): New insns.
1203
2597da22
CL
12042013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
1205
1206 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
1207 (struct tune_params): Add vec_costs field.
1208 * config/arm/arm.c (arm_builtin_vectorization_cost)
1209 (arm_add_stmt_cost): New functions.
1210 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
1211 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
1212 (arm_default_vec_cost): New struct of type cpu_vec_costs.
1213 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
1214 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
1215 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
1216 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
1217
43320568
RB
12182013-02-12 Richard Biener <rguenther@suse.de>
1219
1220 PR lto/56295
1221 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
1222 decls again if possible.
1223
a011aa39
RB
12242013-02-12 Richard Biener <rguenther@suse.de>
1225
1226 PR middle-end/56288
1227 * tree-ssa.c (verify_ssa_name): Fix check, move
1228 SSA_NAME_IN_FREE_LIST check up.
1229
6da26889
JJ
12302013-02-12 Jakub Jelinek <jakub@redhat.com>
1231 Steven Bosscher <steven@gcc.gnu.org>
1232
1233 PR rtl-optimization/56151
1234 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
1235 equal to op0 or op1, and last_insn pattern is CODE operation
1236 with MEM dest and one of the operands matches that MEM.
1237
f80e0faf
ST
12382013-02-11 Sriraman Tallam <tmsriramgoogle.com>
1239
1240 * doc/extend.texi: Document Function Multiversioning and "default"
1241 parameter string to target attribute.
1242 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
1243 target attribute parameter is "default".
1244 (ix86_compare_version_priority): Remove checks for target attribute.
1245 (ix86_mangle_function_version_assembler_name): Change error to sorry.
1246 Remove check for target attribute equal to NULL. Add assert.
1247 (ix86_generate_version_dispatcher_body): Change error to sorry.
1248
6c59ffd1
IS
12492013-02-11 Iain Sandoe <iain@codesourcery.com>
1250 Jack Howarth <howarth@bromo.med.uc.edu>
1251 Patrick Marlier <patrick.marlier@gmail.com>
1252
1253 PR libitm/55693
1254 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
1255 define ENDFILE_SPEC as TM_DESTRUCTOR.
1256 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
1257
6a52ccb3
AP
12582013-02-11 Alexander Potapenko <glider@google.com>
1259 Jack Howarth <howarth@bromo.med.uc.edu>
1260 Jakub Jelinek <jakub@redhat.com>
1261
1262 PR sanitizer/55617
1263 * config/darwin.c (cdtor_record): Rename ctor_record.
1264 (sort_cdtor_records): Rename sort_ctor_records.
1265 (finalize_dtors): New routine to sort destructors by
1266 priority before use in assemble_integer.
1267 (machopic_asm_out_destructor): Use finalize_dtors if needed.
1268
b63fe007
UB
12692013-02-11 Uros Bizjak <ubizjak@gmail.com>
1270
1271 PR rtl-optimization/56275
1272 * simplify-rtx.c (avoid_constant_pool_reference): Check that
1273 offset is non-negative and less than cmode size before
1274 calling simplify_subreg.
1275
8e89b5b5
RB
12762013-02-11 Richard Biener <rguenther@suse.de>
1277
1278 PR tree-optimization/56264
1279 * cfgloop.h (fix_loop_structure): Adjust prototype.
1280 * loop-init.c (fix_loop_structure): Return the number of
1281 newly discovered loops.
1282 * tree-cfgcleanup.c (repair_loop_structures): When new loops
1283 are discovered, do a full loop-closed SSA rewrite.
1284
b4a4b56d
RB
12852013-02-11 Richard Biener <rguenther@suse.de>
1286
1287 PR tree-optimization/56273
1288 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1289 first VRP run.
1290 (check_array_ref): Fix missing newline in dumps.
1291 (search_for_addr_array): Likewise.
1292
0c885229
DE
12932013-02-09 David Edelsohn <dje.gcc@gmail.com>
1294
1295 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
1296
59ac9a55
JJ
12972013-02-09 Jakub Jelinek <jakub@redhat.com>
1298
1299 PR target/56256
1300 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
1301
25bb0bb5
VM
13022013-02-08 Vladimir Makarov <vmakarov@redhat.com>
1303
1304 PR rtl-optimization/56246
0c885229 1305 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
1306 reload pseudo.
1307 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
1308 constraints are satisfied.
1309
a698cc03
JL
13102013-02-08 Jeff Law <law@redhat.com>
1311
1312 PR debug/53948
1313 * emit-rtl.c (reg_is_parm_p): New function.
1314 * regs.h (reg_is_parm_p): New prototype.
1315 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
1316 callee-clobbered registers.
1317
e1122ddd
MM
13182013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1319
1320 PR target/56043
1321 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1322 If there is no implicit builtin declaration, just return NULL.
1323
19c5f6e6
UB
13242013-02-08 Uros Bizjak <ubizjak@gmail.com>
1325
1326 * config/i386/sse.md (FMAMODEM): New mode iterator.
1327 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1328 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1329
2480f2ca 13302013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 1331
2480f2ca
UB
1332 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1333 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1334 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1335
13362013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1337
1338 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
1339 (microblaze*-*-elf): Likewise.
1340 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
1341 LINK_SPEC.
1342 * config/microblaze/microblaze-c.c: Add builtin defines for
1343 _LITTLE_ENDIAN and _BIG_ENDIAN.
1344 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
1345 add to TARGET_DEFAULT flags.
76ef61fb 1346 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
1347 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
1348 * config/microblaze/microblaze.md: Update extendsidi2 and
1349 movdi_internal instructions to use low-order / high-order reg
1350 print_operands.
1351 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
1352 options and inversemask / mask of LITTLE_ENDIAN.
1353 * config/microblaze/t-microblaze: Expand multilib options to
1354 include mlittle-endian (le) and update exceptions patterns.
1355
600a5961
JJ
13562013-02-08 Jakub Jelinek <jakub@redhat.com>
1357
5df81313
JJ
1358 PR rtl-optimization/56195
1359 * lra-constraints.c (get_reload_reg): Don't reuse regs
1360 if they have smaller mode than requested, if they have
1361 wider mode than requested, try to return a SUBREG.
1362
600a5961
JJ
1363 PR tree-optimization/56250
1364 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1365 if type is unsigned and code isn't MULT_EXPR.
1366
ff544649
GJL
13672013-02-08 Georg-Johann Lay <avr@gjlay.de>
1368
1369 PR tree-optimization/56064
1370 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
1371 bits according to mode.
1372 * fixed-value.h (fixed_from_double_int)
1373 (const_fixed_from_double_int): Adjust comments.
1374
e45cde98
RB
13752013-02-08 Richard Biener <rguenther@suse.de>
1376
1377 PR lto/56231
1378 * lto-streamer.h (struct data_in): Remove current_file, current_line
1379 and current_col members.
1380 * lto-streamer-out.c (lto_output_location): Stream changed bits
1381 en-block for efficiency.
1382 * lto-streamer-in.c (clear_line_info): Remove.
1383 (lto_input_location): Cache current file, line and column
1384 globally via local statics. Read changed bits en-block.
1385 (input_function): Do not call clear_line_info.
1386 (lto_read_body): Likewise.
1387 (lto_input_toplevel_asms): Likewise.
1388
c1ca73d8
MM
13892013-02-08 Michael Matz <matz@suse.de>
1390
1391 PR tree-optimization/52448
1392 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
1393 (nt_call_phase): New static.
1394 (add_or_mark_expr): Only mark accesses with newer phase than any
1395 call seen.
1396 (nonfreeing_call_p): New.
1397 (nt_init_block): Update nt_call_phase, mark blocks as visited.
1398 (nt_fini_block): Keep blocks marked as visited.
1399 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
1400
57548aa2
RB
14012013-02-08 Richard Biener <rguenther@suse.de>
1402
1403 * ira.c (ira): Free broken dominator information.
1404
8e10366f
UB
14052013-02-08 Uros Bizjak <ubizjak@gmail.com>
1406
1407 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
1408
f64fb0fa
MP
14092013-02-08 Marek Polacek <polacek@redhat.com>
1410
8e10366f 1411 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 1412
0375167b
RB
14132013-02-08 Richard Biener <rguenther@suse.de>
1414
1415 PR middle-end/56181
1416 * cfgloop.h (flow_loops_find): Adjust.
1417 (bb_loop_header_p): Declare.
1418 * cfgloop.c (bb_loop_header_p): New function split out from ...
1419 (flow_loops_find): ... here. Adjust function signature,
1420 support incremental loop structure update.
1421 (verify_loop_structure): Cleanup. Verify a loop is a loop.
1422 * cfgloopmanip.c (fix_loop_structure): Move ...
1423 * loop-init.c (fix_loop_structure): ... here.
1424 (apply_loop_flags): Split out from ...
1425 (loop_optimizer_init): ... here.
1426 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
1427 in incremental mode, only remove dead loops here.
1428
85d768f3
GJL
14292013-02-08 Georg-Johann Lay <avr@gjlay.de>
1430
1431 PR target/54222
1432 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
1433 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
1434 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
1435 (*round<mode>3.libgcc): New insns for fixed-modes.
1436 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
1437 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
1438 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
1439 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
1440 implementations. Define to __builtin_avr_absFX,
1441 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
1442 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
1443 __builtin_avr_countlsFX, respectively.
1444 * config/avr/avr-c.c (target.h): Include it.
1445 (enum avr_builtin_id): New enum.
1446 (avr_resolve_overloaded_builtin): New static function.
1447 (avr_register_target_pragmas): Use it to set
1448 targetm.resolve_overloaded_builtin.
1449 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
1450 tree nodes used by DEF_BUILTIN.
1451 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
1452 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
1453 <AVR_BUILTIN_xxBITS>: Same.
1454
661bc682
RB
14552013-02-08 Richard Biener <rguenther@suse.de>
1456
1457 * cfgloop.c (verify_loop_structure): Properly handle
1458 a loop exiting to another loop header.
1459 * ira-int.h (ira_loops): Remove.
1460 * ira.c (ira_loops): Remove.
1461 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
1462 (do_reload): Use loop_optimizer_finalize.
1463 * ira-build.c (create_loop_tree_nodes): Use get_loops and
1464 number_of_loops to access the loop tree.
1465 (more_one_region_p): Likewise.
1466 (finish_loop_tree_nodes): Likewise.
1467 (rebuild_regno_allocno_maps): Likewise.
1468 (mark_loops_for_removal): Likewise.
1469 (mark_all_loops_for_removal): Likewise.
1470 (remove_unnecessary_regions): Likewise.
1471 (ira_build): Likewise.
1472 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
1473
0d5049b2
RB
14742013-02-08 Richard Biener <rguenther@suse.de>
1475
1476 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
1477 * ipa-pure-const.c (analyze_function): Avoid calling
1478 mark_irreducible_loops twice.
8e10366f 1479 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 1480
499f32e8
DM
14812013-02-07 David S. Miller <davem@davemloft.net>
1482
1483 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1484 on 'reg'.
1485 * var-tracking.c (vt_add_function_parameter): Test the presence of
1486 HAVE_window_save properly and do not remap argument registers when
1487 we have a leaf function.
1488
6edc3e32
UB
14892013-02-07 Uros Bizjak <ubizjak@gmail.com>
1490
1491 PR bootstrap/56227
1492 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1493 instead of "ll".
1494 * config/i386/i386.c (ix86_print_operand): Ditto.
1495
5306401f
VM
14962013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1497
6edc3e32 1498 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 1499
027ece11
VM
15002013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1501
1502 PR rtl-optimization/56225
1503 * lra-constraints.c (process_alt_operands): Check that reload hard
1504 reg can hold value for strict_low_part.
1505
f980dfdb
JJ
15062013-02-07 Jakub Jelinek <jakub@redhat.com>
1507
1508 PR debug/56154
1509 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
1510 dwarf2out_end_function.
1511 (in_first_function_p, maybe_at_text_label_p,
1512 first_loclabel_num_not_at_text_label): New variables.
1513 (dwarf2out_var_location): In the first function find out
6edc3e32 1514 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
1515 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
1516 functions.
1517
73dd3123
EB
15182013-02-07 Eric Botcazou <ebotcazou@adacore.com>
1519
1520 PR rtl-optimization/56178
1521 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
1522 SUBREG of a register. Tidy up related block of code.
1523 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
1524 note if the source is a register or a SUBREG of a register.
1525
e3936f47
JJ
15262013-02-07 Jakub Jelinek <jakub@redhat.com>
1527
1528 PR target/56228
1529 * config/rs6000/rs6000.md (ptrm): New mode attr.
1530 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
1531 call_value_indirect_aix<pttrsize>,
1532 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
1533 m in constraints.
1534
d96d674b
MH
15352013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1536
1537 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
1538 if -bnortl. Convert to strcmp and strncmp.
1539
921f2dee
AM
15402013-02-07 Alan Modra <amodra@gmail.com>
1541
1542 PR target/54009
1543 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
1544 addresses won't wrap when offsetting.
1545 (rs6000_secondary_reload): Provide secondary reloads needed for
1546 wrapping LO_SUM addresses.
1547
d09c7dba
TS
15482013-02-06 Thomas Schwinge <thomas@codesourcery.com>
1549
1550 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
1551 MACH, just __MACH__.
1552
a44bbd48
RB
15532013-02-06 Richard Biener <rguenther@suse.de>
1554
1555 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
1556 instead of calling fix_loop_structure.
1557
6d840d99
JJ
15582013-02-06 Jakub Jelinek <jakub@redhat.com>
1559
1560 PR middle-end/56217
1561 * omp-low.c (use_pointer_for_field): Return false if
1562 lower_send_shared_vars doesn't generate any copy-out code.
1563
0f33baa9
TV
15642013-02-06 Tom de Vries <tom@codesourcery.com>
1565
1566 PR rtl-optimization/56131
1567 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
1568 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
1569 of the label is NULL. Add comment.
1570
11f1e3ab
JJ
15712013-02-05 Jakub Jelinek <jakub@redhat.com>
1572
31502f9f
JJ
1573 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
1574
a74db9bd
JJ
1575 PR sanitizer/55374
1576 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
1577 (STATIC_LIBTSAN_LIBS): Likewise.
1578 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
1579 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
1580 is defined, don't add anything else beyond that.
1581 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
1582 (LINK_COMMAND_SPEC): Use them.
1583
11f1e3ab
JJ
1584 PR tree-optimization/56205
1585 * tree-stdarg.c (check_all_va_list_escapes): Return true if
1586 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
1587 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
1588
14ac6aa2
RB
15892013-02-05 Richard Biener <rguenther@suse.de>
1590
1591 PR tree-optimization/53342
1592 PR tree-optimization/53185
1593 * tree-vectorizer.h (vect_check_strided_load): Remove.
1594 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
1595 not disallow peeling for vectorized strided loads.
1596 (vect_check_strided_load): Make static and simplify.
1597 (vect_analyze_data_refs): Adjust.
1598 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
1599 correctly when vectorizing strided loads.
1600
6f22445a
RB
16012013-02-05 Richard Biener <rguenther@suse.de>
1602
1603 * doc/install.texi: Refer to ISL, not PPL.
1604
39f9719e
JH
16052013-02-05 Jan Hubicka <jh@suse.cz>
1606
ec4224ac
JH
1607 PR tree-optimization/55789
1608 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
1609
16102013-02-05 Jan Hubicka <jh@suse.cz>
1611
1612 PR tree-optimization/55789
39f9719e
JH
1613 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
1614 the dead call anyway.
1615
956d3b33
EB
16162013-02-05 Eric Botcazou <ebotcazou@adacore.com>
1617
1618 PR sanitizer/55374
1619 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
1620
16212013-02-04 Alexander Potapenko <glider@google.com>
1622 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
1623 Jakub Jelinek <jakub@redhat.com>
1624
1625 PR sanitizer/55617
1626 * config/darwin.c (sort_ctor_records): Stabilized qsort
1627 on constructor priority by using original position.
1628 (finalize_ctors): New routine to sort constructors by
1629 priority before use in assemble_integer.
1630 (machopic_asm_out_constructor): Use finalize_ctors if needed.
1631
7ac3af38
JJ
16322013-02-04 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR libstdc++/54314
1635 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
1636 about visibility on artificial decls.
1637 * config/sol2.c (solaris_assemble_visibility): Likewise.
1638
152689dc
KT
16392013-02-04 Kai Tietz <ktietz@redhat.com>
1640
1641 PR target/56186
1642 * config/i386/i386.c (function_value_ms_64): Add additional valtype
1643 argument and improve checking of return-argument types for 16-byte
1644 modes.
1645 (ix86_function_value_1): Add additional valtype argument on call
1646 of function_value_64.
1647 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
1648 handling infunction_value_64 function.
1649
2b5987b5
MGD
16502013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1651
7ac3af38 1652 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 1653
14597080
RB
16542013-02-04 Richard Biener <rguenther@suse.de>
1655
1656 PR tree-optimization/56188
1657 * tree-ssa-structalias.c (label_visit): Consider case with
1658 initially non-empty points-to set.
1659 (perform_var_substitution): Dump node mapping and clean up.
1660
ed73881e
RG
16612013-02-04 Richard Guenther <rguenther@suse.de>
1662
1663 PR lto/56168
1664 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
1665 node prevail as last resort.
1666 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 1667 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 1668
139a0707
RB
16692013-02-04 Richard Biener <rguenther@suse.de>
1670
1671 PR tree-optimization/56113
1672 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
1673 Merge into ...
1674 (equiv_class_lookup_or_add): ... this.
1675 (label_visit): Adjust and fix error in previous patch.
1676 (perform_var_substitution): Adjust.
1677
50fe8924
OE
16782013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
1679
1680 * config/sh/divtab.c: Fix formatting and comments throughout the file.
1681 * config/sh/sh4-300.md: Likewise.
1682 * config/sh/sh4a.md: Likewise.
1683 * config/sh/constraints.md: Likewise.
1684 * config/sh/sh.md: Likewise.
1685 * config/sh/netbsd-elf.h: Likewise.
1686 * config/sh/predicates.md: Likewise.
1687 * config/sh/sh-protos.h: Likewise.
1688 * config/sh/ushmedia.h: Likewise.
1689 * config/sh/linux.h: Likewise.
1690 * config/sh/sh.c: Likewise.
1691 * config/sh/superh.h: Likewise.
1692 * config/sh/elf.h: Likewise.
1693 * config/sh/sh4.md: Likewise.
1694 * config/sh/sh.h: Likewise.
1695
1a04ac2b
JDA
16962013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1697
1698 * config/pa/constraints.md: Adjust unused letters. Change "T"
1699 constraint to match_test floating_point_store_memory_operand().
1700 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
1701 (base14_operand): New.
1702 (floating_point_store_memory_operand): New.
1703 (integer_store_memory_operand): Revise to use base14_operand and
1704 reg_plus_base_memory_operand.
1705 (move_dest_operand): Allow symbolic_memory_operands.
1706 (symbolic_memory_operand): Check for LO_SOM.
1707 (symbolic_operand): Change default case to break.
1708 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
1709 CONST_DOUBLE values to be reloaded by putting them into memory when
1710 the destination is a floating point register.
1711 (movdf): Remove code to handle CONST_DOUBLE.
1712 (movsf): Likewise.
1713 (reload_indf_r1): New.
1714 (reload_insf_r1): New.
1715 Consistently use "Q" and "T" constraints with integer and floating
1716 point move instructions, respectively.
1717 (movdi): Remove FAIL.
1718 Change predicate for source operand unamed DImode move from
1719 general_operand to move_src_operand.
1720 (umulsidi3): Change predicate for destination operand to
1721 register_operand.
1722 Likewise for similar unamed patterns.
1723 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
1724 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
1725 (hppa_legitimize_address): Simplify mask calculation.
1726 (pa_emit_move_sequence): Revised handling of secondary reloads from
1727 REG+D addresses for floating point loads and stores. Directly handle
1728 loading CONST0_RTX (mode) to a floating point register.
1729 (pa_secondary_reload): Handle reloading DF and SFmode constant values
1730 to floating point registers. Don't restrict secondary reloads to
1731 floating point registers to integer modes. Revise some comments and
1732 cleanup some code.
1733 (TARGET_LEGITIMATE_ADDRESS_P): Define.
1734 (pa_legitimate_address_p): New.
1735 (pa_legitimize_reload_address): New.
1736 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
1737 (STRICT_REG_OK_FOR_BASE_P): New.
1738 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
1739 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
1740
3bf65591
DE
17412013-02-03 David Edelsohn <dje.gcc@gmail.com>
1742 Andrew Dixie <andrewd@gentrack.com>
1743
1744 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1745 flag set.
1746
c0a8a3e6
RS
17472013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1748
1749 * expmed.c (extract_bit_field_1): Pass the full width of the
1750 structure to get_best_reg_extraction_insn.
1751
99113dff
DE
17522013-02-01 David Edelsohn <dje.gcc@gmail.com>
1753
1754 PR target/54601
1755 * configure.ac (use_cxa_atexit): Add AIX.
1756 * configure: Regenerate.
1757
1758 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
1759
ddd84654
JJ
17602013-02-01 Jakub Jelinek <jakub@redhat.com>
1761
1762 PR debug/54793
1763 * final.c (need_profile_function): New variable.
1764 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
1765 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
1766 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
1767 notes, targetm.asm_out.function_prologue doesn't emit anything,
1768 HAVE_prologue and profiler should be emitted before prologue,
1769 set need_profile_function instead of emitting it.
1770 (final_scan_insn): If need_profile_function, emit
1771 profile_function on the first NOTE_INSN_BASIC_BLOCK or
1772 NOTE_INSN_FUNCTION_BEG note.
1773
17742013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
1775
1776 * config/rs6000/rs6000.md (smulditi3): New.
1777 (umulditi3): New.
1778
ff2a9d88
RH
1779 * config/alpha/alpha.md (umulditi3): New.
1780
14d52b90
DE
17812013-02-01 David Edelsohn <dje.gcc@gmail.com>
1782
1783 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
1784 (ASM_OUTPUT_ALIGNED_LOCAL): New.
1785
8c7ca45c
RB
17862013-02-01 Richard Biener <rguenther@suse.de>
1787
1788 PR tree-optimization/56113
1789 * tree-ssa-structalias.c (label_visit): Reduce work for
1790 single-predecessor nodes.
1791
9f419393
EB
17922013-02-01 Eric Botcazou <ebotcazou@adacore.com>
1793
1794 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1795 range isn't testing for zero.
1796
c5f4be84
SB
17972013-01-31 Steven Bosscher <steven@gcc.gnu.org>
1798
1799 PR middle-end/56113
1800 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
1801
dbdbd982
NC
18022013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
1803 Nick Clifton <nickc@redhat.com>
1804
1805 * config/v850/constraints.md (Q): Define as a memory constraint.
1806 * config/v850/predicates.md (label_ref_operand): New predicate.
1807 (e3v5_shift_operand): New predicate.
1808 (ior_operator): New predicate.
1809 * config/v850/t-v850: Add e3v5 multilib.
1810 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
1811 (v850_gen_movdi): Prototype.
1812 * config/v850/v850.c: Add support for e3v5 architecture.
1813 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
1814 TARGET_V850E_UP.
1815 (construct_save_jarl): Add e3v5 long JARL support.
1816 (v850_adjust_insn_length): New function. Adjust length of call
1817 insns when using e3v5 instructions.
1818 (v850_gen_movdi): New function: Generate instructions to move a
1819 DImode value.
1820 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
1821 (CPP_SPEC): Define __v850e3v5__ as appropriate.
1822 (TARGET_USE_FPU): Enable for e3v5.
1823 (CONST_OK_FOR_W): New macro.
1824 (ADJUST_INSN_LENGTH): Define.
1825 * config/v850/v850.md (UNSPEC_LOOP): Define.
1826 (attr cpu): Add v850e3v5.
1827 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
1828 (movdi): New pattern.
1829 (movdi_internal): New pattern.
1830 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
1831 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
1832 (cstoresf4): Likewise.
1833 (cstoredf4): Likewise.
1834 (insv): New pattern.
1835 (rotlso3_a): New pattern.
1836 (rotlsi3_b): New pattern
1837 (rotlsi3_v850e3v5): New pattern.
1838 (doloop_begin): New pattern.
1839 (fix_loop_counter): New pattern.
1840 (doloop_end): New pattern.
1841 (branch_normal): Add e3v5 long branch support.
1842 (branch_invert): Likewise.
1843 (branch_z_normal): Likewise.
1844 (branch_z_invert): Likewise.
1845 (branch_nz_normal): Likewise.
1846 (branch_nz_invert): Likewise.
1847 (call_internal_short): Add e3v5 register-indirect JARL support.
1848 (call_internal_long): Likewise.
1849 (call_value_internal_short): Likewise.
1850 (call_value_internal_long): Likewise.
1851 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
1852 (mloop): New option.
1853 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 1854 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 1855
73861a41
PK
18562013-01-31 Paul Koning <ni1d@arrl.net>
1857
1858 PR debug/55059
1859 PR debug/54508
1860 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
1861 children if parent is a class.
1862 (prune_unused_types_prune): Don't add DW_AT_declaration.
1863
e44978dc
RB
18642013-01-31 Richard Biener <rguenther@suse.de>
1865
1866 PR tree-optimization/56157
1867 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
1868 match up operand with SLP child.
1869
90b10dec
JM
18702013-01-31 Jason Merrill <jason@redhat.com>
1871
04d2dadd 1872 PR debug/54410
90b10dec
JM
1873 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
1874 parameters the first time.
1875 (gen_scheduled_generic_parms_dies): Check completeness here.
1876
6e616110
RB
18772013-01-31 Richard Biener <rguenther@suse.de>
1878
1879 PR middle-end/53073
1880 * common.opt (faggressive-loop-optimizations): New flag,
1881 enabled by default.
1882 * doc/invoke.texi (faggressive-loop-optimizations): Document.
1883 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
1884 infer_loop_bounds_from_undefined by it.
1885
636f59cf
RB
18862013-01-31 Richard Biener <rguenther@suse.de>
1887
1888 PR tree-optimization/56150
1889 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
1890 visit virtual operands.
1891 (find_uses_to_rename_bb): Likewise.
1892
18932013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
1894
1895 PR tree-optimization/56150
1896 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
1897 mixed store non-store stmts.
1898
32887460
JJ
18992013-01-30 Jakub Jelinek <jakub@redhat.com>
1900
e60e09a0
JJ
1901 PR sanitizer/55374
1902 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
1903 LIBASAN_EARLY_SPEC is defined.
1904 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
1905 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
1906 before %o.
1907 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
1908
32887460
JJ
1909 PR c++/55742
1910 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
1911 invalid args instead of ICEing on it.
1912 (ix86_valid_target_attribute_tree): Return error_mark_node if
1913 ix86_valid_target_attribute_inner_p failed.
1914 (ix86_valid_target_attribute_p): Return false only if
1915 ix86_valid_target_attribute_tree returned error_mark_node. Allow
1916 target("default") attribute.
1917 (sorted_attr_string): Change argument from const char * to tree,
1918 merge in all target attribute arguments rather than just one.
1919 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
1920 instead of free. Avoid using strcat.
1921 (ix86_mangle_function_version_assembler_name): Mangle
1922 target("default") as if no target attribute is present. Adjust
1923 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
1924 instead of xmalloc and XDELETEVEC instead of free.
1925 (ix86_function_versions): Don't return true if one of the decls
1926 doesn't have target attribute. If they don't and one of the decls
1927 is DECL_FUNCTION_VERSIONED, report an error. Adjust
1928 sorted_attr_string caller. Use XDELETEVEC instead of free.
1929 (ix86_supports_function_versions): Remove.
1930 (make_name): Fix up formatting.
1931 (make_dispatcher_decl): Remove resolver_name and its initialization.
1932 Avoid leaking memory.
1933 (is_function_default_version): Return true if there is
1934 target("default") attribute rather than no target attribute at all.
1935 (make_resolver_func): Avoid leaking memory.
1936 (ix86_generate_version_dispatcher_body): Likewise.
1937 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
1938 * target.def (supports_function_versions): Remove.
1939 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
1940 * doc/tm.texi: Regenerated.
1941
73cca0cc
VM
19422013-01-30 Vladimir Makarov <vmakarov@redhat.com>
1943
1944 PR rtl-optimization/56144
1945 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
1946 for values with side effects.
1947
11452e7b
RB
19482013-01-30 Richard Biener <rguenther@suse.de>
1949
1950 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
1951 (sparseset_pop): Likewise.
1952 * cfganal.c (compute_idf): Likewise. Increase work-stack size
1953 to be able to use quick_push in the worker loop.
1954
01cb1ef5
MP
19552013-01-30 Marek Polacek <polacek@redhat.com>
1956
1957 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
1958
e892936e
RB
19592013-01-30 Richard Biener <rguenther@suse.de>
1960
1961 PR lto/56147
6edc3e32 1962 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 1963
cc06c01d
GJL
19642013-01-30 Georg-Johann Lay <avr@gjlay.de>
1965
1966 PR tree-optimization/56064
1967 * fixed-value.c (fixed_from_double_int): New function.
1968 * fixed-value.h (fixed_from_double_int): New prototype.
1969 (const_fixed_from_double_int): New static inline function.
1970 * fold-const.c (native_interpret_fixed): New static function.
1971 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
1972 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
1973 (native_encode_fixed): New static function.
1974 (native_encode_expr) <FIXED_CST>: Use it.
1975 (native_interpret_int): Move double_int worker code to...
1976 * double-int.c (double_int::from_buffer): ...this new static method.
1977 * double-int.h (double_int::from_buffer): Prototype it.
1978
d394a308
RB
19792013-01-30 Richard Biener <rguenther@suse.de>
1980
1981 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
1982 New pointer-map and obstack.
1983 (init_alias_vars): Allocate pointer-map and obstack.
1984 (delete_points_to_sets): Free them.
1985 (find_what_var_points_to): Cache result.
1986 (find_what_p_points_to): Adjust for changed interface of
1987 find_what_var_points_to.
1988 (compute_points_to_sets): Likewise.
1989 (ipa_pta_execute): Likewise.
1990
20804d96
RO
19912013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1992
1993 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
1994 * configure: Regenerate.
1995 * config.in: Regenerate.
1996 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
1997 #nobits/#progbits if supported.
1998
a7ad88a2
OE
19992013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
2000
2001 PR target/56121
2002 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
2003 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
2004 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
2005
7af79f92
GY
20062013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2007
91bfca59
OE
2008 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
2009 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 2010
753bcf7b
GY
20112013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2012
91bfca59
OE
2013 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
2014 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 2015
8cbc2ea8
GY
20162013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2017
91bfca59
OE
2018 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
2019 declaration.
2020 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
2021 * config/arm/cortex-a7.md: New bypasses using
2022 arm_mac_accumulator_is_result.
8cbc2ea8 2023
697a3325
GY
20242013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2025
91bfca59 2026 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 2027 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
2028 (cortex_a7_fpfmad): New reservation.
2029 (cortex_a7_fpmacs): Use ffmas and update required units.
2030 (cortex_a7_fpmuld): Update required units and latency.
2031 (cortex_a7_fpmacd): Likewise.
2032 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
2033 (cortex_a7_neon). Likewise.
2034 (bypass) Update participating units.
697a3325 2035
29637783
GY
20362013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2037
91bfca59
OE
2038 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
2039 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
2040 from fmac to ffma.
2041 * config/arm/vfp11.md (vfp_farith): Use ffmas.
2042 (vfp_fmul): Use ffmad.
2043 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
2044 (cortex_r4_fmacd): Use ffmad.
2045 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
2046 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
2047 (cortex_a9_fmacd): Use ffmad.
2048 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
2049 (cortex_a8_vfp_macd): Use ffmad.
2050 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
2051 (cortex_a5_fpmacd): Use ffmad.
2052 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
2053 (cortex_a15_vfp_macd): Use ffmad.
2054 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 2055
2ee8a2d5
JM
20562013-01-29 Jason Merrill <jason@redhat.com>
2057
2058 PR libstdc++/54314
2059 * varasm.c (default_assemble_visibility): Don't warn about
2060 visibility on artificial decls.
2061
78d087bc
RB
20622013-01-29 Richard Biener <rguenther@suse.de>
2063
2064 PR tree-optimization/56113
2065 * tree-ssa-structalias.c (equiv_class_lookup): Also return
2066 the bitmap leader.
2067 (label_visit): Free duplicate bitmaps and record the leader instead.
2068 (perform_var_substitution): Adjust.
2069
83ba4d6f
RB
20702013-01-29 Richard Biener <rguenther@suse.de>
2071
2072 PR tree-optimization/55270
2073 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
2074 the CFG, schedule loops for fixup.
2075
66dfe13f
NC
20762013-01-29 Nick Clifton <nickc@redhat.com>
2077
2078 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
2079 SP_REG.
2080
5a579c3b
LE
20812013-01-28 Leif Ekblad <leif@rdos.net>
2082
2083 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
2084 * config/i386/i386.h (TARGET_RDOS): New macro.
2085 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
2086 * config/i386/i386.c (ix86_option_override_internal): For 64bit
2087 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
2088 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
2089 DEFAULT_LARGE_SECTION_THRESHOLD.
2090 * config/i386/i386.md (R14_REG, R15_REG): New constants.
2091 * config/i386/rdos.h: New file.
2092 * config/i386/rdos64.h: New file.
2093
51e44392
BS
20942013-01-28 Bernd Schmidt <bernds@codesourcery.com>
2095
2096 PR other/54814
2097 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
2098 TEST_HARD_REG_BIT.
2099
db1fb332
JJ
21002013-01-28 Jakub Jelinek <jakub@redhat.com>
2101
2102 PR rtl-optimization/56117
2103 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
2104 call cselib_lookup_from_insn on the MEM before calling
2105 add_insn_mem_dependence.
2106
16917761
RB
21072013-01-28 Richard Biener <rguenther@suse.de>
2108
2109 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
2110 to a stmt that didn't have one.
2111 (copy_phis_for_bb): Likewise for PHI arguments.
2112 (copy_debug_stmt): Likewise for debug stmts.
2113
b9fc0497
RB
21142013-01-28 Richard Biener <rguenther@suse.de>
2115
2116 PR tree-optimization/56034
6edc3e32 2117 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
2118 (partition_builtin_p): Adjust.
2119 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
2120 it is the last partition.
2121 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
2122 up the vertex for the definition.
2123 (classify_partition): Classify whether a partition is a
2124 PKIND_REDUCTION, thus has uses outside of the loop.
2125 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
2126 Merge all PKIND_REDUCTION partitions into the last partition.
2127 (tree_loop_distribution): Seed partitions from reductions as well.
2128
aa710d25
JJ
21292013-01-28 Jakub Jelinek <jakub@redhat.com>
2130
0bfbca58
JJ
2131 PR tree-optimization/56125
2132 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
2133 pow(x,c) into sqrt(x) * powi(x, n/2) or
2134 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
2135 optimizing for size.
2136 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
2137 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
2138 integer.
2139
aa710d25
JJ
2140 PR tree-optimization/56094
2141 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
2142 to UNKNOWN_LOCATION while gimplifying expr.
2143
77dc5297
UB
21442013-01-27 Uros Bizjak <ubizjak@gmail.com>
2145
2146 PR target/56114
2147 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
2148 operand 0 in movabs insn template for -masm=intel asm alternative.
2149 (*movabs<mode>_2): Ditto for operand 1.
2150
0bfbca58 21512013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
2152
2153 PR target/54663
2154 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
2155 of microblaze-c.o
2156
0bfbca58 21572013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
2158
2159 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
2160 tm_file.
2161
0bfbca58 21622013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
2163
2164 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
2165 Undef to avoid warning.
2166
478f60f9
MH
21672013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2168
2169 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
2170 * configure: Regenerate.
2171
d7fa6ee2
JJ
21722013-01-25 Jakub Jelinek <jakub@redhat.com>
2173
2174 PR tree-optimization/56098
2175 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
2176 for stmts with volatile ops.
2177 (cond_store_replacement): Don't optimize if assign has volatile ops.
2178 (cond_if_else_store_replacement_1): Don't optimize if either
2179 then_assign or else_assign have volatile ops.
2180 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
2181 volatile ops.
2182
f8fe87bd
GJL
21832013-01-25 Georg-Johann Lay <avr@gjlay.de>
2184
2185 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
2186
28398d0d
GJL
21872013-01-25 Georg-Johann Lay <avr@gjlay.de>
2188
2189 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
2190 missing ':' in asm example.
2191
b7d7d917
TB
21922013-01-25 Tejas Belagod <tejas.belagod@arm.com>
2193
2194 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
2195 entries into lane and laneq entries.
77dc5297
UB
2196 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
2197 Remove AdvSIMD scalar modes.
b7d7d917
TB
2198 (aarch64_sq<r>dmulh_laneq<mode>): New.
2199 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
2200 modes.
2201 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
2202 builtin implementations to relfect changes in RTL in aarch64-simd.md.
2203 * config/aarch64/iterators.md (VCOND): New.
2204 (VCONQ): New.
2205
556f9906
GJL
22062013-01-25 Georg-Johann Lay <avr@gjlay.de>
2207
2208 PR target/54222
2209 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
2210 Add NULL LIBNAME argument to existing definitions.
2211 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
2212 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
2213 * config/avr/avr.c (DEF_BUILTIN): Same.
2214 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
2215 (avr_expand_builtin): Expand to a vanilla call if a libgcc
2216 implementation is available (DECL_ASSEMBLER_NAME is set).
2217 (avr_fold_absfx): New static function.
2218 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
2219 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
2220 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
2221 AVR_BUILTIN_ABSLLK.
2222 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
2223 (abshk, absk, abslk, absllk): Provide as static inline functions.
2224
1f546bbb
MP
22252013-01-25 Marek Polacek <polacek@redhat.com>
2226
2227 PR tree-optimization/56035
2228 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
2229
7e184bd7
UB
22302012-01-24 Uros Bizjak <ubizjak@gmail.com>
2231
2232 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
2233 (*movtf_internal_rex64): Add (!o,C) alternative
2234 (*movxf_internal_rex64): Ditto.
2235 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
2236
f5ba49ac
SM
22372013-01-24 Shenghou Ma <minux.ma@gmail.com>
2238
2239 * doc/invoke.texi: fix typo.
2240 * doc/objc.texi: fix typo.
2241
a6343728
RS
22422013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2243
2244 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
2245 for the first two alternatives.
2246
cd030c07
DN
22472013-01-24 Diego Novillo <dnovillo@google.com>
2248
77dc5297 2249 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
2250 (ggc-zone.o): Remove.
2251 * configure.ac: Remove option --with-gc.
2252 * configure: Re-generate.
2253 * doc/install.texi: Remove documentation for --with-gc.
2254 * gengtype.c (write_enum_defn): Remove. Update all users.
2255 (write_Types_process_field): Remove generation of gt_e_* argument.
2256 (output_type_enum): Remove. Update all users.
2257 (write_enum_defn): Remove. Update all users.
2258 (enum alloc_zone): Remove. Update all users.
77dc5297 2259 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
2260 * ggc-common.c (ggc_splay_alloc): Remove first argument.
2261 Update all callers.
2262 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 2263 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
2264 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
2265 Update all users.
aaf1e810 2266 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
2267 (struct alloc_zone): Remove.
2268 (ggc_internal_alloc_zone_stat): Remove.
2269 (ggc_internal_cleared_alloc_zone_stat): Remove.
2270 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
2271 (ggc_pch_count_object): Remove last argument. Update all users.
2272 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
2273 (struct alloc_zone): Remove.
2274 * ggc-zone.c: Remove.
77dc5297 2275 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
2276 (struct alloc_zone): Remove.
2277 (ggc_alloc_typed_stat): Remove.
2278 (ggc_alloc_typed): Remove.
2279 (ggc_splay_alloc): Remove first argument.
2280 (rtl_zone): Remove. Update all users.
2281 (tree_zone): Remove. Update all users.
2282 (tree_id_zone): Remove. Update all users.
2283 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 2284 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 2285 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 2286 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 2287
a861ffa4
GJL
22882013-01-24 Georg-Johann Lay <avr@gjlay.de>
2289
2290 * config/avr/avr.c (avr_out_fract): Make register numbers that
2291 might be outside of source operand signed.
2292
593c0ddd
UB
22932013-01-24 Uros Bizjak <ubizjak@gmail.com>
2294
2295 * config/i386/constraints.md (Yf): New constraint.
2296 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
2297 of f constraint to conditionaly disable x87 register preferences.
2298 (*movdf_internal): Ditto.
2299 (*movsf_internal): Ditto.
2300
e86c0101
SB
23012013-01-24 Steven Bosscher <steven@gcc.gnu.org>
2302
2303 PR inline-asm/55934
2304 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
2305 that have operands with impossible constraints.
2306 Add a FIXME for a speed-up opportunity.
2307 * lra-constraints.c (process_alt_operands): Verify that a class
2308 selected from constraints on asms is valid for the operand mode.
2309 (curr_insn_transform): Remove incorrect comment.
2310
f6fee35f
DE
23112013-01-23 David Edelsohn <dje.gcc@gmail.com>
2312
2313 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
2314 TOC operand is a valid symbol ref in the constant pool.
2315
23162013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 2317
aaf1e810 2318 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 2319
dc62d7d1
GJL
23202013-01-23 Georg-Johann Lay <avr@gjlay.de>
2321
2322 PR target/54222
2323 * config/avr/stdfix.h: New file.
2324 * t-avr (stdfix-gcc.h): New rule to build it.
2325 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
2326
2660d12d
KS
23272013-01-23 Kostya Serebryany <kcc@google.com>
2328
77dc5297
UB
2329 * config/darwin.h: remove dependency on
2330 CoreFoundation (asan on Mac OS).
2660d12d 2331
a70418fc
JJ
23322013-01-23 Jakub Jelinek <jakub@redhat.com>
2333
2334 PR target/49069
2335 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
2336 instead of cmpdi_operand for first comparison operand.
2337 Don't assert that comparison operands aren't both constants.
2338
47876a2a
JW
23392013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2340
2341 * doc/install.texi (Downloading the Source): Update references to
2342 downloading separate components.
2343
23442013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
2345
2346 * doc/extend.texi (__int128): Improve grammar.
2347
47876a2a 23482013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
2349
2350 PR target/56028
2351 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
2352 alternative to (o,r).
2353 (*movdi_internal_rex64): Remove (!o,n) alternative.
2354 (DImode immediate->memory splitter): Remove.
2355 (DImode immediate->memory peephole2): Remove.
2356 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
2357 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
2358 alternative to (!o,*r).
2359 (*movtf_internal_sse): New pattern.
2360 (*movxf_internal_rex64): New pattern.
2361 (*movxf_internal): Disable for TARGET_64BIT.
2362 (*movdf_internal_rex64): Remove (!o,F) alternative.
2363
3a984f10
JJ
23642013-01-22 Jakub Jelinek <jakub@redhat.com>
2365
502498d5
JJ
2366 PR middle-end/56074
2367 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
2368 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
2369 * tree-vect-loop-manip.c (find_loop_location): Also ignore
2370 stmt locations where LOCATION_LOCUS of the stmt location is
2371 UNKNOWN_LOCATION or BUILTINS_LOCATION.
2372
3a984f10
JJ
2373 PR target/55686
2374 * config/i386/i386.md (UNSPEC_STOS): New.
2375 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
2376 *strsetqi_1): Add UNSPEC_STOS.
2377
fa817f7f
PC
23782013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
2379
2380 PR c++/56067
2381 * doc/invoke.texi: Remove left over -Wsynth example.
2382
8f498c1b
JJ
23832013-01-21 Jakub Jelinek <jakub@redhat.com>
2384
2385 PR tree-optimization/56051
2386 * fold-const.c (fold_binary_loc): Don't fold
2387 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
2388 a narrowing conversion, or widening conversion from signed
2389 to unsigned.
2390
47876a2a 23912013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
2392
2393 PR rtl-optimization/56023
2394 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
2395 dependent on debug instruction.
2396
5b9db1bc
MJ
23972013-01-21 Martin Jambor <mjambor@suse.cz>
2398
2399 PR middle-end/56022
2400 * function.c (allocate_struct_function): Call
2401 invoke_set_current_function_hook earlier.
2402
e8bb7d68
JJ
24032013-01-21 Jakub Jelinek <jakub@redhat.com>
2404
2405 * reload1.c (init_reload): Only initialize reload_obstack
2406 during the first call.
2407
616a4e32
MP
24082013-01-21 Marek Polacek <polacek@redhat.com>
2409
2410 * cfgloop.c (verify_loop_structure): Fix up grammar.
2411
4401981b
YHH
24122013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
2413
2414 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
2415 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
2416
8e87740b
RR
24172013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2418
2419 PR target/56058
2420 * config/arm/marvell-pj4.md: Update copyright year.
2421 Fix up use of alu to alu_reg and simple_alu_imm.
2422
47876a2a 24232013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
2424
2425 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
2426
89d56d79
VM
24272013-01-20 Vladimir Makarov <vmakarov@redhat.com>
2428
2429 PR target/55433
2430 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 2431 insn for secondary memory move when memory mode should be different.
89d56d79 2432
fe603553
JDA
24332013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2434
2435 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
2436 atomic_storedi_1): New patterns.
2437
01284895
VK
24382013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2439
2440 btver2 pipeline descriptions.
2441 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
2442 descriptions.
2443 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 2444 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
2445 type attributes.
2446 * config/i386/btver2.md: New file describing btver2 pipelines.
2447
5630e3e1
JL
24482013-01-19 Andrew Pinski <apinski@cavium.com>
2449
2450 PR tree-optimization/52631
2451 * tree-ssa-sccvn (visit_use): Before looking up the original
2452 statement, try looking up the simplified expression.
2453
650ae806
AG
24542013-01-19 Anthony Green <green@moxielogic.com>
2455
2456 * config/moxie/moxie.c (moxie_expand_prologue): Set
2457 current_function_static_stack_size.
2458
e300ec2d
JJ
24592013-01-18 Jakub Jelinek <jakub@redhat.com>
2460
2461 PR tree-optimization/56029
2462 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
2463 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
2464
a3d7af04
SS
24652013-01-18 Sharad Singhai <singhai@google.com>
2466
2467 PR tree-optimization/55995
2468 * dumpfile.c (dump_loc): Print location only if available.
2469 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
2470
66aa7879
VM
24712013-01-18 Vladimir Makarov <vmakarov@redhat.com>
2472
2473 PR target/55433
2474 * lra-constraints.c (curr_insn_transform): Reuse original insn for
2475 secondary memory move.
2476 (inherit_reload_reg): Use rclass instead of cl for
2477 check_secondary_memory_needed_p.
2478
3f0fee7b
JJ
24792013-01-18 Jakub Jelinek <jakub@redhat.com>
2480
2481 PR middle-end/56015
2482 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 2483 the case where writing real complex part of target modifies op1.
3f0fee7b 2484
70c67693
JG
24852013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
2486
2487 * config/aarch64/aarch64-simd.md
2488 (aarch64_vcond_internal<mode>): Handle unordered cases.
2489 * config/aarch64/iterators.md (v_cmp_result): New.
2490
df8de9b3
YHH
24912013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
2492 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2493
2494 * config/arm/marvell-pj4.md: New file.
2495 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
2496 * config/arm/arm.md (generic_sched): Add marvell_pj4.
2497 (generic_vfp): Likewise.
2498 * config/arm/arm-cores.def: Add marvell-pj4.
2499 * config/arm/arm-tune.md: Regenerate.
2500 * config/arm/arm-tables.opt: Regenerate.
2501 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
2502 * doc/invoke.texi: Document marvell-pj4.
2503
be30c356
TB
25042013-01-18 Tejas Belagod <tejas.belagod@arm.com>
2505
2506 * config/aarch64/arm_neon.h: Map scalar types to standard types.
2507
0bfbca58 25082013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
2509
2510 PR debug/54114
2511 PR debug/54402
2512 PR debug/49888
2513 * var-tracking.c (negative_power_of_two_p): New.
2514 (global_get_addr_cache, local_get_addr_cache): New.
2515 (get_addr_from_global_cache, get_addr_from_local_cache): New.
2516 (vt_canonicalize_addr): Rewrite using the above. Adjust the
2517 heading comment.
2518 (vt_stack_offset_p): Remove.
2519 (vt_canon_true_dep): Always canonicalize loc's address.
2520 (clobber_overlapping_mems): Make sure we have a MEM.
2521 (local_get_addr_clear_given_value): New.
2522 (val_reset): Clear local cached entries.
2523 (compute_bb_dataflow): Create and release the local cache.
2524 Disable duplicate MEMs clobbering.
2525 (emit_notes_in_bb): Clobber MEMs likewise.
2526 (vt_emit_notes): Create and release the local cache.
2527 (vt_initialize, vt_finalize): Create and release the global
2528 cache, respectively.
1f6bc337 2529 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 2530
0bfbca58 25312013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
2532
2533 PR libmudflap/53359
2534 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
2535 not found in the symtab.
2536
0bfbca58 25372013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 2538
c350ba53 2539 PR debug/56006
3aa03517
AO
2540 PR rtl-optimization/55547
2541 PR rtl-optimization/53827
2542 PR debug/53671
2543 PR debug/49888
2544 * alias.c (offset_overlap_p): New, factored out of...
2545 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
2546 the conservative special case for symbolic constants. Don't
2547 adjust zero sizes on alignment.
2548
c664546f
JL
25492013-01-18 Bernd Schmidt <bernds@codesourcery.com>
2550
2551 PR rtl-optimization/52573
2552 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
2553 REG_UNUSED for the same register.
2554
1bd3f750
MP
25552013-01-17 Richard Biener <rguenther@suse.de>
2556 Marek Polacek <polacek@redhat.com>
2557
2558 PR rtl-optimization/55833
2559 * loop-unswitch.c (unswitch_loops): Move loop verification...
2560 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
2561 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
2562 Set it to true when we're removing a loop from hierarchy tree in
2563 an irreducible region.
2564 (fix_bb_placements): Adjust caller.
2565 (fix_loop_placements): Likewise.
2566
e52a8b71
GJL
25672013-01-17 Georg-Johann Lay <avr@gjlay.de>
2568
2569 * config/avr/builtins.def (DEF_BUILTIN): Factor out
2570 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
2571 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
2572 Remove ID. Adjust comments.
2573 * config/avr/avr-c.c (avr_builtin_name): Remove.
2574 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
2575 * config/avr/avr.c (avr_tolower): New static function.
2576 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
2577 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
2578 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
2579 default expansion.
2580
8386a7ea
JH
25812013-01-17 Jan Hubicka <jh@suse.cz>
2582
610fb637 2583 PR tree-optimization/55273
8386a7ea
JH
2584 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
2585
47876a2a 25862013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
2587
2588 PR target/55981
2589 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
2590 store through atomic_store<mode>_1.
2591 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
2592
8222c37e
MJ
25932013-01-17 Martin Jambor <mjambor@suse.cz>
2594
2595 PR tree-optimizations/55264
2596 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
2597 for virtual methods.
2598 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
2599 virtual methods before inlining is over.
2600 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
2601 virtual functions.
2602 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
2603 non-virtual.
2604
79f01c76
VM
26052013-01-16 Vladimir Makarov <vmakarov@redhat.com>
2606
2607 PR rtl-optimization/56005
2608 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
2609 pending reads for prefetch.
2610
d0b6bb1b
IB
26112013-01-16 Ian Bolton <ian.bolton@arm.com>
2612
aaf1e810 2613 * config/aarch64/aarch64.md
d0b6bb1b
IB
2614 (*cstoresi_neg_uxtw): New pattern.
2615 (*cmovsi_insn_uxtw): New pattern.
2616 (*<optab>si3_uxtw): New pattern.
2617 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
2618 (*<optab>si3_insn_uxtw): New pattern.
2619 (*bswapsi2_uxtw): New pattern.
2620
cb9cf03b
RB
26212013-01-16 Richard Biener <rguenther@suse.de>
2622
2623 * tree-inline.c (tree_function_versioning): Remove set but
2624 never used variable.
2625
2cfc56b9
RB
26262013-01-16 Richard Biener <rguenther@suse.de>
2627
2628 PR tree-optimization/55964
2629 * tree-flow.h (rename_variables_in_loop): Remove.
2630 (rename_variables_in_bb): Likewise.
2631 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
2632 (copy_loop_before): Adjust and delete update-ssa status.
2633 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 2634 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
2635 (rename_variables_in_loop): Remove.
2636 (slpeel_update_phis_for_duplicate_loop): Likewise.
2637 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
2638 use available cfg machinery instead of duplicating it.
2639 Update PHI nodes and perform poor-mans SSA update here.
2640 (slpeel_tree_peel_loop_to_edge): Adjust.
2641
c25a0c60
RB
26422013-01-16 Richard Biener <rguenther@suse.de>
2643
2644 PR tree-optimization/54767
2645 PR tree-optimization/53465
2646 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
2647 (vrp_visit_phi_node): For PHI arguments coming via backedges
2648 drop all symbolical range information.
2649 (execute_vrp): Compute backedges.
2650
04b535af
RB
26512013-01-16 Richard Biener <rguenther@suse.de>
2652
2653 * doc/install.texi: Update CLooG and ISL requirements to
2654 0.18.0 and 0.11.1.
2655
8b0a1e0b
CB
26562013-01-16 Christian Bruel <christian.bruel@st.com>
2657
2658 PR target/55301
2659 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
2660 (broken_move): Handle UNSPECV_SP_SWITCH_B.
2661 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
2662
26632013-01-16 DJ Delorie <dj@redhat.com>
2664
2665 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
2666 (UNSPECV_SP_SWITCH_E): New.
2667 (sp_switch_1): Change to an unspec.
2668 (sp_switch_2): Change to an unspec. Don't use post-inc when we
2669 replace $r15.
2670
26712013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
2672
2673 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
2674 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
2675 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
2676 (expand_mem_thread_fence): Ditto.
2677 (expand_mem_signal_fence): Ditto.
2678 (expand_atomic_load): Ditto.
2679 (expand_atomic_store): Ditto.
2680
0bfbca58 26812013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
2682
2683 PR rtl-optimization/55547
2684 PR rtl-optimization/53827
2685 PR debug/53671
2686 PR debug/49888
2687 * alias.c (memrefs_conflict_p): Set sizes to negative after
2688 AND adjustments.
2689
305e3ac1
JJ
26902013-01-15 Jakub Jelinek <jakub@redhat.com>
2691
2692 PR target/55940
2693 * function.c (thread_prologue_and_epilogue_insns): Always
2694 add crtl->drap_reg to set_up_by_prologue.set, even if
2695 stack_realign_drap is false.
2696
f78ac4f2
JBG
26972013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2698
2699 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
2700 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
2701 *call): Fix indention.
2702
a78a8cc4
TV
27032013-01-15 Tom de Vries <tom@codesourcery.com>
2704
2705 PR target/55876
2706 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
2707 Update comment.
2708
0e80383f
VM
27092013-01-15 Vladimir Makarov <vmakarov@redhat.com>
2710
305e3ac1 2711 PR rtl-optimization/55153
0e80383f
VM
2712 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
2713
207b5956
MJ
27142013-01-15 Martin Jambor <mjambor@suse.cz>
2715
2716 PR tree-optimization/55920
2717 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
2718 accesses as grp_to_be_debug_replaced.
2719
a7818b54
JJ
27202013-01-15 Jakub Jelinek <jakub@redhat.com>
2721
2722 PR tree-optimization/55920
2723 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
2724 there is non-useless type conversion needed from debug rhs to lhs,
2725 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
2726
b0fe107e
JM
27272013-01-15 Joseph Myers <joseph@codesourcery.com>
2728 Mikael Pettersson <mikpe@it.uu.se>
2729
2730 PR target/43961
2731 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
2732 Thumb.
2733 (ASM_OUTPUT_CASE_LABEL): Remove.
2734 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
2735 * final.c (shorten_branches): Update alignment of labels before
2736 jump tables if CASE_VECTOR_SHORTEN_MODE.
2737
34ab62ee
RB
27382013-01-15 Richard Biener <rguenther@suse.de>
2739
2740 PR bootstrap/55961
2741 * system.h: Do not include gmp.h for building host tools.
2742
783a3a05
RB
27432013-01-15 Richard Biener <rguenther@suse.de>
2744
2745 PR middle-end/55882
2746 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
2747 account for bitpos when computing alignment.
2748
3a579e09
VY
27492013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
2750
2751 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
2752 (ix86_target_macros_internal): Likewise.
2753
2754 * config/i386/i386.c (m_CORE2I7): Removed.
2755 (m_CORE_HASWELL): New macro.
2756 (m_CORE_ALL): Likewise.
2757 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
2758 (initial_ix86_arch_features): Likewise.
2759 (processor_target_table): Initializations for Core avx2.
2760 (cpu_names): New names "core-avx2".
2761 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
2762 PROCESSOR_CORE_HASWELL.
2763 (ix86_issue_rate): New case.
2764 (ia32_multipass_dfa_lookahead): Likewise.
2765 (ix86_sched_init_global): Likewise.
2766
2767 * config/i386/i386.h (TARGET_HASWELL): New macro.
2768 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
2769 (processor_type): New PROCESSOR_HASWELL.
2770
955f5a07
JJ
27712013-01-15 Jakub Jelinek <jakub@redhat.com>
2772
ff784829
JJ
2773 PR tree-optimization/55955
2774 * tree-vect-loop.c (vectorizable_reduction): Give up early on
2775 *SHIFT_EXPR and *ROTATE_EXPR codes.
2776
955f5a07
JJ
2777 PR tree-optimization/48766
2778 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
2779 -ftrapv disable -fwrapv.
2780
aeb8b4e9
GJL
27812013-01-14 Georg-Johann Lay <avr@gjlay.de>
2782
2783 PR target/55974
2784 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
2785 etc. to 1 and not to __flash.
2786 Use LL suffix for __INT24_MAX__ with -mint8.
2787 Use ULL suffix for __UINT24_MAX__ with -mint8.
2788
1c494c6a
GJL
27892013-01-14 Georg-Johann Lay <avr@gjlay.de>
2790
2791 * config/avr/avr-arch.h
2792 (struct base_arch_s): Use typedef avr_arch_t instead.
2793 (struct arch_info_s): Use typedef avr_arch_info_t instead.
2794 (struct mcu_type_s): Use typedef avr_mcu_t instead.
2795 * config/avr/avr.c: Same.
2796 * config/avr/avr-devices.c: Same.
2797 * config/avr/driver-avr.c: Same.
2798 * config/avr/gen-avr-mmcu-texi.c: Same.
2799 * config/avr/avr-mcus.def: Adjust comment.
2800
a50344cb
TB
28012013-01-14 Tejas Belagod <tejas.belagod@arm.com>
2802
88e784e6
UB
2803 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
2804 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 2805
47876a2a 28062013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
2807 Andi Kleen <ak@linux.intel.com>
2808
2809 PR target/55948
2810 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
2811 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
2812 memmodel flag.
2813
00892272
GJL
28142013-01-14 Georg-Johann Lay <avr@gjlay.de>
2815
2816 * config/avr/avr-stdint.h: Remove trailing blanks.
2817 * config/avr/avr-log.h: Same.
2818 * config/avr/avr-arch.h: Same.
2819 * config/avr/avr-devices.c: Same.
2820 * config/avr/avr-dimode.md: Same.
2821 * config/avr/predicates.md: Same.
2822 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 2823
00892272
GJL
2824 * config/avr/avr-protos.h: Same. And:
2825 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
2826 (init_cumulative_args): Rename to avr_init_cumulative_args.
2827 (expand_prologue): Rename to avr_expand_prologue.
2828 (expand_epilogue): Rename to avr_expand_epilogue.
2829 (adjust_insn_length): Rename to avr_adjust_insn_length.
2830 (notice_update_cc): Rename to avr_notice_update_cc.
2831 (final_prescan_insn): Rename to avr_final_prescan_insn.
2832 * config/avr/avr.c: Same.
2833 * config/avr/avr.h: Same.
2834 * config/avr/avr.md: Remove trailing blanks.
2835 (prologue): Use avr_expand_prologue.
2836 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
2837
7bb01996
RB
28382013-01-14 Richard Biener <rguenther@suse.de>
2839
2840 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
2841 verify_location, collect_subblocks): New functions.
2842 (verify_gimple_in_cfg): Verify that locations only reference
2843 BLOCKs in the functions BLOCK tree.
2844
2724573f
RB
28452013-01-14 Richard Biener <rguenther@suse.de>
2846
2847 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
2848 PHI argument.
2849 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
2850 unshare reference.
2851 (insert_out_of_ssa_copy_on_edge): Likewise.
2852 (rewrite_close_phi_out_of_ssa): Likewise.
2853 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
2854 debug expressions.
2855 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
2856 propagated constants.
2857 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
2858 can not be shared.
2859
9a0bbab6
GJL
28602013-01-14 Georg-Johann Lay <avr@gjlay.de>
2861
2862 * config/avr/avr-modes.def: Add GPL copyright notice.
2863
45805f17
UB
28642013-01-13 Uros Bizjak <ubizjak@gmail.com>
2865
2866 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
2867 MEMMODEL_MASK to determine memory model.
2868 (atomic_store<mode>): Ditto from operands[2].
2869 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
2870
9d60be38
JJ
28712013-01-13 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR fortran/55935
45805f17 2874 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
2875 (fold_gimple_assign): Don't call unshare_expr here.
2876 (fold_ctor_reference): Call unshare_expr.
2877
e7f49d92
TG
28782013-01-13 Terry Guo <terry.guo@arm.com>
2879
aaf1e810
EB
2880 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
2881 * doc/fragments.texi: Document MULTILIB_REUSE.
2882 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 2883 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 2884 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
2885 (tmpmultilib4): Ditto.
2886 (multilib_reuse): New multilib argument.
2887
fbd03a27
RS
28882013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
2889
2890 * Makefile.in: Update copyright.
2891
b3681f13
TV
28922013-01-12 Tom de Vries <tom@codesourcery.com>
2893
2894 PR middle-end/55890
2895 * calls.c (expand_call): Check if arg_nr is valid.
2896
3f287e4b
MM
28972013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2898
2899 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
2900 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
2901 documentation. Add missing '__' in front of
2902 __builtin_ia32_packssdw256.
3f287e4b 2903
1abcd5eb
AK
29042013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2905
2906 PR target/55719
2907 * config/s390/s390.c (s390_preferred_reload_class): Do not return
2908 NO_REGS for larl operands.
2909 (s390_reload_larl_operand): Use s390_load_address instead of
2910 emit_move_insn.
2911
980d0812
RB
29122013-01-11 Richard Biener <rguenther@suse.de>
2913
2914 * tree-cfg.c (verify_node_sharing_1): Split out from ...
2915 (verify_node_sharing): ... here.
2916 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
2917
7cb9fd07
EB
29182013-01-11 Eric Botcazou <ebotcazou@adacore.com>
2919
2920 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
2921 Substitute TREECHECKING.
2922 * configure: Regenerate.
2923 * Makefile.in (TREECHECKING): New.
2924
47876a2a 29252013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
2926
2927 PR tree-optimization/44061
2928 * tree-vrp.c (extract_range_basic): Compute zero as
2929 value-range for __builtin_constant_p of function parameters.
2930
d1e082c2
RS
29312013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
2932
45805f17 2933 Update copyright years.
d1e082c2 2934
f85021b0
VM
29352013-01-10 Vladimir Makarov <vmakarov@redhat.com>
2936
9d60be38 2937 PR rtl-optimization/55672
0160442c
VM
2938 * lra-eliminations.c (mark_not_eliminable): Permit addition with
2939 const to be eliminable.
f85021b0 2940
7a8b1ec4
DE
29412013-01-10 David Edelsohn <dje.gcc@gmail.com>
2942
2943 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
2944 * configure: Regenerate.
2945
ad2e5b71
RB
29462013-01-10 Richard Biener <rguenther@suse.de>
2947
ddf9322d 2948 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 2949
ffc5b2bb
RB
29502013-01-10 Richard Biener <rguenther@suse.de>
2951
2952 PR bootstrap/55792
2953 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
2954 locations for virtual PHI arguments.
2955 (rewrite_update_phi_arguments): Likewise.
2956
e1f674e4
JS
29572013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
2958
2959 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
2960 on to assembler.
2961
a57fc743
JJ
29622013-01-10 Jakub Jelinek <jakub@redhat.com>
2963
2964 PR tree-optimization/55921
2965 * tree-complex.c (expand_complex_asm): New function.
2966 (expand_complex_operations_1): Call it for GIMPLE_ASM.
2967
0ff4390d
AK
29682013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2969
2970 PR target/55718
2971 * config/s390/s390.c (s390_symref_operand_p)
2972 (s390_loadrelative_operand_p): Merge the two functions.
2973 (s390_check_qrst_address, print_operand_address): Add parameters
2974 to s390_loadrelative_operand_p invokation.
2975 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
2976 (s390_reload_larl_operand, s390_secondary_reload): Use
2977 s390_loadrelative_operand_p instead of s390_symref_operand_p.
2978 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
2979
6f557e0e
MS
29802013-01-09 Mike Stump <mikestump@comcast.net>
2981
2982 * dse.c (record_store): Remove unnecessary assert.
2983
7770c9e9
JH
29842013-01-09 Jan Hubicka <jh@suse.cz>
2985
2986 PR tree-optimization/55569
2987 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
2988 * cfgloop.h (scale_loop_profile): Likewise.
2989
a19b1432
JH
29902013-01-09 Jan Hubicka <jh@suse.cz>
2991
2992 PR lto/45375
ddf9322d
UB
2993 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
2994 functions.
a19b1432
JH
2995 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
2996
9a002da8
RS
29972013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
2998
2999 PR middle-end/55114
3000 * expr.h (maybe_emit_group_store): Declare.
3001 * expr.c (maybe_emit_group_store): New function.
3002 * builtins.c (expand_builtin_int_roundingfn): Call it.
3003 (expand_builtin_int_roundingfn_2): Likewise.
3004
511dcace
VM
30052013-01-09 Vladimir Makarov <vmakarov@redhat.com>
3006
e1f2b729 3007 PR rtl-optimization/55829
511dcace
VM
3008 * lra-constraints.c (match_reload): Add code for absent output.
3009 (curr_insn_transform): Add code for reloads of matched inputs
3010 without output.
3011
7b0fe4f4
UB
30122013-01-09 Uros Bizjak <ubizjak@gmail.com>
3013
3014 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
3015 attribute of movddup insn to DF.
3016 (*vec_interleave_lowv2df): Ditto.
3017 (vec_dupv2df): Ditto.
3018
870ca331
JH
30192013-01-09 Jan Hubicka <jh@suse.cz>
3020
3021 PR tree-optimiation/55875
3022 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
3023 EVERY_ITERATION parameter.
7b0fe4f4 3024 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
3025 (idx_infer_loop_bounds): Similarly here.
3026 (n_of_executions_at_most): Simplify
3027 to only test for cases where statement is dominated by the
7b0fe4f4 3028 particular bound; handle correctly the "postdominance" test.
870ca331
JH
3029 (scev_probably_wraps_p): Use max loop iterations info
3030 as a global bound first.
3031
6f575fe4 30322013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
3033 Nick Clifton <nickc@redhat.com>
3034
3035 * config/v850/v850.md (cbranchsf4): New pattern.
3036 (cstoresf4): New pattern.
3037 (cbranchdf4): New pattern.
3038 (cstoredf4): New pattern.
3039 (movsicc): Disallow floating point comparisons.
3040 (cmpsf_le_insn): Fix order of operators.
3041 (cmpsf_lt_insn): Likewise.
3042 (cmpsf_eq_insn): Likewise.
3043 (cmpdf_le_insn): Likewise.
3044 (cmpdf_lt_insn): Likewise.
3045 (cmpdf_eq_insn): Likewise.
3046 (cmpsf_ge_insn): Use LE comparison.
3047 (cmpdf_ge_insn): Likewise.
3048 (cmpsf_gt_insn): Use LT comparison.
3049 (cmpdf_gt_insn): Likewise.
3050 (cmpsf_ne_insn): Delete pattern.
3051 (cmpdf_ne_insn): Delete pattern.
3052 * config/v850/v850.c (v850_gen_float_compare): Use
3053 gen_cmpdf_eq_insn for NE comparison.
3054 (v850_float_z_comparison_operator)
3055 (v850_float_nz_comparison_operator): Move from here ...
3056 * config/v850/predicates.md: ... to here. Move GT and GE
3057 comparisons into v850_float_z_comparison_operator.
3058 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
3059 Delete prototype.
3060 (v850_float_nz_comparison_operator): Likewise.
3061
f0d54148
JDA
30622013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3063
3064 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
3065 with calls to gen_insvsi/gen_insvdi.
3066
8f01beca
VK
30672013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3068
3069 * config/i386/i386.c (initial_ix86_tune_features): Set up
3070 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
3071
2aa579ad
JJ
30722013-01-09 Steven Bosscher <steven@gcc.gnu.org>
3073 Jakub Jelinek <jakub@redhat.com>
3074
3075 PR tree-optimization/48189
3076 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
3077 If nitercst is 0, don't predict the exit edge.
3078
6edc3e32 30792013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
3080
3081 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
3082 in asm_fprintf with reg_names.
3083 (aarch64_print_operand_address): Likewise.
3084 (aarch64_return_addr): Likewise.
3085 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
3086
f6f94d94
JDA
30872013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3088
3089 * config/pa/pa.h (VAL_U6_BITS_P): Define.
3090 (INT_U6_BITS): Likewise.
3091 * config/pa/predicates.md (uint6_operand): New predicate.
3092 (shift5_operand, shift6_operand): Likewise.
3093 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
3094 arith32_operand.
3095 (lshrdi3): Use shift6_operand.
3096 (shrpsi4, shrpdi4): New insn patterns.
3097 (extzv): Delete expander.
3098 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
3099 predicates in unamed zero extract patterns. Tighten common constraint.
3100 (extv): Delete expander.
3101 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
3102 predicates in unamed sign extract patterns. Tighten common constraint.
3103 (insv): Delete expander.
3104 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
3105 predicates in unamed insert patterns. Tighten common constraint.
3106 Change uint32_operand predicate to uint6_operand predicate in unamed
3107 DImode pattern to insert constant values of type 1...1xxxx.
3108
36b72910
JH
31092013-01-04 Jan Hubicka <jh@suse.cz>
3110
3111 PR tree-optimization/55823
7b0fe4f4
UB
3112 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
3113 issue.
36b72910 3114
47876a2a 31152013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
3116 Uros Bizjak <ubizjak@gmail.com>
3117
3118 PR rtl-optimization/55845
3119 * df-problems.c (can_move_insns_across): Stop scanning at
3120 volatile_insn_p source instruction or give up if
3121 across_from .. across_to range contains any volatile_insn_p
3122 instructions.
3123
4369c11e
TB
31242013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3125
7b0fe4f4
UB
3126 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
3127 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
3128 Declare.
4369c11e 3129 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 3130 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 3131
aeb7e7c1
JJ
31322013-01-08 Jakub Jelinek <jakub@redhat.com>
3133
3134 PR fortran/55341
3135 * asan.c (asan_clear_shadow): New function.
3136 (asan_emit_stack_protection): Use it.
3137
a02ad1aa
TB
31382013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3139
3140 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
3141 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
3142 with tab instead of space.
3143
f90d87f5
NC
31442013-01-08 Nick Clifton <nickc@redhat.com>
3145
3146 * config/rl78/rl78.c (rl78_expand_prologue): Always select
3147 register bank 0 at the start of an interrupt handler.
83ffd964
NC
3148 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
3149 MDBH registers.
f90d87f5 3150
385eb93d
JG
31512013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3152
3153 * config/aarch64/aarch64-simd.md
3154 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
3155 (aarch64_simd_bsl): Likewise.
3156 (aarch64_vcond_internal<mode>): Likewise.
3157 (vcond<mode><mode>): Likewise.
3158 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
3159 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
3160
4dcd1054
JG
31612013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3162
3163 * config/aarch64/aarch64-builtins.c
3164 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
3165
4267a4a6
MJ
31662013-01-08 Martin Jambor <mjambor@suse.cz>
3167
3168 PR debug/55579
3169 * tree-sra.c (analyze_access_subtree): Return true also after
3170 potentially creating a debug-only replacement.
3171
5f4e6de3
JJ
31722013-01-08 Jakub Jelinek <jakub@redhat.com>
3173
3138f224
JJ
3174 PR middle-end/55890
3175 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
3176
5f4e6de3
JJ
3177 PR tree-optimization/54120
3178 * tree-vrp.c (range_fits_type_p): Don't allow
3179 src_precision < precision from signed vr to unsigned_p
3180 if vr->min or vr->max is negative.
3181 (simplify_float_conversion_using_ranges): Test can_float_p
3182 against CODE_FOR_nothing.
3183
f3ef18ff
JJ
31842013-01-08 Jakub Jelinek <jakub@redhat.com>
3185 Richard Biener <rguenther@suse.de>
3186
3187 PR middle-end/55851
3188 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
3189 types instead of just INTEGER_TYPE types.
3190
25c210f9
MK
31912013-01-07 Mark Kettenis <kettenis@openbsd.org>
3192
3193 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
3194 TF_SIZE): Define.
f90d87f5 3195
81826a7b
SE
31962013-01-07 Steve Ellcey <sellcey@mips.com>
3197
3198 PR target/42661
3199 * config/mips/mips.opt: Change mad to mmad to match documentation.
3200
35678514
GJL
32012013-01-07 Georg-Johann Lay <avr@gjlay.de>
3202
3203 PR target/55897
3204 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
3205 .progmemx.data now.
3206
e5669488
GJL
32072013-01-07 Georg-Johann Lay <avr@gjlay.de>
3208
3209 PR target/55897
3210 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
3211 (avr_addrspace_t): Add .section_name field.
3212 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
3213 array size.
3214 (avr_addrspace): Same. Initialize .section_name. Remove last
3215 NULL entry. Put __memx into .progmemx.data.
3216 (progmem_section_prefix): Remove.
3217 (avr_asm_init_sections): No need to initialize progmem_section.
3218 (avr_asm_named_section): Use avr_addrspace[].section_name to get
3219 section name prefix.
3220 (avr_asm_select_section): Ditto. And use get_unnamed_section to
3221 retrieve the progmem section.
3222 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
3223 boundary to run over avr_addrspace[].
3224 (avr_register_target_pragmas): Ditto.
3225
656e6f37
JJ
32262013-01-06 Jakub Jelinek <jakub@redhat.com>
3227
3228 * varasm.c (output_constant_def_contents): For asan_protect_global
3229 protected strings, adjust DECL_ALIGN if needed, before testing for
3230 anchored symbols.
3231 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
3232 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
3233 normal decls.
3234 (output_object_block): For asan protected decls, emit asan padding
3235 after their contents.
3236 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
3237 (asan_finish_file): Test it here instead.
3238
6edc3e32
UB
32392013-01-07 Nick Clifton <nickc@redhat.com>
3240 Matthias Klose <doko@debian.org>
3241 Doug Kwan <dougkwan@google.com>
3242 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
3243
3244 PR driver/55470
3245 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
3246
3247 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
3248
3249 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
3250
7b0fe4f4 3251 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
3252
3253 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
3254
2a095093
GJL
32552013-01-07 Georg-Johann Lay <avr@gjlay.de>
3256
f3b503f4 3257 PR target/54461
2a095093
GJL
3258 * doc/install.texi (Cross-Compiler-Specific Options): Document
3259 --with-avrlibc.
3260
383f9b34
TB
32612013-01-07 Tejas Belagod <tejas.belagod@arm.com>
3262
3263 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
3264 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
3265 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
3266 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
3267 vqmovun_high_s64): Fix source operand number and update copyright.
3268
3626621a
RB
32692013-01-07 Richard Biener <rguenther@suse.de>
3270
3271 PR middle-end/55890
3272 * gimple.h (gimple_call_builtin_p): New overload.
3273 * gimple.c (validate_call): New function.
3274 (gimple_call_builtin_p): Likewise.
3275 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3276 Use gimple_call_builtin_p.
3277 (find_func_clobbers): Likewise.
3278 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
3279 (strlen_optimize_stmt): Likewise.
3280
8b2ea410
JG
32812013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3282
3283 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
3284 (vld1q_dup_*): Likewise.
3285 (vld1_*): Likewise.
3286 (vld1q_*): Likewise.
3287 (vld1_lane_*): Likewise.
3288 (vld1q_lane_*): Likewise.
3289
9713d329
RB
32902013-01-07 Richard Biener <rguenther@suse.de>
3291
3292 * lto-streamer.h (LTO_minor_version): Bump to 2.
3293
3520f7cc
JG
32942013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3295
3296 * config/aarch64/aarch64-protos.h
3297 (aarch64_const_double_zero_rtx_p): Rename to...
3298 (aarch64_float_const_zero_rtx_p): ...this.
3299 (aarch64_float_const_representable_p): New.
3300 (aarch64_output_simd_mov_immediate): Likewise.
3301 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
3302 move immediate case.
3303 * config/aarch64/aarch64.c
3304 (aarch64_const_double_zero_rtx_p): Rename to...
3305 (aarch64_float_const_zero_rtx_p): ...this.
3306 (aarch64_print_operand): Allow printing of new constants.
3307 (aarch64_valid_floating_const): New.
3308 (aarch64_legitimate_constant_p): Check for valid floating-point
3309 constants.
3310 (aarch64_simd_valid_immediate): Likewise.
3311 (aarch64_vect_float_const_representable_p): New.
3312 (aarch64_float_const_representable_p): Likewise.
3313 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
3314 (aarch64_output_simd_mov_immediate): New.
3315 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
3316 (*movdf_aarch64): Likewise.
3317 * config/aarch64/constraints.md (Ufc): New.
3318 (Y): call aarch64_float_const_zero_rtx.
3319 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
3320
e167c04d
RB
33212013-01-07 Richard Biener <rguenther@suse.de>
3322
3323 PR tree-optimization/55888
3324 PR tree-optimization/55862
3325 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
3326 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
3327 not if it is contained therein.
3328
0139aaab
GJL
33292013-01-07 Georg-Johann Lay <avr@gjlay.de>
3330
3331 * config/avr/t-avr: Typo.
3332
4a176b23
GJL
33332013-01-07 Georg-Johann Lay <avr@gjlay.de>
3334
3335 PR55243
3336 * config/avr/t-avr: Don't automatically rebuild
3337 $(srcdir)/config/avr/t-multilib
3338 $(srcdir)/config/avr/avr-tables.opt
3339 $(srcdir)/doc/avr-mmcu.texi
3340 (avr-mcus): New phony target to build them on request.
3341 (s-avr-mlib, s-avr-mmcu-texi): Remove.
3342 * avr/avr-mcus.def: Adjust comments.
3343
c7afdc98
UB
33442013-01-07 Uros Bizjak <ubizjak@gmail.com>
3345
3346 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
3347
1ab05c31
RS
33482013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3349
3350 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
3351
488e3acc
RS
33522013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3353
3354 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
3355
a89599d2
DE
33562013-01-05 David Edelsohn <dje.gcc@gmail.com>
3357
3358 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
3359 to generate profiling.
3360 * config/rs6000/aix64.h (LIB_SPEC): Same.
3361
70f09188
AP
33622013-01-04 Andrew Pinski <apinski@cavium.com>
3363
3364 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
3365 New function.
3366 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3367
918d445f
UB
33682013-01-04 Uros Bizjak <ubizjak@gmail.com>
3369
3370 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
3371 unconditionally.
3372 (ix86_expand_move): Ditto.
3373 (ix86_zero_extend_to_Pmode): Ditto.
3374 (ix86_expand_call): Ditto.
3375 (ix86_expand_special_args_builtin): Ditto.
3376 (ix86_expand_builtin): Ditto.
3377
361618ec
RB
33782013-01-04 Richard Biener <rguenther@suse.de>
3379
3380 PR tree-optimization/55862
3381 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
3382 translating them through PHI nodes.
3383
87eab554
MJ
33842013-01-04 Martin Jambor <mjambor@suse.cz>
3385
3386 PR tree-optimization/55755
3387 * tree-sra.c (sra_modify_assign): Do not check that an access has no
3388 children when trying to avoid producing a VIEW_CONVERT_EXPR.
3389
33879b9f
MP
33902013-01-04 Marek Polacek <polacek@redhat.com>
3391
3392 PR middle-end/55859
3393 * opts.c (default_options_optimization): Clarify error message.
3394
3068819a
RB
33952013-01-04 Richard Biener <rguenther@suse.de>
3396
3397 PR middle-end/55863
3398 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
3399 reassociation.
3400
0e4ae794
JDA
34012013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3402
3403 PR target/53789
3404 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
3405 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
3406 references.
0e4ae794 3407
65c88cef
RH
34082013-01-03 Richard Henderson <rth@redhat.com>
3409
3410 * config/i386/i386.c (ix86_expand_move): Always assign to op1
3411 after eliminating TLS symbols.
3412
8ac16127
MG
34132013-01-03 Marc Glisse <marc.glisse@inria.fr>
3414
3415 PR bootstrap/50167
3416 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
3417 * graphite-poly.c (debug_gmp_value): Likewise.
3418
bb664f09
UB
34192013-01-03 Uros Bizjak <ubizjak@gmail.com>
3420
3421 PR target/55712
3422 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
3423 selected code model, define __code_mode_small__, __code_model_medium__,
3424 __code_model_large__, __code_model_32__ or __code_model_kernel__.
3425 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
3426 xchg temporary register with %k. Declare temporary register as
3427 early clobbered.
3428 [__x86_64__]: For medium and large code models, preserve %rbx register.
3429
bcf1ef00
RB
34302013-01-03 Richard Biener <rguenther@suse.de>
3431
0506634a 3432 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
3433 (dump_subscript): Adjust.
3434 (finalize_ddr_dependent): Do not dump redundant info.
3435 (analyze_siv_subscript): Adjust.
3436 (subscript_dependence_tester): Likewise.
3437 (compute_affine_dependence): Likewise.
3438
59fd17e3
RB
34392013-01-03 Richard Biener <rguenther@suse.de>
3440
3441 Revert
3442 2013-01-03 Richard Biener <rguenther@suse.de>
3443
3444 PR tree-optimization/55857
3445 * tree-vect-stmts.c (vectorizable_load): Do not setup
3446 re-alignment for invariant loads.
3447
3448 2013-01-02 Richard Biener <rguenther@suse.de>
3449
3450 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3451 invariant load do not generate a vector load from the scalar location.
59fd17e3 3452
595c2679
RB
34532013-01-03 Richard Biener <rguenther@suse.de>
3454
3455 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
3456 for not vectorizing.
3457 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
3458 not build INDIRECT_REFs, call get_name once only.
3459 (vect_create_data_ref_ptr): Likewise. Dump base object kind
3460 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
3461
90bb7d7a
RB
34622013-01-03 Richard Biener <rguenther@suse.de>
3463
3464 PR tree-optimization/55857
3465 * tree-vect-stmts.c (vectorizable_load): Do not setup
3466 re-alignment for invariant loads.
3467
f09b77ca
RB
34682013-01-03 Richard Biener <rguenther@suse.de>
3469
3470 PR lto/55848
3471 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
3472 prefer a built-in decl.
3473
3461a16e
JJ
34742013-01-03 Jakub Jelinek <jakub@redhat.com>
3475
df8e2b4f
JJ
3476 * gcc.c (process_command): Update copyright notice dates.
3477 * gcov.c (print_version): Likewise.
3478 * gcov-dump.c (print_version): Likewise.
3479
3461a16e
JJ
3480 PR rtl-optimization/55838
3481 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
3482 iv0.step, iv1.step and step.
3483
8b5546d6
JJ
34842013-01-03 Jakub Jelinek <jakub@redhat.com>
3485 Marc Glisse <marc.glisse@inria.fr>
3486
3487 PR tree-optimization/55832
3488 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
3489 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
3490 integer_{one,zero}_node.
3491
8ab1d2e9
JJ
34922013-01-03 Jakub Jelinek <jakub@redhat.com>
3493
3494 PR debug/54402
3495 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
3496 * var-tracking.c (reverse_op): Don't add reverse ops to
3497 VALUEs that have already
0506634a 3498 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 3499
5b9ad1d4
GP
35002013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
3501
3502 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
3503
e25a6711
TJ
35042013-01-02 Teresa Johnson <tejohnson@google.com>
3505
3506 * dumpfile.c (dump_loc): Print filename with location.
3507 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
3508 new location_t parameter to emit complete unroll message with
3509 new dump framework.
3510 (canonicalize_loop_induction_variables): Compute loops location
3511 and pass to try_unroll_loop_completely.
3512 * loop-unroll.c (report_unroll_peel): New function.
3513 (peel_loops_completely): Use new dump format with location
3514 for main dumpfile message, and invoke report_unroll_peel on success.
3515 (decide_unrolling_and_peeling): Ditto.
3516 (decide_peel_once_rolling): Remove old dumpfile message subsumed
3517 by report_unroll_peel.
3518 (decide_peel_completely): Ditto.
3519 (decide_unroll_constant_iterations): Ditto.
3520 (decide_unroll_runtime_iterations): Ditto.
3521 (decide_peel_simple): Ditto.
3522 (decide_unroll_stupid): Ditto.
3523 * cfgloop.c (get_loop_location): New function.
3524 * cfgloop.h (get_loop_location): Declare.
3525
77878621
ST
35262013-01-02 Sriraman Tallam <tmsriram@google.com>
3527
3528 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
3529 NULL.
3530
9e65d03e
JDA
35312013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3532
3533 PR middle-end/55198
3534 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
3535 BLKmode objects when EXPAND_MEMORY is specified.
3536
6a7da30f
ST
35372013-01-02 Sriraman Tallam <tmsriram@google.com>
3538
3539 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
3540 in loop predicate.
3541 (fold_builtin_cpu): Do not share cpu model decls across statements.
3542
e78167f2
JM
35432013-01-02 Jason Merrill <jason@redhat.com>
3544
3545 PR c++/55804
3546 * tree.c (build_array_type_1): Revert earlier change.
3547
8c075fb4
YZ
35482013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
3549
3550 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
3551 "cortex-a57".
3552 * config/aarch64/aarch64-tune.md: Re-generate.
3553
0682ed3e
RB
35542013-01-02 Richard Biener <rguenther@suse.de>
3555
3556 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3557 invariant load do not generate a vector load from the scalar location.
0682ed3e 3558
b8f6a302
RB
35592013-01-02 Richard Biener <rguenther@suse.de>
3560
3561 PR bootstrap/55784
3562 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
3563 * configure: Regenerate.
3564
04b80dbb
RS
35652013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3566
3567 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
3568 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
3569 (expand_builtin_int_roundingfn_2): Keep the original target around
3570 for the fallback case.
3571
635b0b0c
RS
35722013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3573
3574 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
3575 to be clear for sign changes.
3576
42d57399
JH
35772013-01-01 Jan Hubicka <jh@suse.cz>
3578
3579 * ipa-inline-analysis.c: Fix formatting.
3580
5bb6669d
JJ
35812013-01-01 Jakub Jelinek <jakub@redhat.com>
3582
3583 PR tree-optimization/55831
3584 * tree-vect-loop.c (get_initial_def_for_induction): Use
3585 gsi_after_labels instead of gsi_start_bb.
ad41bd84 3586\f
86a2db33 3587Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
3588
3589Copying and distribution of this file, with or without modification,
3590are permitted in any medium without royalty provided the copyright
3591notice and this notice are preserved.