OSDN Git Service

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