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