]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR tree-optimization/56396 (memory corruption in cc1)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
e91c8ed6
RB
12013-02-20 Richard Biener <rguenther@suse.de>
2 Jakub Jelinek <jakub@redhat.com>
3
4 PR tree-optimization/56396
5 * tree-ssa-ccp.c (n_const_val): New static variable.
6 (get_value): Return NULL for SSA names we don't have a lattice
7 entry for.
8 (ccp_initialize): Initialize n_const_val.
9 * tree-ssa-copy.c (n_copy_of): New static variable.
10 (init_copy_prop): Initialize n_copy_of.
11 (get_value): Return NULL_TREE for SSA names we don't have a
12 lattice entry for.
13
3d916479
MJ
142013-02-20 Martin Jambor <mjambor@suse.cz>
15
16 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
17
71a86758
RB
182013-02-20 Richard Biener <rguenther@suse.de>
19
20 * genpreds.c (write_lookup_constraint): Do not compare first
21 letter of the constraint again.
22
79836a12
RB
232013-02-20 Richard Biener <rguenther@suse.de>
24
25 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
26 and ceil_log2.
27 (get_use_iv_cost): Terminate hashtable walk when coming across
28 an empty entry.
29
bbe4fb2c
IZ
302013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
31
32 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
33 reassociation for avx2 targets.
34
c77f83d5 352012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 36
c77f83d5
EI
37 * config/microblaze/microblaze.c: microblaze_has_clz = 0
38 Add version check for v8.10.a to enable microblaze_has_clz
39 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
40 version and TARGET_PATTERN_COMPARE check
41 * config/microblaze/microblaze.md: New clzsi2 instruction
42
959434e6
EI
432012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
44
45 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
46 function before branching.
47
242387fa
AB
482012-02-19 Andrey Belevantsev <abel@ispras.ru>
49
50 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
51 DUMP_INSN_RTX_UID.
52 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
53
b4979ab9
AB
542012-02-19 Andrey Belevantsev <abel@ispras.ru>
55
56 PR middle-end/55889
57
58 * sel-sched.c: Include ira.h.
59 (implicit_clobber_conflict_p): New function.
60 (moveup_expr): Use it.
61 * Makefile.in (sel-sched.o): Depend on ira.h.
62
24d63016
RB
632013-02-19 Richard Biener <rguenther@suse.de>
64
65 PR tree-optimization/56384
66 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
67 (vn_hash_type): Split out from ...
68 (vn_hash_constant_with_type): ... here.
69 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
70 (vn_phi_eq): Compare types from vn_phi_s structure.
71 (vn_phi_lookup): Populate vn_phi_s type.
72 (vn_phi_insert): Likewise.
73
a475fd3d
JJ
742013-02-19 Jakub Jelinek <jakub@redhat.com>
75
47cc28f5
JJ
76 PR tree-optimization/56350
77 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
78 if haven't found reduction or nested cycle operand, rather than
79 asserting we must find it.
80
a475fd3d
JJ
81 PR tree-optimization/56381
82 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
83 to fold_build3.
84
852013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
86 Jakub Jelinek <jakub@redhat.com>
87
88 PR target/52555
89 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
90 (swap_optab_enable): Same.
91 (init_all_optabs): Use argument instead of global.
92 * tree.h (struct tree_optimization_option): New field
93 target_optabs.
94 * expr.h (init_all_optabs): Add argument to prototype.
95 (TREE_OPTIMIZATION_OPTABS): New.
96 (save_optabs_if_changed): Protoize.
97 * optabs.h: Declare this_fn_optabs.
98 * optabs.c (save_optabs_if_changed): New.
99 Declare this_fn_optabs.
100 (init_optabs): Add argument to init_all_optabs() call.
101 * function.c (invoke_set_current_function_hook): Handle per
102 function optabs.
103 * function.h (struct function): New field optabs.
104 * config/mips/mips.c (mips_set_mips16_mode): Handle when
105 optimization_current_node has changed.
106 * target-globals.h (save_target_globals_default_opts): Protoize.
107 * target-globals.c (save_target_globals_default_opts): New.
108
3f587ca3
JDA
1092013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
110
111 PR target/56347
112 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
113 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
114
115 PR target/56214
116 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
117 and HImode, require all displacements to be an integer multiple of their
118 mode size.
119 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
120 only allow QImode and HImode when reload is in progress and strict is
121 true. Likewise for symbolic addresses. Use base14_operand to check
122 displacements in REG+BASE addresses.
123
fe0b4796
RB
1242013-02-18 Richard Biener <rguenther@suse.de>
125
126 PR tree-optimization/56366
127 * tree-vect-loop.c (get_initial_def_for_induction): Properly
128 handle sign-conversion of outer-loop initial induction value.
129
6aaf596b
RB
1302013-02-18 Richard Biener <rguenther@suse.de>
131
73db8ff1 132 PR middle-end/56349
6aaf596b
RB
133 * cfghooks.c (merge_blocks): If we merge a latch into another
134 block adjust references to it.
135 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
136 (verify_loop_structure): Verify that a recorded latch is in fact
137 a latch.
138
5e97dfb6
RB
1392013-02-18 Richard Biener <rguenther@suse.de>
140
141 PR tree-optimization/56321
142 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
143 order SSA name release and virtual operand unlinking.
144
825527e8
EI
1452013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
146
147 * config/microblaze/microblaze.md (save_stack_block): Define.
148 (restore_stack_block): Likewise.
149
debd11d9
EI
1502013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
151
152 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
153 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
154 * config/microblaze/microblaze.c (microblaze_option_override):
155 Bail out early for PIC modes when target does not support PIC.
156
8ec77be0
EI
1572013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
158
159 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
160 Replace with a microblaze version.
161 (microblaze_trampoline_init): Adapt for microblaze.
162 * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
163 microblaze.
164
b41288b3
JJ
1652013-02-16 Jakub Jelinek <jakub@redhat.com>
166 Dodji Seketeli <dodji@redhat.com>
167
168 PR asan/56330
169 * asan.c (get_mem_refs_of_builtin_call): White space and style
170 cleanup.
171 (instrument_mem_region_access): Do not forget to always put
172 instrumentation of the of 'base' and 'base + len' in a "if (len !=
173 0) statement, even for cases where either 'base' or 'base + len'
174 are not instrumented -- because they have been previously
175 instrumented. Simplify the logic by putting all the statements
176 instrument 'base + len' inside a sequence, and then insert that
177 sequence right before the current insertion point. Then, to
178 instrument 'base + len', just get an iterator on that statement.
179 And do not forget to update the pointer to iterator the function
180 received as argument.
181
47918951
VM
1822013-02-15 Vladimir Makarov <vmakarov@redhat.com>
183
184 PR rtl-optimization/56348
185 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
186
3fb7c699
SB
1872013-02-15 Steven Bosscher <steven@gcc.gnu.org>
188
189 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
190 (clean_graph_dump_file): Pass base to start_graph_dump.
191
576fe41a
RH
1922013-02-14 Richard Henderson <rth@redhat.com>
193
194 PR target/55941
195 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
196
bb3accfa
SB
1972013-02-14 Steven Bosscher <steven@gcc.gnu.org>
198
199 * collect2-aix.h: Define F_LOADONLY.
200
03143140
RB
2012013-02-14 Richard Biener <rguenther@suse.de>
202
203 PR lto/50494
204 * varasm.c (output_constant_def_1): Get the decl representing
205 the constant as argument.
206 (output_constant_def): Wrap output_constant_def_1.
207 (make_decl_rtl): Use output_constant_def_1 with the decl
208 representing the constant.
209 (build_constant_desc): Optionally re-use a decl already
210 representing the constant.
211 (tree_output_constant_def): Adjust.
212
8fb06726
DS
2132013-02-14 Dodji Seketeli <dodji@redhat.com>
214
215 Fix an asan crash
216 * asan.c (instrument_builtin_call): Really put the length of the
217 second source argument into src1_len.
218
c4bfe8bf
JJ
2192013-02-13 Jakub Jelinek <jakub@redhat.com>
220
221 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
222 argument. If it is false, don't create edge from then_bb to
223 fallthru_bb.
224 (insert_if_then_before_iter): Pass true to it.
225 (build_check_stmt): Pass false to it.
226 (transform_statements): Flush hash table only on extended basic
227 block boundaries, rather than at the beginning of every bb.
228 Don't flush hash table on nonfreeing_call_p calls.
229 * tree-flow.h (nonfreeing_call_p): New prototype.
230 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
231
7afe2801
DM
2322013-02-13 David S. Miller <davem@davemloft.net>
233
234 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
235
70cc3288
VM
2362013-02-13 Vladimir Makarov <vmakarov@redhat.com>
237
238 PR target/56184
239 * ira.c (max_regno_before_ira): Move from ...
240 (ira): ... here.
241 (fix_reg_equiv_init): Use max_regno_before_ira instead of
242 vec_safe_length.
243
6422242b
JJ
2442013-02-13 Jakub Jelinek <jakub@redhat.com>
245
246 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
247
976a81ee
RB
2482013-02-13 Richard Biener <rguenther@suse.de>
249
250 PR lto/56295
251 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
252 globals in MEM_REFs.
253
c1874a87
RB
2542013-02-13 Richard Biener <rguenther@suse.de>
255
256 * loop-init.c (loop_optimizer_init): Clear loop state when
257 re-initializing preserved loops.
258 * loop-unswitch.c (unswitch_single_loop): Return whether
259 we unswitched the loop. Do not verify loop state here.
260 (unswitch_loops): When we unswitched a loop discover new
261 loops.
262
b4ab7d34
KS
2632013-02-13 Kostya Serebryany <kcc@google.com>
264
265 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
266 linux.
267 * sanitizer.def: Rename __asan_init to __asan_init_v1.
268
bdcbe80c
DS
2692013-02-12 Dodji Seketeli <dodji@redhat.com>
270
271 Avoid instrumenting duplicated memory access in the same basic block
272 * Makefile.in (asan.o): Add new dependency on hash-table.h
273 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
274 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
275 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
276 (free_mem_ref_resources, has_mem_ref_been_instrumented)
277 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
278 (get_mem_ref_of_assignment): New functions.
279 (get_mem_refs_of_builtin_call): Extract from
280 instrument_builtin_call and tweak a little bit to make it fit with
281 the new signature.
282 (instrument_builtin_call): Use the new
283 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
284 of is_gimple_builtin_call.
285 (instrument_derefs, instrument_mem_region_access): Insert the
286 instrumented memory reference into the hash table.
287 (maybe_instrument_assignment): Renamed instrument_assignment into
288 this, and change it to advance the iterator when instrumentation
289 actually happened and return true in that case. This makes it
290 homogeneous with maybe_instrument_assignment, and thus give a
291 chance to callers to be more 'regular'.
292 (transform_statements): Clear the memory reference hash table
293 whenever we enter a new BB, when we cross a function call, or when
294 we are done transforming statements. Use
295 maybe_instrument_assignment instead of instrumentation. No more
296 need to special case maybe_instrument_assignment and advance the
297 iterator after calling it; it's now handled just like
298 maybe_instrument_call. Update comment.
299
4861a1f7
RB
3002013-02-13 Richard Biener <rguenther@suse.de>
301
302 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
303 Fix loop discovery code.
304
1c86bd80
VM
3052013-02-12 Vladimir Makarov <vmakarov@redhat.com>
306
307 PR inline-asm/56148
308 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 309 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
310 the operand is not reloaded. Prefer to reload conflicting operand
311 if earlyclobber and matching operands are the same.
312
7cbda518
RB
3132013-02-12 Richard Biener <rguenther@suse.de>
314
315 PR lto/56297
316 * lto-streamer-out.c (write_symbol): Do not output symbols
317 for hard register variables.
318
e68a4ef6
GJL
3192013-02-12 Georg-Johann Lay <avr@gjlay.de>
320
321 PR target/54222
322 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
323 (umulsidi3_insn, mulsidi3_insn): New insns.
324
2597da22
CL
3252013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
326
327 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
328 (struct tune_params): Add vec_costs field.
329 * config/arm/arm.c (arm_builtin_vectorization_cost)
330 (arm_add_stmt_cost): New functions.
331 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
332 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
333 (arm_default_vec_cost): New struct of type cpu_vec_costs.
334 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
335 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
336 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
337 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
338
43320568
RB
3392013-02-12 Richard Biener <rguenther@suse.de>
340
341 PR lto/56295
342 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
343 decls again if possible.
344
a011aa39
RB
3452013-02-12 Richard Biener <rguenther@suse.de>
346
347 PR middle-end/56288
348 * tree-ssa.c (verify_ssa_name): Fix check, move
349 SSA_NAME_IN_FREE_LIST check up.
350
6da26889
JJ
3512013-02-12 Jakub Jelinek <jakub@redhat.com>
352 Steven Bosscher <steven@gcc.gnu.org>
353
354 PR rtl-optimization/56151
355 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
356 equal to op0 or op1, and last_insn pattern is CODE operation
357 with MEM dest and one of the operands matches that MEM.
358
f80e0faf
ST
3592013-02-11 Sriraman Tallam <tmsriramgoogle.com>
360
361 * doc/extend.texi: Document Function Multiversioning and "default"
362 parameter string to target attribute.
363 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
364 target attribute parameter is "default".
365 (ix86_compare_version_priority): Remove checks for target attribute.
366 (ix86_mangle_function_version_assembler_name): Change error to sorry.
367 Remove check for target attribute equal to NULL. Add assert.
368 (ix86_generate_version_dispatcher_body): Change error to sorry.
369
6c59ffd1
IS
3702013-02-11 Iain Sandoe <iain@codesourcery.com>
371 Jack Howarth <howarth@bromo.med.uc.edu>
372 Patrick Marlier <patrick.marlier@gmail.com>
373
374 PR libitm/55693
375 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
376 define ENDFILE_SPEC as TM_DESTRUCTOR.
377 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
378
6a52ccb3
AP
3792013-02-11 Alexander Potapenko <glider@google.com>
380 Jack Howarth <howarth@bromo.med.uc.edu>
381 Jakub Jelinek <jakub@redhat.com>
382
383 PR sanitizer/55617
384 * config/darwin.c (cdtor_record): Rename ctor_record.
385 (sort_cdtor_records): Rename sort_ctor_records.
386 (finalize_dtors): New routine to sort destructors by
387 priority before use in assemble_integer.
388 (machopic_asm_out_destructor): Use finalize_dtors if needed.
389
b63fe007
UB
3902013-02-11 Uros Bizjak <ubizjak@gmail.com>
391
392 PR rtl-optimization/56275
393 * simplify-rtx.c (avoid_constant_pool_reference): Check that
394 offset is non-negative and less than cmode size before
395 calling simplify_subreg.
396
8e89b5b5
RB
3972013-02-11 Richard Biener <rguenther@suse.de>
398
399 PR tree-optimization/56264
400 * cfgloop.h (fix_loop_structure): Adjust prototype.
401 * loop-init.c (fix_loop_structure): Return the number of
402 newly discovered loops.
403 * tree-cfgcleanup.c (repair_loop_structures): When new loops
404 are discovered, do a full loop-closed SSA rewrite.
405
b4a4b56d
RB
4062013-02-11 Richard Biener <rguenther@suse.de>
407
408 PR tree-optimization/56273
409 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
410 first VRP run.
411 (check_array_ref): Fix missing newline in dumps.
412 (search_for_addr_array): Likewise.
413
0c885229
DE
4142013-02-09 David Edelsohn <dje.gcc@gmail.com>
415
416 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
417
59ac9a55
JJ
4182013-02-09 Jakub Jelinek <jakub@redhat.com>
419
420 PR target/56256
421 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
422
25bb0bb5
VM
4232013-02-08 Vladimir Makarov <vmakarov@redhat.com>
424
425 PR rtl-optimization/56246
0c885229 426 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
427 reload pseudo.
428 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
429 constraints are satisfied.
430
a698cc03
JL
4312013-02-08 Jeff Law <law@redhat.com>
432
433 PR debug/53948
434 * emit-rtl.c (reg_is_parm_p): New function.
435 * regs.h (reg_is_parm_p): New prototype.
436 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
437 callee-clobbered registers.
438
e1122ddd
MM
4392013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
440
441 PR target/56043
442 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
443 If there is no implicit builtin declaration, just return NULL.
444
19c5f6e6
UB
4452013-02-08 Uros Bizjak <ubizjak@gmail.com>
446
447 * config/i386/sse.md (FMAMODEM): New mode iterator.
448 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
449 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
450
2480f2ca 4512013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 452
2480f2ca
UB
453 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
454 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
455 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
456
4572013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
458
459 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
460 (microblaze*-*-elf): Likewise.
461 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
462 LINK_SPEC.
463 * config/microblaze/microblaze-c.c: Add builtin defines for
464 _LITTLE_ENDIAN and _BIG_ENDIAN.
465 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
466 add to TARGET_DEFAULT flags.
76ef61fb 467 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
468 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
469 * config/microblaze/microblaze.md: Update extendsidi2 and
470 movdi_internal instructions to use low-order / high-order reg
471 print_operands.
472 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
473 options and inversemask / mask of LITTLE_ENDIAN.
474 * config/microblaze/t-microblaze: Expand multilib options to
475 include mlittle-endian (le) and update exceptions patterns.
476
600a5961
JJ
4772013-02-08 Jakub Jelinek <jakub@redhat.com>
478
5df81313
JJ
479 PR rtl-optimization/56195
480 * lra-constraints.c (get_reload_reg): Don't reuse regs
481 if they have smaller mode than requested, if they have
482 wider mode than requested, try to return a SUBREG.
483
600a5961
JJ
484 PR tree-optimization/56250
485 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
486 if type is unsigned and code isn't MULT_EXPR.
487
ff544649
GJL
4882013-02-08 Georg-Johann Lay <avr@gjlay.de>
489
490 PR tree-optimization/56064
491 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
492 bits according to mode.
493 * fixed-value.h (fixed_from_double_int)
494 (const_fixed_from_double_int): Adjust comments.
495
e45cde98
RB
4962013-02-08 Richard Biener <rguenther@suse.de>
497
498 PR lto/56231
499 * lto-streamer.h (struct data_in): Remove current_file, current_line
500 and current_col members.
501 * lto-streamer-out.c (lto_output_location): Stream changed bits
502 en-block for efficiency.
503 * lto-streamer-in.c (clear_line_info): Remove.
504 (lto_input_location): Cache current file, line and column
505 globally via local statics. Read changed bits en-block.
506 (input_function): Do not call clear_line_info.
507 (lto_read_body): Likewise.
508 (lto_input_toplevel_asms): Likewise.
509
c1ca73d8
MM
5102013-02-08 Michael Matz <matz@suse.de>
511
512 PR tree-optimization/52448
513 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
514 (nt_call_phase): New static.
515 (add_or_mark_expr): Only mark accesses with newer phase than any
516 call seen.
517 (nonfreeing_call_p): New.
518 (nt_init_block): Update nt_call_phase, mark blocks as visited.
519 (nt_fini_block): Keep blocks marked as visited.
520 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
521
57548aa2
RB
5222013-02-08 Richard Biener <rguenther@suse.de>
523
524 * ira.c (ira): Free broken dominator information.
525
8e10366f
UB
5262013-02-08 Uros Bizjak <ubizjak@gmail.com>
527
528 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
529
f64fb0fa
MP
5302013-02-08 Marek Polacek <polacek@redhat.com>
531
8e10366f 532 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 533
0375167b
RB
5342013-02-08 Richard Biener <rguenther@suse.de>
535
536 PR middle-end/56181
537 * cfgloop.h (flow_loops_find): Adjust.
538 (bb_loop_header_p): Declare.
539 * cfgloop.c (bb_loop_header_p): New function split out from ...
540 (flow_loops_find): ... here. Adjust function signature,
541 support incremental loop structure update.
542 (verify_loop_structure): Cleanup. Verify a loop is a loop.
543 * cfgloopmanip.c (fix_loop_structure): Move ...
544 * loop-init.c (fix_loop_structure): ... here.
545 (apply_loop_flags): Split out from ...
546 (loop_optimizer_init): ... here.
547 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
548 in incremental mode, only remove dead loops here.
549
85d768f3
GJL
5502013-02-08 Georg-Johann Lay <avr@gjlay.de>
551
552 PR target/54222
553 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
554 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
555 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
556 (*round<mode>3.libgcc): New insns for fixed-modes.
557 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
558 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
559 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
560 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
561 implementations. Define to __builtin_avr_absFX,
562 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
563 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
564 __builtin_avr_countlsFX, respectively.
565 * config/avr/avr-c.c (target.h): Include it.
566 (enum avr_builtin_id): New enum.
567 (avr_resolve_overloaded_builtin): New static function.
568 (avr_register_target_pragmas): Use it to set
569 targetm.resolve_overloaded_builtin.
570 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
571 tree nodes used by DEF_BUILTIN.
572 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
573 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
574 <AVR_BUILTIN_xxBITS>: Same.
575
661bc682
RB
5762013-02-08 Richard Biener <rguenther@suse.de>
577
578 * cfgloop.c (verify_loop_structure): Properly handle
579 a loop exiting to another loop header.
580 * ira-int.h (ira_loops): Remove.
581 * ira.c (ira_loops): Remove.
582 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
583 (do_reload): Use loop_optimizer_finalize.
584 * ira-build.c (create_loop_tree_nodes): Use get_loops and
585 number_of_loops to access the loop tree.
586 (more_one_region_p): Likewise.
587 (finish_loop_tree_nodes): Likewise.
588 (rebuild_regno_allocno_maps): Likewise.
589 (mark_loops_for_removal): Likewise.
590 (mark_all_loops_for_removal): Likewise.
591 (remove_unnecessary_regions): Likewise.
592 (ira_build): Likewise.
593 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
594
0d5049b2
RB
5952013-02-08 Richard Biener <rguenther@suse.de>
596
597 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
598 * ipa-pure-const.c (analyze_function): Avoid calling
599 mark_irreducible_loops twice.
8e10366f 600 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 601
499f32e8
DM
6022013-02-07 David S. Miller <davem@davemloft.net>
603
604 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
605 on 'reg'.
606 * var-tracking.c (vt_add_function_parameter): Test the presence of
607 HAVE_window_save properly and do not remap argument registers when
608 we have a leaf function.
609
6edc3e32
UB
6102013-02-07 Uros Bizjak <ubizjak@gmail.com>
611
612 PR bootstrap/56227
613 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
614 instead of "ll".
615 * config/i386/i386.c (ix86_print_operand): Ditto.
616
5306401f
VM
6172013-02-07 Vladimir Makarov <vmakarov@redhat.com>
618
6edc3e32 619 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 620
027ece11
VM
6212013-02-07 Vladimir Makarov <vmakarov@redhat.com>
622
623 PR rtl-optimization/56225
624 * lra-constraints.c (process_alt_operands): Check that reload hard
625 reg can hold value for strict_low_part.
626
f980dfdb
JJ
6272013-02-07 Jakub Jelinek <jakub@redhat.com>
628
629 PR debug/56154
630 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
631 dwarf2out_end_function.
632 (in_first_function_p, maybe_at_text_label_p,
633 first_loclabel_num_not_at_text_label): New variables.
634 (dwarf2out_var_location): In the first function find out
6edc3e32 635 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
636 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
637 functions.
638
73dd3123
EB
6392013-02-07 Eric Botcazou <ebotcazou@adacore.com>
640
641 PR rtl-optimization/56178
642 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
643 SUBREG of a register. Tidy up related block of code.
644 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
645 note if the source is a register or a SUBREG of a register.
646
e3936f47
JJ
6472013-02-07 Jakub Jelinek <jakub@redhat.com>
648
649 PR target/56228
650 * config/rs6000/rs6000.md (ptrm): New mode attr.
651 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
652 call_value_indirect_aix<pttrsize>,
653 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
654 m in constraints.
655
d96d674b
MH
6562013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
657
658 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
659 if -bnortl. Convert to strcmp and strncmp.
660
921f2dee
AM
6612013-02-07 Alan Modra <amodra@gmail.com>
662
663 PR target/54009
664 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
665 addresses won't wrap when offsetting.
666 (rs6000_secondary_reload): Provide secondary reloads needed for
667 wrapping LO_SUM addresses.
668
d09c7dba
TS
6692013-02-06 Thomas Schwinge <thomas@codesourcery.com>
670
671 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
672 MACH, just __MACH__.
673
a44bbd48
RB
6742013-02-06 Richard Biener <rguenther@suse.de>
675
676 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
677 instead of calling fix_loop_structure.
678
6d840d99
JJ
6792013-02-06 Jakub Jelinek <jakub@redhat.com>
680
681 PR middle-end/56217
682 * omp-low.c (use_pointer_for_field): Return false if
683 lower_send_shared_vars doesn't generate any copy-out code.
684
0f33baa9
TV
6852013-02-06 Tom de Vries <tom@codesourcery.com>
686
687 PR rtl-optimization/56131
688 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
689 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
690 of the label is NULL. Add comment.
691
11f1e3ab
JJ
6922013-02-05 Jakub Jelinek <jakub@redhat.com>
693
31502f9f
JJ
694 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
695
a74db9bd
JJ
696 PR sanitizer/55374
697 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
698 (STATIC_LIBTSAN_LIBS): Likewise.
699 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
700 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
701 is defined, don't add anything else beyond that.
702 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
703 (LINK_COMMAND_SPEC): Use them.
704
11f1e3ab
JJ
705 PR tree-optimization/56205
706 * tree-stdarg.c (check_all_va_list_escapes): Return true if
707 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
708 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
709
14ac6aa2
RB
7102013-02-05 Richard Biener <rguenther@suse.de>
711
712 PR tree-optimization/53342
713 PR tree-optimization/53185
714 * tree-vectorizer.h (vect_check_strided_load): Remove.
715 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
716 not disallow peeling for vectorized strided loads.
717 (vect_check_strided_load): Make static and simplify.
718 (vect_analyze_data_refs): Adjust.
719 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
720 correctly when vectorizing strided loads.
721
6f22445a
RB
7222013-02-05 Richard Biener <rguenther@suse.de>
723
724 * doc/install.texi: Refer to ISL, not PPL.
725
39f9719e
JH
7262013-02-05 Jan Hubicka <jh@suse.cz>
727
ec4224ac
JH
728 PR tree-optimization/55789
729 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
730
7312013-02-05 Jan Hubicka <jh@suse.cz>
732
733 PR tree-optimization/55789
39f9719e
JH
734 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
735 the dead call anyway.
736
956d3b33
EB
7372013-02-05 Eric Botcazou <ebotcazou@adacore.com>
738
739 PR sanitizer/55374
740 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
741
7422013-02-04 Alexander Potapenko <glider@google.com>
743 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
744 Jakub Jelinek <jakub@redhat.com>
745
746 PR sanitizer/55617
747 * config/darwin.c (sort_ctor_records): Stabilized qsort
748 on constructor priority by using original position.
749 (finalize_ctors): New routine to sort constructors by
750 priority before use in assemble_integer.
751 (machopic_asm_out_constructor): Use finalize_ctors if needed.
752
7ac3af38
JJ
7532013-02-04 Jakub Jelinek <jakub@redhat.com>
754
755 PR libstdc++/54314
756 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
757 about visibility on artificial decls.
758 * config/sol2.c (solaris_assemble_visibility): Likewise.
759
152689dc
KT
7602013-02-04 Kai Tietz <ktietz@redhat.com>
761
762 PR target/56186
763 * config/i386/i386.c (function_value_ms_64): Add additional valtype
764 argument and improve checking of return-argument types for 16-byte
765 modes.
766 (ix86_function_value_1): Add additional valtype argument on call
767 of function_value_64.
768 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
769 handling infunction_value_64 function.
770
2b5987b5
MGD
7712013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
772
7ac3af38 773 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 774
14597080
RB
7752013-02-04 Richard Biener <rguenther@suse.de>
776
777 PR tree-optimization/56188
778 * tree-ssa-structalias.c (label_visit): Consider case with
779 initially non-empty points-to set.
780 (perform_var_substitution): Dump node mapping and clean up.
781
ed73881e
RG
7822013-02-04 Richard Guenther <rguenther@suse.de>
783
784 PR lto/56168
785 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
786 node prevail as last resort.
787 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 788 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 789
139a0707
RB
7902013-02-04 Richard Biener <rguenther@suse.de>
791
792 PR tree-optimization/56113
793 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
794 Merge into ...
795 (equiv_class_lookup_or_add): ... this.
796 (label_visit): Adjust and fix error in previous patch.
797 (perform_var_substitution): Adjust.
798
50fe8924
OE
7992013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
800
801 * config/sh/divtab.c: Fix formatting and comments throughout the file.
802 * config/sh/sh4-300.md: Likewise.
803 * config/sh/sh4a.md: Likewise.
804 * config/sh/constraints.md: Likewise.
805 * config/sh/sh.md: Likewise.
806 * config/sh/netbsd-elf.h: Likewise.
807 * config/sh/predicates.md: Likewise.
808 * config/sh/sh-protos.h: Likewise.
809 * config/sh/ushmedia.h: Likewise.
810 * config/sh/linux.h: Likewise.
811 * config/sh/sh.c: Likewise.
812 * config/sh/superh.h: Likewise.
813 * config/sh/elf.h: Likewise.
814 * config/sh/sh4.md: Likewise.
815 * config/sh/sh.h: Likewise.
816
1a04ac2b
JDA
8172013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
818
819 * config/pa/constraints.md: Adjust unused letters. Change "T"
820 constraint to match_test floating_point_store_memory_operand().
821 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
822 (base14_operand): New.
823 (floating_point_store_memory_operand): New.
824 (integer_store_memory_operand): Revise to use base14_operand and
825 reg_plus_base_memory_operand.
826 (move_dest_operand): Allow symbolic_memory_operands.
827 (symbolic_memory_operand): Check for LO_SOM.
828 (symbolic_operand): Change default case to break.
829 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
830 CONST_DOUBLE values to be reloaded by putting them into memory when
831 the destination is a floating point register.
832 (movdf): Remove code to handle CONST_DOUBLE.
833 (movsf): Likewise.
834 (reload_indf_r1): New.
835 (reload_insf_r1): New.
836 Consistently use "Q" and "T" constraints with integer and floating
837 point move instructions, respectively.
838 (movdi): Remove FAIL.
839 Change predicate for source operand unamed DImode move from
840 general_operand to move_src_operand.
841 (umulsidi3): Change predicate for destination operand to
842 register_operand.
843 Likewise for similar unamed patterns.
844 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
845 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
846 (hppa_legitimize_address): Simplify mask calculation.
847 (pa_emit_move_sequence): Revised handling of secondary reloads from
848 REG+D addresses for floating point loads and stores. Directly handle
849 loading CONST0_RTX (mode) to a floating point register.
850 (pa_secondary_reload): Handle reloading DF and SFmode constant values
851 to floating point registers. Don't restrict secondary reloads to
852 floating point registers to integer modes. Revise some comments and
853 cleanup some code.
854 (TARGET_LEGITIMATE_ADDRESS_P): Define.
855 (pa_legitimate_address_p): New.
856 (pa_legitimize_reload_address): New.
857 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
858 (STRICT_REG_OK_FOR_BASE_P): New.
859 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
860 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
861
3bf65591
DE
8622013-02-03 David Edelsohn <dje.gcc@gmail.com>
863 Andrew Dixie <andrewd@gentrack.com>
864
865 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
866 flag set.
867
c0a8a3e6
RS
8682013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
869
870 * expmed.c (extract_bit_field_1): Pass the full width of the
871 structure to get_best_reg_extraction_insn.
872
99113dff
DE
8732013-02-01 David Edelsohn <dje.gcc@gmail.com>
874
875 PR target/54601
876 * configure.ac (use_cxa_atexit): Add AIX.
877 * configure: Regenerate.
878
879 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
880
ddd84654
JJ
8812013-02-01 Jakub Jelinek <jakub@redhat.com>
882
883 PR debug/54793
884 * final.c (need_profile_function): New variable.
885 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
886 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
887 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
888 notes, targetm.asm_out.function_prologue doesn't emit anything,
889 HAVE_prologue and profiler should be emitted before prologue,
890 set need_profile_function instead of emitting it.
891 (final_scan_insn): If need_profile_function, emit
892 profile_function on the first NOTE_INSN_BASIC_BLOCK or
893 NOTE_INSN_FUNCTION_BEG note.
894
8952013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
896
897 * config/rs6000/rs6000.md (smulditi3): New.
898 (umulditi3): New.
899
ff2a9d88
RH
900 * config/alpha/alpha.md (umulditi3): New.
901
14d52b90
DE
9022013-02-01 David Edelsohn <dje.gcc@gmail.com>
903
904 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
905 (ASM_OUTPUT_ALIGNED_LOCAL): New.
906
8c7ca45c
RB
9072013-02-01 Richard Biener <rguenther@suse.de>
908
909 PR tree-optimization/56113
910 * tree-ssa-structalias.c (label_visit): Reduce work for
911 single-predecessor nodes.
912
9f419393
EB
9132013-02-01 Eric Botcazou <ebotcazou@adacore.com>
914
915 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
916 range isn't testing for zero.
917
c5f4be84
SB
9182013-01-31 Steven Bosscher <steven@gcc.gnu.org>
919
920 PR middle-end/56113
921 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
922
dbdbd982
NC
9232013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
924 Nick Clifton <nickc@redhat.com>
925
926 * config/v850/constraints.md (Q): Define as a memory constraint.
927 * config/v850/predicates.md (label_ref_operand): New predicate.
928 (e3v5_shift_operand): New predicate.
929 (ior_operator): New predicate.
930 * config/v850/t-v850: Add e3v5 multilib.
931 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
932 (v850_gen_movdi): Prototype.
933 * config/v850/v850.c: Add support for e3v5 architecture.
934 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
935 TARGET_V850E_UP.
936 (construct_save_jarl): Add e3v5 long JARL support.
937 (v850_adjust_insn_length): New function. Adjust length of call
938 insns when using e3v5 instructions.
939 (v850_gen_movdi): New function: Generate instructions to move a
940 DImode value.
941 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
942 (CPP_SPEC): Define __v850e3v5__ as appropriate.
943 (TARGET_USE_FPU): Enable for e3v5.
944 (CONST_OK_FOR_W): New macro.
945 (ADJUST_INSN_LENGTH): Define.
946 * config/v850/v850.md (UNSPEC_LOOP): Define.
947 (attr cpu): Add v850e3v5.
948 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
949 (movdi): New pattern.
950 (movdi_internal): New pattern.
951 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
952 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
953 (cstoresf4): Likewise.
954 (cstoredf4): Likewise.
955 (insv): New pattern.
956 (rotlso3_a): New pattern.
957 (rotlsi3_b): New pattern
958 (rotlsi3_v850e3v5): New pattern.
959 (doloop_begin): New pattern.
960 (fix_loop_counter): New pattern.
961 (doloop_end): New pattern.
962 (branch_normal): Add e3v5 long branch support.
963 (branch_invert): Likewise.
964 (branch_z_normal): Likewise.
965 (branch_z_invert): Likewise.
966 (branch_nz_normal): Likewise.
967 (branch_nz_invert): Likewise.
968 (call_internal_short): Add e3v5 register-indirect JARL support.
969 (call_internal_long): Likewise.
970 (call_value_internal_short): Likewise.
971 (call_value_internal_long): Likewise.
972 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
973 (mloop): New option.
974 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 975 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 976
73861a41
PK
9772013-01-31 Paul Koning <ni1d@arrl.net>
978
979 PR debug/55059
980 PR debug/54508
981 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
982 children if parent is a class.
983 (prune_unused_types_prune): Don't add DW_AT_declaration.
984
e44978dc
RB
9852013-01-31 Richard Biener <rguenther@suse.de>
986
987 PR tree-optimization/56157
988 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
989 match up operand with SLP child.
990
90b10dec
JM
9912013-01-31 Jason Merrill <jason@redhat.com>
992
04d2dadd 993 PR debug/54410
90b10dec
JM
994 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
995 parameters the first time.
996 (gen_scheduled_generic_parms_dies): Check completeness here.
997
6e616110
RB
9982013-01-31 Richard Biener <rguenther@suse.de>
999
1000 PR middle-end/53073
1001 * common.opt (faggressive-loop-optimizations): New flag,
1002 enabled by default.
1003 * doc/invoke.texi (faggressive-loop-optimizations): Document.
1004 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
1005 infer_loop_bounds_from_undefined by it.
1006
636f59cf
RB
10072013-01-31 Richard Biener <rguenther@suse.de>
1008
1009 PR tree-optimization/56150
1010 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
1011 visit virtual operands.
1012 (find_uses_to_rename_bb): Likewise.
1013
10142013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
1015
1016 PR tree-optimization/56150
1017 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
1018 mixed store non-store stmts.
1019
32887460
JJ
10202013-01-30 Jakub Jelinek <jakub@redhat.com>
1021
e60e09a0
JJ
1022 PR sanitizer/55374
1023 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
1024 LIBASAN_EARLY_SPEC is defined.
1025 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
1026 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
1027 before %o.
1028 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
1029
32887460
JJ
1030 PR c++/55742
1031 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
1032 invalid args instead of ICEing on it.
1033 (ix86_valid_target_attribute_tree): Return error_mark_node if
1034 ix86_valid_target_attribute_inner_p failed.
1035 (ix86_valid_target_attribute_p): Return false only if
1036 ix86_valid_target_attribute_tree returned error_mark_node. Allow
1037 target("default") attribute.
1038 (sorted_attr_string): Change argument from const char * to tree,
1039 merge in all target attribute arguments rather than just one.
1040 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
1041 instead of free. Avoid using strcat.
1042 (ix86_mangle_function_version_assembler_name): Mangle
1043 target("default") as if no target attribute is present. Adjust
1044 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
1045 instead of xmalloc and XDELETEVEC instead of free.
1046 (ix86_function_versions): Don't return true if one of the decls
1047 doesn't have target attribute. If they don't and one of the decls
1048 is DECL_FUNCTION_VERSIONED, report an error. Adjust
1049 sorted_attr_string caller. Use XDELETEVEC instead of free.
1050 (ix86_supports_function_versions): Remove.
1051 (make_name): Fix up formatting.
1052 (make_dispatcher_decl): Remove resolver_name and its initialization.
1053 Avoid leaking memory.
1054 (is_function_default_version): Return true if there is
1055 target("default") attribute rather than no target attribute at all.
1056 (make_resolver_func): Avoid leaking memory.
1057 (ix86_generate_version_dispatcher_body): Likewise.
1058 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
1059 * target.def (supports_function_versions): Remove.
1060 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
1061 * doc/tm.texi: Regenerated.
1062
73cca0cc
VM
10632013-01-30 Vladimir Makarov <vmakarov@redhat.com>
1064
1065 PR rtl-optimization/56144
1066 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
1067 for values with side effects.
1068
11452e7b
RB
10692013-01-30 Richard Biener <rguenther@suse.de>
1070
1071 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
1072 (sparseset_pop): Likewise.
1073 * cfganal.c (compute_idf): Likewise. Increase work-stack size
1074 to be able to use quick_push in the worker loop.
1075
01cb1ef5
MP
10762013-01-30 Marek Polacek <polacek@redhat.com>
1077
1078 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
1079
e892936e
RB
10802013-01-30 Richard Biener <rguenther@suse.de>
1081
1082 PR lto/56147
6edc3e32 1083 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 1084
cc06c01d
GJL
10852013-01-30 Georg-Johann Lay <avr@gjlay.de>
1086
1087 PR tree-optimization/56064
1088 * fixed-value.c (fixed_from_double_int): New function.
1089 * fixed-value.h (fixed_from_double_int): New prototype.
1090 (const_fixed_from_double_int): New static inline function.
1091 * fold-const.c (native_interpret_fixed): New static function.
1092 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
1093 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
1094 (native_encode_fixed): New static function.
1095 (native_encode_expr) <FIXED_CST>: Use it.
1096 (native_interpret_int): Move double_int worker code to...
1097 * double-int.c (double_int::from_buffer): ...this new static method.
1098 * double-int.h (double_int::from_buffer): Prototype it.
1099
d394a308
RB
11002013-01-30 Richard Biener <rguenther@suse.de>
1101
1102 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
1103 New pointer-map and obstack.
1104 (init_alias_vars): Allocate pointer-map and obstack.
1105 (delete_points_to_sets): Free them.
1106 (find_what_var_points_to): Cache result.
1107 (find_what_p_points_to): Adjust for changed interface of
1108 find_what_var_points_to.
1109 (compute_points_to_sets): Likewise.
1110 (ipa_pta_execute): Likewise.
1111
20804d96
RO
11122013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1113
1114 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
1115 * configure: Regenerate.
1116 * config.in: Regenerate.
1117 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
1118 #nobits/#progbits if supported.
1119
a7ad88a2
OE
11202013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
1121
1122 PR target/56121
1123 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
1124 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
1125 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
1126
7af79f92
GY
11272013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1128
91bfca59
OE
1129 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
1130 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 1131
753bcf7b
GY
11322013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1133
91bfca59
OE
1134 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
1135 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 1136
8cbc2ea8
GY
11372013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1138
91bfca59
OE
1139 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
1140 declaration.
1141 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
1142 * config/arm/cortex-a7.md: New bypasses using
1143 arm_mac_accumulator_is_result.
8cbc2ea8 1144
697a3325
GY
11452013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1146
91bfca59 1147 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 1148 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
1149 (cortex_a7_fpfmad): New reservation.
1150 (cortex_a7_fpmacs): Use ffmas and update required units.
1151 (cortex_a7_fpmuld): Update required units and latency.
1152 (cortex_a7_fpmacd): Likewise.
1153 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
1154 (cortex_a7_neon). Likewise.
1155 (bypass) Update participating units.
697a3325 1156
29637783
GY
11572013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1158
91bfca59
OE
1159 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
1160 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
1161 from fmac to ffma.
1162 * config/arm/vfp11.md (vfp_farith): Use ffmas.
1163 (vfp_fmul): Use ffmad.
1164 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
1165 (cortex_r4_fmacd): Use ffmad.
1166 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
1167 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
1168 (cortex_a9_fmacd): Use ffmad.
1169 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
1170 (cortex_a8_vfp_macd): Use ffmad.
1171 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
1172 (cortex_a5_fpmacd): Use ffmad.
1173 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
1174 (cortex_a15_vfp_macd): Use ffmad.
1175 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 1176
2ee8a2d5
JM
11772013-01-29 Jason Merrill <jason@redhat.com>
1178
1179 PR libstdc++/54314
1180 * varasm.c (default_assemble_visibility): Don't warn about
1181 visibility on artificial decls.
1182
78d087bc
RB
11832013-01-29 Richard Biener <rguenther@suse.de>
1184
1185 PR tree-optimization/56113
1186 * tree-ssa-structalias.c (equiv_class_lookup): Also return
1187 the bitmap leader.
1188 (label_visit): Free duplicate bitmaps and record the leader instead.
1189 (perform_var_substitution): Adjust.
1190
83ba4d6f
RB
11912013-01-29 Richard Biener <rguenther@suse.de>
1192
1193 PR tree-optimization/55270
1194 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
1195 the CFG, schedule loops for fixup.
1196
66dfe13f
NC
11972013-01-29 Nick Clifton <nickc@redhat.com>
1198
1199 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
1200 SP_REG.
1201
5a579c3b
LE
12022013-01-28 Leif Ekblad <leif@rdos.net>
1203
1204 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
1205 * config/i386/i386.h (TARGET_RDOS): New macro.
1206 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
1207 * config/i386/i386.c (ix86_option_override_internal): For 64bit
1208 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
1209 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
1210 DEFAULT_LARGE_SECTION_THRESHOLD.
1211 * config/i386/i386.md (R14_REG, R15_REG): New constants.
1212 * config/i386/rdos.h: New file.
1213 * config/i386/rdos64.h: New file.
1214
51e44392
BS
12152013-01-28 Bernd Schmidt <bernds@codesourcery.com>
1216
1217 PR other/54814
1218 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
1219 TEST_HARD_REG_BIT.
1220
db1fb332
JJ
12212013-01-28 Jakub Jelinek <jakub@redhat.com>
1222
1223 PR rtl-optimization/56117
1224 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
1225 call cselib_lookup_from_insn on the MEM before calling
1226 add_insn_mem_dependence.
1227
16917761
RB
12282013-01-28 Richard Biener <rguenther@suse.de>
1229
1230 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
1231 to a stmt that didn't have one.
1232 (copy_phis_for_bb): Likewise for PHI arguments.
1233 (copy_debug_stmt): Likewise for debug stmts.
1234
b9fc0497
RB
12352013-01-28 Richard Biener <rguenther@suse.de>
1236
1237 PR tree-optimization/56034
6edc3e32 1238 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
1239 (partition_builtin_p): Adjust.
1240 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
1241 it is the last partition.
1242 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
1243 up the vertex for the definition.
1244 (classify_partition): Classify whether a partition is a
1245 PKIND_REDUCTION, thus has uses outside of the loop.
1246 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
1247 Merge all PKIND_REDUCTION partitions into the last partition.
1248 (tree_loop_distribution): Seed partitions from reductions as well.
1249
aa710d25
JJ
12502013-01-28 Jakub Jelinek <jakub@redhat.com>
1251
0bfbca58
JJ
1252 PR tree-optimization/56125
1253 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1254 pow(x,c) into sqrt(x) * powi(x, n/2) or
1255 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1256 optimizing for size.
1257 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1258 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1259 integer.
1260
aa710d25
JJ
1261 PR tree-optimization/56094
1262 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
1263 to UNKNOWN_LOCATION while gimplifying expr.
1264
77dc5297
UB
12652013-01-27 Uros Bizjak <ubizjak@gmail.com>
1266
1267 PR target/56114
1268 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1269 operand 0 in movabs insn template for -masm=intel asm alternative.
1270 (*movabs<mode>_2): Ditto for operand 1.
1271
0bfbca58 12722013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
1273
1274 PR target/54663
1275 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
1276 of microblaze-c.o
1277
0bfbca58 12782013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
1279
1280 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
1281 tm_file.
1282
0bfbca58 12832013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
1284
1285 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
1286 Undef to avoid warning.
1287
478f60f9
MH
12882013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1289
1290 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1291 * configure: Regenerate.
1292
d7fa6ee2
JJ
12932013-01-25 Jakub Jelinek <jakub@redhat.com>
1294
1295 PR tree-optimization/56098
1296 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1297 for stmts with volatile ops.
1298 (cond_store_replacement): Don't optimize if assign has volatile ops.
1299 (cond_if_else_store_replacement_1): Don't optimize if either
1300 then_assign or else_assign have volatile ops.
1301 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
1302 volatile ops.
1303
f8fe87bd
GJL
13042013-01-25 Georg-Johann Lay <avr@gjlay.de>
1305
1306 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1307
28398d0d
GJL
13082013-01-25 Georg-Johann Lay <avr@gjlay.de>
1309
1310 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
1311 missing ':' in asm example.
1312
b7d7d917
TB
13132013-01-25 Tejas Belagod <tejas.belagod@arm.com>
1314
1315 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
1316 entries into lane and laneq entries.
77dc5297
UB
1317 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
1318 Remove AdvSIMD scalar modes.
b7d7d917
TB
1319 (aarch64_sq<r>dmulh_laneq<mode>): New.
1320 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
1321 modes.
1322 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
1323 builtin implementations to relfect changes in RTL in aarch64-simd.md.
1324 * config/aarch64/iterators.md (VCOND): New.
1325 (VCONQ): New.
1326
556f9906
GJL
13272013-01-25 Georg-Johann Lay <avr@gjlay.de>
1328
1329 PR target/54222
1330 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
1331 Add NULL LIBNAME argument to existing definitions.
1332 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
1333 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
1334 * config/avr/avr.c (DEF_BUILTIN): Same.
1335 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
1336 (avr_expand_builtin): Expand to a vanilla call if a libgcc
1337 implementation is available (DECL_ASSEMBLER_NAME is set).
1338 (avr_fold_absfx): New static function.
1339 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
1340 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
1341 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
1342 AVR_BUILTIN_ABSLLK.
1343 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
1344 (abshk, absk, abslk, absllk): Provide as static inline functions.
1345
1f546bbb
MP
13462013-01-25 Marek Polacek <polacek@redhat.com>
1347
1348 PR tree-optimization/56035
1349 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
1350
7e184bd7
UB
13512012-01-24 Uros Bizjak <ubizjak@gmail.com>
1352
1353 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1354 (*movtf_internal_rex64): Add (!o,C) alternative
1355 (*movxf_internal_rex64): Ditto.
1356 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1357
f5ba49ac
SM
13582013-01-24 Shenghou Ma <minux.ma@gmail.com>
1359
1360 * doc/invoke.texi: fix typo.
1361 * doc/objc.texi: fix typo.
1362
a6343728
RS
13632013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
1364
1365 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
1366 for the first two alternatives.
1367
cd030c07
DN
13682013-01-24 Diego Novillo <dnovillo@google.com>
1369
77dc5297 1370 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
1371 (ggc-zone.o): Remove.
1372 * configure.ac: Remove option --with-gc.
1373 * configure: Re-generate.
1374 * doc/install.texi: Remove documentation for --with-gc.
1375 * gengtype.c (write_enum_defn): Remove. Update all users.
1376 (write_Types_process_field): Remove generation of gt_e_* argument.
1377 (output_type_enum): Remove. Update all users.
1378 (write_enum_defn): Remove. Update all users.
1379 (enum alloc_zone): Remove. Update all users.
77dc5297 1380 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
1381 * ggc-common.c (ggc_splay_alloc): Remove first argument.
1382 Update all callers.
1383 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 1384 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
1385 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
1386 Update all users.
aaf1e810 1387 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
1388 (struct alloc_zone): Remove.
1389 (ggc_internal_alloc_zone_stat): Remove.
1390 (ggc_internal_cleared_alloc_zone_stat): Remove.
1391 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
1392 (ggc_pch_count_object): Remove last argument. Update all users.
1393 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
1394 (struct alloc_zone): Remove.
1395 * ggc-zone.c: Remove.
77dc5297 1396 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
1397 (struct alloc_zone): Remove.
1398 (ggc_alloc_typed_stat): Remove.
1399 (ggc_alloc_typed): Remove.
1400 (ggc_splay_alloc): Remove first argument.
1401 (rtl_zone): Remove. Update all users.
1402 (tree_zone): Remove. Update all users.
1403 (tree_id_zone): Remove. Update all users.
1404 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 1405 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 1406 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 1407 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 1408
a861ffa4
GJL
14092013-01-24 Georg-Johann Lay <avr@gjlay.de>
1410
1411 * config/avr/avr.c (avr_out_fract): Make register numbers that
1412 might be outside of source operand signed.
1413
593c0ddd
UB
14142013-01-24 Uros Bizjak <ubizjak@gmail.com>
1415
1416 * config/i386/constraints.md (Yf): New constraint.
1417 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1418 of f constraint to conditionaly disable x87 register preferences.
1419 (*movdf_internal): Ditto.
1420 (*movsf_internal): Ditto.
1421
e86c0101
SB
14222013-01-24 Steven Bosscher <steven@gcc.gnu.org>
1423
1424 PR inline-asm/55934
1425 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
1426 that have operands with impossible constraints.
1427 Add a FIXME for a speed-up opportunity.
1428 * lra-constraints.c (process_alt_operands): Verify that a class
1429 selected from constraints on asms is valid for the operand mode.
1430 (curr_insn_transform): Remove incorrect comment.
1431
f6fee35f
DE
14322013-01-23 David Edelsohn <dje.gcc@gmail.com>
1433
1434 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
1435 TOC operand is a valid symbol ref in the constant pool.
1436
14372013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 1438
aaf1e810 1439 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 1440
dc62d7d1
GJL
14412013-01-23 Georg-Johann Lay <avr@gjlay.de>
1442
1443 PR target/54222
1444 * config/avr/stdfix.h: New file.
1445 * t-avr (stdfix-gcc.h): New rule to build it.
1446 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
1447
2660d12d
KS
14482013-01-23 Kostya Serebryany <kcc@google.com>
1449
77dc5297
UB
1450 * config/darwin.h: remove dependency on
1451 CoreFoundation (asan on Mac OS).
2660d12d 1452
a70418fc
JJ
14532013-01-23 Jakub Jelinek <jakub@redhat.com>
1454
1455 PR target/49069
1456 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1457 instead of cmpdi_operand for first comparison operand.
1458 Don't assert that comparison operands aren't both constants.
1459
47876a2a
JW
14602013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
1461
1462 * doc/install.texi (Downloading the Source): Update references to
1463 downloading separate components.
1464
14652013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
1466
1467 * doc/extend.texi (__int128): Improve grammar.
1468
47876a2a 14692013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
1470
1471 PR target/56028
1472 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1473 alternative to (o,r).
1474 (*movdi_internal_rex64): Remove (!o,n) alternative.
1475 (DImode immediate->memory splitter): Remove.
1476 (DImode immediate->memory peephole2): Remove.
1477 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1478 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1479 alternative to (!o,*r).
1480 (*movtf_internal_sse): New pattern.
1481 (*movxf_internal_rex64): New pattern.
1482 (*movxf_internal): Disable for TARGET_64BIT.
1483 (*movdf_internal_rex64): Remove (!o,F) alternative.
1484
3a984f10
JJ
14852013-01-22 Jakub Jelinek <jakub@redhat.com>
1486
502498d5
JJ
1487 PR middle-end/56074
1488 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
1489 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
1490 * tree-vect-loop-manip.c (find_loop_location): Also ignore
1491 stmt locations where LOCATION_LOCUS of the stmt location is
1492 UNKNOWN_LOCATION or BUILTINS_LOCATION.
1493
3a984f10
JJ
1494 PR target/55686
1495 * config/i386/i386.md (UNSPEC_STOS): New.
1496 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
1497 *strsetqi_1): Add UNSPEC_STOS.
1498
fa817f7f
PC
14992013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
1500
1501 PR c++/56067
1502 * doc/invoke.texi: Remove left over -Wsynth example.
1503
8f498c1b
JJ
15042013-01-21 Jakub Jelinek <jakub@redhat.com>
1505
1506 PR tree-optimization/56051
1507 * fold-const.c (fold_binary_loc): Don't fold
1508 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1509 a narrowing conversion, or widening conversion from signed
1510 to unsigned.
1511
47876a2a 15122013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
1513
1514 PR rtl-optimization/56023
1515 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1516 dependent on debug instruction.
1517
5b9db1bc
MJ
15182013-01-21 Martin Jambor <mjambor@suse.cz>
1519
1520 PR middle-end/56022
1521 * function.c (allocate_struct_function): Call
1522 invoke_set_current_function_hook earlier.
1523
e8bb7d68
JJ
15242013-01-21 Jakub Jelinek <jakub@redhat.com>
1525
1526 * reload1.c (init_reload): Only initialize reload_obstack
1527 during the first call.
1528
616a4e32
MP
15292013-01-21 Marek Polacek <polacek@redhat.com>
1530
1531 * cfgloop.c (verify_loop_structure): Fix up grammar.
1532
4401981b
YHH
15332013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
1534
1535 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
1536 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
1537
8e87740b
RR
15382013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1539
1540 PR target/56058
1541 * config/arm/marvell-pj4.md: Update copyright year.
1542 Fix up use of alu to alu_reg and simple_alu_imm.
1543
47876a2a 15442013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
1545
1546 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1547
89d56d79
VM
15482013-01-20 Vladimir Makarov <vmakarov@redhat.com>
1549
1550 PR target/55433
1551 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 1552 insn for secondary memory move when memory mode should be different.
89d56d79 1553
fe603553
JDA
15542013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1555
1556 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
1557 atomic_storedi_1): New patterns.
1558
01284895
VK
15592013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1560
1561 btver2 pipeline descriptions.
1562 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
1563 descriptions.
1564 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 1565 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
1566 type attributes.
1567 * config/i386/btver2.md: New file describing btver2 pipelines.
1568
5630e3e1
JL
15692013-01-19 Andrew Pinski <apinski@cavium.com>
1570
1571 PR tree-optimization/52631
1572 * tree-ssa-sccvn (visit_use): Before looking up the original
1573 statement, try looking up the simplified expression.
1574
650ae806
AG
15752013-01-19 Anthony Green <green@moxielogic.com>
1576
1577 * config/moxie/moxie.c (moxie_expand_prologue): Set
1578 current_function_static_stack_size.
1579
e300ec2d
JJ
15802013-01-18 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR tree-optimization/56029
1583 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
1584 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
1585
a3d7af04
SS
15862013-01-18 Sharad Singhai <singhai@google.com>
1587
1588 PR tree-optimization/55995
1589 * dumpfile.c (dump_loc): Print location only if available.
1590 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
1591
66aa7879
VM
15922013-01-18 Vladimir Makarov <vmakarov@redhat.com>
1593
1594 PR target/55433
1595 * lra-constraints.c (curr_insn_transform): Reuse original insn for
1596 secondary memory move.
1597 (inherit_reload_reg): Use rclass instead of cl for
1598 check_secondary_memory_needed_p.
1599
3f0fee7b
JJ
16002013-01-18 Jakub Jelinek <jakub@redhat.com>
1601
1602 PR middle-end/56015
1603 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 1604 the case where writing real complex part of target modifies op1.
3f0fee7b 1605
70c67693
JG
16062013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
1607
1608 * config/aarch64/aarch64-simd.md
1609 (aarch64_vcond_internal<mode>): Handle unordered cases.
1610 * config/aarch64/iterators.md (v_cmp_result): New.
1611
df8de9b3
YHH
16122013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
1613 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1614
1615 * config/arm/marvell-pj4.md: New file.
1616 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
1617 * config/arm/arm.md (generic_sched): Add marvell_pj4.
1618 (generic_vfp): Likewise.
1619 * config/arm/arm-cores.def: Add marvell-pj4.
1620 * config/arm/arm-tune.md: Regenerate.
1621 * config/arm/arm-tables.opt: Regenerate.
1622 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
1623 * doc/invoke.texi: Document marvell-pj4.
1624
be30c356
TB
16252013-01-18 Tejas Belagod <tejas.belagod@arm.com>
1626
1627 * config/aarch64/arm_neon.h: Map scalar types to standard types.
1628
0bfbca58 16292013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
1630
1631 PR debug/54114
1632 PR debug/54402
1633 PR debug/49888
1634 * var-tracking.c (negative_power_of_two_p): New.
1635 (global_get_addr_cache, local_get_addr_cache): New.
1636 (get_addr_from_global_cache, get_addr_from_local_cache): New.
1637 (vt_canonicalize_addr): Rewrite using the above. Adjust the
1638 heading comment.
1639 (vt_stack_offset_p): Remove.
1640 (vt_canon_true_dep): Always canonicalize loc's address.
1641 (clobber_overlapping_mems): Make sure we have a MEM.
1642 (local_get_addr_clear_given_value): New.
1643 (val_reset): Clear local cached entries.
1644 (compute_bb_dataflow): Create and release the local cache.
1645 Disable duplicate MEMs clobbering.
1646 (emit_notes_in_bb): Clobber MEMs likewise.
1647 (vt_emit_notes): Create and release the local cache.
1648 (vt_initialize, vt_finalize): Create and release the global
1649 cache, respectively.
1f6bc337 1650 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 1651
0bfbca58 16522013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
1653
1654 PR libmudflap/53359
1655 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
1656 not found in the symtab.
1657
0bfbca58 16582013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 1659
c350ba53 1660 PR debug/56006
3aa03517
AO
1661 PR rtl-optimization/55547
1662 PR rtl-optimization/53827
1663 PR debug/53671
1664 PR debug/49888
1665 * alias.c (offset_overlap_p): New, factored out of...
1666 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
1667 the conservative special case for symbolic constants. Don't
1668 adjust zero sizes on alignment.
1669
c664546f
JL
16702013-01-18 Bernd Schmidt <bernds@codesourcery.com>
1671
1672 PR rtl-optimization/52573
1673 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
1674 REG_UNUSED for the same register.
1675
1bd3f750
MP
16762013-01-17 Richard Biener <rguenther@suse.de>
1677 Marek Polacek <polacek@redhat.com>
1678
1679 PR rtl-optimization/55833
1680 * loop-unswitch.c (unswitch_loops): Move loop verification...
1681 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
1682 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
1683 Set it to true when we're removing a loop from hierarchy tree in
1684 an irreducible region.
1685 (fix_bb_placements): Adjust caller.
1686 (fix_loop_placements): Likewise.
1687
e52a8b71
GJL
16882013-01-17 Georg-Johann Lay <avr@gjlay.de>
1689
1690 * config/avr/builtins.def (DEF_BUILTIN): Factor out
1691 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
1692 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
1693 Remove ID. Adjust comments.
1694 * config/avr/avr-c.c (avr_builtin_name): Remove.
1695 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
1696 * config/avr/avr.c (avr_tolower): New static function.
1697 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
1698 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
1699 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
1700 default expansion.
1701
8386a7ea
JH
17022013-01-17 Jan Hubicka <jh@suse.cz>
1703
610fb637 1704 PR tree-optimization/55273
8386a7ea
JH
1705 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
1706
47876a2a 17072013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
1708
1709 PR target/55981
1710 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
1711 store through atomic_store<mode>_1.
1712 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1713
8222c37e
MJ
17142013-01-17 Martin Jambor <mjambor@suse.cz>
1715
1716 PR tree-optimizations/55264
1717 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1718 for virtual methods.
1719 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
1720 virtual methods before inlining is over.
1721 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
1722 virtual functions.
1723 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
1724 non-virtual.
1725
79f01c76
VM
17262013-01-16 Vladimir Makarov <vmakarov@redhat.com>
1727
1728 PR rtl-optimization/56005
1729 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
1730 pending reads for prefetch.
1731
d0b6bb1b
IB
17322013-01-16 Ian Bolton <ian.bolton@arm.com>
1733
aaf1e810 1734 * config/aarch64/aarch64.md
d0b6bb1b
IB
1735 (*cstoresi_neg_uxtw): New pattern.
1736 (*cmovsi_insn_uxtw): New pattern.
1737 (*<optab>si3_uxtw): New pattern.
1738 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
1739 (*<optab>si3_insn_uxtw): New pattern.
1740 (*bswapsi2_uxtw): New pattern.
1741
cb9cf03b
RB
17422013-01-16 Richard Biener <rguenther@suse.de>
1743
1744 * tree-inline.c (tree_function_versioning): Remove set but
1745 never used variable.
1746
2cfc56b9
RB
17472013-01-16 Richard Biener <rguenther@suse.de>
1748
1749 PR tree-optimization/55964
1750 * tree-flow.h (rename_variables_in_loop): Remove.
1751 (rename_variables_in_bb): Likewise.
1752 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
1753 (copy_loop_before): Adjust and delete update-ssa status.
1754 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 1755 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
1756 (rename_variables_in_loop): Remove.
1757 (slpeel_update_phis_for_duplicate_loop): Likewise.
1758 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
1759 use available cfg machinery instead of duplicating it.
1760 Update PHI nodes and perform poor-mans SSA update here.
1761 (slpeel_tree_peel_loop_to_edge): Adjust.
1762
c25a0c60
RB
17632013-01-16 Richard Biener <rguenther@suse.de>
1764
1765 PR tree-optimization/54767
1766 PR tree-optimization/53465
1767 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
1768 (vrp_visit_phi_node): For PHI arguments coming via backedges
1769 drop all symbolical range information.
1770 (execute_vrp): Compute backedges.
1771
04b535af
RB
17722013-01-16 Richard Biener <rguenther@suse.de>
1773
1774 * doc/install.texi: Update CLooG and ISL requirements to
1775 0.18.0 and 0.11.1.
1776
8b0a1e0b
CB
17772013-01-16 Christian Bruel <christian.bruel@st.com>
1778
1779 PR target/55301
1780 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
1781 (broken_move): Handle UNSPECV_SP_SWITCH_B.
1782 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
1783
17842013-01-16 DJ Delorie <dj@redhat.com>
1785
1786 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
1787 (UNSPECV_SP_SWITCH_E): New.
1788 (sp_switch_1): Change to an unspec.
1789 (sp_switch_2): Change to an unspec. Don't use post-inc when we
1790 replace $r15.
1791
17922013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
1793
1794 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
1795 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
1796 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
1797 (expand_mem_thread_fence): Ditto.
1798 (expand_mem_signal_fence): Ditto.
1799 (expand_atomic_load): Ditto.
1800 (expand_atomic_store): Ditto.
1801
0bfbca58 18022013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
1803
1804 PR rtl-optimization/55547
1805 PR rtl-optimization/53827
1806 PR debug/53671
1807 PR debug/49888
1808 * alias.c (memrefs_conflict_p): Set sizes to negative after
1809 AND adjustments.
1810
305e3ac1
JJ
18112013-01-15 Jakub Jelinek <jakub@redhat.com>
1812
1813 PR target/55940
1814 * function.c (thread_prologue_and_epilogue_insns): Always
1815 add crtl->drap_reg to set_up_by_prologue.set, even if
1816 stack_realign_drap is false.
1817
f78ac4f2
JBG
18182013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1819
1820 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
1821 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
1822 *call): Fix indention.
1823
a78a8cc4
TV
18242013-01-15 Tom de Vries <tom@codesourcery.com>
1825
1826 PR target/55876
1827 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
1828 Update comment.
1829
0e80383f
VM
18302013-01-15 Vladimir Makarov <vmakarov@redhat.com>
1831
305e3ac1 1832 PR rtl-optimization/55153
0e80383f
VM
1833 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
1834
207b5956
MJ
18352013-01-15 Martin Jambor <mjambor@suse.cz>
1836
1837 PR tree-optimization/55920
1838 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
1839 accesses as grp_to_be_debug_replaced.
1840
a7818b54
JJ
18412013-01-15 Jakub Jelinek <jakub@redhat.com>
1842
1843 PR tree-optimization/55920
1844 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
1845 there is non-useless type conversion needed from debug rhs to lhs,
1846 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
1847
b0fe107e
JM
18482013-01-15 Joseph Myers <joseph@codesourcery.com>
1849 Mikael Pettersson <mikpe@it.uu.se>
1850
1851 PR target/43961
1852 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
1853 Thumb.
1854 (ASM_OUTPUT_CASE_LABEL): Remove.
1855 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
1856 * final.c (shorten_branches): Update alignment of labels before
1857 jump tables if CASE_VECTOR_SHORTEN_MODE.
1858
34ab62ee
RB
18592013-01-15 Richard Biener <rguenther@suse.de>
1860
1861 PR bootstrap/55961
1862 * system.h: Do not include gmp.h for building host tools.
1863
783a3a05
RB
18642013-01-15 Richard Biener <rguenther@suse.de>
1865
1866 PR middle-end/55882
1867 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1868 account for bitpos when computing alignment.
1869
3a579e09
VY
18702013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
1871
1872 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
1873 (ix86_target_macros_internal): Likewise.
1874
1875 * config/i386/i386.c (m_CORE2I7): Removed.
1876 (m_CORE_HASWELL): New macro.
1877 (m_CORE_ALL): Likewise.
1878 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
1879 (initial_ix86_arch_features): Likewise.
1880 (processor_target_table): Initializations for Core avx2.
1881 (cpu_names): New names "core-avx2".
1882 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
1883 PROCESSOR_CORE_HASWELL.
1884 (ix86_issue_rate): New case.
1885 (ia32_multipass_dfa_lookahead): Likewise.
1886 (ix86_sched_init_global): Likewise.
1887
1888 * config/i386/i386.h (TARGET_HASWELL): New macro.
1889 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
1890 (processor_type): New PROCESSOR_HASWELL.
1891
955f5a07
JJ
18922013-01-15 Jakub Jelinek <jakub@redhat.com>
1893
ff784829
JJ
1894 PR tree-optimization/55955
1895 * tree-vect-loop.c (vectorizable_reduction): Give up early on
1896 *SHIFT_EXPR and *ROTATE_EXPR codes.
1897
955f5a07
JJ
1898 PR tree-optimization/48766
1899 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
1900 -ftrapv disable -fwrapv.
1901
aeb8b4e9
GJL
19022013-01-14 Georg-Johann Lay <avr@gjlay.de>
1903
1904 PR target/55974
1905 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1906 etc. to 1 and not to __flash.
1907 Use LL suffix for __INT24_MAX__ with -mint8.
1908 Use ULL suffix for __UINT24_MAX__ with -mint8.
1909
1c494c6a
GJL
19102013-01-14 Georg-Johann Lay <avr@gjlay.de>
1911
1912 * config/avr/avr-arch.h
1913 (struct base_arch_s): Use typedef avr_arch_t instead.
1914 (struct arch_info_s): Use typedef avr_arch_info_t instead.
1915 (struct mcu_type_s): Use typedef avr_mcu_t instead.
1916 * config/avr/avr.c: Same.
1917 * config/avr/avr-devices.c: Same.
1918 * config/avr/driver-avr.c: Same.
1919 * config/avr/gen-avr-mmcu-texi.c: Same.
1920 * config/avr/avr-mcus.def: Adjust comment.
1921
a50344cb
TB
19222013-01-14 Tejas Belagod <tejas.belagod@arm.com>
1923
88e784e6
UB
1924 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
1925 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 1926
47876a2a 19272013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
1928 Andi Kleen <ak@linux.intel.com>
1929
1930 PR target/55948
1931 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
1932 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
1933 memmodel flag.
1934
00892272
GJL
19352013-01-14 Georg-Johann Lay <avr@gjlay.de>
1936
1937 * config/avr/avr-stdint.h: Remove trailing blanks.
1938 * config/avr/avr-log.h: Same.
1939 * config/avr/avr-arch.h: Same.
1940 * config/avr/avr-devices.c: Same.
1941 * config/avr/avr-dimode.md: Same.
1942 * config/avr/predicates.md: Same.
1943 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 1944
00892272
GJL
1945 * config/avr/avr-protos.h: Same. And:
1946 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
1947 (init_cumulative_args): Rename to avr_init_cumulative_args.
1948 (expand_prologue): Rename to avr_expand_prologue.
1949 (expand_epilogue): Rename to avr_expand_epilogue.
1950 (adjust_insn_length): Rename to avr_adjust_insn_length.
1951 (notice_update_cc): Rename to avr_notice_update_cc.
1952 (final_prescan_insn): Rename to avr_final_prescan_insn.
1953 * config/avr/avr.c: Same.
1954 * config/avr/avr.h: Same.
1955 * config/avr/avr.md: Remove trailing blanks.
1956 (prologue): Use avr_expand_prologue.
1957 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
1958
7bb01996
RB
19592013-01-14 Richard Biener <rguenther@suse.de>
1960
1961 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
1962 verify_location, collect_subblocks): New functions.
1963 (verify_gimple_in_cfg): Verify that locations only reference
1964 BLOCKs in the functions BLOCK tree.
1965
2724573f
RB
19662013-01-14 Richard Biener <rguenther@suse.de>
1967
1968 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
1969 PHI argument.
1970 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
1971 unshare reference.
1972 (insert_out_of_ssa_copy_on_edge): Likewise.
1973 (rewrite_close_phi_out_of_ssa): Likewise.
1974 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
1975 debug expressions.
1976 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
1977 propagated constants.
1978 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
1979 can not be shared.
1980
9a0bbab6
GJL
19812013-01-14 Georg-Johann Lay <avr@gjlay.de>
1982
1983 * config/avr/avr-modes.def: Add GPL copyright notice.
1984
45805f17
UB
19852013-01-13 Uros Bizjak <ubizjak@gmail.com>
1986
1987 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
1988 MEMMODEL_MASK to determine memory model.
1989 (atomic_store<mode>): Ditto from operands[2].
1990 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
1991
9d60be38
JJ
19922013-01-13 Jakub Jelinek <jakub@redhat.com>
1993
1994 PR fortran/55935
45805f17 1995 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
1996 (fold_gimple_assign): Don't call unshare_expr here.
1997 (fold_ctor_reference): Call unshare_expr.
1998
e7f49d92
TG
19992013-01-13 Terry Guo <terry.guo@arm.com>
2000
aaf1e810
EB
2001 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
2002 * doc/fragments.texi: Document MULTILIB_REUSE.
2003 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 2004 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 2005 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
2006 (tmpmultilib4): Ditto.
2007 (multilib_reuse): New multilib argument.
2008
fbd03a27
RS
20092013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
2010
2011 * Makefile.in: Update copyright.
2012
b3681f13
TV
20132013-01-12 Tom de Vries <tom@codesourcery.com>
2014
2015 PR middle-end/55890
2016 * calls.c (expand_call): Check if arg_nr is valid.
2017
3f287e4b
MM
20182013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2019
2020 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
2021 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
2022 documentation. Add missing '__' in front of
2023 __builtin_ia32_packssdw256.
3f287e4b 2024
1abcd5eb
AK
20252013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2026
2027 PR target/55719
2028 * config/s390/s390.c (s390_preferred_reload_class): Do not return
2029 NO_REGS for larl operands.
2030 (s390_reload_larl_operand): Use s390_load_address instead of
2031 emit_move_insn.
2032
980d0812
RB
20332013-01-11 Richard Biener <rguenther@suse.de>
2034
2035 * tree-cfg.c (verify_node_sharing_1): Split out from ...
2036 (verify_node_sharing): ... here.
2037 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
2038
7cb9fd07
EB
20392013-01-11 Eric Botcazou <ebotcazou@adacore.com>
2040
2041 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
2042 Substitute TREECHECKING.
2043 * configure: Regenerate.
2044 * Makefile.in (TREECHECKING): New.
2045
47876a2a 20462013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
2047
2048 PR tree-optimization/44061
2049 * tree-vrp.c (extract_range_basic): Compute zero as
2050 value-range for __builtin_constant_p of function parameters.
2051
d1e082c2
RS
20522013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
2053
45805f17 2054 Update copyright years.
d1e082c2 2055
f85021b0
VM
20562013-01-10 Vladimir Makarov <vmakarov@redhat.com>
2057
9d60be38 2058 PR rtl-optimization/55672
0160442c
VM
2059 * lra-eliminations.c (mark_not_eliminable): Permit addition with
2060 const to be eliminable.
f85021b0 2061
7a8b1ec4
DE
20622013-01-10 David Edelsohn <dje.gcc@gmail.com>
2063
2064 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
2065 * configure: Regenerate.
2066
ad2e5b71
RB
20672013-01-10 Richard Biener <rguenther@suse.de>
2068
ddf9322d 2069 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 2070
ffc5b2bb
RB
20712013-01-10 Richard Biener <rguenther@suse.de>
2072
2073 PR bootstrap/55792
2074 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
2075 locations for virtual PHI arguments.
2076 (rewrite_update_phi_arguments): Likewise.
2077
e1f674e4
JS
20782013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
2079
2080 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
2081 on to assembler.
2082
a57fc743
JJ
20832013-01-10 Jakub Jelinek <jakub@redhat.com>
2084
2085 PR tree-optimization/55921
2086 * tree-complex.c (expand_complex_asm): New function.
2087 (expand_complex_operations_1): Call it for GIMPLE_ASM.
2088
0ff4390d
AK
20892013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2090
2091 PR target/55718
2092 * config/s390/s390.c (s390_symref_operand_p)
2093 (s390_loadrelative_operand_p): Merge the two functions.
2094 (s390_check_qrst_address, print_operand_address): Add parameters
2095 to s390_loadrelative_operand_p invokation.
2096 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
2097 (s390_reload_larl_operand, s390_secondary_reload): Use
2098 s390_loadrelative_operand_p instead of s390_symref_operand_p.
2099 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
2100
6f557e0e
MS
21012013-01-09 Mike Stump <mikestump@comcast.net>
2102
2103 * dse.c (record_store): Remove unnecessary assert.
2104
7770c9e9
JH
21052013-01-09 Jan Hubicka <jh@suse.cz>
2106
2107 PR tree-optimization/55569
2108 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
2109 * cfgloop.h (scale_loop_profile): Likewise.
2110
a19b1432
JH
21112013-01-09 Jan Hubicka <jh@suse.cz>
2112
2113 PR lto/45375
ddf9322d
UB
2114 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
2115 functions.
a19b1432
JH
2116 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
2117
9a002da8
RS
21182013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
2119
2120 PR middle-end/55114
2121 * expr.h (maybe_emit_group_store): Declare.
2122 * expr.c (maybe_emit_group_store): New function.
2123 * builtins.c (expand_builtin_int_roundingfn): Call it.
2124 (expand_builtin_int_roundingfn_2): Likewise.
2125
511dcace
VM
21262013-01-09 Vladimir Makarov <vmakarov@redhat.com>
2127
e1f2b729 2128 PR rtl-optimization/55829
511dcace
VM
2129 * lra-constraints.c (match_reload): Add code for absent output.
2130 (curr_insn_transform): Add code for reloads of matched inputs
2131 without output.
2132
7b0fe4f4
UB
21332013-01-09 Uros Bizjak <ubizjak@gmail.com>
2134
2135 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
2136 attribute of movddup insn to DF.
2137 (*vec_interleave_lowv2df): Ditto.
2138 (vec_dupv2df): Ditto.
2139
870ca331
JH
21402013-01-09 Jan Hubicka <jh@suse.cz>
2141
2142 PR tree-optimiation/55875
2143 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
2144 EVERY_ITERATION parameter.
7b0fe4f4 2145 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
2146 (idx_infer_loop_bounds): Similarly here.
2147 (n_of_executions_at_most): Simplify
2148 to only test for cases where statement is dominated by the
7b0fe4f4 2149 particular bound; handle correctly the "postdominance" test.
870ca331
JH
2150 (scev_probably_wraps_p): Use max loop iterations info
2151 as a global bound first.
2152
6f575fe4 21532013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
2154 Nick Clifton <nickc@redhat.com>
2155
2156 * config/v850/v850.md (cbranchsf4): New pattern.
2157 (cstoresf4): New pattern.
2158 (cbranchdf4): New pattern.
2159 (cstoredf4): New pattern.
2160 (movsicc): Disallow floating point comparisons.
2161 (cmpsf_le_insn): Fix order of operators.
2162 (cmpsf_lt_insn): Likewise.
2163 (cmpsf_eq_insn): Likewise.
2164 (cmpdf_le_insn): Likewise.
2165 (cmpdf_lt_insn): Likewise.
2166 (cmpdf_eq_insn): Likewise.
2167 (cmpsf_ge_insn): Use LE comparison.
2168 (cmpdf_ge_insn): Likewise.
2169 (cmpsf_gt_insn): Use LT comparison.
2170 (cmpdf_gt_insn): Likewise.
2171 (cmpsf_ne_insn): Delete pattern.
2172 (cmpdf_ne_insn): Delete pattern.
2173 * config/v850/v850.c (v850_gen_float_compare): Use
2174 gen_cmpdf_eq_insn for NE comparison.
2175 (v850_float_z_comparison_operator)
2176 (v850_float_nz_comparison_operator): Move from here ...
2177 * config/v850/predicates.md: ... to here. Move GT and GE
2178 comparisons into v850_float_z_comparison_operator.
2179 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
2180 Delete prototype.
2181 (v850_float_nz_comparison_operator): Likewise.
2182
f0d54148
JDA
21832013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2184
2185 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
2186 with calls to gen_insvsi/gen_insvdi.
2187
8f01beca
VK
21882013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2189
2190 * config/i386/i386.c (initial_ix86_tune_features): Set up
2191 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
2192
2aa579ad
JJ
21932013-01-09 Steven Bosscher <steven@gcc.gnu.org>
2194 Jakub Jelinek <jakub@redhat.com>
2195
2196 PR tree-optimization/48189
2197 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
2198 If nitercst is 0, don't predict the exit edge.
2199
6edc3e32 22002013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
2201
2202 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
2203 in asm_fprintf with reg_names.
2204 (aarch64_print_operand_address): Likewise.
2205 (aarch64_return_addr): Likewise.
2206 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
2207
f6f94d94
JDA
22082013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2209
2210 * config/pa/pa.h (VAL_U6_BITS_P): Define.
2211 (INT_U6_BITS): Likewise.
2212 * config/pa/predicates.md (uint6_operand): New predicate.
2213 (shift5_operand, shift6_operand): Likewise.
2214 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
2215 arith32_operand.
2216 (lshrdi3): Use shift6_operand.
2217 (shrpsi4, shrpdi4): New insn patterns.
2218 (extzv): Delete expander.
2219 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
2220 predicates in unamed zero extract patterns. Tighten common constraint.
2221 (extv): Delete expander.
2222 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
2223 predicates in unamed sign extract patterns. Tighten common constraint.
2224 (insv): Delete expander.
2225 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
2226 predicates in unamed insert patterns. Tighten common constraint.
2227 Change uint32_operand predicate to uint6_operand predicate in unamed
2228 DImode pattern to insert constant values of type 1...1xxxx.
2229
36b72910
JH
22302013-01-04 Jan Hubicka <jh@suse.cz>
2231
2232 PR tree-optimization/55823
7b0fe4f4
UB
2233 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
2234 issue.
36b72910 2235
47876a2a 22362013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
2237 Uros Bizjak <ubizjak@gmail.com>
2238
2239 PR rtl-optimization/55845
2240 * df-problems.c (can_move_insns_across): Stop scanning at
2241 volatile_insn_p source instruction or give up if
2242 across_from .. across_to range contains any volatile_insn_p
2243 instructions.
2244
4369c11e
TB
22452013-01-08 Tejas Belagod <tejas.belagod@arm.com>
2246
7b0fe4f4
UB
2247 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
2248 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
2249 Declare.
4369c11e 2250 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 2251 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 2252
aeb7e7c1
JJ
22532013-01-08 Jakub Jelinek <jakub@redhat.com>
2254
2255 PR fortran/55341
2256 * asan.c (asan_clear_shadow): New function.
2257 (asan_emit_stack_protection): Use it.
2258
a02ad1aa
TB
22592013-01-08 Tejas Belagod <tejas.belagod@arm.com>
2260
2261 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
2262 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
2263 with tab instead of space.
2264
f90d87f5
NC
22652013-01-08 Nick Clifton <nickc@redhat.com>
2266
2267 * config/rl78/rl78.c (rl78_expand_prologue): Always select
2268 register bank 0 at the start of an interrupt handler.
83ffd964
NC
2269 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
2270 MDBH registers.
f90d87f5 2271
385eb93d
JG
22722013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
2273
2274 * config/aarch64/aarch64-simd.md
2275 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
2276 (aarch64_simd_bsl): Likewise.
2277 (aarch64_vcond_internal<mode>): Likewise.
2278 (vcond<mode><mode>): Likewise.
2279 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
2280 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
2281
4dcd1054
JG
22822013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
2283
2284 * config/aarch64/aarch64-builtins.c
2285 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
2286
4267a4a6
MJ
22872013-01-08 Martin Jambor <mjambor@suse.cz>
2288
2289 PR debug/55579
2290 * tree-sra.c (analyze_access_subtree): Return true also after
2291 potentially creating a debug-only replacement.
2292
5f4e6de3
JJ
22932013-01-08 Jakub Jelinek <jakub@redhat.com>
2294
3138f224
JJ
2295 PR middle-end/55890
2296 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
2297
5f4e6de3
JJ
2298 PR tree-optimization/54120
2299 * tree-vrp.c (range_fits_type_p): Don't allow
2300 src_precision < precision from signed vr to unsigned_p
2301 if vr->min or vr->max is negative.
2302 (simplify_float_conversion_using_ranges): Test can_float_p
2303 against CODE_FOR_nothing.
2304
f3ef18ff
JJ
23052013-01-08 Jakub Jelinek <jakub@redhat.com>
2306 Richard Biener <rguenther@suse.de>
2307
2308 PR middle-end/55851
2309 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
2310 types instead of just INTEGER_TYPE types.
2311
25c210f9
MK
23122013-01-07 Mark Kettenis <kettenis@openbsd.org>
2313
2314 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
2315 TF_SIZE): Define.
f90d87f5 2316
81826a7b
SE
23172013-01-07 Steve Ellcey <sellcey@mips.com>
2318
2319 PR target/42661
2320 * config/mips/mips.opt: Change mad to mmad to match documentation.
2321
35678514
GJL
23222013-01-07 Georg-Johann Lay <avr@gjlay.de>
2323
2324 PR target/55897
2325 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
2326 .progmemx.data now.
2327
e5669488
GJL
23282013-01-07 Georg-Johann Lay <avr@gjlay.de>
2329
2330 PR target/55897
2331 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
2332 (avr_addrspace_t): Add .section_name field.
2333 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
2334 array size.
2335 (avr_addrspace): Same. Initialize .section_name. Remove last
2336 NULL entry. Put __memx into .progmemx.data.
2337 (progmem_section_prefix): Remove.
2338 (avr_asm_init_sections): No need to initialize progmem_section.
2339 (avr_asm_named_section): Use avr_addrspace[].section_name to get
2340 section name prefix.
2341 (avr_asm_select_section): Ditto. And use get_unnamed_section to
2342 retrieve the progmem section.
2343 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
2344 boundary to run over avr_addrspace[].
2345 (avr_register_target_pragmas): Ditto.
2346
656e6f37
JJ
23472013-01-06 Jakub Jelinek <jakub@redhat.com>
2348
2349 * varasm.c (output_constant_def_contents): For asan_protect_global
2350 protected strings, adjust DECL_ALIGN if needed, before testing for
2351 anchored symbols.
2352 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
2353 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
2354 normal decls.
2355 (output_object_block): For asan protected decls, emit asan padding
2356 after their contents.
2357 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
2358 (asan_finish_file): Test it here instead.
2359
6edc3e32
UB
23602013-01-07 Nick Clifton <nickc@redhat.com>
2361 Matthias Klose <doko@debian.org>
2362 Doug Kwan <dougkwan@google.com>
2363 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
2364
2365 PR driver/55470
2366 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
2367
2368 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
2369
2370 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
2371
7b0fe4f4 2372 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
2373
2374 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
2375
2a095093
GJL
23762013-01-07 Georg-Johann Lay <avr@gjlay.de>
2377
f3b503f4 2378 PR target/54461
2a095093
GJL
2379 * doc/install.texi (Cross-Compiler-Specific Options): Document
2380 --with-avrlibc.
2381
383f9b34
TB
23822013-01-07 Tejas Belagod <tejas.belagod@arm.com>
2383
2384 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
2385 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
2386 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
2387 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
2388 vqmovun_high_s64): Fix source operand number and update copyright.
2389
3626621a
RB
23902013-01-07 Richard Biener <rguenther@suse.de>
2391
2392 PR middle-end/55890
2393 * gimple.h (gimple_call_builtin_p): New overload.
2394 * gimple.c (validate_call): New function.
2395 (gimple_call_builtin_p): Likewise.
2396 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2397 Use gimple_call_builtin_p.
2398 (find_func_clobbers): Likewise.
2399 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
2400 (strlen_optimize_stmt): Likewise.
2401
8b2ea410
JG
24022013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
2403
2404 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
2405 (vld1q_dup_*): Likewise.
2406 (vld1_*): Likewise.
2407 (vld1q_*): Likewise.
2408 (vld1_lane_*): Likewise.
2409 (vld1q_lane_*): Likewise.
2410
9713d329
RB
24112013-01-07 Richard Biener <rguenther@suse.de>
2412
2413 * lto-streamer.h (LTO_minor_version): Bump to 2.
2414
3520f7cc
JG
24152013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
2416
2417 * config/aarch64/aarch64-protos.h
2418 (aarch64_const_double_zero_rtx_p): Rename to...
2419 (aarch64_float_const_zero_rtx_p): ...this.
2420 (aarch64_float_const_representable_p): New.
2421 (aarch64_output_simd_mov_immediate): Likewise.
2422 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
2423 move immediate case.
2424 * config/aarch64/aarch64.c
2425 (aarch64_const_double_zero_rtx_p): Rename to...
2426 (aarch64_float_const_zero_rtx_p): ...this.
2427 (aarch64_print_operand): Allow printing of new constants.
2428 (aarch64_valid_floating_const): New.
2429 (aarch64_legitimate_constant_p): Check for valid floating-point
2430 constants.
2431 (aarch64_simd_valid_immediate): Likewise.
2432 (aarch64_vect_float_const_representable_p): New.
2433 (aarch64_float_const_representable_p): Likewise.
2434 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
2435 (aarch64_output_simd_mov_immediate): New.
2436 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
2437 (*movdf_aarch64): Likewise.
2438 * config/aarch64/constraints.md (Ufc): New.
2439 (Y): call aarch64_float_const_zero_rtx.
2440 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
2441
e167c04d
RB
24422013-01-07 Richard Biener <rguenther@suse.de>
2443
2444 PR tree-optimization/55888
2445 PR tree-optimization/55862
2446 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
2447 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
2448 not if it is contained therein.
2449
0139aaab
GJL
24502013-01-07 Georg-Johann Lay <avr@gjlay.de>
2451
2452 * config/avr/t-avr: Typo.
2453
4a176b23
GJL
24542013-01-07 Georg-Johann Lay <avr@gjlay.de>
2455
2456 PR55243
2457 * config/avr/t-avr: Don't automatically rebuild
2458 $(srcdir)/config/avr/t-multilib
2459 $(srcdir)/config/avr/avr-tables.opt
2460 $(srcdir)/doc/avr-mmcu.texi
2461 (avr-mcus): New phony target to build them on request.
2462 (s-avr-mlib, s-avr-mmcu-texi): Remove.
2463 * avr/avr-mcus.def: Adjust comments.
2464
c7afdc98
UB
24652013-01-07 Uros Bizjak <ubizjak@gmail.com>
2466
2467 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
2468
1ab05c31
RS
24692013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2470
2471 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
2472
488e3acc
RS
24732013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2474
2475 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
2476
a89599d2
DE
24772013-01-05 David Edelsohn <dje.gcc@gmail.com>
2478
2479 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
2480 to generate profiling.
2481 * config/rs6000/aix64.h (LIB_SPEC): Same.
2482
70f09188
AP
24832013-01-04 Andrew Pinski <apinski@cavium.com>
2484
2485 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
2486 New function.
2487 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
2488
918d445f
UB
24892013-01-04 Uros Bizjak <ubizjak@gmail.com>
2490
2491 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
2492 unconditionally.
2493 (ix86_expand_move): Ditto.
2494 (ix86_zero_extend_to_Pmode): Ditto.
2495 (ix86_expand_call): Ditto.
2496 (ix86_expand_special_args_builtin): Ditto.
2497 (ix86_expand_builtin): Ditto.
2498
361618ec
RB
24992013-01-04 Richard Biener <rguenther@suse.de>
2500
2501 PR tree-optimization/55862
2502 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
2503 translating them through PHI nodes.
2504
87eab554
MJ
25052013-01-04 Martin Jambor <mjambor@suse.cz>
2506
2507 PR tree-optimization/55755
2508 * tree-sra.c (sra_modify_assign): Do not check that an access has no
2509 children when trying to avoid producing a VIEW_CONVERT_EXPR.
2510
33879b9f
MP
25112013-01-04 Marek Polacek <polacek@redhat.com>
2512
2513 PR middle-end/55859
2514 * opts.c (default_options_optimization): Clarify error message.
2515
3068819a
RB
25162013-01-04 Richard Biener <rguenther@suse.de>
2517
2518 PR middle-end/55863
2519 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
2520 reassociation.
2521
0e4ae794
JDA
25222013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2523
2524 PR target/53789
2525 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
2526 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
2527 references.
0e4ae794 2528
65c88cef
RH
25292013-01-03 Richard Henderson <rth@redhat.com>
2530
2531 * config/i386/i386.c (ix86_expand_move): Always assign to op1
2532 after eliminating TLS symbols.
2533
8ac16127
MG
25342013-01-03 Marc Glisse <marc.glisse@inria.fr>
2535
2536 PR bootstrap/50167
2537 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
2538 * graphite-poly.c (debug_gmp_value): Likewise.
2539
bb664f09
UB
25402013-01-03 Uros Bizjak <ubizjak@gmail.com>
2541
2542 PR target/55712
2543 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
2544 selected code model, define __code_mode_small__, __code_model_medium__,
2545 __code_model_large__, __code_model_32__ or __code_model_kernel__.
2546 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
2547 xchg temporary register with %k. Declare temporary register as
2548 early clobbered.
2549 [__x86_64__]: For medium and large code models, preserve %rbx register.
2550
bcf1ef00
RB
25512013-01-03 Richard Biener <rguenther@suse.de>
2552
0506634a 2553 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
2554 (dump_subscript): Adjust.
2555 (finalize_ddr_dependent): Do not dump redundant info.
2556 (analyze_siv_subscript): Adjust.
2557 (subscript_dependence_tester): Likewise.
2558 (compute_affine_dependence): Likewise.
2559
59fd17e3
RB
25602013-01-03 Richard Biener <rguenther@suse.de>
2561
2562 Revert
2563 2013-01-03 Richard Biener <rguenther@suse.de>
2564
2565 PR tree-optimization/55857
2566 * tree-vect-stmts.c (vectorizable_load): Do not setup
2567 re-alignment for invariant loads.
2568
2569 2013-01-02 Richard Biener <rguenther@suse.de>
2570
2571 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 2572 invariant load do not generate a vector load from the scalar location.
59fd17e3 2573
595c2679
RB
25742013-01-03 Richard Biener <rguenther@suse.de>
2575
2576 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
2577 for not vectorizing.
2578 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
2579 not build INDIRECT_REFs, call get_name once only.
2580 (vect_create_data_ref_ptr): Likewise. Dump base object kind
2581 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
2582
90bb7d7a
RB
25832013-01-03 Richard Biener <rguenther@suse.de>
2584
2585 PR tree-optimization/55857
2586 * tree-vect-stmts.c (vectorizable_load): Do not setup
2587 re-alignment for invariant loads.
2588
f09b77ca
RB
25892013-01-03 Richard Biener <rguenther@suse.de>
2590
2591 PR lto/55848
2592 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
2593 prefer a built-in decl.
2594
3461a16e
JJ
25952013-01-03 Jakub Jelinek <jakub@redhat.com>
2596
df8e2b4f
JJ
2597 * gcc.c (process_command): Update copyright notice dates.
2598 * gcov.c (print_version): Likewise.
2599 * gcov-dump.c (print_version): Likewise.
2600
3461a16e
JJ
2601 PR rtl-optimization/55838
2602 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
2603 iv0.step, iv1.step and step.
2604
8b5546d6
JJ
26052013-01-03 Jakub Jelinek <jakub@redhat.com>
2606 Marc Glisse <marc.glisse@inria.fr>
2607
2608 PR tree-optimization/55832
2609 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
2610 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
2611 integer_{one,zero}_node.
2612
8ab1d2e9
JJ
26132013-01-03 Jakub Jelinek <jakub@redhat.com>
2614
2615 PR debug/54402
2616 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
2617 * var-tracking.c (reverse_op): Don't add reverse ops to
2618 VALUEs that have already
0506634a 2619 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 2620
5b9ad1d4
GP
26212013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
2622
2623 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
2624
e25a6711
TJ
26252013-01-02 Teresa Johnson <tejohnson@google.com>
2626
2627 * dumpfile.c (dump_loc): Print filename with location.
2628 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
2629 new location_t parameter to emit complete unroll message with
2630 new dump framework.
2631 (canonicalize_loop_induction_variables): Compute loops location
2632 and pass to try_unroll_loop_completely.
2633 * loop-unroll.c (report_unroll_peel): New function.
2634 (peel_loops_completely): Use new dump format with location
2635 for main dumpfile message, and invoke report_unroll_peel on success.
2636 (decide_unrolling_and_peeling): Ditto.
2637 (decide_peel_once_rolling): Remove old dumpfile message subsumed
2638 by report_unroll_peel.
2639 (decide_peel_completely): Ditto.
2640 (decide_unroll_constant_iterations): Ditto.
2641 (decide_unroll_runtime_iterations): Ditto.
2642 (decide_peel_simple): Ditto.
2643 (decide_unroll_stupid): Ditto.
2644 * cfgloop.c (get_loop_location): New function.
2645 * cfgloop.h (get_loop_location): Declare.
2646
77878621
ST
26472013-01-02 Sriraman Tallam <tmsriram@google.com>
2648
2649 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
2650 NULL.
2651
9e65d03e
JDA
26522013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2653
2654 PR middle-end/55198
2655 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
2656 BLKmode objects when EXPAND_MEMORY is specified.
2657
6a7da30f
ST
26582013-01-02 Sriraman Tallam <tmsriram@google.com>
2659
2660 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
2661 in loop predicate.
2662 (fold_builtin_cpu): Do not share cpu model decls across statements.
2663
e78167f2
JM
26642013-01-02 Jason Merrill <jason@redhat.com>
2665
2666 PR c++/55804
2667 * tree.c (build_array_type_1): Revert earlier change.
2668
8c075fb4
YZ
26692013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
2670
2671 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
2672 "cortex-a57".
2673 * config/aarch64/aarch64-tune.md: Re-generate.
2674
0682ed3e
RB
26752013-01-02 Richard Biener <rguenther@suse.de>
2676
2677 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 2678 invariant load do not generate a vector load from the scalar location.
0682ed3e 2679
b8f6a302
RB
26802013-01-02 Richard Biener <rguenther@suse.de>
2681
2682 PR bootstrap/55784
2683 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
2684 * configure: Regenerate.
2685
04b80dbb
RS
26862013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2687
2688 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
2689 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
2690 (expand_builtin_int_roundingfn_2): Keep the original target around
2691 for the fallback case.
2692
635b0b0c
RS
26932013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2694
2695 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
2696 to be clear for sign changes.
2697
42d57399
JH
26982013-01-01 Jan Hubicka <jh@suse.cz>
2699
2700 * ipa-inline-analysis.c: Fix formatting.
2701
5bb6669d
JJ
27022013-01-01 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR tree-optimization/55831
2705 * tree-vect-loop.c (get_initial_def_for_induction): Use
2706 gsi_after_labels instead of gsi_start_bb.
ad41bd84 2707\f
86a2db33 2708Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
2709
2710Copying and distribution of this file, with or without modification,
2711are permitted in any medium without royalty provided the copyright
2712notice and this notice are preserved.