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