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