re PR tree-optimization/50913 (ICE in scan_tree_for_params_right_scev, at graphite...
[gcc.git] / gcc / ChangeLog
1 2012-01-10 Richard Guenther <rguenther@suse.de>
2
3 PR tree-optimization/50913
4 * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
5 Require data-refs to be representable by Graphite with respect
6 to any loop nest.
7
8 2012-01-10 Uros Bizjak <ubizjak@gmail.com>
9
10 * config/i386/constraints.md ("L"): Return true for 0xffffffff.
11 * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
12
13 2012-01-10 Tom de Vries <tom@codesourcery.com>
14
15 PR rtl-optimization/51271
16 * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
17 handling annulled branch.
18
19 2012-01-10 Richard Henderson <rth@redhat.com>
20
21 * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
22 TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
23 struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
24 arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
25 arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
26 arm_expand_vec_perm_const): New.
27 * config/arm/arm-protos.h: Update.
28 * config/arm/neon.md (UNSPEC_VCONCAT): New.
29 (*neon_vswp<VDQX>): New.
30 (neon_vcombine<VDX>): Use neon_split_vcombine.
31 (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
32 * config/arm/vec-common.md (vec_perm_const<VALL>): New.
33 (vec_perm<VE>): New.
34
35 2012-01-10 Richard Henderson <rth@redhat.com>
36
37 * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
38 use it if reload_completed.
39 (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
40 arm_output_asm_insn, arm_process_output_memory_barrier,
41 arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
42 arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
43 arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
44 arm_process_output_sync_insn, arm_output_sync_insn,
45 arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
46 (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
47 (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
48 (emit_unlikely_jump): New.
49 (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
50 (arm_split_atomic_op): New.
51 * config/arm/arm-protos.h: Update.
52 * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
53 (struct arm_sync_generator): Remove.
54 * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
55 VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
56 (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
57 (VUNSPEC_LL, VUNSPEC_SC): New.
58 (sync_result, sync_memory, sync_required_value, sync_new_value,
59 sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
60 (attr length): Don't use arm_sync_loop_insns.
61 (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
62 (movsfcc, movdfcc): Likewise.
63 * config/arm/constraints.md (Ua): New.
64 * config/arm/prediates.md (mem_noofs_operand): New.
65 (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
66 (sync_clobber, sync_t2_reqd): Remove.
67 (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
68 (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
69 (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
70 (arm_sync_compare_and_swap<SIDI>): Remove.
71 (arm_sync_compare_and_swap<NARROW>): Remove.
72 (arm_sync_lock_test_and_set<SIDI>): Remove.
73 (arm_sync_lock_test_and_set<NARROW>): Remove.
74 (arm_sync_new_<syncop><SIDI>): Remove.
75 (arm_sync_new_<syncop><NARROW>): Remove.
76 (arm_sync_new_nand<SIDI>): Remove.
77 (arm_sync_new_nand<NARROW>): Remove.
78 (arm_sync_old_<syncop><SIDI>): Remove.
79 (arm_sync_old_<syncop><NARROW>): Remove.
80 (arm_sync_old_nand<SIDI>): Remove.
81 (arm_sync_old_nand<NARROW>): Remove.
82 (*memory_barrier): Merge arm_output_memory_barrier.
83 (atomic_compare_and_swap<QHSD>): New.
84 (atomic_compare_and_swap<NARROW>_1): New.
85 (atomic_compare_and_swap<SIDI>_1): New.
86 (atomic_exchange<QHSD>): New.
87 (cas_cmp_operand, cas_cmp_str): New.
88 (atomic_op_operand, atomic_op_str): New.
89 (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
90 (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
91 (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
92 (arm_load_exclusive<NARROW>): New.
93 (arm_load_exclusivesi, arm_load_exclusivedi): New.
94 (arm_store_exclusive<QHSD>): New.
95
96 2012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
97
98 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
99 reload patterns if -mvsx-scalar-memory.
100
101 * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
102 generated, even -mno-vsx-scalar-double was used.
103 (vsx_xscvdpsp_scalar): Likewise.
104 (vsx_xscvspdp_scalar2): Likewise.
105
106 2012-01-09 Tom de Vries <tom@codesourcery.com>
107 Andrew Pinski <apinski@cavium.com>
108
109 PR debug/51471
110 * reorg.c (fill_slots_from_thread): Don't speculate
111 frame-related insns.
112
113 2012-01-09 Richard Sandiford <rdsandiford@googlemail.com>
114
115 * sched-int.h (bb_note): Move to...
116 * basic-block.h: ...here.
117 * haifa-sched.c (bb_note): Move to...
118 * cfgrtl.c: ...here.
119 * function.c (next_block_for_reg): New function.
120 (move_insn_for_shrink_wrap): Likewise.
121 (prepare_shrink_wrap): Rewrite to use the above.
122
123 2012-01-09 Aldy Hernandez <aldyh@redhat.com>
124
125 * gimple.c (is_gimple_non_addressable): Remove.
126 * gimple.h: Remove is_gimple_non_addressable.
127 * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
128 is_gimple_non_addressable.
129 * trans-mem.c (expand_assign_tm): Same.
130
131 2012-01-09 Richard Guenther <rguenther@suse.de>
132
133 PR tree-optimization/51775
134 * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
135 * tree-ssa-pre.c (eliminate): Properly fixup EH info.
136
137 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
138
139 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
140 tuning parameters.
141 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
142
143 2012-01-09 Richard Guenther <rguenther@suse.de>
144
145 * tree-streamer-out.c (write_ts_optimization): Fix spelling.
146
147 2012-01-08 Jan Hubicka <jh@suse.cz>
148
149 PR tree-optimize/51680
150 * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
151 on when known_vals needs to be computed; cleanup.
152
153 2012-01-08 Jan Hubicka <jh@suse.cz>
154
155 PR tree-optimize/51694
156 * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
157
158 2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
159
160 * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
161 for -std=c++98 and -std=c++11 too.
162
163 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
164
165 * cfgloop.c (cancel_loop): Add free() of bbs array.
166
167 2012-01-07 Jan Hubicka <jh@suse.cz>
168
169 PR tree-optimization/51600
170 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
171 that benefits small functions.
172
173 2012-01-07 Jan Hubicka <jh@suse.cz>
174
175 * ipa-inline.c (want_inline_small_function_p): Fix formating.
176
177 2012-01-07 Jan Hubicka <jh@suse.cz>
178
179 PR tree-optimization/51680
180 * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
181 whose inlining reduce unit size.
182
183 2012-01-07 Alexandre Oliva <aoliva@redhat.com>
184
185 PR bootstrap/51725
186 * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
187 Add canonical node to containing_mem chain after the non-canonical
188 one, even if there weren't any locs to propagate.
189 (remove_useless_values): Keep only canonical values.
190 (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
191 (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
192 canonicalize mem_chain elements that are not discarded.
193
194 2012-01-06 Jakub Jelinek <jakub@redhat.com>
195
196 PR target/47333
197 * cgraphunit.c (cgraph_optimize): Call output_weakrefs
198 before emitting functions.
199
200 PR gcov-profile/50127
201 * bb-reorder.c (partition_hot_cold_basic_blocks): Call
202 clear_aux_for_blocks.
203
204 2012-01-06 Alexandre Oliva <aoliva@redhat.com>
205
206 PR debug/51746
207 * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
208
209 2012-01-06 Arnaud Charlet <charlet@adacore.com>
210
211 * c-decl.c (ext_block): Moved up.
212 (collect_all_refs, for_each_global_decl): Take ext_block into account.
213
214 2012-01-06 Han Shen <shenhan@google.com>
215
216 Translate built-in include paths for sysroot.
217 * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
218 (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
219
220 * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
221 GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
222
223 * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
224 control whether sysroot should be prepended to gxx include dir.
225
226 * configure: Regenerate.
227
228 2012-01-06 Torvald Riegel <triegel@redhat.com>
229
230 PR rtl-optimization/51771
231 * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
232 * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
233
234 2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
235
236 PR tree-optimization/51315
237 * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
238 (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
239
240 2012-01-05 Uros Bizjak <ubizjak@gmail.com>
241
242 PR target/51681
243 * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
244 for shrp pattern. Correctly handle and fixup shift variable.
245 Return false when shift > nelt for BYTES_BIG_ENDIAN target.
246
247 2012-01-05 Jakub Jelinek <jakub@redhat.com>
248
249 PR debug/51762
250 * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
251 note when !ACCUMULATE_OUTGOING_ARGS.
252
253 2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
254
255 * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
256 condition.
257 (extract_range_from_unary_expr_1): Avoid useless computations.
258
259 2012-01-05 Jakub Jelinek <jakub@redhat.com>
260
261 PR rtl-optimization/51767
262 * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
263 of jump_block and add an extra edge for degenerated asm gotos.
264
265 PR middle-end/51768
266 * stmt.c (check_unique_operand_names): Don't ICE during error
267 reporting if i is from labels chain.
268
269 PR middle-end/44777
270 * profile.c (branch_prob): Split bbs that have exit edge
271 and need a fake entry edge too.
272
273 2012-01-05 Jan Hubicka <jh@suse.cz>
274
275 PR middle-end/49710
276 * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
277 unlooping loops.
278
279 2012-01-05 Richard Guenther <rguenther@suse.de>
280
281 PR lto/50490
282 * tree-streamer-out.c (write_ts_optimization): New function.
283 (streamer_write_tree_body): Call it.
284 * tree-streamer-in.c (lto_input_ts_optimization): New function.
285 (streamer_read_tree_body): Call it.
286 * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
287
288 2012-01-05 Jakub Jelinek <jakub@redhat.com>
289
290 PR middle-end/51761
291 * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
292 * gimplify.c (gimplify_cleanup_point_expr): Save and set
293 in_cleanup_point_expr before gimplify_stmt call and restore it
294 afterwards.
295 (gimplify_target_expr): Don't add {CLOBBER} cleanup if
296 in_cleanup_point_expr is false.
297
298 2012-01-05 Richard Guenther <rguenther@suse.de>
299
300 PR middle-end/51764
301 * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
302 to c.opt.
303 * toplev.c (process_options): Reject combining mudflap and LTO.
304 * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
305
306 2012-01-05 Richard Guenther <rguenther@suse.de>
307
308 PR tree-optimization/51760
309 * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
310 not VARYING.
311 (bit_value_unop): Handle UNDEFINED operands.
312 (bit_value_binop): Likewise.
313
314 2012-01-05 Georg-Johann Lay <avr@gjlay.de>
315
316 * config/avr/avr.c (avr_replace_prefix): Remove.
317 (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
318 (avr_asm_function_rodata_section): Ditto.
319 (avr_asm_select_section): Ditto.
320
321 2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
322
323 * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
324 insertion.
325
326 2012-01-05 Jakub Jelinek <jakub@redhat.com>
327
328 PR bootstrap/51648
329 * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
330 calls that have any non-fake successor edges.
331
332 PR debug/51746
333 * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
334
335 2012-01-04 Eric Botcazou <ebotcazou@adacore.com>
336
337 PR tree-optimization/51624
338 * tree-sra.c (build_ref_for_model): When replicating a chain of
339 COMPONENT_REFs, stop as soon as the offset would become negative.
340
341 2012-01-04 Jakub Jelinek <jakub@redhat.com>
342
343 PR debug/51695
344 * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
345 in .debug_loc on the floor.
346
347 2012-01-04 Andrew Pinski <apinski@cavium.com>
348
349 * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
350
351 2012-01-04 Andrew Pinski <apinski@cavium.com>
352 Adam Nemet <anemet@caviumnetworks.com>
353
354 * config/mips/mips.md (size): Add SI and DI.
355 (SIZE): New mode attribute.
356 (U): New code attribute.
357 * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
358 (mips_lbux_<mode>): Delete.
359 (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
360 (mips_lhx): Use gen_mips_lhx_extsi.
361 (mips_lhx_<mode>): Delete.
362 (mips_lwx): Delete.
363 (mips_l<size>x): New expand.
364 (mips_lwx_<mode>): Delete.
365 (mips_l<GPR:size>x_<P:mode>): New pattern.
366 (*mips_lw<u>x_<P:mode>_ext): Likewise.
367 * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
368 * config/mips/mips.c (mips_lx_address_p): New function.
369 (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
370 (dsp64): New availability predicate.
371 (mips_builtins): Add an entry for __builtin_mips_ldx.
372 * config/mips/mips.h (ISA_HAS_LBX): New define.
373 (ISA_HAS_LBUX): Likewise.
374 (ISA_HAS_LHX): Likewise.
375 (ISA_HAS_LHUX): Likewise.
376 (ISA_HAS_LWX): Likewise.
377 (ISA_HAS_LWUX): Likewise.
378 (ISA_HAS_LDX): Likewise.
379 * doc/extend.texi (__builtin_mips_ldx): Document.
380
381 2012-01-04 Tristan Gingold <gingold@adacore.com>
382
383 * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
384 when long pointers are used.
385 * config.build (*-*-*vms*): Handle all OpenVMS targets.
386 (alpha64-dec-*vms*, alpha*-dec-*vms*)
387 (ia64-hp-*vms*): Remove.
388 * config/vms/xm-vms64.h: Delete.
389
390 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
391
392 PR middle-end/51472
393 * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
394
395 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
396
397 * opts.c (finish_options): Remove duplicate sorry.
398
399 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
400
401 PR middle-end/51696
402 * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
403 correctly.
404
405 2012-01-04 Richard Guenther <rguenther@suse.de>
406
407 PR middle-end/51750
408 * tree.c (size_low_cst): New function.
409 * tree.h (size_low_cst): Declare.
410 * fold-const.c (fold_comparison): Use it to extract the low
411 part of the POINTER_PLUS_EXPR offset.
412
413 2012-01-04 Georg-Johann Lay <avr@gjlay.de>
414
415 Fix clearing ZERO_REG
416 * config/avr/avr.md (cc): Add alternative "ldi".
417 (movqi_insn): Use it in cc attribute.
418 * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
419 (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
420 (output_reload_insisf): Use ZERO_REG to pre-clear register.
421
422 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
423
424 * configure: Regenerate.
425
426 2012-01-04 Richard Guenther <rguenther@suse.de>
427
428 PR tree-optimization/49651
429 * tree-ssa-structalias.c (type_can_have_subvars): New function.
430 (var_can_have_subvars): Use it.
431 (get_constraint_for_1): Only consider subfields if there can be any.
432
433 2012-01-03 Jakub Jelinek <jakub@redhat.com>
434
435 PR bootstrap/51725
436 * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
437 to its new canonical_cselib_val and the cselib_val was in
438 first_containing_mem chain, but the canonical_cselib_val was not,
439 add the latter into the chain.
440 (cselib_invalidate_mem): Compare canonical_cselib_val of
441 addr_list chain elt with v.
442
443 PR pch/51722
444 * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
445 dwarf2out_undef): Allocate e.info using ggc_strdup instead
446 of xstrdup.
447 (output_macinfo_op): Don't ggc_strdup fd->filename.
448 (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
449 then ggc_strdup it. Don't free inc->info or cur->info.
450 (output_macinfo): Don't free ref->info or file->info.
451
452 2012-01-03 Ira Rosen <irar@il.ibm.com>
453
454 PR tree-optimization/51269
455 * tree-vect-loop-manip.c (set_prologue_iterations): Make
456 first_niters a pointer.
457 (slpeel_tree_peel_loop_to_edge): Likewise.
458 (vect_do_peeling_for_loop_bound): Update call to
459 slpeel_tree_peel_loop_to_edge.
460 (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
461 here. Remove it from the parameters list.
462 (vect_do_peeling_for_alignment): Update calls and compute
463 wide_prolog_niters.
464
465 2012-01-03 Richard Guenther <rguenther@suse.de>
466
467 PR tree-optimization/51070
468 * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
469 Properly handle calls.
470
471 2012-01-03 Richard Guenther <rguenther@suse.de>
472
473 PR tree-optimization/51692
474 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
475 the LHS of allocation stmts.
476
477 2012-01-03 Olivier Hainque <hainque@adacore.com>
478
479 * system.h: Prior to #define, #undef fopen and freopen unconditionally.
480
481 2012-01-03 Olivier Hainque <hainque@adacore.com>
482
483 * collect2.c (main): In AIX specific computations for vector
484 insertions, use CONST_CAST2 to cast from char ** to const char **.
485
486 2012-01-03 Richard Guenther <rguenther@suse.de>
487
488 PR debug/51650
489 * dwarf2out.c (dwarf2out_finish): Always create a DIE for
490 the context of a limbo DIE when it does not already exist.
491
492 2012-01-03 Jakub Jelinek <jakub@redhat.com>
493
494 PR tree-optimization/51719
495 * value-prof.c (gimple_ic): When indirect call isn't noreturn,
496 but direct call is, clear direct call's lhs and don't add fallthrough
497 edge from dcall_bb to join_bb and PHIs.
498
499 2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
500
501 * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
502 the instructions emitted by the pattern.
503 ("*TDC_insn_<mode>"): Add comment.
504
505 2012-01-03 Richard Guenther <rguenther@suse.de>
506
507 PR middle-end/51730
508 * fold-const.c (fold_comparison): Properly canonicalize
509 tree offset and HOST_WIDE_INT bit position.
510
511 2012-01-02 Uros Bizjak <ubizjak@gmail.com>
512
513 * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
514 operands for extzv pattern.
515
516 2012-01-02 Jakub Jelinek <jakub@redhat.com>
517
518 PR bootstrap/51725
519 * cselib.c (add_mem_for_addr): Call canonical_cselib_val
520 on mem_elt first.
521
522 2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
523
524 * doc/invoke.texi (-flto and related options): Copy-edit.
525
526 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
527
528 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
529
530 2012-01-02 Jakub Jelinek <jakub@redhat.com>
531
532 * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
533 New patterns.
534
535 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
536
537 * expr.h (move_by_pieces_ninsns): Declare.
538 * expr.c (move_by_pieces_ninsns): Make external.
539 * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
540 (mips_store_by_pieces_p): Likewise.
541 * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
542 (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
543 * config/mips/mips.c (mips_move_by_pieces_p): New function.
544 (mips_store_by_pieces_p): Likewise.
545
546 2012-01-02 Jakub Jelinek <jakub@redhat.com>
547
548 * passes.c (register_one_dump_file): Free full_name.
549
550 * reload1.c (reload): Don't allocate reg_max_ref_width here.
551 (calculate_elim_costs_all_insns): Free offsets_at and
552 offsets_known_at at the end and clear the pointers.
553
554 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
555
556 * config/avr/avr.opt (-mbranch-cost): Fix double definition of
557 this option introduced in r180739.
558
559 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
560
561 PR target/51345
562 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
563 (tmake_file target=avr): Add avr/t-multilib.
564
565 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
566 to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
567 * config/avr/genmultilib.awk: New file.
568 * config/avr/t-multilib: New auto-generated file.
569 * config/avr/multilib.h: New auto-generated file.
570 * config/avr/t-avr (AVR_MCUS): New variable.
571 (genopt.sh): Use it.
572 (s-mlib): Depend on t-multilib.
573 (t-multilib, multilib.h): New dependencies.
574 (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
575 (MULTILIB_OPTIONS): Remove.
576 (MULTILIB_MATCHES): Remove.
577 (MULTILIB_DIRNAMES): Remove.
578 (MULTILIB_EXCEPTIONS): Remove:
579 * config/avr/genopt.sh: Don't use hard coded file name;
580 pass AVR_MCUS from t-avr instead.
581
582 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
583
584 * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
585
586 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
587
588 Implement light-weight DImode support.
589 * config/avr/avr-dimode.md: New file.
590 * config/avr/avr.md: Include it.
591 (adjust_len): Add plus64, compare64.
592 (HIDI): Remove code iterator.
593 (code_stdname): New code attribute.
594 (rotx, rotsmode): Remove DI.
595 (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
596 as code iterator.
597 * config/avr/avr-protos.h (avr_have_dimode): New.
598 (avr_out_plus64, avr_out_compare64): New.
599 * config/avr/avr.c (avr_out_compare): Handle DImode.
600 (avr_have_dimode): New variable definition and initialization.
601 (avr_out_compare64, avr_out_plus64): New functions.
602 (avr_out_plus_1): Use simplify_unary_operation to negate xval.
603 (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
604 (avr_compare_pattern): Skip DImode comparisons.
605
606 2012-01-02 Revital Eres <revital.eres@linaro.org>
607
608 * ddg.c (def_has_ccmode_p): New function.
609 (add_cross_iteration_register_deps,
610 create_ddg_dep_from_intra_loop_link): Call it.
611
612 2012-01-02 Richard Guenther <rguenther@suse.de>
613
614 PR other/51679
615 * invoke.texi (fassociative-math): Remove spurious paranthesis.
616
617 2012-01-01 Jakub Jelinek <jakub@redhat.com>
618
619 * gcc.c (process_command): Update copyright notice dates.
620 * gcov.c (print_version): Likewise.
621 * gcov-dump.c (print_version): Likewise.
622 * mips-tfile.c (main): Likewise.
623 * mips-tdump.c (main): Likewise.
624
625 2012-01-01 Ira Rosen <irar@il.ibm.com>
626
627 PR tree-optimization/51704
628 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
629 a use is inside the basic block or loop before accessing its vect info.
630
631 2012-01-01 Jan Hubicka <jhjh@suse.cz>
632
633 PR rtl-optimization/51069
634 * cfgloopmanip.c (remove_path): Removing path making irreducible
635 region unconditional makes BB part of the region.
636
637 2012-01-01 Jakub Jelinek <jakub@redhat.com>
638
639 PR tree-optimization/51683
640 * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
641 calls with side-effects.
642 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
643 \f
644 Copyright (C) 2012 Free Software Foundation, Inc.
645
646 Copying and distribution of this file, with or without modification,
647 are permitted in any medium without royalty provided the copyright
648 notice and this notice are preserved.