OSDN Git Service

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