OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [ChangeLog] - Blame information for rev 826

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 280 jeremybenn
2010-07-31  Release Manager
2
 
3
        * GCC 4.5.1 released.
4
 
5
2010-07-30  Ramana Radhakrishnan  
6
 
7
        Backport from mainline.
8
        2010-07-22  Ramana Radhakrishnan  
9
 
10
        PR target/43698
11
        * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
12
        Set *arm_rev to be predicable.
13
 
14
2010-07-27  Nick Clifton  
15
 
16
        * Import this patch from the mainline:
17
 
18
        2010-06-30  Nick Clifton  
19
 
20
        * config/rx/rx-modes.def: New file.
21
        * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
22
        (CC_REGNUM): Define.
23
        (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
24
        register.
25
        (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
26
        (SELECT_CC_MODE): Define.
27
        * config/rx/rx.md (CC_REG): Define.  Update all patterns to use
28
        (reg:CC CC_REG) instead of (cc0).
29
        (attr "cc"): Delete.
30
        (cbranchsi4): Do not split compare and branch here. Instead move
31
        it to...
32
        (cbranchsi4_): ... here.  New patterns.
33
        (cmpsi): Call rx-compare_redundant to find out if it is necessary
34
        to emit the compare instruction.
35
        * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
36
        cc_status flags.
37
        (rx_get_stack_layout): Iterate up to before CC_REGNUM not
38
        FIRST_PSEUDO_REGNUM.
39
        (rx_expand_prologue, rx_expand_epilogue): Likewise.
40
        (rx_notice_update_cc): Delete.
41
        (rx_cc_modes_compatible): New function.
42
        (flags_needed_for_conditional): New function.
43
        (flags_from_mode): New function.
44
        (rx_compare_redundant): New function - scans backwards through
45
        insn list to find out if condition flags are already set correctly.
46
        (TARGET_CC_MODES_COMPATIBLE): Define.
47
        * config/rx/rx-protos.h (rx_compare_redundant): Prototype.
48
 
49
        * config/rx/rx.h (BRANCH_COST): Define.
50
        (REGISTER_MOVE_COST): Define.
51
        * config/rx/predicates (rx_source_operand): Allow all constant types.
52
        * config/rx/rx.md (addsi3): Add alternative for swapped operands.
53
        (tstsi4): New pattern.
54
        * config/rx/rx.c (rx_memory_move_cost): Define.
55
        (TARGET_MEMORY_MOVE_COST): Define.
56
 
57
2010-07-23  Jakub Jelinek  
58
            Richard Guenther  
59
 
60
        PR tree-optimization/45047
61
        * tree-vect-stmts.c (vectorizable_assignment): Return false
62
        if vectype_out is NULL for conversion statement.
63
 
64
2010-07-22  Jakub Jelinek  
65
 
66
        PR debug/45015
67
        * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
68
        ASM_OPERANDS_OUTPUT_IDX.
69
        (adjust_insn): For inline asm with multiple sets ensure first
70
        ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
71
        the insn.
72
 
73
        Backport from mainline
74
        2010-07-16  Jakub Jelinek  
75
 
76
        PR target/44942
77
        * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
78
        argument to const_tree.
79
        * config/i386/i386.c (function_arg_advance): If padding needs to be
80
        inserted before argument, increment cum->words by number of padding
81
        words as well.
82
        (contains_aligned_value_p): Change argument to const_tree.
83
        (ix86_function_arg_boundary): Change second argument to const_tree.
84
 
85
2010-07-21  Martin Jambor  
86
 
87
        PR tree-optimization/44900
88
        * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
89
        (sra_modify_assign): Move gsi to the next statmenent unconditionally.
90
 
91
2010-07-21  Rainer Orth  
92
 
93
        Backport from mainline:
94
        2010-07-19  Rainer Orth  
95
 
96
        * doc/sourcebuild.texi (Effective-Target Keywords): Document
97
        sse_runtime, sse2_runtime.
98
 
99
2010-07-20  Richard Guenther  
100
 
101
        PR tree-optimization/44977
102
        * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
103
        SSA form.
104
 
105
2010-07-19  Bingfeng Mei  
106
 
107
        * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
108
        of a loop.
109
        * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
110
 
111
2010-07-15  Jie Zhang  
112
 
113
        * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
114
        cortex_a8_issue_ls.
115
 
116
2010-07-14  Jie Zhang  
117
 
118
        * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
119
        cortex_a8_default when neon_type is not none.
120
 
121
2010-07-14  Rainer Orth  
122
 
123
        Backport from mainline:
124
        2010-07-12  Rainer Orth  
125
 
126
        * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
127
        ix86_solaris_return_in_memory.
128
        * config/i386-protos.h: Reflect this.
129
        * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
130
        * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
131
        Move ...
132
        * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
133
 
134
2010-07-14  Rainer Orth  
135
 
136
        Backport from mainline:
137
        2010-07-12  Rainer Orth  
138
 
139
        * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
140
        pentiumpro on Solaris 8 and 9/x86.
141
        * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
142
        Document SSE/SSE2 support.
143
        * doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
144
 
145
2010-07-13  Rainer Orth  
146
 
147
        * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
148
        explanation.
149
        Find ucontext_t * on Solaris 11.
150
        (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
151
        Handle new Solaris 11 __sighndlr patterns.
152
 
153
2010-07-13  Rainer Orth  
154
 
155
        Backport from mainline:
156
        2010-07-12  Rainer Orth  
157
 
158
        PR pch/14940
159
        * config/host-solaris.c (mmap_fixed): New function.
160
        (sol_gt_pch_get_address): Use it.
161
        (sol_gt_pch_use_address): Likewise.
162
 
163
2010-07-12  Jie Zhang  
164
 
165
        * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
166
        align the stack when it's going to be saved.
167
 
168
2010-07-11  Kai Tietz  
169
 
170
        Merged back from trunk
171
        * config/i386/winnt.c (i386_pe_file_end): Quote symbol name
172
        in directive -export.
173
 
174
2010-07-09  Richard Guenther  
175
 
176
        PR tree-optimization/44886
177
        * tree-vect-stmts.c (vectorizable_assignment): Fixup backport
178
        of the fix for PR44284.
179
 
180
2010-07-09  Richard Guenther  
181
 
182
        Backport from mainline
183
        2010-05-28  Nathan Froyd  
184
 
185
        * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
186
        build1_stat.
187
 
188
2010-07-09  Dave Korn  
189
 
190
        Backport from mainline
191
        2010-05-06  Dave Korn  
192
 
193
        PR target/43888
194
        * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
195
        handling to still return true for x64 targets.
196
 
197
2010-07-08  Richard Guenther  
198
 
199
        Backport from mainline
200
        2010-05-27  Richard Guenther  
201
 
202
        PR tree-optimization/44284
203
        * tree-vect-stmts.c (vectorizable_assignment): Handle
204
        sign-changing conversions as simple copy.
205
 
206
        2010-07-06  Richard Guenther  
207
 
208
        PR middle-end/44828
209
        * convert.c (convert_to_integer): Watch out for overflowing
210
        MULT_EXPR as well.
211
 
212
2010-07-07  Duncan Sands  
213
 
214
        PR middle-end/41355
215
        * tree.c (build_function_type_skip_args): Copy the original type using
216
        build_distinct_type_copy rather than copy_node.
217
 
218
2010-07-06  Alexandre Oliva  
219
 
220
        * doc/gimple.texi (GIMPLE_DEBUG): Document.
221
        * doc/rtl.texi (Debug Information): New node.
222
        (NOTE_INSN_VAR_LOCATION): Document.
223
        (debug_insn): Likewise.
224
        * doc/generic.texi (DEBUG_EXPR_DECL): Document.
225
 
226
2010-07-05  Kaz Kojima  
227
 
228
        Backport from mainline:
229
        PR target/44531
230
        * config.gcc (sh*-*-*): Use regular expressions instead of
231
        the 'i' modifier for sed substitutions.
232
 
233
2010-07-05  Mikael Pettersson  
234
 
235
        PR bootstrap/44820
236
        * config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
237
 
238
2010-07-05  Jie Zhang  
239
 
240
        * config/arm/arm.c (arm_attr_length_move_neon): New.
241
        * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
242
        * config/arm/neon.md (define_mode_attr V_slen): Remove.
243
        (neon_mov for VSTRUCT): Use arm_attr_length_move_neon
244
        to compute length attribute.
245
 
246
2010-07-05  Jie Zhang  
247
 
248
        * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
249
        as predicate for operand 1 and remove its constraint.
250
        * config/arm/predicates.md (vfp_register_operand): New.
251
        * config/arm/arm.md (*push_multi): Remove the constraint of
252
        operand 1.
253
        (*push_fp_multi): Likewise.
254
 
255
2010-07-03  John David Anglin  
256
 
257
        PR target/44597
258
        * config/pa/predicates.md (prefetch_cc_operand): Remove.
259
        (prefetch_nocc_operand): Likewise.
260
        * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
261
        (prefetch_20): New insn.
262
        (prefetch_cc): Remove.
263
        (prefetch_nocc): Likewise.
264
 
265
        PR target/44705
266
        * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
267
 
268
2010-07-02  Richard Guenther  
269
 
270
        PR middle-end/44777
271
        * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
272
 
273
2010-07-01  Jakub Jelinek  
274
 
275
        PR debug/44694
276
        * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
277
        or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
278
 
279
2010-07-01  Jakub Jelinek  
280
 
281
        Backport from mainline
282
        2010-06-29  Jakub Jelinek  
283
 
284
        PR tree-optimization/43801
285
        * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
286
        if old_decl was DECL_ONE_ONLY.
287
 
288
        2010-06-21  Jakub Jelinek  
289
 
290
        PR target/44575
291
        * config/i386/i386.c (ix86_gimplify_va_arg): When copying
292
        va_arg from a set of register save slots into a temporary,
293
        if the container is bigger than type size, do the copying
294
        using smaller mode or using memcpy.
295
 
296
        2010-05-13  Jakub Jelinek  
297
 
298
        PR debug/44104
299
        * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
300
        if it is NULL.
301
 
302
2010-06-30  Jan Hubicka  
303
 
304
        Backport from mainline
305
        2010-06-27  Jan Hubicka  
306
 
307
        PR middle-end/44671
308
        PR middle-end/44686
309
        * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
310
        signature change.
311
        * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
312
        * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
313
 
314
        2010-06-28  Jan Hubicka  
315
 
316
        PR tree-optimization/44357
317
        * ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable
318
        functions.
319
 
320
2010-06-30  Jakub Jelinek  
321
 
322
        Backport from mainline
323
        2010-06-30  Jakub Jelinek  
324
 
325
        PR debug/44694
326
        * cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
327
        * cselib.c (cfa_base_preserved_regno): New static variable.
328
        (cselib_reset_table): Don't reset cfa_base_preserved_regno instead
329
        of REGNO (cfa_base_preserved_val->locs->loc).
330
        (cselib_preserve_cfa_base_value): Add regno argument, set
331
        cfa_base_preserved_regno to it.
332
        (cselib_invalidate_regno): Allow removal of registers other than
333
        cfa_base_preserved_regno from cfa_base_preserved_val.
334
        (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
335
        * var-tracking.c (adjust_mems): Replace sp or hfp even outside
336
        of MEM addresses, if not on LHS.
337
        (reverse_op): Don't add reverse ops for cfa_base_rtx.
338
        (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
339
 
340
        2010-06-25  Jakub Jelinek  
341
 
342
        PR middle-end/43866
343
        * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
344
        true or always false, return NULL_TREE.
345
        (tree_unswitch_single_loop): Optimize conditions even when reaching
346
        max-unswitch-level parameter.  If num > 0, optimize first all conditions
347
        using entry checks, then do still reachable block discovery and consider
348
        only conditions in still reachable basic blocks in the loop.
349
 
350
        2010-05-12  Jakub Jelinek  
351
 
352
        PR debug/42278
353
        * dwarf2out.c (base_type_die): Don't add name attribute here.
354
        (modified_type_die): Instead of sizetype use
355
        its underlying original type.  If a DW_TAG_base_type doesn't
356
        have name added, add __unknown__.
357
        (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
358
        always call force_type_die instead.
359
 
360
        2010-05-11  Jakub Jelinek  
361
 
362
        PR c++/44059
363
        * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
364
        even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
365
        * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
366
        * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
367
        on DW.ref.* decls.
368
 
369
2010-06-30  Martin Jambor  
370
 
371
        PR tree-optimization/43905
372
        * tree-sra.c (encountered_recursive_call): Removed with all its uses.
373
        (convert_callers): Do not handle recursive calls specially.
374
        (create_abstract_origin): Removed.
375
        (modify_function): Version the call graph node instead of creating
376
        abstract origins and dealing with same_body aliases.
377
        (ipa_sra_preliminary_function_checks): Check whether the function
378
        is versionable.
379
        * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
380
 
381
2010-06-30  Martin Jambor  
382
 
383
        Backport from mainline
384
        2010-05-29  Jan Hubicka  
385
 
386
        * cgraph.c (clone_function_name): Made public.
387
        * cgraph.h (clone_function_name): Declare.
388
        * cgraphunit.c (cgraph_function_versioning): Produce new name.
389
 
390
2010-06-29  Martin Jambor  
391
 
392
        Backport from mainline
393
        2010-05-17  Martin Jambor  
394
 
395
        PR middle-end/44133
396
        * tree-sra.c (create_access_replacement): New parameter rename, mark
397
        the replaement for renaming only when it is true.
398
        (get_access_replacement): Pass true in the rename parameter of
399
        create_access_replacement.
400
        (get_unrenamed_access_replacement): New function.
401
        (replace_uses_with_default_def_ssa_name): New parameter racc, get the
402
        replacement declaration from it.
403
 
404
2010-06-29  Martin Jambor  
405
 
406
        Backport from mainline
407
        2010-04-13  Martin Jambor  
408
 
409
        * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
410
        (sra_modify_assign): Delete stmts loading dead data even if racc has no
411
        children.  Call replace_uses_with_default_def_ssa_name to handle
412
        SSA_NAES on lhs.
413
 
414
2010-06-27  Jan Hubicka  
415
 
416
        Backport inliner heruistic fixes from mainline
417
        2010-05-27  Jan Hubicka  
418
 
419
        * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
420
        (update_caller_keys): Return early if there are no callers;
421
        only update fibheap when decresing the key.
422
        (update_callee_keys): Avoid recursion.
423
        (decide_inlining_of_small_functions): When badness does not match;
424
        re-insert into fibheap.
425
 
426
        2010-05-11  Jan Hubicka  
427
 
428
        PR tree-optimize/44063
429
        * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
430
        queue.
431
 
432
        2010-04-13  Jan Hubicka  
433
 
434
        * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
435
        of optimized out static functions.
436
        (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
437
        cost computation.  Also sanity check for overflows.
438
        (update_caller_keys): Update cgraph_edge_badness call; properly
439
        update fibheap and sanity check that it is up to date.
440
        (add_new_edges_to_heap): Update cgraph_edge_badness.
441
        (cgraph_decide_inlining_of_small_function): Likewise;
442
        add sanity checking that badness in heap is up to date;
443
        improve dumping of reason; Update badness of calls to the
444
        offline copy of function currently inlined; dump badness
445
        of functions not inlined because of unit growth limits.
446
 
447
2010-06-27  Richard Guenther  
448
 
449
        PR tree-optimization/44683
450
        * tree-ssa-dom.c (record_edge_info): Record equivalences for the
451
        false edge from the inverted condition.
452
 
453
2010-06-27  Eric Botcazou  
454
 
455
        Backport from mainline
456
        2010-05-18  Vladimir Makarov  
457
 
458
        PR rtl-optimization/43332
459
        * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
460
 
461
2010-06-27  Richard Guenther  
462
 
463
        PR middle-end/44684
464
        * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
465
        (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
466
        for register LHS.  Or non-store assignments.
467
 
468
2010-06-26  Richard Guenther  
469
 
470
        PR tree-optimization/44393
471
        * tree-loop-distribution.c (generate_loops_for_partition): Fix
472
        stmt removal and VOP renaming.
473
        (generate_memset_zero): Remove redundant stmt updating.
474
        * tree-flow.h (mark_virtual_ops_in_bb): Remove.
475
        * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
476
 
477
2010-06-26  Richard Guenther  
478
 
479
        PR middle-end/44674
480
        * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
481
        decls.  Handle LABEL_DECLs like FUNCTION_DECLs.
482
 
483
2010-06-25  Alexandre Oliva  
484
 
485
        PR debug/44610
486
        * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
487
        address if the offset is unknown.
488
 
489
2010-06-25  Richard Guenther  
490
 
491
        Backport from mainline
492
        2010-06-16  Richard Guenther  
493
 
494
        PR c/44555
495
        * c-common.c (c_common_truthvalue_conversion): Remove
496
        premature and wrong optimization concering ADDR_EXPRs.
497
 
498
2010-06-24  Steven Bosscher  
499
 
500
        Backport from mainline:
501
        2010-05-18  Steven Bosscher  
502
 
503
        * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
504
        lto-macho as lto_binary_reader.
505
        * target.h (struct gcc_target): New hooks lto_start and lto_end.
506
        * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
507
        * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
508
        in lto_start and lto_end calls.
509
        (is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
510
        magic numbers.
511
        (scan_prog_file): Update is_elf_or_coff call.
512
        * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
513
 
514
        * collect2.c (main): Fix enum comparison.
515
 
516
        * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
517
        Add prototypes.
518
        * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
519
        * darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
520
        and TARGET_ASM_LTO_END.
521
        * darwin.c: Include obstack.h and lto-streamer.h.
522
        (lto_section_names_offset, lto_section_names_obstack,
523
        lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
524
        global variables.
525
        (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
526
        (darwin_asm_lto_start): New function.  Redirect output to asm_out_file
527
        to a temporary file.
528
        (darwin_asm_lto_end): New function.  Restore asm_out_file.
529
        (darwin_asm_named_section): For LTO sections, replace the name with
530
        the offset of the section name in a string table, and build this
531
        table.
532
        (darwin_file_start): Initialize global vars for LTO support.
533
        (darwin_file_end): If output to asm_out_file was redirected, append it
534
        to the proper asm_out_file here.  Add the section names section.
535
 
536
        Backport from mainline:
537
        2010-05-18  Steven Bosscher  
538
 
539
        * darwin.c (darwin_asm_named_section): Do not add assembler comment
540
        after .section directive; just print it before the directive
541
        instead.
542
 
543
2010-06-22  Eric Botcazou  
544
 
545
        * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
546
        new statement and adjust VDEF only if necessary.  Remove superfluous
547
        call to maybe_clean_or_replace_eh_stmt.
548
        * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
549
        copy the flags.
550
        * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
551
        * tree-inline.c (copy_bb): ...and not there.
552
 
553
2010-06-22  H.J. Lu  
554
 
555
        Backport from mainline
556
        2010-06-22  H.J. Lu  
557
 
558
        * config/i386/i386.md (unit): Also check sseishft1.
559
 
560
2010-06-21  John David Anglin  
561
 
562
        PR target/39690
563
        * config/pa/pa.c (override_options): Disable
564
        -freorder-blocks-and-partition.
565
 
566
2010-06-21  H.J. Lu  
567
 
568
        Backport from mainline
569
        2010-06-21  H.J. Lu  
570
 
571
        PR target/44615
572
        * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
573
 
574
        * config/i386/i386.md (type): Add sseishft1
575
 
576
        * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
577
        (ppro_insn_load): Likewise.
578
        (ppro_insn_store): Likewise.
579
        (ppro_insn_both): Likewise.
580
 
581
        * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
582
        (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
583
        for type.
584
        (*vec_extractv2di_1_avx): Likewise.
585
        (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
586
        type.  Remove atom_unit.
587
        (*vec_extractv2di_1_sse2): Likewise.
588
 
589
2010-06-21  Jakub Jelinek  
590
 
591
        PR bootstrap/44426
592
        * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
593
        prototype.
594
        (sel_print_to_dot): Remove macro.
595
        (sel_print): Likewise.  New prototype.
596
        * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
597
        (sel_print): New function.
598
 
599
2010-06-21  Uros Bizjak  
600
 
601
        PR target/44546
602
        * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
603
        New predicate.
604
        * config/i386/i386.md (*fp_jcc_8_387 and splitters): Use
605
        ix86_swapped_fp_comparsion_operator instead of
606
        ix86_fp_comparison_operator.
607
 
608
        (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
609
        (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
610
        (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
611
        (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
612
        (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
613
        (*fp_jcc_4__387): Rename from *fp_jcc_8_387.
614
 
615
2010-06-19  John David Anglin  
616
 
617
        Backport from mainline
618
        2010-05-29  John David Anglin  
619
 
620
        PR target/44261
621
        * config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
622
        (negdf2): Adjust expander pattern and use negdf2_slow.
623
        (negsf2): Likewise.
624
 
625
2010-06-17  John David Anglin  
626
 
627
        PR target/43740
628
        * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
629
        for SET source operand from SET destination operand.
630
 
631
2010-06-16  Martin Jambor  
632
 
633
        PR lto/44464
634
        * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
635
        on the newly dead SSA name.
636
 
637
2010-06-15  Eric Botcazou  
638
 
639
        Backport from mainline
640
        2010-06-09  Eric Botcazou  
641
 
642
        PR rtl-optimization/42461
643
        * dce.c (deletable_insn_p): Return true for const or pure calls again.
644
        * except.c (insn_could_throw_p): Return false if !flag_exceptions.
645
 
646
2010-06-15  Eric Botcazou  
647
 
648
        Backport from mainline
649
        2010-06-11  Sandra Loosemore  
650
 
651
        * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
652
        computed cost.
653
 
654
2010-06-15  Jakub Jelinek  
655
 
656
        PR fortran/44536
657
        * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
658
        * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
659
        (LANG_HOOKS_DECLS): Add it.
660
        * gimplify.c (omp_notice_variable): Call
661
        lang_hooks.decls.omp_report_decl.
662
 
663
2010-06-15  Martin Jambor  
664
 
665
        PR tree-optimization/44258
666
        * tree-sra.c (build_access_subtree): Return false iff there is a
667
        partial overlap.
668
        (build_access_trees): Likewise.
669
        (analyze_all_variable_accesses): Disqualify candidates if
670
        build_access_trees returns true for them.
671
 
672
2010-06-15  Martin Jambor  
673
 
674
        PR tree-optimization/44423
675
        * tree-sra.c (dump_access): Dump also grp_assignment_read.
676
        (analyze_access_subtree): Pass negative allow_replacements to children
677
        if the current type is scalar.
678
 
679
2010-06-14  Andreas Schwab  
680
 
681
        Backport from mainline
682
        * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
683
        anything if the argument is not a MEM.
684
 
685
2010-06-14  H.J. Lu  
686
 
687
        Backport from mainline
688
        2010-06-14  H.J. Lu  
689
 
690
        PR target/44534
691
        * config/i386/sse.md (vec_extract_lo_): Replace 0x1 with 0x0.
692
        (vec_extract_lo_v16hi): Likewise.
693
        (vec_extract_lo_v32qi): Likewise.
694
 
695
2010-06-14  Jakub Jelinek  
696
 
697
        PR bootstrap/44426
698
        * tree.h (build_call_expr): Don't define as vararg macro, instead
699
        add a prototype.
700
        * builtins.c (build_call_nofold): Remove.
701
        (expand_builtin_int_roundingfn, expand_builtin_pow,
702
        expand_builtin_mempcpy_args, expand_builtin_stpcpy,
703
        expand_builtin_memset_args, expand_builtin_strcmp,
704
        expand_builtin_strncmp, expand_builtin_memory_chk): Use
705
        build_call_nofold_loc instead of build_call_nofold.
706
        (build_call_expr): New function.
707
 
708
        PR tree-optimization/44508
709
        * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
710
        * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
711
        don't eliminate trivially dead stmts.
712
        * tree-vrp.c (vrp_finalize): Pass false as last argument
713
        to substitute_and_fold.
714
        * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
715
        to substitute_and_fold.
716
        * tree-ssa-ccp.c (ccp_finalize): Likewise.
717
 
718
2010-06-14  Ira Rosen  
719
 
720
        PR tree-optimization/44507
721
        * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
722
        to build initial vector for BIT_AND_EXPR.
723
 
724
2010-06-14  Dave Korn  
725
 
726
        Backport from mainline:
727
        2010-04-27  Dave Korn  
728
 
729
        PR lto/42776
730
        * configure.ac (gcc_cv_as_section_has_align): Set if installed
731
        binutils supports extended .section directive needed by LTO, or
732
        warn if older binutils found.
733
        (LTO_BINARY_READER): New AC_SUBST'd variable.
734
        (LTO_USE_LIBELF): Likewise.
735
        * config.gcc (lto_binary_reader): New target-specific configure
736
        variable.
737
        * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
738
        (LTO_USE_LIBELF): Likewise.
739
        * configure: Regenerate.
740
        * collect2.c (is_elf): Rename from this ...
741
        (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
742
         object files in addition to ELF-formatted ones.
743
        (scan_prog_file): Caller updated.  Also allow for LTO info marker
744
        symbol to be prefixed or not by an extra underscore.
745
        * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
746
        * config/i386/winnt.c: Also #include lto-streamer.h
747
        (i386_pe_asm_named_section): Specify 1-byte section alignment for
748
        LTO named sections.
749
        (i386_pe_asm_output_aligned_decl_common): Add comment.
750
        (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
751
 
752
2010-06-12  Uros Bizjak  
753
 
754
        PR target/44481
755
        * config/i386/i386.md (UNSPEC_PARITY): New unspec.
756
        (paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX.
757
        (partiysi2_cmp): Ditto.
758
        (*partiyhi2_cmp): Ditto.
759
        (*parityqi2_cmp): Remove.
760
 
761
2010-06-10  Alexandre Oliva  
762
 
763
        PR debug/41371
764
        * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
765
        tail-recurse into canonical node.  Fast-forward over
766
        non-canonical VALUEs.
767
 
768
2010-06-10  Jan Beulich  
769
 
770
        PR bootstrap/37304
771
        * configure.ac: Replace $() with ${} when intending to expand
772
        variables rather than invoking commands.
773
        * configure: Re-generate.
774
 
775
2010-06-09  Dave Korn  
776
 
777
        * opts-common.c (prune_options): Ensure replacement argv array
778
        is correctly terminated by a NULL entry.
779
 
780
2010-06-09  Iain Sandoe  
781
 
782
        Backport from mainline:
783
        2010-04-28  Mike Stump  
784
        * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for
785
        now.
786
 
787
2010-06-09  Iain Sandoe  
788
 
789
        Backport from mainline:
790
        2010-05-28  Iain Sandoe  
791
        * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
792
 
793
2010-06-09  Edmar Wienskoski  
794
 
795
        PR target/44067
796
        * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
797
        e500v2 target.
798
 
799
2010-06-08  Uros Bizjak  
800
 
801
        * config/i386/i386.md (*movsi_1) : Use %a modifier
802
        to output operand 1.
803
        (ashift_zext lea splitter): Use DImode for multiplication.
804
 
805
        * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
806
        to generate addition.
807
 
808
2010-06-07  Rainer Orth  
809
 
810
        * doc/sourcebuild.texi (Effective-Target Keywords, Other
811
        attributes): Document gas.
812
 
813
2010-06-07  Rainer Orth  
814
 
815
        Backport from mainline:
816
        2010-06-02  Rainer Orth  
817
 
818
        * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
819
        linker emulations.
820
        * configure: Regenerate.
821
        * config.in: Regenerate.
822
 
823
        * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
824
        (X86_64_EMULATION): Define.
825
        (TARGET_LD_EMULATION): Use them.
826
 
827
        * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
828
        (SPARC64_EMULATION): Define.
829
        (LINK_ARCH_SPEC): Use them.
830
 
831
2010-06-07  Kai Tietz  
832
 
833
        Backport from mainline:
834
        * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
835
        argument for fprintf.
836
        (ix86_output_addr_diff_elt): Likewise.
837
        (x86_function_profiler): Likewise.
838
        * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
839
        (LPREFIX): Likewise.
840
        (ASM_GENERATE_INTERNAL_LABEL): Likewise.
841
 
842
2010-06-04  Alexandre Oliva  
843
 
844
        PR debug/41371
845
        * var-tracking.c (find_loc_in_1pdv): Mark initial value before
846
        recursing.  Check that recursion is bounded.  Rename inner var
847
        to avoid hiding incoming argument.
848
 
849
2010-06-04  Rainer Orth  
850
 
851
        Backport from mainline:
852
        2010-04-16  Rainer Orth  
853
 
854
        * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
855
        * configure: Regenerate.
856
        * config.in: Regenerate.
857
        * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
858
        works.
859
 
860
        2010-04-19  Richard Guenther  
861
 
862
        * configure.ac: Fix quoting around elf_getshstrndx ABI check.
863
        * configure: Re-generated.
864
 
865
2010-06-04  Uros Bizjak  
866
 
867
        * config/i386/i386.md (*addqi_4): Check for incdec_operand in QImode.
868
 
869
2010-06-04  Richard Guenther  
870
 
871
        Backport from mainline:
872
        2010-05-25  Jakub Jelinek  
873
 
874
        PR debug/41371
875
        * var-tracking.c (find_loc_in_1pdv): Guard asserts with
876
        ENABLE_CHECKING.
877
        (intersect_loc_chains): Walk the s2var's loc_chain together
878
        with s1node chain as long as the locations are equal, don't
879
        call find_loc_in_1pdv in that case.
880
 
881
        2010-05-18  Jakub Jelinek  
882
 
883
        PR debug/41371
884
        * var-tracking.c (find_loc_in_1pdv): Add a few checks from
885
        rtx_equal_p inline.
886
 
887
2010-06-04  Alan Modra  
888
 
889
        PR target/44075
890
        * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
891
        fields for better packing.  Add lr_save_state.
892
        (rs6000_ra_ever_killed): Return lr_save_state if set.
893
        (rs6000_emit_eh_reg_restore): Set lr_save_state.
894
 
895
2010-06-03  Richard Guenther  
896
 
897
        Backport from mainline:
898
        2010-05-10  Richard Guenther  
899
 
900
        * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
901
        marked if the entry identifier is marked.
902
 
903
2010-06-03  Richard Guenther  
904
 
905
        Backport from mainline:
906
        2010-05-16  Richard Guenther  
907
 
908
        * var-tracking.c (vars_copy_1): Inline ...
909
        (vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
910
        (variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
911
        (variable_merge_over_cur): Adjust.  Merge asserts.
912
        (variable_merge_over_src): Likewise.
913
        (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
914
        (variable_post_merge_new_vals): Merge asserts.
915
        (variable_post_merge_perm_vals): Likewise.
916
        (find_mem_expr_in_1pdv): Likewise.
917
        (dataflow_set_different_value): Remove.
918
        (onepart_variable_different_p): Merge asserts.
919
        (variable_different_p): Likewise.
920
        (dataflow_set_different_1): Inline ...
921
        (dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
922
        (emit_notes_for_differences_1): Merge asserts.
923
 
924
2010-06-03  Jan Hubicka  
925
            Jakub Jelinek  
926
 
927
        * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
928
        set->regs[i] is NULL or has just one entry.
929
 
930
2010-06-03  Alan Modra  
931
 
932
        PR target/44169
933
        * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
934
        * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
935
        rtx to gen_load_toc_v4_PIC_1b.  Tidy.
936
        (rs6000_emit_load_toc_table): Likewise.
937
 
938
2010-06-02  Richard Guenther  
939
 
940
        * lto-streamer-in.c (input_gimple_stmt): Fix typo.
941
 
942
2010-06-02  Richard Guenther  
943
 
944
        Backport from mainline:
945
        2010-05-27  Jan Hubicka  
946
 
947
        * sched-ebb.c: Rename struct deps to struct deps_desc.
948
        * ddg.c: Likewise.
949
        * sel-sched-ir.c: Likewise.
950
        * sched-deps.c: Likewise.
951
        * sched-int.h: Likewise.
952
        * sched-rgn.c: Likewise.
953
 
954
2010-06-02  Andreas Krebbel  
955
 
956
        * config/s390/2097.md (z10_fhex): Remove insn reservation.
957
        * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
958
        (*mov_64 TD_TF, *mov_31 TD_TF, *mov_64dfp DD_DF,
959
        *mov_64 DD_DF, *mov_31, mov): Remove load zero
960
        instruction.
961
        * config/s390/s390.c: Don't accept fp zeros as valid constants
962
        anymore.
963
 
964
2010-05-31  Jakub Jelinek  
965
 
966
        PR target/44338
967
        * config/i386/sse.md (fma4i_fmadd4256, fma4i_fmsub4256,
968
        fma4i_fnmadd4256, fma4i_fnmsub4256, fma4i_fmadd4,
969
        fma4i_fmsub4, fma4i_fnmadd4, fma4i_fnmsub4,
970
        fma4i_vmfmadd4, fma4i_vmfmsub4, fma4i_vmfnmadd4,
971
        fma4i_vmfnmsub4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
972
        fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
973
        fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
974
        Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
975
        TARGET_FUSED_MADD.
976
 
977
        PR middle-end/44337
978
        * expr.c (expand_assignment): Don't store anything for out-of-bounds
979
        array accesses with non-MEM.
980
 
981
        PR tree-optimization/44182
982
        * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
983
        newly needs to end a bb is followed by debug stmts, instead return
984
        true from the function at the end.
985
        (maybe_move_debug_stmts_to_successors): New function.
986
        (copy_cfg_body): Call it if copy_edges_for_bb returned true.
987
 
988
2010-05-31  Kai Tietz  
989
 
990
        Merged from trunk
991
        PR target/44161
992
        * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
993
        flag_pic.
994
 
995
2010-05-28  Richard Guenther  
996
 
997
        PR lto/44312
998
        * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
999
        Stream fixed-point constants mode.
1000
        (unpack_ts_type_value_fields): Fix width of TYPE_MODE
1001
        and TYPE_PRECISION.
1002
        * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
1003
        Stream fixed-point constants mode.
1004
        (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
1005
        and TYPE_PRECISION.
1006
 
1007
2010-05-28  Andreas Krebbel  
1008
 
1009
        * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
1010
 
1011
2010-05-28  Jakub Jelinek  
1012
 
1013
        PR target/43636
1014
        * builtins.c (expand_movstr): Use a temporary pseudo instead
1015
        of target even when target is not NULL and not const0_rtx, but
1016
        fails movstr predicate.
1017
        * config/m32c/blkmov.md (movstr): Add predicate to first operand.
1018
 
1019
2010-05-27  Jon Beniston  
1020
 
1021
        PR 43726
1022
        * config/lm32/lm32.h: Remove definition of
1023
        GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
1024
 
1025
2010-05-26  Richard Guenther  
1026
 
1027
        PR rtl-optimization/44164
1028
        * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
1029
        no-common access-path disambiguation.
1030
        (indirect_ref_may_alias_decl_p): Adjust.
1031
        (indirect_refs_may_alias_p): Likewise.
1032
        (refs_may_alias_p_1): Likewise.
1033
 
1034
2010-05-26  Richard Guenther  
1035
 
1036
        PR middle-end/44069
1037
        * tree-ssa-ccp.c (maybe_fold_stmt_addition): Avoid generating
1038
        out-of-bounds array accesses.
1039
 
1040
2010-05-26  Richard Guenther  
1041
 
1042
        Backport from mainline:
1043
        2010-04-15  Richard Guenther  
1044
 
1045
        * alias.c (alias_set_subset_of): Handle alias-set zero
1046
        child properly.
1047
 
1048
2010-05-26  Jakub Jelinek  
1049
 
1050
        PR target/44199
1051
        * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
1052
        or total_size is larger than red zone size for non-V4 ABI, emit a
1053
        stack_tie resp. frame_tie insn before stack pointer restore.
1054
        * config/rs6000/rs6000.md (frame_tie): New insn.
1055
 
1056
2010-05-25  Rainer Orth  
1057
 
1058
        * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
1059
        stderr to /dev/null instead of grep -q.
1060
        * configure: Regenerate.
1061
 
1062
2010-05-25  Richard Guenther  
1063
 
1064
        * gimple.c (gimple_types_compatible_p): Check type qualifications
1065
        before merging pointer to complete and pointer to incomplete type.
1066
        * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
1067
        we use our own resolution algorithm.  The gold linker plugin
1068
        doesn't do the job we want it to do here.
1069
 
1070
2010-05-24  Richard Guenther  
1071
 
1072
        PR lto/44196
1073
        * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
1074
 
1075
2010-05-24  Uros Bizjak  
1076
 
1077
        Backport from mainline:
1078
        2010-05-20  Uros Bizjak  
1079
 
1080
        PR target/43733
1081
        * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
1082
        * configure: Regenerate.
1083
        * config.in: Regenerate.
1084
        * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
1085
        instead of sahf only for 64bit targets.
1086
 
1087
2010-05-24  H.J. Lu  
1088
 
1089
        Backport from mainline
1090
        2010-05-24  H.J. Lu  
1091
 
1092
        * config/i386/ia32intrin.h (__crc32q): Define only if
1093
        __SSE4_2__ is defined.
1094
 
1095
2010-05-23  H.J. Lu  
1096
 
1097
        Backport from mainline
1098
        2010-05-23  H.J. Lu  
1099
 
1100
        PR target/44245
1101
        * config/i386/i386.c (def_builtin): Properly check
1102
        OPTION_MASK_ISA_64BIT.
1103
 
1104
2010-05-23  Maarten Lankhorst  
1105
 
1106
        Merged from trunk
1107
        PR target/43869
1108
        * config/i386/i386.c: Make sure that the correct regparm is passed.
1109
 
1110
2010-05-21  Jakub Jelinek  
1111
 
1112
        PR debug/44223
1113
        * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
1114
        unchain each use from the cyclic next_regno_use chain first.
1115
 
1116
2010-05-21  Andreas Krebbel  
1117
 
1118
        * config/s390/s390.c (override_options): Increase the default
1119
        of max-completely-peel-times.
1120
 
1121
2010-05-21  Richard Guenther  
1122
 
1123
        PR tree-optimization/44038
1124
        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
1125
        taking the address of a V_C_E of a constant.
1126
 
1127
2010-05-21  Richard Guenther  
1128
 
1129
        PR tree-optimization/43949
1130
        * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigend types.
1131
        (extract_range_from_binary_expr): Handle TRUNC_MOD_EXPR.
1132
 
1133
2010-05-21  Jakub Jelinek  
1134
 
1135
        PR debug/44205
1136
        * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
1137
        at -O0 goto_locus of any of the incoming edges differs from
1138
        goto_locus of outgoing edge, or gimple_location of any of the
1139
        labels differs.
1140
 
1141
2010-05-20  Jakub Jelinek  
1142
 
1143
        PR debug/44178
1144
        * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
1145
        setup_ref_regs for DEBUG_INSNs.
1146
 
1147
2010-05-19  Kenneth Zadeck  
1148
 
1149
        PR bootstrap/43870
1150
        * df-scan.c (df_ref_compare): Stabilize sort.
1151
 
1152
2010-05-20  Hans-Peter Nilsson  
1153
 
1154
        PR target/44202
1155
        * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
1156
        settings for 16-bit-constant "addo" alternative.
1157
 
1158
2010-05-19  Rainer Orth  
1159
 
1160
        Backport from mainline:
1161
        2010-05-17  Rainer Orth  
1162
 
1163
        PR target/44074
1164
        * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
1165
        * configure: Regenerate.
1166
        * config.in: Regenerate.
1167
        * config/i386/i386.c (print_operand) : Also print ; if
1168
        !HAVE_AS_IX86_REP_LOCK_PREFIX.
1169
        Don't emit whitespace.
1170
        * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
1171
        (*rep_movsi): Likewise.
1172
        (*rep_movsi_rex64): Likewise.
1173
        (*rep_movqi): Likewise.
1174
        (*rep_movqi_rex64): Likewise.
1175
        (*rep_stosdi_rex64): Likewise.
1176
        (*rep_stossi): Likewise.
1177
        (*rep_stossi_rex64): Likewise.
1178
        (*rep_stosqi): Likewise.
1179
        (*rep_stosqi_rex64): Likewise.
1180
        (*cmpstrnqi_nz_1): Use {%;} after repz.
1181
        (*cmpstrnqi_nz_rex_1): Likewise.
1182
        (*cmpstrnqi_1): Likewise.
1183
        (*cmpstrnqi_rex_1): Likewise.
1184
        (*strlenqi_1): Use {%;} after repnz.
1185
        (*strlenqi_rex_1): Likewise.
1186
        * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
1187
        (*sync_compare_and_swap): Likewise.
1188
        (sync_double_compare_and_swap): Likewise.
1189
        (*sync_double_compare_and_swapdi_pic): Likewise.
1190
        (sync_old_add): Likewise.
1191
        (sync_add): Likewise.
1192
        (sync_sub): Likewise.
1193
        (sync_): Likewise.
1194
 
1195
2010-05-19  Rainer Orth  
1196
 
1197
        * doc/sourcebuild.texi (Effective-Target Keywords): Document
1198
        3dnow, sse3, sse2.
1199
        (Directives): Document optional dg-require-effective-target
1200
        selector.
1201
 
1202
2010-05-19  Rainer Orth  
1203
 
1204
        * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
1205
        pentiumpro on Solaris 8/x86 with Sun as.
1206
        * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
1207
        hidden alias bug.
1208
        (gcc_cv_as_ix86_quad): Check for .quad directive.
1209
        * configure: Regenerate.
1210
        * config.in: Regenerate.
1211
        * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
1212
 
1213
2010-05-19  Richard Guenther  
1214
 
1215
        PR tree-optimization/43987
1216
        * tree-ssa-structalias.c (could_have_pointers): For possibly
1217
        address-taken variables force pointers to be recorded.
1218
        (create_variable_info_for_1): Likewise.
1219
        (push_fields_onto_fieldstack): Pass in wheter all fields
1220
        must have pointers.
1221
        (find_func_aliases): Query types instead of vars whether
1222
        they contain pointers where appropriate.
1223
 
1224
2010-05-19  Richard Guenther  
1225
 
1226
        Backport from mainline:
1227
        2010-04-26  Richard Guenther  
1228
 
1229
        PR lto/43455
1230
        * tree-inline.c (tree_can_inline_p): Also check compatibility
1231
        of return types.
1232
 
1233
        2010-04-23  Richard Guenther  
1234
 
1235
        PR lto/42653
1236
        * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
1237
        of FUNCTION_DECLs.
1238
 
1239
        2010-04-26  Richard Guenther  
1240
 
1241
        PR lto/42425
1242
        * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
1243
        if emitting debug information and it is either a function
1244
        or a namespace decl.
1245
 
1246
        2010-04-26  Richard Guenther  
1247
 
1248
        PR lto/43080
1249
        * gimple.c (gimple_decl_printable_name): Deal gracefully
1250
        with a NULL DECL_NAME.
1251
 
1252
        2010-04-30  Richard Guenther  
1253
 
1254
        PR lto/43946
1255
        * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
1256
        first after all lowering passes.
1257
 
1258
2010-05-18  Steven Bosscher  
1259
 
1260
        PR lto/44184
1261
        * lto-streamer-out.c (output_gimple_stmt): Output number of labels
1262
        in a GIMPLE_ASM.
1263
        * lto-streamer-in.c (input_gimple_stmt): Read number of labels
1264
        in a GIMPLE_ASM.
1265
 
1266
2010-05-17  Rainer Orth  
1267
 
1268
        * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
1269
 
1270
2010-05-17  Jakub Jelinek  
1271
 
1272
        PR bootstrap/42347
1273
        * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
1274
        to have no fallthru edge.
1275
 
1276
        PR middle-end/44102
1277
        * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
1278
        bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
1279
        mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
1280
        add BARRIER after previous bb if needed.
1281
 
1282
2010-05-17  Alan Modra  
1283
 
1284
        * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
1285
        unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
1286
        with copy_reg rtx param.
1287
        (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
1288
        Correct cases where code for ABI_V4 did not initialise the reg
1289
        used to access frame.  Also leave frame_reg_rtx as sp for large
1290
        frames that save no regs.
1291
 
1292
2010-05-17  Eric Botcazou  
1293
 
1294
        Backport from mainline
1295
        2010-05-16  Eric Botcazou  
1296
 
1297
        * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
1298
        (decode_options): Likewise.
1299
        * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
1300
 
1301
2010-05-14  Jason Merrill  
1302
 
1303
        PR c++/44127
1304
        * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
1305
        (gimple_call_set_nothrow): New.
1306
        * gimple.c (gimple_build_call_from_tree): Call it.
1307
        (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
1308
 
1309
        PR c++/44127
1310
        * gimplify.c (gimplify_seq_add_stmt): No longer static.
1311
        * gimple.h: Declare it.
1312
        * gimple.c (gimple_build_eh_filter): No ops.
1313
 
1314
2010-05-14  Jakub Jelinek  
1315
 
1316
        PR debug/44136
1317
        * cfgexpand.c (expand_debug_expr): If non-memory op0
1318
        has BLKmode, return NULL.
1319
 
1320
2010-05-14  H.J. Lu  
1321
 
1322
        Backport from mainline
1323
        2010-05-12  H.J. Lu  
1324
 
1325
        PR target/44088
1326
        * config/i386/sse.md (*avx_vmmaskcmp3): New.
1327
 
1328
2010-05-14  Richard Guenther  
1329
 
1330
        PR tree-optimization/44124
1331
        * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
1332
 
1333
2010-05-13  Jason Merrill  
1334
 
1335
        * gimplify.c (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the
1336
        rhs didn't change.
1337
 
1338
        PR c++/43787
1339
        * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
1340
        returns GS_OK.
1341
        (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
1342
 
1343
2010-05-12  Wolfgang Gellerich  
1344
 
1345
        * config/s390/s390.c (override_options): Adjust the z10 defaults
1346
        for max-unroll-times, max-completely-peeled-insns
1347
        and max-completely-peel-times.
1348
 
1349
2010-05-12  Jakub Jelinek  
1350
 
1351
        PR middle-end/44085
1352
        * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
1353
        change value of ORT_TASK.
1354
        (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
1355
        (omp_notice_threadprivate_variable): New function.
1356
        (omp_notice_variable): Call it for threadprivate variables.
1357
        If enclosing ctx is a task, print enclosing task rather than
1358
        enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
1359
        (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
1360
        if task has untied clause.
1361
 
1362
2010-05-11  Jakub Jelinek  
1363
 
1364
        PR middle-end/44071
1365
        * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
1366
        no fallthru edge.
1367
        * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
1368
        optimizing away empty bb with no successors, move over its
1369
        footer chain to fallthru predecessor.
1370
        * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
1371
        (rtl_split_edge): For asm goto call patch_jump_insn even if
1372
        splitting fallthru edge.
1373
 
1374
2010-05-11  Martin Jambor  
1375
 
1376
        PR middle-end/43812
1377
        * ipa.c (dissolve_same_comdat_group_list): New function.
1378
        (function_and_variable_visibility): Call
1379
        dissolve_same_comdat_group_list when comdat group contains external or
1380
        newly local nodes.
1381
        * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
1382
        lists are circular and that they contain only DECL_ONE_ONLY nodes.
1383
 
1384
2010-05-10  Jakub Jelinek  
1385
 
1386
        PR debug/44028
1387
        * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
1388
        clear also INSN_REG_USE_LIST.
1389
 
1390
2010-05-10  H.J. Lu  
1391
 
1392
        Backport from mainline
1393
        2010-05-10  H.J. Lu  
1394
                    Vladimir Makarov  
1395
 
1396
        PR rtl-optimization/44012
1397
        * ira-build.c (remove_unnecessary_allocnos): Nullify
1398
        regno_allocno_map of the removed allocno.
1399
 
1400
2010-05-10  Rainer Orth  
1401
 
1402
        * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
1403
        to /dev/null.
1404
        * configure: Regenerate.
1405
 
1406
2010-05-10  Rainer Orth  
1407
 
1408
        * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
1409
        unused.
1410
        Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
1411
        * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
1412
        support in Sun ld.
1413
        * configure: Regenerate.
1414
 
1415
2010-05-09  H.J. Lu  
1416
 
1417
        Backport from mainline
1418
        2010-05-09  H.J. Lu  
1419
 
1420
        PR target/44046
1421
        * config/i386/driver-i386.c (host_detect_local_cpu): Properly
1422
        detect Atom, Core 2 and Core i7.
1423
 
1424
2010-05-07  Ralf Wildenhues  
1425
 
1426
        PR documentation/44016
1427
        * doc/standards.texi (Standards): Link to unversioned
1428
        cxx0x_status.html page.
1429
 
1430
2010-05-07  Rainer Orth  
1431
 
1432
        * config/mips/iris.h (LINK_SPEC): Don't pass -init, -fini with -r.
1433
 
1434
2010-05-07  Rainer Orth  
1435
 
1436
        * config/mips/dbxmdebug.h: Remove.
1437
        * config.gcc (mips-sgi-irix[56]*): Remove mips/dbxmdebug.h.
1438
 
1439
2010-05-05  Kaz Kojima  
1440
 
1441
        Backport from mainline:
1442
        2010-04-22  Kaz Kojima  
1443
 
1444
        PR target/43744
1445
        * config/sh/sh.c (find_barrier): Don't emit a constant pool
1446
        in the middle of insns for casesi_worker_2.
1447
 
1448
2010-05-05  Jason Merrill  
1449
 
1450
        PR debug/43370
1451
        * c-common.c (handle_aligned_attribute): Respect
1452
        ATTR_FLAG_TYPE_IN_PLACE.
1453
 
1454
2010-05-05  Richard Guenther  
1455
 
1456
        PR c++/43880
1457
        * tree-inline.c (copy_bind_expr): Also copy bind expr vars
1458
        value-exprs.
1459
 
1460
2010-05-04  H.J. Lu  
1461
 
1462
        Backport from mainline
1463
        2010-05-04  H.J. Lu  
1464
 
1465
        PR middle-end/43671
1466
        * alias.c (true_dependence): Handle the same VALUE in x and mem.
1467
        (canon_true_dependence): Likewise.
1468
        (write_dependence_p): Likewise.
1469
 
1470
2010-05-03  Jakub Jelinek  
1471
 
1472
        PR debug/43972
1473
        * config/i386/i386.c (ix86_delegitimize_address): Make sure the
1474
        result mode matches original rtl mode.
1475
 
1476
2010-05-02  Uros Bizjak  
1477
 
1478
        * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
1479
        when processing flag options.
1480
 
1481
2010-05-02  H.J. Lu  
1482
 
1483
        Backport from mainline
1484
        2010-04-29  H.J. Lu  
1485
 
1486
        PR target/43921
1487
        * config/i386/i386.c (get_some_local_dynamic_name): Replace
1488
        INSN_P with NONDEBUG_INSN_P.
1489
        (distance_non_agu_define): Likewise.
1490
        (distance_agu_use): Likewise.
1491
 
1492
2010-04-30  Eric Botcazou  
1493
 
1494
        * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
1495
        the variable part of the offset as well.  Use highest_pow2_factor for
1496
        all alignment checks.
1497
 
1498
2010-04-30  Jakub Jelinek  
1499
 
1500
        PR debug/43942
1501
        * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
1502
 
1503
2010-04-28  Uros Bizjak  
1504
 
1505
        * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
1506
        type if available.
1507
 
1508
2010-04-28  Eric Botcazou  
1509
 
1510
        * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
1511
        record or union type with RECORD_OR_UNION_TYPE_P predicate.
1512
        (lto_input_ts_type_tree_pointers): Likewise.
1513
        * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
1514
        (lto_output_ts_type_tree_pointers): Likewise.
1515
 
1516
2010-04-28  Eric Botcazou  
1517
 
1518
        * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
1519
        hash_tree, eq_tree): New tree hash table.
1520
        (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
1521
        [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
1522
        lto_orig_address_remove): Reimplement.
1523
 
1524
2010-04-28  Rainer Orth  
1525
 
1526
        PR target/22224
1527
        * config/alpha/osf.h (ASM_OUTPUT_LOCAL): Redefine.
1528
 
1529
2010-04-28  Martin Jambor  
1530
 
1531
        PR tree-optimization/43846
1532
        * tree-sra.c (struct access): New flag grp_assignment_read.
1533
        (build_accesses_from_assign): Set grp_assignment_read.
1534
        (sort_and_splice_var_accesses): Propagate grp_assignment_read.
1535
        (enum mark_read_status): New type.
1536
        (analyze_access_subtree): Propagate grp_assignment_read, create
1537
        accesses also if both direct_read and root->grp_assignment_read.
1538
 
1539
2010-04-27  Kai Tietz  
1540
 
1541
        Back-merged from trnnk.
1542
        * collect2.c (TARGET_64BIT): Redefine to target's default.
1543
        * tlink.c: Likewise.
1544
        * config/i386/cygming.h (USER_LABEL_PREFIX): Define
1545
        dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
1546
        * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
1547
        for underscoring __USER_LABEL_PREFIX__.
1548
        * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
1549
        (SUB_LINK_ENTRY32): New.
1550
        (SUB_LINK_ENTRY64): New.
1551
        (LINK_SPEC): Replace entry point spec by
1552
        SUB_LINK_ENTRY.
1553
        * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
1554
        (SUB_LINK_ENTRY64): New.
1555
        (SUB_LINK_ENTRY): New.
1556
        (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
1557
        (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
1558
        x64 target is choosen.
1559
        * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
1560
        * configure: Regenerated.
1561
        * configure.ac (leading-mingw64-underscores): Option added.
1562
 
1563
2010-04-27  Jakub Jelinek  
1564
 
1565
        * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
1566
        force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
1567
        or DW_CFA_def_cfa_offset{,_sf}.
1568
 
1569
        * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
1570
 
1571
2010-04-27  Hans-Peter Nilsson  
1572
 
1573
        PR target/43889
1574
        * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
1575
        Add missing earlyclobber for second alternative.
1576
 
1577
2010-04-26  Jakub Jelinek  
1578
 
1579
        PR c/43893
1580
        * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
1581
 
1582
2010-04-26  Jie Zhang  
1583
 
1584
        PR tree-optimization/43833
1585
        * tree-vrp.c (range_int_cst_p): New.
1586
        (range_int_cst_singleton_p): New.
1587
        (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
1588
        when both operands are constants.  Use range_int_cst_p in
1589
        BIT_IOR_EXPR case.
1590
 
1591
2010-04-23  Martin Jambor  
1592
 
1593
        PR middle-end/43835
1594
        * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
1595
        function does not have type attributes.
1596
 
1597
2010-04-23  Richard Guenther  
1598
 
1599
        PR tree-optimization/43572
1600
        * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
1601
 
1602
2010-04-23  Richard Guenther  
1603
 
1604
        Backport from mainline
1605
        2010-04-22  Richard Guenther  
1606
 
1607
        PR tree-optimization/43845
1608
        * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
1609
        lookup the CALL_EXPR function and arguments.
1610
 
1611
2010-04-21  Jakub Jelinek  
1612
 
1613
        PR middle-end/43570
1614
        * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
1615
        OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
1616
        (lower_copyprivate_clauses): Use private var in outer
1617
        context instead of original var.  Make sure the types
1618
        are correct for VLAs.
1619
 
1620
2010-04-20  Richard Guenther  
1621
 
1622
        PR tree-optimization/43783
1623
        * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
1624
        constant ARRAY_REF operands two and three if possible.
1625
 
1626
2010-04-20  Richard Guenther  
1627
 
1628
        PR tree-optimization/43796
1629
        * tree-vrp.c (adjust_range_with_scev): Lookup init and step
1630
        from SCEV in the lattice.
1631
        (vrp_visit_phi_node): Dump change.
1632
 
1633
2010-04-20  Jakub Jelinek  
1634
 
1635
        PR middle-end/43337
1636
        * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
1637
        with non-local decl doesn't need chain.
1638
 
1639
2010-04-20  Andreas Krebbel  
1640
 
1641
        PR target/43635
1642
        * config/s390/s390.c (s390_emit_call): Turn direct into indirect
1643
        calls for -fpic -m31 if they have been sibcall optimized.
1644
 
1645
2010-04-19  DJ Delorie  
1646
 
1647
        * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
1648
        POINTER_PLUS_EXPR and fix them.
1649
 
1650
2010-04-19  Jie Zhang  
1651
 
1652
        PR target/43662
1653
        * reginfo.c (reinit_regs): Set caller_save_initialized_p
1654
        to false.
1655
 
1656
2010-04-19  Richard Guenther  
1657
 
1658
        PR tree-optimization/43572
1659
        * tree-tailcall.c (find_tail_calls): Verify the tail call
1660
        properly.
1661
 
1662
2010-04-19 Ira Rosen 
1663
 
1664
        PR tree-optimization/43771
1665
        * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
1666
        load permutation doesn't have gaps.
1667
 
1668
2010-04-18  Matthias Klose  
1669
 
1670
        * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
1671
 
1672
2010-04-16  Rainer Orth  
1673
 
1674
        Backport from mainline:
1675
        2010-04-09  Rainer Orth  
1676
 
1677
        * configure.ac (plugin -rdynamic test): Log result.
1678
        * configure: Regenerate.
1679
        * config/sol2.h (LINK_SPEC): Handle -rdynamic.
1680
        (RDYNAMIC_SPEC): Define.
1681
        * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
1682
 
1683
2010-04-16  Rainer Orth  
1684
 
1685
        Backport from mainline:
1686
        2010-04-09  Rainer Orth  
1687
 
1688
        * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
1689
        * config/sol2-gld.h: ... here.
1690
        * config.gcc (sparc*-*-solaris2*): Reflect this.
1691
        (i[34567]86-*-solaris2*): Use it.
1692
 
1693
2010-04-16  Rainer Orth  
1694
 
1695
        Backport from mainline:
1696
        2010-04-09  Rainer Orth  
1697
 
1698
        * configure.ac: Determine Sun ld version numbers.
1699
        (comdat_group): Restrict GNU ld version checks to gld.
1700
        (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
1701
        (enable_comdat): Support --enable-comdat.
1702
        * configure: Regenerate.
1703
        * doc/install.texi (Configuration): Document --enable-comdat.
1704
 
1705
2010-04-01  Uros Bizjak  
1706
 
1707
        Backport from mainline:
1708
        2010-04-14  Uros Bizjak  
1709
 
1710
        * config/i386/i386.md (*divmod4): Remove stray "&&" from
1711
        splitter condition.
1712
        (*udivmod4): Ditto.
1713
 
1714
        2010-04-14  Uros Bizjak  
1715
 
1716
        * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
1717
        from insn template.
1718
 
1719
2010-04-15  Thomas Schwinge  
1720
 
1721
        Backport from mainline:
1722
        2010-04-15  Thomas Schwinge  
1723
 
1724
        * config.gcc : Handle softfp as for Linux.
1725
 
1726
2010-04-15  Richard Guenther  
1727
 
1728
        PR tree-optimization/43627
1729
        * tree-vrp.c (extract_range_from_unary_expr): Widenings
1730
        of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
1731
        not varying.
1732
 
1733
2010-04-14  Richard Guenther  
1734
 
1735
        * DEV-PHASE: Set back to prerelease.
1736
        * BASE-VER: Bump to 4.5.1.
1737
 
1738
2010-04-14  Release Manager
1739
 
1740
        * GCC 4.5.0 released.
1741
 
1742
2010-04-13  Michael Matz  
1743
 
1744
        PR middle-end/43730
1745
        * builtins.c (expand_builtin_interclass_mathfn): Also create
1746
        a register if the predicate doesn't match.
1747
 
1748
2010-04-12  Rainer Orth  
1749
 
1750
        * doc/contrib.texi (Contributors, Rainer Orth): Update.
1751
 
1752
2010-04-08  Rainer Orth  
1753
 
1754
        PR target/43643
1755
        * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
1756
 
1757
2010-04-08  Rainer Orth  
1758
 
1759
        * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
1760
        (Specific, *-*-solaris2*): Likewise.
1761
        Don't prefer Sun as over GNU as.
1762
 
1763
2010-04-08  Richard Guenther  
1764
 
1765
        PR tree-optimization/43679
1766
        * tree-ssa-pre.c (eliminate): Only propagate copies.
1767
 
1768
2010-04-08  Jakub Jelinek  
1769
 
1770
        PR debug/43670
1771
        * cfgexpand.c (expand_debug_expr): If for non-NULL offset
1772
        op0 is not a MEM, just return NULL instead of assertion
1773
        failure.
1774
        (discover_nonconstant_array_refs): Don't walk debug stmts.
1775
 
1776
2010-04-07  H.J. Lu  
1777
 
1778
        PR target/43668
1779
        * config/i386/i386.c (setup_incoming_varargs_64): Align stack to
1780
        16byte for FP register save area.
1781
 
1782
2010-04-07  Ralf Wildenhues  
1783
 
1784
        * doc/install.texi (Configuration): Move description of
1785
        --enable-lto, --with-libelf*, --enable-gold from Java section to
1786
        general section.
1787
 
1788
        * doc/generic.texi (Working with declarations)
1789
        (Function Properties, C and C++ Trees): Fix typos.
1790
        * doc/sourcebuild.texi (Top Level): Likewise.
1791
 
1792
2010-04-07  Rainer Orth  
1793
 
1794
        * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
1795
        generic.
1796
 
1797
2010-04-06  Jakub Jelinek  
1798
 
1799
        PR target/43667
1800
        * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
1801
        instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
1802
        (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
1803
        MULTI_* defines for 4 argument vpermil2p* builtins.
1804
 
1805
2010-04-06  Joseph Myers  
1806
 
1807
        * doc/invoke.texi, doc/standards.texi: Refer to
1808
        gcc-4.5/c99status.html.
1809
 
1810
2010-04-06  Jakub Jelinek  
1811
 
1812
        PR target/43638
1813
        * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
1814
        handling.
1815
 
1816
2010-04-06  Richard Guenther  
1817
 
1818
        PR middle-end/43661
1819
        * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
1820
 
1821
2010-04-05  Ralf Wildenhues  
1822
 
1823
        * doc/invoke.texi (Optimize Options): Document that LTO
1824
        won't remove object access purely due to incompatible
1825
        declarations.
1826
 
1827
2010-04-04  Matthias Klose  
1828
 
1829
        * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
1830
        Initialize variable.
1831
 
1832
2010-04-03  Richard Guenther  
1833
 
1834
        PR middle-end/42509
1835
        * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
1836
        require a non-NULL MEM_OFFSET.
1837
 
1838
2010-04-02  Steven Bosscher  
1839
 
1840
        * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
1841
        basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
1842
        collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
1843
        config/alpha/predicates.md, config/arm/arm.md,
1844
        config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
1845
        config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
1846
        config/darwin9.h, config/darwin.c, config/darwin.h,
1847
        config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
1848
        config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
1849
        config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
1850
        config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
1851
        config/mips/mips.md, config/mn10300/mn10300.c,
1852
        config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
1853
        config/rs6000/aix.h, config/rs6000/dfp.md,
1854
        config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
1855
        config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
1856
        config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
1857
        config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
1858
        config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
1859
        config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
1860
        c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
1861
        diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
1862
        doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
1863
        doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
1864
        fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
1865
        gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
1866
        graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
1867
        graphite-dependences.c, graphite-poly.c, graphite-poly.h,
1868
        graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
1869
        graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
1870
        intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
1871
        ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
1872
        ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
1873
        loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
1874
        objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
1875
        opt-functions.awk, opth-gen.awk, params.def, passes.c,
1876
        postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
1877
        rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
1878
        store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
1879
        tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
1880
        tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
1881
        tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
1882
        tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
1883
        tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
1884
        tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
1885
        tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
1886
        tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
1887
        tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
1888
        tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
1889
        unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
1890
 
1891
2010-04-02  Ralf Wildenhues  
1892
 
1893
        PR other/43620
1894
        * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
1895
        * aclocal.m4: Regenerate.
1896
 
1897
2010-04-02  Richard Guenther  
1898
 
1899
        PR tree-optimization/43629
1900
        * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
1901
        if we have seen a constant value.
1902
 
1903
2010-04-02  Joseph Myers  
1904
 
1905
        * read-rtl.c (read_rtx_1): Give an error for EOF while looking for
1906
        ']'.
1907
 
1908
2010-04-02  Richard Earnshaw  
1909
 
1910
        PR target/43469
1911
        * arm.c (legitimize_tls_address): Adjust call to
1912
        gen_tls_load_dot_plus_four.
1913
        (arm_note_pic_base): New function.
1914
        (arm_cannot_copy_insn_p): Use it.
1915
        * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
1916
        constraint.
1917
 
1918
2010-04-02  Ralf Wildenhues  
1919
 
1920
        PR bootstrap/43531
1921
 
1922
        Revert:
1923
        2009-09-28  Ralf Wildenhues  
1924
 
1925
        * Makefile.in ($(out_object_file)): Depend on
1926
        gt-$(basename $(notdir $(out_file))).h.
1927
 
1928
2010-04-01  Ralf Corsépius 
1929
 
1930
        * config.gcc (lm32-*-rtems*): Add t-lm32.
1931
 
1932
2010-04-01  Joel Sherrill 
1933
 
1934
        * config.gcc: Add lm32-*-rtems*.
1935
        * config/lm32/rtems.h: New file.
1936
 
1937
2010-04-01  Dave Korn  
1938
 
1939
        PR target/42609
1940
        * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
1941
 
1942
2010-04-01  Jakub Jelinek  
1943
 
1944
        * dwarf2out.c (output_compilation_unit_header): For
1945
        -gdwarf-4 use version 4 instead of version 3.
1946
        (output_line_info): For version 4 and above emit additional
1947
        maximum ops per insn header field.
1948
        (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
1949
 
1950
        * dwarf2out.c (is_c_family, is_java): Remove.
1951
        (lower_bound_default): New function.
1952
        (add_bound_info, gen_descr_array_type_die): Use it.
1953
 
1954
2010-04-01  Dodji Seketeli  
1955
 
1956
        PR debug/43325
1957
        * dwarf2out.c (gen_variable_die): Allow debug info for variable
1958
        re-declaration when it happens in a function.
1959
 
1960
2010-04-01  Aldy Hernandez  
1961
 
1962
        * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
1963
        (cgraph_remove_function_insertion_hook): Same.
1964
        (cgraph_call_function_insertion_hooks): Same.
1965
 
1966
2010-04-01  Richard Guenther  
1967
 
1968
        PR middle-end/43614
1969
        * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
1970
        and TREE_THIS_VOLATILE.
1971
        (copy_ref_info): Likewise.
1972
        * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
1973
        * tree.c (build6_stat): Ignore side-effects of all but arg5
1974
        for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
1975
        TARGET_MEM_REF.
1976
 
1977
2010-04-01  Richard Guenther  
1978
 
1979
        PR tree-optimization/43607
1980
        * ipa-type-escape.c (check_call): Do not access non-existing
1981
        arguments.
1982
 
1983
2010-04-01  Richard Guenther  
1984
 
1985
        PR middle-end/43602
1986
        Revert
1987
        2010-03-30  Seongbae Park 
1988
            Jack Howarth 
1989
 
1990
        * tree-profile.c (tree_init_ic_make_global_vars): Make static
1991
        variables TLS.
1992
 
1993
2010-04-01  Rainer Orth  
1994
 
1995
        * doc/install.texi (Prerequisites): Document libelf usability on
1996
        IRIX 5/6 and Solaris 2.
1997
        (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
1998
        Update GNU as, GNU ld requirements.
1999
        (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
2000
        Document Sun Studio compiler download.
2001
        Update and simplify as, ld recommendations.
2002
        (Specific, *-*-solaris2.7): Note obsoletion, removal.
2003
 
2004
2010-04-01  Rainer Orth  
2005
 
2006
        * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
2007
        with_tune_32 to pentium4.
2008
 
2009
2010-04-01  Uros Bizjak  
2010
 
2011
        * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
2012
 
2013
2010-04-01  Rainer Orth  
2014
 
2015
        * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
2016
        obsoletion, removal.
2017
        Update IDO URL.
2018
        Document GNU as requirement.
2019
        Update configure requirements.
2020
        (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion,
2021
        removal.
2022
        Recomment IRIX 6.5.18+.
2023
        Document IDF/IDL requirement.
2024
        Document GNU as requirement.
2025
        Document GNU ld bootstrap failure.
2026
        Remove freeware.sgi.com reference.
2027
 
2028
2010-04-01  Rainer Orth  
2029
 
2030
        * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
2031
        UNIX V4.0, V5.0 obsoletion, removal.
2032
        Remove --with-gc=simple reference.
2033
        Update VM requirements during bootstrap.
2034
        Remove -oldas bootstrap description.
2035
        Update binutils reference.
2036
        Remove comparison failure note.
2037
 
2038
2010-03-31  Richard Guenther  
2039
            Zdenek Dvorak  
2040
            Sebastian Pop  
2041
 
2042
        PR middle-end/43464
2043
        * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
2044
        with multiple arguments.
2045
        (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
2046
 
2047
2010-03-31  Sebastian Pop  
2048
 
2049
        * graphite-dependences.c (print_pddr): Call print_pdr with an
2050
        extra argument.
2051
        * graphite-poly.c (debug_pdr): Add an extra argument for the
2052
        verbosity level.
2053
        (print_pdr): Same.
2054
        (print_pbb_domain): Same.
2055
        (print_pbb): Same.
2056
        (print_scop_context): Same.
2057
        (print_scop): Same.
2058
        (print_cloog): Same.
2059
        (debug_pbb_domain): Same.
2060
        (debug_pbb): Same.
2061
        (print_pdrs): Same.
2062
        (debug_pdrs): Same.
2063
        (debug_scop_context): Same.
2064
        (debug_scop): Same.
2065
        (debug_cloog): Same.
2066
        (print_scop_params): Same.
2067
        (debug_scop_params): Same.
2068
        (print_iteration_domain): Same.
2069
        (print_iteration_domains): Same.
2070
        (debug_iteration_domain): Same.
2071
        (debug_iteration_domains): Same.
2072
        (print_scattering_function): Same.
2073
        (print_scattering_functions): Same.
2074
        (debug_scattering_function): Same.
2075
        (debug_scattering_functions): Same.
2076
        * graphite-poly.h (debug_pdr): Update declaration.
2077
        (print_pdr): Same.
2078
        (print_pbb_domain): Same.
2079
        (print_pbb): Same.
2080
        (print_scop_context): Same.
2081
        (print_scop): Same.
2082
        (print_cloog): Same.
2083
        (debug_pbb_domain): Same.
2084
        (debug_pbb): Same.
2085
        (print_pdrs): Same.
2086
        (debug_pdrs): Same.
2087
        (debug_scop_context): Same.
2088
        (debug_scop): Same.
2089
        (debug_cloog): Same.
2090
        (print_scop_params): Same.
2091
        (debug_scop_params): Same.
2092
        (print_iteration_domain): Same.
2093
        (print_iteration_domains): Same.
2094
        (debug_iteration_domain): Same.
2095
        (debug_iteration_domains): Same.
2096
        (print_scattering_function): Same.
2097
        (print_scattering_functions): Same.
2098
        (debug_scattering_function): Same.
2099
        (debug_scattering_functions): Same.
2100
 
2101
2010-03-31  Sebastian Pop  
2102
 
2103
        * graphite-poly.c (print_scattering_function_1): New.
2104
        (print_scattering_function): Call it.
2105
        (print_scop_params): Remove spaces at the end of lines.
2106
        (print_cloog): New.
2107
        (debug_cloog): New.
2108
        * graphite-poly.h (print_cloog): Declared.
2109
        (debug_cloog): Declared.
2110
 
2111
2010-03-31  Sebastian Pop  
2112
 
2113
        * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
2114
        in loop->header.
2115
        * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
2116
        * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
2117
        * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
2118
        to switch between adding the IV bump in loop->latch or in loop->header.
2119
 
2120
2010-03-31  Sebastian Pop  
2121
 
2122
        * graphite-poly.c (print_scattering_function): Pretty print following
2123
        the scoplib format.
2124
        (print_pdr): Same.
2125
        (print_pbb_domain): Same.
2126
        (dump_gbb_cases): Same.
2127
        (dump_gbb_conditions): Same.
2128
        (print_pdrs): Same.
2129
        (print_pbb): Same.
2130
        (print_scop_params): Same.
2131
        (print_scop_context): Same.
2132
        (print_scop): Same.
2133
        (print_pbb_body): New.
2134
        (lst_indent_to): New.
2135
        (print_lst): Start new lines with a #.
2136
        * graphite-poly.h (pbb_bb): New.
2137
        (pbb_index): Use pbb_bb.
2138
        * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
2139
        disjuncts.
2140
        * tree-data-ref.c (dump_data_reference): Start new lines with a #.
2141
 
2142
2010-03-31  Jakub Jelinek  
2143
 
2144
        * dwarf2out.c (size_of_die): For -gdwarf-4 use
2145
        uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
2146
        and 0 instead of 1 for dw_val_class_flag.
2147
        (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
2148
        dw_val_class_range_list, dw_val_class_loc_list,
2149
        dw_val_class_lineptr and dw_val_class_macptr, use
2150
        DW_FORM_flag_present for dw_val_class_flag and
2151
        DW_FORM_exprloc for dw_val_class_loc.
2152
        (output_die): For -gdwarf-4 print dw_val_class_loc
2153
        size as uleb128 instead of 1 or 2 bytes and don't print
2154
        anything for dw_val_class_flag.
2155
 
2156
        * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
2157
        instead of cselib_lookup following by tweaking locs->setting_insn.
2158
 
2159
        PR bootstrap/43596
2160
        * cselib.c (cselib_process_insn): Clear cselib_current_insn
2161
        even before returning from label, setjmp call or volatile asm
2162
        handling.
2163
 
2164
2010-03-31  Richard Guenther  
2165
 
2166
        PR middle-end/43600
2167
        * cgraphunit.c (cgraph_output_in_order): Do not allocate
2168
        temporary data on stack.
2169
 
2170
2010-03-31  Rainer Orth  
2171
 
2172
        * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
2173
        (PUSHSECTION_ASM_OP): Remove.
2174
        (POPSECTION_ASM_OP): Remove.
2175
        (PUSHSECTION_FORMAT): Remove.
2176
        * config/sol2.h (PUSHSECTION_FORMAT): Define.
2177
        * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
2178
        * config/sol2.c (solaris_output_init_fini): Use it.
2179
 
2180
2010-03-31  Jie Zhang  
2181
 
2182
        PR 43574
2183
        * opt-functions.awk (var_type_struct): Use signed char type
2184
        for simple variables.
2185
 
2186
2010-03-31  Rainer Orth  
2187
 
2188
        * config/sol2.c: Include output.h.
2189
        (solaris_assemble_visibility): New function.
2190
        * config/t-sol2 (sol2.o): Add output.h dependency.
2191
        * config/sol2-protos.h (solaris_assemble_visibility): Declare.
2192
        * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
2193
        Redefine.
2194
 
2195
2010-03-31  Jakub Jelinek  
2196
 
2197
        PR target/43580
2198
        * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
2199
        V2SImode or XFmode on PRE_DEC.
2200
 
2201
        PR debug/43557
2202
        * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
2203
        BLKmode.
2204
 
2205
2010-03-31  Jie Zhang  
2206
 
2207
        PR 43562
2208
        * reload.h (caller_save_initialized_p): Declare.
2209
        * toplev.c (backend_init_target): Don't call
2210
        init_caller_save but set caller_save_initialized_p to false.
2211
        * caller-save.c (caller_save_initialized_p): Define.
2212
        (init_caller_save): Check caller_save_initialized_p.
2213
        * ira.c (ira): Call init_caller_save if flag_caller_saves.
2214
 
2215
2010-03-31  Rainer Orth  
2216
 
2217
        PR target/39048
2218
        * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
2219
        and soft-fp/t-softfp to tmake_file.
2220
        * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
2221
        (LIBGCC2_TF_CEXT): Define.
2222
        (TF_SIZE): Define.
2223
 
2224
2010-03-30  Alexandre Oliva  
2225
 
2226
        PR debug/42977
2227
        * cselib.c (n_useless_values): Document handling of debug locs.
2228
        (n_useless_debug_values, n_debug_values): New variables.
2229
        (new_elt_loc_list): Don't add to debug values, keep count.
2230
        (promote_debug_loc): New.
2231
        (cselib_reset_table): Zero new variables.
2232
        (entry_and_rtx_equal_p): Promote debug locs.
2233
        (discard_useless_locs): Increment n_useless_debug_values for
2234
        debug values.
2235
        (remove_useless_values): Adjust n_useless_values and n_debug_values
2236
        with n_useless_debug_values.
2237
        (add_mem_for_addr): Promote debug locs.
2238
        (cselib_lookup_mem): Likewise.
2239
        (cselib_lookup_addr): Renamed to...
2240
        (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
2241
        (cselib_log_lookup): ... this.  Turn into...
2242
        (cselib_lookup_addr): ... new wrapper.
2243
        (cselib_lookup_from_insn): New.
2244
        (cselib_invalidate_regno): Increment n_useless_debug_values for
2245
        debug values.
2246
        (cselib_invalidate_mem): Likewise.
2247
        (cselib_process_insn): Take n_deleted and n_debug_values into
2248
        account to guard remove_useless_value call.
2249
        (cselib_finish): Zero n_useless_debug_values.
2250
        * cselib.h (cselib_lookup_from_insn): Declare.
2251
        * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
2252
        (sched_analyze_2): Likewise.
2253
 
2254
2010-03-30  Jakub Jelinek  
2255
 
2256
        * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
2257
        functions.
2258
        (adjust_mems): Replace narrowing SUBREG of expression containing
2259
        just PLUS, MINUS, MULT and ASHIFT of registers and constants
2260
        with operations in the narrower mode.
2261
 
2262
        PR debug/43593
2263
        * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
2264
        regs_invalidated_by_call instead all call_used_reg_set registers.
2265
 
2266
2010-03-30  Sebastian Pop  
2267
 
2268
        PR middle-end/43430
2269
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
2270
        pointer comparisons with types_compatible_p.
2271
        * tree-vect-stmts.c (vectorizable_call): Same.
2272
        (vectorizable_condition): Same.
2273
 
2274
2010-03-30  Andreas Krebbel  
2275
 
2276
        * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
2277
        stack check if the mask would be zero.
2278
 
2279
2010-03-30  Seongbae Park 
2280
            Jack Howarth 
2281
 
2282
        * tree-profile.c (tree_init_ic_make_global_vars): Make static
2283
        variables TLS.
2284
 
2285
2010-03-30  Joseph Myers  
2286
 
2287
        PR other/25232
2288
        * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
2289
        and __unordtf2.
2290
        * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
2291
        Include ___unordxf2 and ___unordtf2.
2292
        * config/i386/libgcc-glibc.ver: Do not define inheritance from
2293
        GCC_4.4.0 here.
2294
 
2295
2010-03-30  Tarik Graba  
2296
 
2297
        * config/lm32/t-lm32: New file.
2298
        * config.gcc: Use the above file when targetting lm32.
2299
 
2300
2010-03-28  Duncan Sands  
2301
 
2302
        * Makefile.in (PLUGIN_HEADERS): Add except.h.
2303
 
2304
2010-03-29  Sebastian Pop  
2305
 
2306
        PR middle-end/43431
2307
        * tree-vect-loop.c (vect_estimate_min_profitable_iters):
2308
        Improve vectorization cost model diagnostic.
2309
 
2310
2010-03-29  Sebastian Pop  
2311
 
2312
        PR middle-end/43436
2313
        * tree-vect-data-refs.c (vect_analyze_data_refs): When
2314
        compute_data_dependences_for_loop returns false, early exit
2315
        and output an extra diagnostic for the failed data reference
2316
        analysis.
2317
 
2318
2010-03-29  Richard Guenther  
2319
 
2320
        PR tree-optimization/43560
2321
        * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
2322
        (can_sm_ref_p): Treat stores to readonly locations as trapping.
2323
 
2324
2010-03-29  Jie Zhang  
2325
 
2326
        PR 43564
2327
        * toplev.c (process_options): Set optimization_default_node
2328
        and optimization_current_node.
2329
        * opts.c (decode_options): Don't set optimization_default_node
2330
        and optimization_current_node.
2331
 
2332
2010-03-29  Ralf Corsépius  
2333
 
2334
        * config/rtems.h: Abandon -qrtems_debug.
2335
 
2336
2010-03-28  Jan Hubicka  
2337
 
2338
        PR tree-optimization/43505
2339
        * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
2340
        map should not be copied.
2341
 
2342
2010-03-27  John David Anglin  
2343
 
2344
        PR middle-end/41674
2345
        * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
2346
        cdtors, set DECL_PRESERVE_P.
2347
        * ipa.c (cgraph_externally_visible_p): Return true if declaration
2348
        should be preseved.
2349
 
2350
2010-03-27  Uros Bizjak  
2351
 
2352
        PR tree-optimization/43528
2353
        * stor-layout.c (place_field): Check that constant fits into
2354
        unsigned HWI when skipping calculation of MS bitfield layout.
2355
 
2356
2010-03-27  Jan Hubicka  
2357
 
2358
        PR middle-end/43391
2359
        * varasm.c (make_decl_rtl): Deal with COMMON flag to make
2360
        notice_global_symbol work.
2361
 
2362
2010-03-27  Jakub Jelinek  
2363
 
2364
        * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
2365
        instead of dwarf2out_decl.
2366
        (struct var_loc_node): Remove section_label field.
2367
        (dwarf2out_function_decl): New function.
2368
        (dwarf2out_var_location): Don't set section_label field.
2369
        (dwarf2out_begin_function): Don't empty decl_loc_table here.
2370
 
2371
2010-03-26  Michael Meissner  
2372
 
2373
        PR tree-optimization/43544
2374
        * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2375
        First argument for builtin vectorized function hook is now a
2376
        tree to be able to distinguish between machine specific and
2377
        standard builtins.
2378
        * targhooks.c (default_builtin_vectorized_function): Ditto.
2379
        * targhooks.h (default_builtin_vectorized_function): Ditto.
2380
        * target.h (struct gcc_target): Ditto.
2381
        * tree-vect-stmts.c (vectorizable_function): Ditto.
2382
        * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
2383
        * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
2384
        Ditto.
2385
 
2386
2010-03-26  Joseph Myers  
2387
 
2388
        PR c/43381
2389
        * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
2390
        nested binding iff it is a FUNCTION_DECL.
2391
        (store_parm_decls_newstyle): Pass nested=true to bind for
2392
        FUNCTION_DECLs amongst parameters.
2393
 
2394
2010-03-26  Jakub Jelinek  
2395
 
2396
        * var-tracking.c (vt_expand_loc_callback): Don't run
2397
        cselib_expand_value_rtx_cb in dummy mode if
2398
        cselib_dummy_expand_value_rtx_cb returned false.
2399
 
2400
        * var-tracking.c (emit_note_insn_var_location): For one part
2401
        notes with offset 0, don't add EXPR_LIST around the location.
2402
        * dwarf2out.c (loc_descriptor, dw_loc_list_1,
2403
        add_location_or_const_value_attribute): Adjust for that change.
2404
 
2405
        PR debug/43540
2406
        * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
2407
        into first operand and location into second.
2408
        (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
2409
        dw_cfi_oprnd_loc for DW_CFA_expression.
2410
        (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
2411
        (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
2412
        assume first argument is regnum and second argument is location.
2413
 
2414
2010-03-26  Uros Bizjak  
2415
 
2416
        PR target/42113
2417
        * config/alpha/alpha.md (*cmp_sadd_si): Change mode
2418
        of scratch register to DImode.  Split to DImode comparison operator.
2419
        Use SImode subreg of scratch register in the multiplication.
2420
        (*cmp_sadd_sidi): Ditto.
2421
        (*cmp_ssub_si): Ditto.
2422
        (*cmp_ssub_sidi): Ditto.
2423
 
2424
2010-03-26  Uros Bizjak  
2425
 
2426
        PR target/43524
2427
        * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
2428
        Remove invalid assert and wrong comment.
2429
 
2430
2010-03-26  Jakub Jelinek  
2431
 
2432
        PR debug/43516
2433
        * flags.h (final_insns_dump_p): New extern.
2434
        * final.c (final_insns_dump_p): New variable.
2435
        (rest_of_clean_state): Set it before -fdump-final-insns=
2436
        dumping, clear afterwards.
2437
        * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
2438
        MEM_ALIAS_SET on MEMs.
2439
 
2440
2010-03-26  David S. Miller  
2441
 
2442
        * configure.ac: Fix sparc GOTDATA_OP bug check.
2443
        * configure: Rebuild.
2444
 
2445
2010-03-26  Alan Modra  
2446
 
2447
        * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
2448
 
2449
2010-03-25  Rainer Orth  
2450
 
2451
        * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
2452
        TLS_SECTION_ASM_FLAG.
2453
 
2454
2010-03-25  Jakub Jelinek  
2455
 
2456
        PR bootstrap/43511
2457
        * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
2458
        Clear first_function_block_is_cold.
2459
 
2460
        PR c/43385
2461
        * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
2462
        argument if the argument is truth_value_p.
2463
 
2464
2010-03-24  Michael Meissner  
2465
 
2466
        * config/rs6000/constraints.md: Update copyright year for my changes.
2467
 
2468
        PR target/43484
2469
        * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
2470
        used in reg+reg addressing, swap registers.
2471
 
2472
2010-03-24  Jakub Jelinek  
2473
 
2474
        PR debug/43293
2475
        * target.h (struct gcc_target): Add code_end hook.
2476
        * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
2477
        if not yet defined.
2478
        (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
2479
        * toplev.c (compile_file): Call targetm.asm_out.code_end
2480
        hook before unwind info/debug info output.
2481
        * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
2482
        * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
2483
        (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2484
        * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
2485
        (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2486
        * config/i386/i386.c (ix86_file_end): Renamed to...
2487
        (ix86_code_end): ... this.  Make static.  Don't call
2488
        file_end_indicate_exec_stack.  Emit unwind info using
2489
        final_start_function/final_end_function.
2490
        (darwin_x86_file_end): Remove.
2491
        (TARGET_ASM_CODE_END): Define.
2492
        * config/i386/i386.h (TARGET_ASM_FILE_END,
2493
        NEED_INDICATE_EXEC_STACK): Don't define.
2494
        * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
2495
        (TARGET_ASM_FILE_END): Define to darwin_file_end.
2496
        * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
2497
        * doc/tm.texi (TARGET_ASM_CODE_END): Document.
2498
 
2499
        PR target/43498
2500
        * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
2501
        at the beginning and final_end_function at the end.
2502
        * config/s390/s390.c (s390_output_mi_thunk): Likewise.
2503
 
2504
2010-03-24  Rainer Orth  
2505
 
2506
        * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
2507
        and Sun as TLS syntax.
2508
        (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
2509
        * configure: Regenerate.
2510
        * config.in: Regenerate.
2511
        * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
2512
        (default_elf_asm_named_section): Use it.
2513
        * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
2514
        (i386_output_dwarf_dtprel): Likewise.
2515
        (output_addr_const_extra): Likewise.
2516
        (output_pic_addr_const): Lowercase @GOTTPOFF.
2517
        (output_addr_const_extra): Likewise.
2518
        (output_pic_addr_const): Lowercase @GOTNTPOFF.
2519
        (output_addr_const_extra): Likewise.
2520
        (output_pic_addr_const): Lowercase @INDNTPOFF.
2521
        (output_addr_const_extra): Likewise.
2522
        (output_pic_addr_const): Lowercase @NTPOFF.
2523
        (output_addr_const_extra): Likewise.
2524
        (output_pic_addr_const): Lowercase @TPOFF.
2525
        (output_addr_const_extra): Likewise.
2526
        * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
2527
        (*tls_global_dynamic_64): Likewise.
2528
        (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
2529
        (*tls_local_dynamic_base_64): Lowercase @TLSLD.
2530
 
2531
        * defaults.h (TLS_COMMON_ASM_OP): Provide default.
2532
        (ASM_OUTPUT_TLS_COMMON): Use it.
2533
        * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
2534
 
2535
        PR target/38118
2536
        * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
2537
        * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
2538
        * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
2539
        * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
2540
        * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2541
        (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
2542
 
2543
2010-03-24  Rainer Orth  
2544
 
2545
        * config/i386/i386.c (override_options): Don't accept
2546
        -mtls-dialect=sun any longer.
2547
        * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
2548
        * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
2549
        (*tls_local_dynamic_base_32_sun): Likewise.
2550
        * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2551
 
2552
2010-03-24  Jakub Jelinek  
2553
 
2554
        PR debug/43508
2555
        * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2556
        VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
2557
 
2558
        PR debug/43479
2559
        * ira.c (adjust_cleared_regs): New function.
2560
        (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
2561
 
2562
        PR debug/19192
2563
        PR debug/43479
2564
        * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
2565
        from gimple_block.
2566
        * expr.c (expand_expr_real): Restore previous
2567
        curr_insn_source_location and curr_insn_block after
2568
        expand_expr_real_1 call.
2569
        (expand_expr_real_1) : Call expand_expr_real
2570
        instead of expand_expr_real_1.
2571
 
2572
2010-03-23  Vladimir Makarov  
2573
 
2574
        PR rtl-optimization/43413
2575
        * ira-color.c (setup_allocno_available_regs_num): Count prohibited
2576
        hard regs too.
2577
 
2578
2010-03-22  James E. Wilson  
2579
 
2580
        PR target/43348
2581
        * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
2582
        call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
2583
 
2584
2010-03-22  H.J. Lu  
2585
 
2586
        * config/i386/i386.c (ix86_target_string): Add -mfma.
2587
        Fix a typo in comment.
2588
 
2589
2010-03-22  Mike Stump  
2590
 
2591
        PR target/23071
2592
        * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
2593
        Don't overly align based upon packed packed fields.
2594
 
2595
2010-03-22  Jason Merrill  
2596
 
2597
        * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
2598
        Use () rather than [], and move before the element type.
2599
 
2600
2010-03-22  Rainer Orth  
2601
 
2602
        * doc/configfiles.texi (Configuration Files): Removed
2603
        fixinc/Makefile*, intl/Makefile.*.
2604
        * doc/makefile.texi: Fixed markup. Abstract from version
2605
        control system used.
2606
        (Makefile): Removed obsolete gcc/java/parse.y example.
2607
        * doc/sourcebuild.texi: Likewise.
2608
        (Top Level): Added config, gnattools, libdecnumber, libgcc,
2609
        libgomp, libssp.  Removed fastjar.
2610
        (Miscellaneous Docs): Clarify location.
2611
        Added COPYING3, COPYING3.LIB.
2612
        (Front End Directory): Moved Make-lang.in entry to new subsubsection.
2613
 
2614
2010-03-22  Rainer Orth  
2615
 
2616
        PR target/38085
2617
        * config/i386/i386.c (x86_function_profiler)
2618
        [!NO_PROFILE_COUNTERS]: Fix typo.
2619
        * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
2620
        instead of callq.
2621
 
2622
2010-03-22  Janis Johnson  
2623
            Rainer Orth 
2624
 
2625
        * doc/sourcebuild.texi (Test Directives): Split into six
2626
        subsections, with most of the current text in new subsections
2627
        Directives, Selectors, and Final Actions.
2628
        (Directives): Split list of test directives into multiple
2629
        subsubsections.
2630
        (Selectors): Describe use and syntax of selectors.
2631
        (Effective-Target Keywords): Describe all existing keywords.
2632
        (Add Options): Describe features for dg-add-options.
2633
        (Require Support): Describe variants of dg-require-support.
2634
        (Final Actions): Describe commands to use in dg-final.
2635
 
2636
2010-03-22  Michael Matz  
2637
 
2638
        PR middle-end/43475
2639
        * recog.c (validate_replace_rtx_group): Replace also in
2640
        REG_EQUAL and REG_EQUIV notes.
2641
 
2642
2010-03-22  Richard Guenther  
2643
 
2644
        PR tree-optimization/43390
2645
        * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
2646
        sure vector extracts are type correct.
2647
 
2648
2010-03-22  Richard Guenther  
2649
 
2650
        PR middle-end/40106
2651
        * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
2652
        x * sqrt (x) even when optimizing for size if the target
2653
        has native support for sqrt.
2654
 
2655
2010-03-22  Jakub Jelinek  
2656
 
2657
        * varasm.c (make_decl_rtl_for_debug): Also clear
2658
        flag_mudflap for the duration of make_decl_rtl call.
2659
 
2660
        PR debug/43443
2661
        * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
2662
        locs from preserved VALUEs.
2663
 
2664
2010-03-21  John David Anglin  
2665
 
2666
        PR middle-end/42718
2667
        * pa.md (movmemsi): Set align to one if zero.
2668
        (movmemdi): Likewise.
2669
 
2670
2010-03-21  Richard Earnshaw  
2671
 
2672
        PR target/42321
2673
        * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
2674
        with their corresponding prologue pushes.
2675
 
2676
2010-03-20  Andrew Pinski  
2677
 
2678
        PR target/43156
2679
        * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
2680
        at the begining or end.
2681
        (spu_expand_epilogue): Likewise.
2682
 
2683
2010-03-20  Richard Guenther  
2684
 
2685
        PR rtl-optimization/43438
2686
        * combine.c (make_extraction): Properly zero-/sign-extend an
2687
        extraction of the low part of a CONST_INT.  Also handle
2688
        CONST_DOUBLE.
2689
 
2690
2010-03-19  Mike Stump  
2691
 
2692
        * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
2693
        * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
2694
        (override_options): Use SUBTARGET32_DEFAULT_CPU.
2695
 
2696
2010-03-19  Andrew Pinski  
2697
 
2698
        PR c/43211
2699
        * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
2700
        an error.
2701
 
2702
2010-03-19  Bernd Schmidt  
2703
 
2704
        PR rtl-optimization/42258
2705
        * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
2706
        use that may match DEF.
2707
 
2708
        PR target/40697
2709
        * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
2710
        the cost of loading the constant rather than assuming
2711
        COSTS_N_INSNS (1).
2712
        * config/arm/arm.c (thumb1_rtx_costs) : If the
2713
        outer code is AND, do the same tests as the andsi3 expander and
2714
        return COSTS_N_INSNS (1) if and is cheap.
2715
 
2716
        * optabs.c (avoid_expensive_constant): Fix formatting.
2717
 
2718
2010-03-19  Michael Matz  
2719
 
2720
        PR c++/43116
2721
        * attribs.c (decl_attributes): When rebuilding a function pointer
2722
        type use the same qualifiers as the original pointer type.
2723
 
2724
2010-03-19  Martin Jambor  
2725
 
2726
        * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
2727
        and is_gimple_ip_invariant_address.
2728
 
2729
2010-03-19  Ramana Radhakrishnan  
2730
 
2731
        Revert
2732
        2009-10-01  Ramana Radhakrishnan  
2733
 
2734
        * config/arm/arm.c (arm_override_options): Turn off
2735
        flag_dwarf2_cfi_asm for AAPCS variants.
2736
 
2737
2010-03-19  Ramana Radhakrishnan  
2738
 
2739
        PR target/43399
2740
        * config/arm/arm.c (emit_multi_reg_push): Update comments.
2741
        Use PRE_MODIFY instead of PRE_DEC.
2742
        (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
2743
        (vfp_emit_fstmd): Likewise.
2744
 
2745
2010-03-19  Michael Matz  
2746
 
2747
        PR target/43305
2748
        * builtins.c (expand_builtin_interclass_mathfn,
2749
        expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
2750
        if that fails.
2751
 
2752
2010-03-19  Richard Guenther  
2753
 
2754
        PR tree-optimization/43415
2755
        * tree-ssa-pre.c (phi_translate): Split out worker to ...
2756
        (phi_translate_1): ... this.
2757
        (phi_translate): Move all caching here.  Cache all NARY
2758
        and REFERENCE translations.
2759
 
2760
2010-03-19  David S. Miller  
2761
 
2762
        With help from Eric Botcazou.
2763
        * config/sparc/sparc.c: Include dwarf2out.h.
2764
        (emit_pic_helper): Delete.
2765
        (pic_helper_symbol_name): Delete.
2766
        (pic_helper_emitted_p): Delete.
2767
        (pic_helper_needed): New.
2768
        (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
2769
        (get_pc_thunk_name): New.
2770
        (load_pic_register): Remove 'delay_pic_helper' arg.  Use
2771
        get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
2772
        Set pic_helper_needed to true.  Don't call emit_pic_helper.
2773
        (sparc_expand_prologue): Update load_pic_register call.
2774
        (sparc_output_mi_thunk): Likewise.
2775
        (sparc_file_end): Emit a hidden comdat symbol for the PIC
2776
        thunk if possible.  Output CFI information as needed.
2777
 
2778
2010-03-18  Francois-Xavier Coudert 
2779
            Jack Howarth 
2780
 
2781
        PR target/36399
2782
        * config/i386/i386.h: Fix ABI on darwin x86-32.
2783
 
2784
2010-03-18  Aldy Hernandez  
2785
 
2786
        * tree.h: Declare make_decl_rtl_for_debug.
2787
        * varasm.c (make_decl_rtl_for_debug): New.
2788
        * dwarf2out.c (rtl_for_decl_location): Call it.
2789
        * cfgexpand.c (expand_debug_expr): Call it.
2790
 
2791
2010-03-18  Jakub Jelinek  
2792
 
2793
        PR bootstrap/43399
2794
        * var-tracking.c (adjust_mems) : Allow BLKmode
2795
        mem_mode.
2796
 
2797
        PR bootstrap/43403
2798
        * var-tracking.c (vt_init_cfa_base): Do nothing if
2799
        cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
2800
 
2801
2010-03-18  Alexandre Oliva  
2802
 
2803
        PR debug/42873
2804
        * var-tracking.c (canonicalize_vars_star): New.
2805
        (dataflow_post_merge_adjust): Use it.
2806
 
2807
2010-03-18  Jakub Jelinek  
2808
 
2809
        PR debug/43058
2810
        * var-tracking.c (non_suitable_const): New function.
2811
        (add_uses): For DEBUG_INSNs with constants, don't record any
2812
        value, instead just the constant value itself.
2813
        (compute_bb_dataflow) : If PAT_VAR_LOCATION_LOC
2814
        is not VAR_LOC_UNKNOWN_P, set var to the constant.
2815
        (emit_notes_in_bb): Likewise.
2816
        (emit_note_insn_var_location): For onepart variables if
2817
        cur_loc is a VOIDmode constant, use DECL_MODE.
2818
 
2819
2010-03-18  Martin Jambor  
2820
 
2821
        PR middle-end/42450
2822
        * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
2823
        * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
2824
        all non-clones.  Moved call redirection...
2825
        (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
2826
        (cgraph_materialize_all_clones): Dispose of all
2827
        combined_args_to_skip bitmaps.
2828
        (verify_cgraph_node): Do not check for edges pointing to wrong
2829
        nodes in inline clones.
2830
        * tree-inline.c (copy_bb): Call
2831
        cgraph_redirect_edge_call_stmt_to_callee.
2832
        * ipa.c (cgraph_remove_unreachable_nodes): Call
2833
        cgraph_node_remove_callees even when there are used clones.
2834
 
2835
2010-03-18  H.J. Lu  
2836
 
2837
        * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
2838
 
2839
2010-03-18  H.J. Lu  
2840
 
2841
        PR target/43383
2842
        * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
2843
        for 32bit.
2844
 
2845
2010-03-18  Michael Matz  
2846
 
2847
        PR middle-end/43419
2848
        * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
2849
        into sqrt(x) if we need to preserve signed zeros.
2850
 
2851
2010-03-18  Steven Bosscher  
2852
            Eric Botcazou  
2853
 
2854
        PR rtl-optimization/43360
2855
        * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
2856
        note if we don't know its invariant status.
2857
 
2858
2010-03-18  Michael Matz  
2859
 
2860
        PR tree-optimization/43402
2861
        * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
2862
        PHI chains of ssa names registered for update.
2863
 
2864
2010-03-17  Peter Bergner  
2865
 
2866
        PR target/42427
2867
        * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
2868
        non-offsettable and pre_modify update addressing.
2869
        * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
2870
        and "2" alternatives "#".
2871
        (*movdd_softfloat32): Make all alternatives "#";
2872
        * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
2873
        (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
2874
        (*movdf_softfloat32): Make all alternatives "#";
2875
        (movdi): Use the new DIFD mode iterator to create a common splitter
2876
        for movdi, movdf and movdd patterns.
2877
 
2878
2010-03-18  Shujing Zhao  
2879
 
2880
        * common.opt (dumpdir): Remove redundant tab.
2881
 
2882
2010-03-17  Martin Jambor  
2883
 
2884
        PR tree-optimization/43347
2885
        * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
2886
        original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
2887
 
2888
2010-03-17  Bernd Schmidt  
2889
 
2890
        PR rtl-optimization/42216
2891
        * regrename.c (create_new_chain): New function, broken out from...
2892
        (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
2893
        appending a use to an empty chain.
2894
        (build_def_use): Remove previous changes that convert OP_INOUT to
2895
        OP_OUT operands; instead detect the case where an OP_INOUT operand
2896
        uses a previously untracked register and create an empty chain for it.
2897
 
2898
2010-03-17  Ralf Wildenhues  
2899
 
2900
        * doc/extend.texi (Function Attributes): Rewrite unfinished
2901
        sentence in ms_abi documentation.
2902
 
2903
2010-03-17  Alan Modra  
2904
 
2905
        * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
2906
        * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
2907
        (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
2908
        * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
2909
 
2910
2010-03-16  Richard Henderson  
2911
 
2912
        PR middle-end/43365
2913
        * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
2914
        (lower_try_finally): Save and restore eh_seq around the expansion
2915
        of the try-finally.
2916
 
2917
2010-03-16  Aldy Hernandez  
2918
 
2919
        * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
2920
        statements before splitting block.
2921
 
2922
2010-03-16  Rainer Orth 
2923
 
2924
        * doc/sourcebuild.texi (Testsuites): Fix markup.
2925
        Use pathnames relative to gcc/testsuite.
2926
        (Test Directives): Move description of how timeout is determined.
2927
        (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
2928
        (C Tests): Correct gcc.misc-tests directory.
2929
        Framework tests now live in gcc.test-framework.
2930
 
2931
2010-03-16  Richard Guenther  
2932
 
2933
        PR middle-end/43379
2934
        * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
2935
        operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
2936
 
2937
2010-03-16  Aldy Hernandez  
2938
            Alexandre Oliva  
2939
 
2940
        PR tree-optimization/42917
2941
        * lambda-code.c (remove_iv): Skip debug statements.
2942
        (lambda_loopnest_to_gcc_loopnest): Likewise.
2943
        (not_interesting_stmt): Debug statements are not interesting.
2944
 
2945
2010-03-16  Jakub Jelinek  
2946
 
2947
        PR debug/43051
2948
        PR debug/43092
2949
        * cselib.c (cselib_preserve_constants,
2950
        cfa_base_preserved_val): New static variables.
2951
        (preserve_only_constants): New function.
2952
        (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
2953
        clear its REG_VALUES.  If cselib_preserve_constants, don't
2954
        empty the whole hash table, but preserve there VALUEs with constants,
2955
        cfa_base_preserved_val and cfa_base_preserved_val plus constant.
2956
        (cselib_preserve_cfa_base_value): New function.
2957
        (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
2958
        (cselib_init): Change argument to int bitfield.  Set
2959
        cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
2960
        is in it.
2961
        (cselib_finish): Clear cselib_preserve_constants and
2962
        cfa_base_preserved_val.
2963
        * cselib.h (enum cselib_record_what): New enum.
2964
        (cselib_init): Change argument to int.
2965
        (cselib_preserve_cfa_base_value): New prototype.
2966
        * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
2967
        * dse.c (dse_step1): Likewise.
2968
        * cfgcleanup.c (thread_jump): Likewise.
2969
        * sched-deps.c (sched_analyze): Likewise.
2970
        * gcse.c (local_cprop_pass): Likewise.
2971
        * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
2972
        If FN is non-NULL, call the callback always and whenever it returns
2973
        non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
2974
        * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
2975
        * combine.c (propagate_for_debug_subst): Add old_rtx argument,
2976
        compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
2977
        * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
2978
        * var-tracking.c: Include recog.h.
2979
        (bb_stack_adjust_offset): Remove.
2980
        (vt_stack_adjustments): Don't call it, instead just gather the
2981
        adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
2982
        (adjust_stack_reference): Remove.
2983
        (compute_cfa_pointer): New function.
2984
        (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
2985
        (struct adjust_mem_data): New type.
2986
        (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
2987
        functions.
2988
        (get_address_mode): New function.
2989
        (replace_expr_with_values): Use it.
2990
        (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
2991
        Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
2992
        (adjust_sets): Remove.
2993
        (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
2994
        Use get_address_mode.
2995
        (get_adjusted_src): Remove.
2996
        (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
2997
        MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
2998
        (add_with_sets): Don't call adjust_sets.
2999
        (fp_setter, vt_init_cfa_base): New functions.
3000
        (vt_initialize): Change return type to bool.  Move most of pool etc.
3001
        initialization to the beginning of the function from end.  Pass
3002
        CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
3003
        If !frame_pointer_needed, call vt_stack_adjustment before mos
3004
        vector is filled, call vt_init_cfa_base if argp/framep has been
3005
        eliminated to sp.  If frame_pointer_needed and argp/framep has
3006
        been eliminated to hard frame pointer, set
3007
        hard_frame_pointer_adjustment and call vt_init_cfa_base after
3008
        encountering fp setter in the prologue.  For MO_ADJUST, call
3009
        log_op_type before pusing the op into mos vector, not afterwards.
3010
        Call adjust_insn before cselib_process_insn/add_with_sets,
3011
        call cancel_changes (0) afterwards.
3012
        (variable_tracking_main_1): Adjust for vt_initialize calling
3013
        vt_stack_adjustments and returning whether it succeeded or not.
3014
 
3015
2010-03-15  Aldy Hernandez  
3016
 
3017
        * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
3018
        debug statements.
3019
 
3020
2010-03-15  Jakub Jelinek  
3021
 
3022
        * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
3023
        has been set.
3024
        (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
3025
        drap_reg has not been set.
3026
 
3027
2010-03-15  Michael Matz  
3028
 
3029
        PR middle-end/43300
3030
        * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
3031
        use it to expand block copies.
3032
        (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
3033
        insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
3034
        (insert_value_copy_on_edge): Use store_expr for BLKmode values.
3035
 
3036
2010-03-15  Richard Guenther  
3037
 
3038
        PR tree-optimization/43367
3039
        * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
3040
        elimination check.
3041
 
3042
2010-03-15  Richard Guenther  
3043
 
3044
        PR tree-optimization/43317
3045
        * ipa-struct-reorg.c (create_new_general_access): Update stmt.
3046
 
3047
2010-03-15  Martin Jambor  
3048
 
3049
        PR tree-optimization/43141
3050
        * tree-sra.c (create_abstract_origin): New function.
3051
        (modify_function): Call create_abstract_origin.
3052
 
3053
2010-03-15  Chris Demetriou  
3054
 
3055
        * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
3056
        wasn't copied.
3057
 
3058
2010-03-13  Sebastian Pop  
3059
 
3060
        PR middle-end/43354
3061
        * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
3062
        call insert_out_of_ssa_copy for default definitions.
3063
 
3064
2010-03-13  Sebastian Pop  
3065
 
3066
        * graphite-clast-to-gimple.c (my_long_long): Defined.
3067
        (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
3068
        * graphite-sese-to-poly.c (my_long_long): Defined.
3069
        (scop_ivs_can_be_represented): Use it.
3070
 
3071
2010-03-13  Sebastian Pop  
3072
 
3073
        * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
3074
        graphite-max-bbs-per-function, and loop-block-tile-size.
3075
        * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
3076
        with "maximum".
3077
        (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
3078
 
3079
2010-03-13  Sebastian Pop  
3080
 
3081
        * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
3082
        forward declaration.
3083
        * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
3084
        (add_upper_bounds_from_estimated_nit): New.
3085
        (build_loop_iteration_domains): Use it.
3086
 
3087
2010-03-13  Sebastian Pop  
3088
 
3089
        * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
3090
 
3091
2010-03-13  Sebastian Pop  
3092
 
3093
        PR middle-end/43306
3094
        * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
3095
        should be an INTEGER_CST.  Also handle CASE_CONVERT.
3096
 
3097
2010-03-13  Sebastian Pop  
3098
 
3099
        * graphite.c (graphite_initialize): To bound the number of bbs per
3100
        function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
3101
        * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
3102
        * doc/invoke.texi: Document it.
3103
 
3104
2010-03-13  Sebastian Pop  
3105
 
3106
        * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
3107
        * graphite-sese-to-poly.h (build_poly_scop): Same.
3108
 
3109
2010-03-13  Sebastian Pop  
3110
 
3111
        * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
3112
        the number of parameters in the scop.  Use as an upper bound
3113
        PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
3114
        * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
3115
        * doc/invoke.texi: Document it.
3116
 
3117
2010-03-13  Jerry Quinn  
3118
 
3119
        * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
3120
        * doc/c-tree.texi: Remove.
3121
        * doc/generic.texi: Merge c-tree.texi here.
3122
        * doc/gccint.texi (Trees): Remove menu entry.
3123
        (c-tree.texi): Remove @include.
3124
        * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
3125
        * doc/languages.texi (Reading RTL): Ditto.
3126
 
3127
2010-03-12  Steve Ellcey  
3128
 
3129
        PR target/42869
3130
        * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
3131
 
3132
2010-03-12  Michael Meissner  
3133
 
3134
        PR middle-end/42431
3135
        * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
3136
        code added to work around reload clobbering CONST insns.
3137
 
3138
2010-03-12  Jakub Jelinek  
3139
 
3140
        * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
3141
        (cselib_preserve_definitely, cselib_clear_preserve): Remove.
3142
        (cselib_preserve_only_values): Remove retain argument, don't
3143
        traverse hash table with cselib_{preserve_definitely,clear_preserve}.
3144
        * cselib.h (cselib_preserve_only_values): Remove retain argument.
3145
        * var-tracking.c (micro_operation): Move insn field before union.
3146
        Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
3147
        (struct variable_tracking_info_def): Remove n_mos field, change
3148
        mos into a vector of micro_operations.
3149
        (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
3150
        (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
3151
        compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
3152
        changing into a vector.
3153
        (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
3154
        come before all other uops generated by add_stores.
3155
        (vt_add_function_parameters): Adjust for cselib_preserve_only_values
3156
        argument removal.
3157
        (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
3158
        a vector.  Run just one pass over the bbs instead of separate counting
3159
        and computation phase.
3160
        (vt_finalize): Free VTI (bb)->mos vector instead of array.
3161
 
3162
        PR debug/43329
3163
        * tree-inline.c (remap_decls): Put old_var rather than origin_var
3164
        into *nonlocalized_list vector.
3165
        * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
3166
        even if origin is non-NULL.
3167
        (gen_variable_die): Likewise.
3168
        (process_scope_var): Don't change origin.
3169
        (gen_decl_die): Likewise.
3170
        * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
3171
        before adding new edges instead of after it, fix moving over
3172
        debug stmts.
3173
 
3174
2010-03-11  David S. Miller  
3175
 
3176
        * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
3177
        of four.
3178
        * configure: Rebuild.
3179
 
3180
2010-03-11  Martin Jambor  
3181
 
3182
        PR tree-optimization/43257
3183
        * tree.c (assign_assembler_name_if_neeeded): New function.
3184
        (free_lang_data_in_cgraph): Assembler name assignment moved to the
3185
        above new function.
3186
        * tree.h (assign_assembler_name_if_neeeded): Declare.
3187
        * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
3188
        the function if needed.
3189
 
3190
2010-03-11  Chris Demetriou  
3191
 
3192
        * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
3193
        include/stdint-gcc.h, and include/stdint.h world-readable.
3194
 
3195
2010-03-11  Richard Guenther  
3196
 
3197
        PR tree-optimization/43255
3198
        * tree-vrp.c (process_assert_insertions_for): Do not insert
3199
        asserts for trivial conditions.
3200
 
3201
2010-03-11  Andreas Krebbel  
3202
 
3203
        PR tree-optimization/43280
3204
        * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
3205
        generation.  Move calculation of size out of the if branch.
3206
        (find_bswap): Modify compare number generation.
3207
 
3208
2010-03-11  Richard Guenther  
3209
 
3210
        PR lto/43200
3211
        * lto-streamer-in.c (maybe_fixup_decls): Simplify.
3212
        (input_gimple_stmt): Fixup handled component types during
3213
        operand read.  Also fix up decls in ADDR_EXPRs.
3214
 
3215
2010-03-10  Eric Botcazou  
3216
 
3217
        * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
3218
        * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
3219
 
3220
2010-03-10  Jan Hubicka  
3221
 
3222
        PR c/43288
3223
        * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
3224
        * varasm.c (get_variable_section): Don't do that here...
3225
        (make_decl_rtl): ... and here.
3226
        (do_assemble_alias): Produce decl RTL.
3227
        (assemble_alias): Likewise.
3228
 
3229
2010-03-10  Jakub Jelinek  
3230
 
3231
        PR debug/43290
3232
        * reg-notes.def (REG_CFA_SET_VDRAP): New note.
3233
        * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
3234
        of fde->vdrap_reg.
3235
        (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
3236
        (based_loc_descr): Only express drap or vdrap regno based expressions
3237
        using DW_OP_fbreg when not optimizing.
3238
        * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
3239
        make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
3240
        REG_CFA_SET_VDRAP note.
3241
 
3242
2010-03-10  Alexander Monakov  
3243
 
3244
        PR tree-optimization/43236
3245
        * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
3246
        error in calculation of base address in reverse iteration case.
3247
        (generate_builtin): Take number of latch executions if the statement
3248
        is in the latch.
3249
 
3250
2010-03-10  Andrey Belevantsev  
3251
 
3252
        PR middle-end/42859
3253
        * tree-eh.c: Include pointer-set.h.
3254
        (lower_eh_dispatch): Filter out duplicate case labels and
3255
        remove the unneeded edge when the label is unused.  Return
3256
        true when some edges are removed.
3257
        (execute_lower_eh_dispatch): When any lowering resulted in
3258
        removing an edge, also delete unreachable blocks.
3259
 
3260
2010-03-10  Jakub Jelinek  
3261
 
3262
        PR bootstrap/43287
3263
        * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3264
        UNSPEC_MACHOPIC_OFFSET.
3265
 
3266
2010-03-09  Andreas Schwab  
3267
 
3268
        PR target/43294
3269
        * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3270
        (m68k_delegitimize_address): New function.
3271
 
3272
2010-03-09  Jakub Jelinek  
3273
 
3274
        PR debug/43299
3275
        * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
3276
 
3277
        PR debug/43299
3278
        * var-tracking.c (adjust_sets): New function.
3279
        (count_with_sets, add_with_sets): Use it.
3280
        (get_adjusted_src): New inline function.
3281
        (add_stores): Use it.
3282
 
3283
        PR debug/43304
3284
        * var-tracking.c (vt_expand_loc_callback) : If dummy,
3285
        call cselib_dummy_expand_value_rtx_cb instead of
3286
        cselib_expand_value_rtx_cb.
3287
 
3288
        PR debug/43293
3289
        * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
3290
        * config/i386/i386.c: Include debug.h and dwarf2out.h.
3291
        (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
3292
        and .cfi_endproc around the pic thunks.
3293
        (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
3294
        all queued unwind info register saves are saved before the call.
3295
        For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
3296
        considered as sp-=4 for unwind info and the pop as sp+=4 which
3297
        also clobbers dest, but doesn't actually restore it.
3298
 
3299
        PR debug/43290
3300
        * config/i386/i386.c (ix86_get_drap_rtx): Don't set
3301
        RTX_FRAME_RELATED_P.
3302
 
3303
2010-03-09  Jie Zhang  
3304
 
3305
        * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
3306
        whitespaces in output template.
3307
 
3308
2010-03-09  Jie Zhang  
3309
 
3310
        * ira-lives.c (check_and_make_def_use_conflict): Don't fall
3311
        out array boundary.
3312
 
3313
2010-03-08  Jakub Jelinek  
3314
 
3315
        * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
3316
        builtins.exp in a separate job.
3317
 
3318
2010-03-08  Sebastian Pop  
3319
 
3320
        * graphite-sese-to-poly.c (add_param_constraints): Use
3321
        lower_bound_in_type and upper_bound_in_type.
3322
 
3323
2010-03-08  Sebastian Pop  
3324
 
3325
        * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
3326
        instead of unsigned_type_node.
3327
 
3328
2010-03-08  Sebastian Pop  
3329
            Reza Yazdani  
3330
 
3331
        PR middle-end/43065
3332
        * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
3333
        on pointer type parameters.
3334
 
3335
2010-03-08  Tobias Grosser  
3336
 
3337
        PR middle-end/42644
3338
        PR middle-end/42130
3339
        * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
3340
        handle conversions from pointer to integers.
3341
        (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
3342
        induction variable, to be able to work with code generated by CLooG.
3343
        * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
3344
        (build_poly_scop): Bail out if we cannot codegen a loop.
3345
 
3346
2010-03-08  Tobias Grosser  
3347
 
3348
        * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
3349
        code generation with gloog_error.
3350
 
3351
2010-03-08  Sebastian Pop  
3352
 
3353
        * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
3354
        Call fold_convert on all the returned values.
3355
        (expand_scalar_variables_expr): Pass to
3356
        expand_scalar_variables_ssa_name the type of the resulting expression.
3357
 
3358
2010-03-08  Sebastian Pop  
3359
 
3360
        * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
3361
        ppl_min_for_le_pointset.
3362
        Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
3363
        * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
3364
 
3365
2010-03-08  Sebastian Pop  
3366
 
3367
        * graphite-dependences.c (map_into_dep_poly): Removed.
3368
        (dependence_polyhedron_1): Use combine_context_id_scat.
3369
 
3370
2010-03-08  Sebastian Pop  
3371
 
3372
        * graphite-poly.h (struct poly_scattering): Add layout documentation.
3373
        (struct poly_bb): Same.
3374
        (combine_context_id_scat): New.
3375
 
3376
2010-03-08  Sebastian Pop  
3377
 
3378
        PR middle-end/42326
3379
        * sese.c (name_defined_in_loop_p): Return false for default
3380
        definitions.
3381
 
3382
2010-03-08  Sebastian Pop  
3383
 
3384
        * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
3385
        and clean up the logic.
3386
 
3387
2010-03-08  Sebastian Pop  
3388
 
3389
        * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
3390
        early return.
3391
 
3392
2010-03-08  Jakub Jelinek  
3393
 
3394
        * var-tracking.c (remove_cselib_value_chains): Define only for
3395
        ENABLE_CHECKING.
3396
        (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
3397
        delete_slot_part, emit_notes_for_differences_1): Don't call
3398
        remove_cselib_value_chains here.
3399
        (set_slot_part, emit_notes_for_differences_2): Don't call
3400
        add_cselib_value_chains here.
3401
        (preserved_values): New vector.
3402
        (preserve_value): New function.
3403
        (add_uses, add_stores, vt_add_function_parameters): Use it
3404
        instead of cselib_preserve_value.
3405
        (changed_values_stack): New vector.
3406
        (check_changed_vars_0): New function.
3407
        (check_changed_vars_1, check_changed_vars_2): Use it.
3408
        (emit_notes_for_changes): Call set_dv_changed (*, false) on all
3409
        changed_values_stack VALUEs.
3410
        (vt_emit_notes): For all preserved_values call
3411
        add_cselib_value_chains.  If ENABLE_CHECKING call
3412
        remove_cselib_value_chains before verifying value_chains is empty.
3413
        Initialize and free changed_values_stack.
3414
        (vt_initialize): Initialize preserved_values.
3415
        (vt_finalize): Free preserved_values.
3416
 
3417
2010-03-08  Richard Guenther  
3418
 
3419
        PR tree-optimization/43269
3420
        * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
3421
        region detection.
3422
 
3423
2010-03-08  Martin Jambor  
3424
 
3425
        * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
3426
        (ipa_is_param_called): Removed.
3427
        * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
3428
        (ipa_print_node_params): Do not print the called flag.
3429
        (ipa_write_node_info): Do not stream the called flag.
3430
        (ipa_read_node_info): Likewise.
3431
 
3432
2010-03-07  Jakub Jelinek  
3433
 
3434
        PR debug/43176
3435
        * Makefile.in (var-tracking.o): Depend on pointer-set.h.
3436
        * cselib.c (struct expand_value_data): Add dummy field.
3437
        (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
3438
        dummy to false.
3439
        (cselib_dummy_expand_value_rtx_cb): New function.
3440
        (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
3441
        any rtl.
3442
        * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
3443
        * var-tracking.c: Include pointer-set.h.
3444
        (variable): Change n_var_parts to char from int.  Add
3445
        cur_loc_changed and in_changed_variables fields.
3446
        (variable_canonicalize): Remove.
3447
        (shared_var_p): New inline function.
3448
        (unshare_variable): Maintain cur_loc_changed and
3449
        in_changed_variables fields.  If var was in changed_variables,
3450
        replace it there with new_var.  Just copy cur_loc instead of
3451
        resetting it to something else.
3452
        (variable_union): Don't recompute cur_loc.  Use shared_var_p.
3453
        (dataflow_set_union): Don't call variable_canonicalize.
3454
        (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
3455
        of their DEBUG_EXPR_TREE_DECLs.
3456
        (canonicalize_loc_order_check): Verify that cur_loc is NULL
3457
        and in_changed_variables and cur_loc_changed is false.
3458
        (variable_merge_over_cur): Clear cur_loc, in_changed_variables
3459
        and cur_loc_changed.  Don't update cur_loc here.
3460
        (variable_merge_over_src): Don't call variable_canonicalize.
3461
        (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
3462
        removing loc that is equal to cur_loc, clear cur_loc,
3463
        set cur_loc_changed and ensure variable_was_changed is called.
3464
        (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
3465
        compare pointers in cur_loc check, if it is equal to loc,
3466
        clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
3467
        (variable_different_p): Remove compare_current_location argument,
3468
        don't compare cur_loc.
3469
        (dataflow_set_different_1): Adjust variable_different_p caller.
3470
        (variable_was_changed): If dv had some var in changed_variables
3471
        already, reset in_changed_variables flag for it and propagate
3472
        cur_loc_changed over to the new variable.  On empty var
3473
        always set cur_loc_changed.  Set in_changed_variables on whatever
3474
        var is added to changed_variables.
3475
        (set_slot_part): Clear cur_loc_changed and in_changed_variables.
3476
        Use shared_var_p.  When removing loc that is equal to cur_loc,
3477
        clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
3478
        end, don't set it to something else, just call variable_was_changed.
3479
        (delete_slot_part): Use shared_var_p.  When cur_loc equals to
3480
        loc being removed, clear cur_loc and set cur_loc_changed.
3481
        Set cur_loc_changed if all locations have been removed.
3482
        (struct expand_loc_callback_data): New type.
3483
        (vt_expand_loc_callback): Add dummy mode in which no rtxes are
3484
        allocated.  Always create SUBREGs if simplify_subreg failed.
3485
        Prefer to use cur_loc, when that fails and still in
3486
        changed_variables (and seen first time) recompute it.  Set
3487
        cur_loc_changed of variables which had to change cur_loc and
3488
        compute elcd->cur_loc_changed if any of the subexpressions used
3489
        had to change cur_loc.
3490
        (vt_expand_loc): Adjust to pass arguments in
3491
        expand_loc_callback_data structure.
3492
        (vt_expand_loc_dummy): New function.
3493
        (emitted_notes): New variable.
3494
        (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
3495
        that weren't used for any other decl in current
3496
        emit_notes_for_changes call call vt_expand_loc_dummy to update
3497
        cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
3498
        first loc_chain location if NULL before.  Always use just
3499
        cur_loc instead of first loc_chain location.  When cur_loc_changed
3500
        is false, when not --enable-checking=rtl just don't emit any note.
3501
        When rtl checking, compute the note and assert it is the same
3502
        as previous note.  Clear cur_loc_changed and in_changed_variables
3503
        at the end before removing from changed_variables.
3504
        (check_changed_vars_3): New function.
3505
        (emit_notes_for_changes): Traverse changed_vars to call
3506
        check_changed_vars_3 on each changed var.
3507
        (emit_notes_for_differences_1): Clear cur_loc_changed and
3508
        in_changed_variables.  Recompute cur_loc of new_var.
3509
        (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
3510
        (vt_emit_notes): Initialize and destroy emitted_notes.
3511
 
3512
2010-03-07  Bernd Schmidt  
3513
 
3514
        PR rtl-optimization/42220
3515
        * regrename.c (scan_rtx) :
3516
        Use verify_reg_tracked to determine if we should use OP_OUT rather
3517
        than OP_INOUT.
3518
        (build_def_use): If we see an in-out operand for a register that we
3519
        know nothing about, treat is an output if possible, fail the block if
3520
        not.
3521
 
3522
2010-03-06  Alexandre Oliva  
3523
 
3524
        PR debug/42897
3525
        * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
3526
        permanently.
3527
 
3528
2010-03-06  Alexandre Oliva  
3529
 
3530
        PR debug/42897
3531
        * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
3532
        uses of relevant DEFs that are dead outside the loop too.
3533
 
3534
2010-03-06  Alexandre Oliva 
3535
 
3536
        * var-tracking.c (dataflow_set_merge): Swap src and src2.
3537
        Reverted:
3538
        2010-01-13  Jakub Jelinek  
3539
        PR debug/41371
3540
        * var-tracking.c (values_to_unmark): New variable.
3541
        (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3542
        values_to_unmark vector.  Moved body to...
3543
        (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
3544
        instead queue it into values_to_unmark vector.
3545
        (vt_find_locations): Free values_to_unmark vector.
3546
 
3547
2010-03-05  Eric Botcazou  
3548
 
3549
        * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
3550
        (site.exp): Export them when plugins are enabled.
3551
 
3552
2010-03-05  Sebastian Pop  
3553
 
3554
        PR middle-end/42326
3555
        * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
3556
        that contain scevs.
3557
        (chrec_fold_multiply): Same.
3558
 
3559
2010-03-04  Andrew Pinski  
3560
 
3561
        PR c/43248
3562
        * c-decl.c (build_compound_literal): Return early if init is
3563
        an error_mark_node.
3564
 
3565
2010-03-04  Martin Jambor  
3566
 
3567
        PR tree-optimization/43164
3568
        PR tree-optimization/43191
3569
        * tree-sra.c (type_consists_of_records_p): Reject records with
3570
        zero-size bit-fields at the end.
3571
 
3572
2010-03-04  Mike Stump  
3573
 
3574
        * Makefile.in (TAGS): Remove *.y.
3575
 
3576
2010-03-04  Richard Guenther  
3577
 
3578
        PR tree-optimization/40761
3579
        * tree-ssa-pre.c (compute_antic): Walk reverse postorder
3580
        in reverse order.
3581
        (my_rev_post_order_compute): New function.
3582
        (init_pre): Call it.
3583
 
3584
2010-03-04  Changpeng Fang  
3585
 
3586
        PR middle-end/43209
3587
        * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
3588
        decrease the cost of an IV candidate when the cost is infinite.
3589
 
3590
2010-03-04  Ralf Wildenhues  
3591
 
3592
        * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
3593
        Use '3DNow!' for the extension of that name, ensure normal space
3594
        after the string.
3595
        * doc/invoke.texi (i386 and x86-64 Options): Likewise.
3596
 
3597
2010-03-03  Jeff Law  
3598
 
3599
        * PR middle-end/32693
3600
        * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
3601
        than gen_rtx_SUBREG.
3602
        (extract_bit_field_1): Likewise.
3603
 
3604
2010-03-03  Janis Johnson  
3605
 
3606
        * doc/sourcebuild.texi (Test directives): Document that arguments
3607
        include-opts and exclude-opts are now optional for dg-skip-if,
3608
        dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
3609
 
3610
2010-03-03  Jason Merrill  
3611
 
3612
        PR c++/12909
3613
        * cgraph.h (varpool_node): Add extra_name field.
3614
        * varpool.c (varpool_extra_name_alias): New.
3615
        (varpool_assemble_decl): Emit extra name aliases.
3616
        (varpool_mark_needed_node): Look past an extra name alias.
3617
        * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
3618
        * lto-streamer-in.c (lto_input_tree): Read it.
3619
        * lto-streamer-out.c (output_unreferenced_globals): Write it.
3620
 
3621
2010-03-03  Eric Botcazou  
3622
 
3623
        * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
3624
        (sparc*-*-solaris2*): ...this.
3625
 
3626
2010-03-03  Jakub Jelinek  
3627
 
3628
        PR debug/43229
3629
        * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
3630
        WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
3631
        ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
3632
        FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
3633
 
3634
        PR debug/43237
3635
        * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
3636
        fallthrough to default handling, just with want_address 0 instead of 2.
3637
        For single element lists, add_AT_loc directly, otherwise create an
3638
        artificial variable DIE and stick location list to it.
3639
 
3640
        PR debug/43177
3641
        * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
3642
        (VAL_EXPR_HAS_REVERSE): Define.
3643
        (reverse_op): New function.
3644
        (add_stores): For reversible operations add an extra MO_VAL_USE.
3645
 
3646
2010-03-02  Jason Merrill  
3647
 
3648
        * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
3649
 
3650
2010-03-02  Eric Botcazou  
3651
 
3652
        * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
3653
        (sparc64-*-linux*): Likewise.
3654
        (sparc64-*-solaris2*): Include assembler files before linker ones.
3655
        (sparc-*-solaris2*): Simplify and reorder to match previous case.
3656
        * config/sparc/gas.h: Delete.
3657
        * config/sparc/sol2-64.h: Add copyright notice.
3658
        * config/sparc/sol2-gas-bi.h: Likewise.
3659
        * config/sparc/sol2-gld.h: Likewise.
3660
        * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
3661
        * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
3662
        * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
3663
        * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
3664
        (sparc_elf_asm_named_section): Rename into...
3665
        (sparc_solaris_elf_asm_named_section): ...this.  Always define.
3666
 
3667
2010-03-02  Uros Bizjak  
3668
 
3669
        * config/alpha/alpha.c (override_options): Fix -mtune error message.
3670
 
3671
2010-03-02  Jeff Law  
3672
 
3673
        PR middle-end/42431
3674
        * reload1.c (rtx_p, substitute_stack): Declare.
3675
        (substitute): Record addresses of changed rtxs.
3676
        (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
3677
        Restore the original rtx when complete.
3678
        (reload): Free subsitute_stack when complete.
3679
 
3680
2010-03-02  Janis Johnson  
3681
 
3682
        * doc/gccint.texi (menu): Add Testsuites as a chapter.
3683
        * doc/sourcebuild.texi (Testsuites): Move up a level to be a
3684
        new chapter.
3685
        (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
3686
        LTO Testing, gcov Testing, profopt Testing, compat Testing,
3687
        Torture Tests): Change from subsection to section.
3688
 
3689
2010-03-02  Jakub Jelinek  
3690
            Steven Bosscher  
3691
 
3692
        * var-tracking.c (vt_initialize): Scan insns in ebb chunks
3693
        instead of bb.
3694
 
3695
2010-03-02  Reza Yazdani  
3696
 
3697
        PR middle-end/42640
3698
        * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
3699
        the assignment from the new induction variable to the assignment
3700
        of the value from the original loop PHI function.
3701
 
3702
2010-03-01  Janis Johnson  
3703
            Daniel Jacobowitz  
3704
 
3705
        * doc/sourcebuild.texi (Test directives): Clarify options to
3706
        dg-skip-if.
3707
 
3708
2010-03-01  Rainer Orth  
3709
 
3710
        * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
3711
        Disable cfi directives unless GCC and gas agree on using read-only
3712
        .eh_frame sections for 64-bit.
3713
        * configure: Regenerate.
3714
 
3715
2010-03-01  Richard Guenther  
3716
 
3717
        PR tree-optimization/43220
3718
        * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
3719
        BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
3720
 
3721
2010-03-01  Richard Guenther  
3722
            Martin Jambor  
3723
 
3724
        PR middle-end/41250
3725
        * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
3726
        gimplified parameters.
3727
 
3728
2010-03-01  Christian Bruel  
3729
 
3730
        * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
3731
 
3732
2010-03-01  H.J. Lu  
3733
 
3734
        * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
3735
 
3736
2010-03-01  Richard Guenther  
3737
 
3738
        PR middle-end/43213
3739
        * expr.c (expand_assignment): Use the alias-oracle to tell
3740
        if the rhs aliases the result decl.
3741
 
3742
2010-03-01  Rainer Orth  
3743
 
3744
        PR pch/14940
3745
        * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
3746
        to sol_gt_pch_get_address.
3747
        (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
3748
        64-bit, SPARC and x86.
3749
        (sol_gt_pch_get_address): New function.
3750
 
3751
2010-03-01  Marco Poletti  
3752
 
3753
        * toplev.h (inform_n, error_n): Declare.
3754
        * diagnostic.c (inform_n, error_n): New function.
3755
 
3756
2010-03-01  Jakub Jelinek  
3757
 
3758
        * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
3759
        has no rtl yet when processing local_decls, queue it and recheck
3760
        if deferred stack allocation hasn't assigned it rtl.
3761
 
3762
2010-02-28  Kaz Kojima  
3763
 
3764
        * config/sh/sh.c (unspec_bbr_uid): New.
3765
        (gen_block_redirect): Use it instead of INSN_UID.
3766
        (gen_far_branch): Likewise.
3767
 
3768
2010-02-28  H.J. Lu  
3769
 
3770
        * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
3771
        it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
3772
 
3773
2010-02-28  Ralf Wildenhues  
3774
 
3775
        * doc/invoke.texi (Warning Options, RX Options): Fix typos.
3776
        (Warning Options): -Wno-conversion-null is valid for
3777
        Objective-C++ as well.
3778
        * doc/tm.texi (Named Address Spaces): Likewise.
3779
        * doc/plugins.texi (Plugins): Replace TABs with spaces.
3780
        * doc/tree-ssa.texi (Tree SSA): Likewise.
3781
 
3782
2010-02-27  H.J. Lu  
3783
 
3784
        PR bootstrap/43202
3785
        * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
3786
        by default.  Don't set the default arch for
3787
        i[34567]86-*-darwin*|x86_64-*-darwin*.
3788
 
3789
2010-02-27  H.J. Lu  
3790
 
3791
        PR bootstrap/43202
3792
        * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
3793
        default.  Set the default 32bit/64bit archs with $with_arch
3794
        instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
3795
 
3796
2010-02-27  Richard Guenther  
3797
 
3798
        PR tree-optimization/43186
3799
        * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
3800
        * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
3801
        * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
3802
        unroller iterations.
3803
 
3804
2010-02-27  H.J. Lu  
3805
 
3806
        * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
3807
        required and i[34567]86-*-* targets don't support 64bit ISA.
3808
 
3809
2010-02-26  Eric Botcazou  
3810
 
3811
        PR ada/43096
3812
        * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3813
        the same alias set.
3814
 
3815
2010-02-26  H.J. Lu  
3816
 
3817
        * config.gcc: Set the default arch at least to Prescott for
3818
        i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
3819
        if SSE math is enabled.
3820
 
3821
2010-02-26  Manuel López-Ibáñez  
3822
 
3823
        * diagnostic.c (diagnostic_initialize): Update.
3824
        (diagnostic_report_diagnostic): Test inhibit_notes_p for
3825
        informative notes.
3826
        * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
3827
        (diagnostic_inhibit_notes): New.
3828
        * toplev.c (process_options): inhibit notes with -fcompare-debug.
3829
 
3830
2010-02-26  Manuel López-Ibáñez  
3831
 
3832
        PR c/20631
3833
        * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
3834
        * doc/standards.texi: Likewise.
3835
        * doc/extend.texi: Likewise.
3836
        * doc/trouble.texi: Likewise.
3837
        * doc/cppopts.texi: Likewise.
3838
        * doc/install.texi: Likewise.
3839
        * c.opt (std=c90,std=gnu90): New options.
3840
        * c-opts.c (c_common_handle_option): Handle them.
3841
 
3842
2010-02-26  Manuel López-Ibáñez  
3843
 
3844
        PR c/24577
3845
        * c-decl.c (undeclared_variable): Use an informative note.
3846
 
3847
2010-02-26  Richard Guenther  
3848
 
3849
        PR tree-optimization/43186
3850
        * gimple.h (gimple_fold): Remove.
3851
        * gimple.c (gimple_fold): Remove.  Inline into single user ...
3852
        * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
3853
        Try harder for conditions.
3854
 
3855
2010-02-26  Jakub Jelinek  
3856
 
3857
        PR debug/43190
3858
        * function.c (used_types_insert): Don't skip through named pointer
3859
        types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
3860
        and it is different from the main variant's type.
3861
 
3862
2010-02-26  Nick Clifton  
3863
 
3864
        * config/rx/rx.md (sminsi3): Remove bogus alternative.
3865
 
3866
2010-02-26  H.J. Lu  
3867
 
3868
        * config.gcc: Support --with-fpmath=sse for x86.
3869
 
3870
        * config/i386/ssemath.h: New.
3871
 
3872
        * doc/install.texi (--with-fpmath=sse): Documented.
3873
 
3874
2010-02-26  Richard Guenther  
3875
 
3876
        PR tree-optimization/43188
3877
        * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
3878
        vector types of over-aligned element type.
3879
 
3880
2010-02-26  Uros Bizjak  
3881
 
3882
        PR target/43175
3883
        * config/i386/i386.c (expand_vec_perm_blend): Use correct
3884
        operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
3885
 
3886
2010-02-26  Jan Kratochvil  
3887
 
3888
        * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
3889
 
3890
2010-02-26  Jakub Jelinek  
3891
 
3892
        * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
3893
        * var-tracking.c: Include diagnostic.h.
3894
        (debug_dv): New function.
3895
        (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
3896
 
3897
        PR debug/43160
3898
        * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
3899
        (add_value_chain, add_value_chains, remove_value_chain,
3900
        remove_value_chains): Handle DEBUG_EXPRs.
3901
        (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
3902
 
3903
        PR debug/43161
3904
        * regcprop.c (struct queued_debug_insn_change): New type.
3905
        (struct value_data_entry): Add debug_insn_changes field.
3906
        (struct value_data): Add n_debug_insn_changes field.
3907
        (debug_insn_changes_pool): New variable.
3908
        (free_debug_insn_changes, apply_debug_insn_changes,
3909
        cprop_find_used_regs_1, cprop_find_used_regs): New functions.
3910
        (kill_value_one_regno): Call free_debug_insn_changes if needed.
3911
        (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
3912
        fields.
3913
        (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
3914
        changes for them.
3915
        (copyprop_hardreg_forward_1): Don't call apply_change_group for
3916
        DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
3917
        changes, call cprop_find_used_regs via note_stores.
3918
        (copyprop_hardreg_forward): When copying vd from predecessor
3919
        which has any queued DEBUG_INSN changes, make sure the pointers are
3920
        cleared.  At the end call df_analyze and then if there are any
3921
        DEBUG_INSN changes queued at the end of some basic block for still
3922
        live registers, apply them.
3923
        (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
3924
 
3925
2010-02-25  Uros Bizjak  
3926
 
3927
        * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
3928
        (arm*-*-*): Ditto.
3929
 
3930
2010-02-25  H.J. Lu  
3931
 
3932
        * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
3933
        targets.  Set the default with_cpu/with_arch from arch/cpu.
3934
        Allow x86-64 and native for with_cpu/with_arch.
3935
 
3936
2010-02-25  Nicolas Benoit  
3937
 
3938
        * ebitmap.c: Change calls to verify_popcount with calls to
3939
        sbitmap_verify_popcount.
3940
        (ebitmap_clear_bit): Fixed map->cacheindex test and
3941
        map>cache update when bit clearing results in an empty
3942
        element.
3943
 
3944
2010-02-25  Michael Meissner  
3945
 
3946
        PR target/43154
3947
        * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
3948
        (vec_interleave_high): Rename from vec_interleave_highv2df
3949
        and support both V2DF and V2DI modes.
3950
        (vec_interleave_low): Rename from vec_interleave_lowv2df and
3951
        support both V2DF and V2DI modes.
3952
        (general): Delete trailing whitespace from a few patterns.
3953
 
3954
        * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3955
        V2DF/V2DI interleave high/low builtins.
3956
 
3957
        * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
3958
        new VSX builtins.
3959
 
3960
        * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
3961
        interleave high/low functions.
3962
 
3963
2010-02-25  Gerald Pfeifer  
3964
 
3965
        * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
3966
        #pragma extern_prefix.
3967
 
3968
2010-02-25  Jakub Jelinek  
3969
 
3970
        PR debug/43166
3971
        * cfgexpand.c (expand_debug_expr) : If mode is
3972
        BLKmode, assert op0 is a MEM and just adjust its mode.
3973
 
3974
        PR debug/43165
3975
        * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
3976
        if bitpos isn't multiple of mode's bitsize.
3977
 
3978
2010-02-24  Manuel López-Ibáñez  
3979
 
3980
        * c.opt (-ftemplate-depth=): New.
3981
        (-ftemplate-depth-): Deprecate.
3982
        * optc-gen.awk: Handle -ftemplate-depth=.
3983
        * opth-gen.awk: Likewise.
3984
        * c-opts.c (c_common_handle_option): Likewise.
3985
        * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
3986
 
3987
2010-02-24  Jason Merrill  
3988
 
3989
        * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
3990
 
3991
2010-02-24  Rainer Orth  
3992
 
3993
        * cfg.c (alloc_aux_for_block): Remove inline.
3994
        (alloc_aux_for_edge): Likewise.
3995
 
3996
2010-02-24  Rainer Orth  
3997
 
3998
        * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
3999
 
4000
2010-02-24  Rainer Orth  
4001
 
4002
        * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
4003
        * config/i386/sol2-gas.h: New file.
4004
        * config.gcc (i[34567]86-*-solaris2*): Use it.
4005
 
4006
2010-02-24  Manuel López-Ibáñez  
4007
 
4008
        PR c/43128
4009
        * c-typeck.c (ep_convert_and_check): New.
4010
        (build_conditional_expr): Use it.
4011
        (build_binary_op): Likewise.
4012
 
4013
2010-02-24  Jakub Jelinek  
4014
 
4015
        * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
4016
 
4017
        PR debug/43150
4018
        * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
4019
        bounds even for -O+.
4020
        * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
4021
        expr needs to have DECL_NAME set.
4022
 
4023
2010-02-24  Nick Clifton  
4024
 
4025
        * config/mep/mep.c: Include gimple.h.
4026
        (mep_function_uses_sp): Delete unused function.
4027
        (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
4028
        parameters.  Use unsigned integers to count args.  Return a
4029
        NULL_RTX instead of an error_mark_node.  Toidy up formatting.
4030
 
4031
2010-02-23  Jakub Jelinek  
4032
 
4033
        PR target/43107
4034
        * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
4035
        greater or equal to nelt instead of 2 * nelt.
4036
        (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
4037
        with nelt - 1.
4038
 
4039
2010-02-23  Jason Merrill  
4040
 
4041
        PR debug/42800
4042
        * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
4043
        in cfun->local_decls even if they have register types.
4044
 
4045
        PR c++/42837
4046
        * stor-layout.c (place_field): Don't warn about unnecessary
4047
        DECL_PACKED if the type is packed.
4048
 
4049
2010-02-23  Jakub Jelinek  
4050
 
4051
        PR target/43139
4052
        * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
4053
        GOTOFF relocs, even when the base reg isn't pic pointer.
4054
 
4055
2010-02-23  Michael Matz  
4056
 
4057
        PR debug/43077
4058
        * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
4059
        (expand_gimple_basic_block): Generate and use debug temps if there
4060
        are debug uses left after the last real use of TERed ssa names.
4061
        Unlink debug immediate uses when they are expanded.
4062
 
4063
2010-02-23  Manuel López-Ibáñez  
4064
 
4065
        PR 43123
4066
        * config/i386/i386.c (override_options): Reorganise to provide
4067
        better error messages.
4068
 
4069
2010-02-22  Sebastian Pop  
4070
 
4071
        PR middle-end/43083
4072
        * graphite-scop-detection.c (create_single_exit_edge): Move
4073
        the call to find_single_exit_edge to....
4074
        (create_sese_edges): ...here.  Don't handle multiple edges
4075
        exiting the function.
4076
        (build_graphite_scops): Don't handle multiple edges
4077
        exiting the function.
4078
 
4079
2010-02-22  Sebastian Pop  
4080
 
4081
        PR middle-end/43097
4082
        * sese.c (get_rename): Assert that old_name is an SSA_NAME.
4083
        (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
4084
 
4085
2010-02-22  Sebastian Pop  
4086
 
4087
        PR middle-end/43026
4088
        * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
4089
 
4090
2010-02-22  Manuel López-Ibáñez  
4091
 
4092
        PR c++/43126
4093
        * c-typeck.c (convert_arguments): Print declaration location.
4094
        * c-common.c (validate_nargs): Rename as
4095
        builtin_function_validate_nargs.
4096
        (check_builtin_function_arguments): Update.
4097
 
4098
2010-02-22  Richard Guenther  
4099
 
4100
        PR lto/43045
4101
        * tree-inline.c (declare_return_variable): Use the type of
4102
        the call stmt lhs if available.
4103
 
4104
2010-02-22  Duncan Sands  
4105
 
4106
        * passes.c (register_pass): Always consider all pass lists when
4107
        ref_pass_instance_number is zero.
4108
 
4109
2010-02-22  Richard Guenther  
4110
 
4111
        PR tree-optimization/42749
4112
        * tree-tailcall.c (adjust_return_value_with_ops): Drop update
4113
        parameter.  Do arithmetic in the original type.
4114
        (update_accumulator_with_ops): Likewise.
4115
        (adjust_accumulator_values): Adjust.
4116
 
4117
2010-02-22  Andreas Krebbel  
4118
 
4119
        * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
4120
        (QI to BLKmode splitter): New splitter.
4121
 
4122
2010-02-22  H.J. Lu  
4123
 
4124
        * config/i386/i386.c (initial_ix86_tune_features): Turn on
4125
        X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
4126
 
4127
2010-02-22  Richard Guenther  
4128
 
4129
        * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
4130
 
4131
2010-02-22  Hans-Peter Nilsson  
4132
 
4133
        Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
4134
        * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
4135
        ($(T)crti.o, $(T)crtn.o): Remove rules.
4136
 
4137
2010-02-21  Tobias Burnus  
4138
 
4139
        PR fortran/35259
4140
        * doc/invoke.texi (-fassociative-math): Document that this
4141
        option is automatically enabled for Fortran.
4142
 
4143
2010-02-20  David S. Miller  
4144
 
4145
        * configure.ac: Test if linker and assembler properly support
4146
        GOTDATA_OP relocations.
4147
        * configure: Rebuild.
4148
        * config.in: Likewise.
4149
        * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
4150
        (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
4151
        (movsi_high_pic): Likewise.
4152
        (movdi_lo_sum_pic): Likewise.
4153
        (movdi_high_pic): Likewise.
4154
        (movsi_pic_gotdata_op): New pattern.
4155
        (movdi_pic_gotdata_op): Likewise.
4156
        * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
4157
        emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
4158
 
4159
2010-02-20  Uros Bizjak  
4160
 
4161
        PR target/43067
4162
        * config/i386/sse.md (xop_mulv2div2di3_low): Change type
4163
        attribute to ssemul.
4164
        (xop_mulv2div2di3_high): Ditto.
4165
 
4166
2010-02-20  Manuel López-Ibáñez  
4167
 
4168
        PR c++/35669
4169
        * c.opt (Wconversion-null): New option.
4170
        * doc/invoke.texi (Wconversion-null): Document.
4171
 
4172
2010-02-20  Manuel López-Ibáñez  
4173
 
4174
        * common.opt (Wlarger-than-): Add Undocumented.
4175
 
4176
2010-02-19  Mike Stump  
4177
 
4178
        * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
4179
 
4180
2010-02-19  Jason Merrill  
4181
 
4182
        PR target/40332
4183
        * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
4184
        * configure: Likewise.
4185
 
4186
2010-02-20  Alan Modra  
4187
 
4188
        PR middle-end/42344
4189
        * cgraph.h (cgraph_make_decl_local): Declare.
4190
        * cgraph.c (cgraph_make_decl_local): New function.
4191
        (cgraph_make_node_local): Use it.
4192
        * cgraphunit.c (cgraph_function_versioning): Likewise.
4193
        * ipa.c (function_and_variable_visibility): Likewise.
4194
 
4195
2010-02-19  Jakub Jelinek  
4196
 
4197
        PR bootstrap/43121
4198
        * except.c (sjlj_emit_function_enter): Don't call
4199
        add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
4200
        directly.
4201
        * rtl.h (add_reg_br_prob_note): Remove prototype.
4202
 
4203
2010-02-19  Manuel López-Ibáñez  
4204
 
4205
        PR 41779
4206
        * c-common.c (conversion_warning): Remove widening conversions
4207
        before checking the conversion of integers to reals.
4208
 
4209
2010-02-19  Mike Stump  
4210
 
4211
        PR middle-end/43125
4212
        * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
4213
 
4214
        PR objc/43061
4215
        * cgraphunit.c (process_function_and_variable_attributes): Check
4216
        DECL_PRESERVE_P instead of looking up attribute "used".
4217
        * ipa-pure-const.c (check_decl): Likewise.
4218
        * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
4219
        * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
4220
        * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
4221
        instead of attribute "used".
4222
        * config/sol2-c.c (solaris_pragma_init): Likewise.
4223
        (solaris_pragma_fini): Likewise.
4224
 
4225
2010-02-19  Jakub Jelinek  
4226
 
4227
        * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
4228
        Use XCNEW instead of xcalloc.
4229
        (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
4230
        XNEW instead of xmalloc.
4231
        (get_fields): Use XNEWVEC instead of xmalloc.
4232
 
4233
        PR debug/43084
4234
        * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
4235
        populate vars array.
4236
        (create_new_general_access): For debug stmts just reset value.
4237
        (get_stmt_accesses): For accesses within debug stmts just record them
4238
        using add_access_to_acc_sites instead of preventing the peeling or
4239
        counting them as accesses.
4240
 
4241
        PR middle-end/42233
4242
        * dojump.c (do_jump) : Invert priority.
4243
 
4244
2010-02-19  Richard Guenther  
4245
 
4246
        PR tree-optimization/42916
4247
        * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
4248
        instructions.
4249
 
4250
2010-02-19  Andreas Schwab  
4251
 
4252
        * configure.ac: Replace all uses of changequote in macro arguments
4253
        with proper quoting.
4254
 
4255
2010-02-19  Jakub Jelinek  
4256
 
4257
        PR middle-end/42233
4258
        * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
4259
 
4260
2010-02-19  Richard Guenther  
4261
 
4262
        PR tree-optimization/42944
4263
        * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
4264
        test for aliasing with errno.
4265
 
4266
2010-02-19  Jakub Jelinek  
4267
 
4268
        PR middle-end/42233
4269
        * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
4270
        do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
4271
        * dojump.c: Include output.h.
4272
        (inv): New inline function.
4273
        (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
4274
        do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
4275
        do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
4276
        do_jump_by_parts_equality, do_compare_and_jump): Add PROB
4277
        argument, pass it down to other calls.
4278
        (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
4279
        add REG_BR_PROB note to the conditional jump.
4280
        * cfgexpand.c (add_reg_br_prob_note): Removed.
4281
        (expand_gimple_cond): Don't call it, add the probability
4282
        as last argument to jumpif_1/jumpifnot_1.
4283
        * Makefile.in (dojump.o): Depend on output.h.
4284
        * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
4285
        callers.
4286
        * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
4287
        * stmt.c (do_jump_if_equal): Likewise.
4288
        * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
4289
        * loop-unswitch.c (compare_and_jump_seq): Likewise.
4290
        * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
4291
        Likewise.
4292
        * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
4293
        * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
4294
        jumpifnot_1 callers.
4295
        (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
4296
        callers.
4297
        (store_expr): Adjust jumpifnot caller.
4298
        (store_constructor): Adjust jumpif caller.
4299
 
4300
        PR middle-end/42233
4301
        * gimplify.c (gimple_boolify): For __builtin_expect call
4302
        gimple_boolify also on its first argument.
4303
 
4304
2010-02-18  Uros Bizjak  
4305
 
4306
        * configure.ac (gnu-unique-object): Wrap regexps using [] in
4307
        changequote block.
4308
        (__stack_chk_fail): Ditto.  Remove quadrigraphs.
4309
        * configure: Regenerated.
4310
 
4311
2010-02-18  Ulrich Weigand  
4312
 
4313
        * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
4314
        lang_hooks.types_compatible_p instead of comptypes.
4315
 
4316
2010-02-18  Sebastian Huber 
4317
 
4318
        * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
4319
        (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
4320
        if __prefer_thumb__ is defined.
4321
 
4322
2010-02-18  Martin Jambor  
4323
 
4324
        PR tree-optimization/43066
4325
        * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
4326
        array with zero-sized element type.
4327
 
4328
2010-02-18  Jakub Jelinek  
4329
 
4330
        * dwarf2out.c (add_var_loc_to_decl): Change last argument to
4331
        rtx, allocate struct var_loc_node here and return it to the
4332
        caller, and only if it is actually needed.
4333
        (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
4334
        move it earlier and return immediately if it returns NULL.
4335
 
4336
2010-02-17  Mikael Pettersson  
4337
 
4338
        * config/sparc/gas.h: New file.  Restore
4339
        TARGET_ASM_NAMED_SECTION to its ELF default.
4340
        * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
4341
        check !HAVE_GNU_AS.
4342
        * config/sparc/sparc.c (sparc_elf_asm_named_section):
4343
        Likewise.  Add ATTRIBUTE_UNUSED to prototype.
4344
        * config.gcc (sparc*-*-linux*): Include sparc/gas.h
4345
        after sparc/sysv4.h.
4346
 
4347
2010-02-17  Dave Korn  
4348
 
4349
        * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
4350
 
4351
2010-02-17  Steven Bosscher  
4352
 
4353
        * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
4354
        patterns from predicated pattern.
4355
 
4356
2010-02-17  Uros Bizjak  
4357
 
4358
        PR target/43103
4359
        * config/i386/sse.md (xop_vpermil23): Use avxmodesuffixf2c
4360
        for insn mnemonic suffix.
4361
 
4362
2010-02-17  Richard Guenther  
4363
 
4364
        * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
4365
        to loop PHI nodes.
4366
 
4367
2010-02-17  Jakub Jelinek  
4368
 
4369
        PR debug/42918
4370
        * caller-save.c (save_call_clobbered_regs): If BB ends with
4371
        a DEBUG_INSN, move any notes in between last real insn and the last
4372
        DEBUG_INSN after the last DEBUG_INSN.
4373
 
4374
2010-02-16  Joern Rennecke  
4375
 
4376
        * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
4377
        Fix return type.  Fix argument type.  Explain meaning of return value.
4378
 
4379
2010-02-16  Richard Guenther  
4380
 
4381
        PR tree-optimization/41043
4382
        * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
4383
        (vrp_visit_assignment_or_call): Do not ask SCEV for regular
4384
        statements ...
4385
        (vrp_visit_phi_node): ... but only for loop PHI nodes.
4386
 
4387
2010-02-16  Ira Rosen 
4388
 
4389
        PR tree-optimization/43074
4390
        * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
4391
        * tree-vect-loop.c (vect_analyze_loop_operations): Add
4392
        vectorizable cycles in hybrid SLP check.
4393
        * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
4394
 
4395
2010-02-16  Richard Guenther  
4396
 
4397
        * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
4398
        (true_dependence): If memrefs_conflict_p computes must-alias
4399
        trust it.  Move TBAA check after offset-based disambiguation.
4400
        (canon_true_dependence): Likewise.
4401
 
4402
2010-02-16  Alexandre Oliva  
4403
 
4404
        * params.def (PARAM_MAX_VARTRACK_SIZE): New.
4405
        * doc/invoke.texi: Document it.
4406
        * var-tracking.c: Include toplev.h and params.h.
4407
        (vt_find_locations): Return bool indicating success.  Compute
4408
        hash sizes unconditionally.  Check new parameter, report.
4409
        (variable_tracking_main_1): Check vt_find_locations results and
4410
        retry.  Renamed from...
4411
        (variable_tracking_main): ... this.  New wrapper to preserve
4412
        flag_var_tracking_assignments.
4413
        * Makefile.in (var-tracking.o): Adjust dependencies.
4414
 
4415
2010-02-16  Jack Howarth 
4416
            Jakub Jelinek 
4417
 
4418
        PR target/42854
4419
        * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
4420
        if weak_import attribute is present.
4421
        * config/darwin.c (machopic_select_section): Likewise.
4422
 
4423
2010-02-15  Joern Rennecke  
4424
 
4425
        * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
4426
        (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
4427
        (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
4428
        (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
4429
 
4430
        * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
4431
 
4432
        * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
4433
        Fix argument types.
4434
 
4435
        * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
4436
        Rewrite text to refer to the names.
4437
 
4438
2010-02-15  Sebastian Pop  
4439
 
4440
        * config/i386/i386-builtin-types.def
4441
        (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
4442
        (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
4443
        (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
4444
        (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
4445
        * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
4446
        IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
4447
        IX86_BUILTIN_VPERMIL2PS256.
4448
        (MULTI_ARG_4_DF2_DI_I): Defined.
4449
        (MULTI_ARG_4_DF2_DI_I1): Defined.
4450
        (MULTI_ARG_4_SF2_SI_I): Defined.
4451
        (MULTI_ARG_4_SF2_SI_I1): Defined.
4452
        (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
4453
        __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
4454
        __builtin_ia32_vpermil2ps256.
4455
        (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
4456
        MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
4457
        MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
4458
        (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
4459
        MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
4460
        MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
4461
        CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
4462
        CODE_FOR_xop_vpermil2v8sf3.
4463
        * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
4464
        * config/i386/sse.md (xop_vpermil23): New insn pattern.
4465
        * config/i386/xopintrin.h (_mm_permute2_pd): New.
4466
        (_mm256_permute2_pd): New.
4467
        (_mm_permute2_ps): New.
4468
        (_mm256_permute2_ps): New.
4469
 
4470
2010-02-15  Nick Clifton  
4471
 
4472
        * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
4473
        boolean parameters.  Use emit_jump_insn when emitting a pop
4474
        instruction containing a return insn.
4475
        (push): Use 'true' rather than '1' as second parameter to F.
4476
        (h8300_expand_prologue): Likewise.
4477
        Use 'true' and 'false' for boolean parameters to h8300_push_pop.
4478
        (h8300_expand_epilogue): Likewise.
4479
 
4480
2010-02-15  Richard Guenther  
4481
 
4482
        PR middle-end/43068
4483
        * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
4484
        if that is zero.
4485
 
4486
2010-02-15  Nick Clifton  
4487
 
4488
        * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
4489
        delta.
4490
 
4491
2010-02-14  Marco Poletti  
4492
 
4493
        * intl.c (fake_ngettext): New function.
4494
        * intl.h (fake_ngettext): Declare.
4495
        (ngettext): Define macro.
4496
        * collect2.c (notice_translated): New function.
4497
        (main): Use notice_translated and ngettext.
4498
        * collect2.h (notice_translated): Declare.
4499
 
4500
2010-02-14  Steven Bosscher  
4501
 
4502
        * reorg.c (delete_computation): Comment fixes.
4503
        * caller-save.c (setup_save_areas): Idem.
4504
        * sel-sched-dump.c (dump_lv_set): Idem.
4505
        * rtl.def: Idem.
4506
 
4507
2010-02-14  Andreas Krebbel  
4508
 
4509
        * config/s390/s390.c (s390_sched_init): New function.
4510
        (TARGET_SCHED_INIT): Target hook defined.
4511
 
4512
2010-02-12  Dave Korn  
4513
            Jack Howarth  
4514
            Iain Sandoe 
4515
 
4516
        PR target/42982
4517
        Partial revert of unintended change in fix for PR41605.
4518
        * config/darwin.h: Fix typo.
4519
        * config/darwin9.h: Same.
4520
 
4521
2010-02-11  Jakub Jelinek  
4522
 
4523
        * c-pch.c (pch_init): Clear v.
4524
 
4525
2010-02-11  Sebastian Pop  
4526
 
4527
        PR middle-end/42930
4528
        * graphite-scop-detection.c (graphite_can_represent_scev): Call
4529
        graphite_can_represent_init for MULT_EXPR.
4530
 
4531
2010-02-11  Sebastian Pop  
4532
 
4533
        PR middle-end/42914
4534
        PR middle-end/42530
4535
        * graphite-sese-to-poly.c (remove_phi): New.
4536
        (translate_scalar_reduction_to_array): Call remove_phi.
4537
 
4538
2010-02-11  Sebastian Pop  
4539
 
4540
        PR middle-end/42771
4541
        * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
4542
        * graphite-clast-to-gimple.h (gloog): Update declaration.
4543
        * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
4544
        * graphite-poly.h (struct poly_bb): Add missing comments.
4545
        (struct scop): Add poly_scop_p field.
4546
        (POLY_SCOP_P): New.
4547
        * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
4548
        * graphite.c (graphite_transform_loops): Build the polyhedral
4549
        representation for each scop before code generation.
4550
        * sese.c (rename_variables_in_operand): Removed.
4551
        (rename_variables_in_expr): Return the renamed expression.
4552
        (rename_sese_parameters): New.
4553
        * sese.h (rename_sese_parameters): Declared.
4554
 
4555
2010-02-11  Richard Guenther  
4556
 
4557
        PR tree-optimization/42998
4558
        * tree-ssa-pre.c (create_expression_by_pieces): Treat
4559
        POINTER_PLUS_EXPR properly.
4560
 
4561
2010-02-11  Sebastian Pop  
4562
            Changpeng Fang  
4563
 
4564
        PR middle-end/40886
4565
        * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
4566
        the cost of an IV candidate when the IV is used in a test against zero.
4567
 
4568
        * gcc.dg/tree-ssa/ivopts-3.c: New.
4569
 
4570
2010-02-11  Richard Guenther  
4571
 
4572
        PR lto/41664
4573
        * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
4574
        pointer-vs-decl case by swapping refs.  Handle some cases
4575
        of pointer-vs-decl disambiguations more conservatively.
4576
        * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
4577
        to false after expanding.
4578
 
4579
2010-02-11  Richard Guenther  
4580
 
4581
        PR driver/43021
4582
        * gcc.c (process_command): Handle LTO file@offset case more
4583
        appropriately.
4584
 
4585
2010-02-11  Jakub Jelinek  
4586
 
4587
        * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
4588
        modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
4589
        of DEBUG_INSNs.
4590
        (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
4591
 
4592
        * dwarf2out.c (mem_loc_descriptor) : Use DW_OP_deref_size
4593
        if MEM's mode size isn't DWARF2_ADDR_SIZE.
4594
        (mem_loc_descriptor) : Allow also VOIDmode arguments.
4595
        Optimize eq/ne comparisons when both arguments are known to be
4596
        zero-extended.
4597
        (mem_loc_descriptor) : Allow also VOIDmode arguments.
4598
        Don't mask operands unnecessarily if they are known to be already
4599
        zero-extended.
4600
 
4601
2010-02-10  Vladimir Makarov  
4602
 
4603
        * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
4604
        instead of loop.
4605
 
4606
2010-02-10  Richard Guenther  
4607
 
4608
        PR tree-optimization/43017
4609
        * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
4610
        for wrapping signed arithmetic.
4611
 
4612
2010-02-10  Jakub Jelinek  
4613
 
4614
        PR debug/43010
4615
        * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
4616
        if no debug info should be emitted for it.
4617
 
4618
2010-02-10  Kaz Kojima  
4619
 
4620
        * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
4621
        note when flag_exceptions is set.
4622
 
4623
2010-02-10  Duncan Sands  
4624
 
4625
        * Makefile.in (PLUGIN_HEADERS): Add debug.h.
4626
 
4627
2010-02-10  Richard Guenther  
4628
 
4629
        PR c/43007
4630
        * tree.c (get_unwidened): Handle constants.
4631
        * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
4632
 
4633
2010-02-10  Martin Jambor  
4634
 
4635
        PR lto/42985
4636
        * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
4637
        check for variable argument counts independently.
4638
 
4639
2010-02-10  Christian Bruel  
4640
 
4641
        PR target/42841
4642
        * config/sh/sh.c (find_barrier): Increase length for non delayed
4643
        conditional branches.
4644
 
4645
2010-02-10  Christian Bruel  
4646
 
4647
        * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
4648
 
4649
2010-02-10  Jakub Jelinek  
4650
 
4651
        * builtins.c (set_builtin_user_assembler_name): Also handle
4652
        ffs if int is smaller than word.
4653
 
4654
2010-02-09  Vladimir Makarov  
4655
 
4656
        PR middle-end/42973
4657
        * ira-conflicts.c (get_dup): Remove.
4658
        (process_reg_shuffles): Add new parameter.  Use it as an
4659
        additional guard for copy generation.
4660
        (add_insn_allocno_copies): Rewrite.
4661
 
4662
2010-02-09  Alexander Monakov  
4663
 
4664
        * common.opt (fsched2-use-traces): Preserved for backward
4665
        compatibility.
4666
        * doc/invoke.texi: Remove the documentation about option
4667
        -fsched2-use-traces.
4668
        * sched-rgn.c (rest_of_handle_sched2): Remove usage of
4669
        flag_sched2_use_traces.
4670
        * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
4671
        the backward compatibility flag section.
4672
 
4673
2010-02-09  Richard Guenther  
4674
 
4675
        PR tree-optimization/43008
4676
        * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
4677
        make HEAP variables initialized from global memory if they
4678
        are not known builtin functions.
4679
        (find_func_aliases): Adjust.
4680
 
4681
2010-02-09  Richard Guenther  
4682
 
4683
        PR tree-optimization/43000
4684
        * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
4685
        arithmetic manually.
4686
 
4687
2010-02-08  Jakub Jelinek  
4688
 
4689
        PR tree-optimization/42931
4690
        * tree-loop-linear.c (try_interchange_loops): Don't call
4691
        double_int_mul if estimated_loop_iterations failed.
4692
 
4693
2010-02-08  Martin Jambor  
4694
 
4695
        PR middle-end/42898
4696
        * tree-sra.c (build_accesses_from_assign): Do not mark in
4697
        should_scalarize_away_bitmap if stmt has volatile ops.
4698
        (sra_modify_assign): Do not process assigns piecemeal if if stmt
4699
        has volatile ops.
4700
 
4701
2010-02-08  Joern Rennecke  
4702
 
4703
        * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
4704
 
4705
2010-02-07  Adam Nemet  
4706
 
4707
        * config/mips/mips.md (*_trunc_exts): Fix comment
4708
        before the pattern.
4709
 
4710
2010-02-07  Andrew Pinski  
4711
 
4712
        PR middle-end/42946
4713
        * df-core.c (df_finish_pass): Change type of saved_flags to int.
4714
 
4715
2010-02-07  Sebastian Pop  
4716
 
4717
        PR middle-end/42988
4718
        * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
4719
        to unknown_dependence.
4720
        (graphite_legal_transform_dr): Handle the unknown_dependence.
4721
        (graphite_carried_dependence_level_k): Same.
4722
 
4723
2010-02-07  Sebastian Pop  
4724
 
4725
        * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
4726
 
4727
2010-02-07  Richard Guenther  
4728
 
4729
        PR middle-end/42991
4730
        * expr.c (get_inner_reference): Always initialize *pbitsize.
4731
 
4732
2010-02-07  Richard Guenther  
4733
 
4734
        PR middle-end/42956
4735
        * gimplify.c (gimple_fold_indirect_ref): Avoid generating
4736
        new ARRAY_REFs on variable size element or minimal index arrays.
4737
        Complete.
4738
        * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
4739
        gimple_fold_indirect_ref.
4740
 
4741
2010-02-06  Richard Earnshaw  
4742
 
4743
        PR target/42957
4744
        * arm.c (arm_override_options): Just return if the user has specified
4745
        an invalid fpu name.
4746
 
4747
2010-02-03  Jason Merrill  
4748
 
4749
        PR c++/42870
4750
        * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
4751
        i386_pe_maybe_record_exported_symbol.
4752
 
4753
2010-02-05  Steve Ellcey  
4754
 
4755
        PR target/42924
4756
        * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
4757
        (pa_delegitimize_address): New function.
4758
 
4759
2010-02-05  Ozkan Sezer  
4760
 
4761
        * config/i386/msformat-c.c (ms_printf_length_specs): Set the
4762
        scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
4763
 
4764
2010-02-05  Richard Guenther  
4765
 
4766
        PR lto/42762
4767
        * lto-streamer-in.c (get_resolution): Deal with references
4768
        to undefined functions.
4769
 
4770
2010-02-05  Richard Guenther  
4771
 
4772
        * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
4773
        (fold_const_aggregate_ref): Likewise.
4774
        (ccp_fold_stmt): Substitute loads.
4775
        (maybe_fold_reference): Verify types before substituting.
4776
        Unshare properly.
4777
        (fold_gimple_assign): Unshare properly.
4778
        (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
4779
 
4780
2010-02-05  Nathan Froyd  
4781
 
4782
        * config/rs6000/rs6000.c (rs6000_override_options): Invert check
4783
        for rs6000_gen_cell_microcode.
4784
 
4785
2010-02-04  Richard Guenther  
4786
 
4787
        PR rtl-optimization/42952
4788
        * dse.c (const_or_frame_p): Remove MEM handling.
4789
 
4790
2010-02-04  Nick Clifton  
4791
 
4792
        * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
4793
        (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
4794
        (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
4795
        (mn10300_asm_output_mi_thunk): New function.
4796
        (mn10300_can_output_mu_thunk): New function.
4797
        * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
4798
        (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
4799
        (FUNCTION_ARG): Delete incorrect comment.
4800
 
4801
2010-02-03  Jason Merrill  
4802
 
4803
        PR c++/40138
4804
        * fold-const.c (operand_equal_p): Handle erroneous types.
4805
 
4806
2010-02-03  Kaushik Phatak  
4807
 
4808
        * config/h8300/h8300.md (can_delay): Fix attibute condition.
4809
 
4810
2010-02-03  Vladimir Makarov  
4811
 
4812
        PR rtl-optimization/42941
4813
        * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
4814
        of xmalloc.
4815
 
4816
2010-02-03  Jason Merrill  
4817
 
4818
        PR c++/35652
4819
        * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
4820
 
4821
2010-02-03  Alexandre Oliva  
4822
 
4823
        PR debug/42896
4824
        * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
4825
        (cselib_reset_table): Renamed from...
4826
        (cselib_reset_table_with_next_value): ... this.
4827
        (cselib_get_next_uid): Renamed from...
4828
        (cselib_get_next_unknown_value): ... this.
4829
        * cselib.c (next_uid): Renamed from...
4830
        (next_unknown_value): ... this.
4831
        (cselib_clear_table): Adjust.
4832
        (cselib_reset_table): Adjust.  Renamed from...
4833
        (cselib_reset_table_with_next_value): ... this.
4834
        (cselib_get_next_uid): Adjust.  Renamed from...
4835
        (cselib_get_next_unknown_value): ... this.
4836
        (get_value_hash): Use hash.
4837
        (cselib_hash_rtx): Likewise.
4838
        (new_cselib_val): Adjust.  Set and dump uid.
4839
        (cselib_lookup_mem): Pass next_uid as hash.
4840
        (cselib_subst_to_values): Likewise.
4841
        (cselib_log_lookup): Dump uid.
4842
        (cselib_lookup): Pass next_uid as hash.  Adjust.
4843
        (cselib_process_insn): Adjust.
4844
        (cselib_init): Initialize next_uid.
4845
        (cselib_finish): Adjust.
4846
        (dump_cselib_table): Likewise.
4847
        * dse.c (canon_address): Dump value uid.
4848
        * print-rtl.c (print_rtx): Print value uid.
4849
        * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
4850
        (dvuid): New type.
4851
        (dv_uid): New function, sort of renamed from...
4852
        (dv_htab_hash): ... this, reimplemented in terms of it and...
4853
        (dv_uid2hash): ... this.  New.
4854
        (variable_htab_eq): Drop excess assertions.
4855
        (tie_break_pointers): Removed.
4856
        (canon_value_cmp): Compare uids.
4857
        (variable_post_merge_New_vals): Print uids.
4858
        (vt_add_function_parameters): Adjust.
4859
        (vt_initialize): Reset table.  Adjust.
4860
 
4861
2010-02-03  Richard Guenther  
4862
 
4863
        PR tree-optimization/42944
4864
        * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
4865
        (call_may_clobber_ref_p_1): Likewise.  Properly handle
4866
        malloc and calloc clobbering errno.
4867
 
4868
2010-02-03  Steven Bosscher  
4869
 
4870
        * doc/invoke.texi: Fix name of sched1 dump.
4871
 
4872
        * opts.c (decode_options): Set flag_tree_switch_conversion
4873
        only conditionally on optimize >= 2.
4874
 
4875
        * gcse.c: Assorted comment fixes in pass description.
4876
 
4877
2010-02-03  Anthony Green  
4878
 
4879
        * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
4880
        nop padding in order to maintain alignment of storage location of
4881
        target function address.
4882
        (moxie_trampoline_init): Store target function address at newly
4883
        aligned location.
4884
        * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
4885
        to 32.
4886
        (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
4887
 
4888
2010-02-03  Richard Guenther  
4889
 
4890
        PR middle-end/42927
4891
        * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
4892
 
4893
2010-02-03  Rainer Orth  
4894
 
4895
        * config.gcc: Reenable check for obsolete targets.
4896
        Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
4897
        mips-sgi-irix6.[0-4]*.
4898
 
4899
2010-02-02  Nick Clifton  
4900
 
4901
        * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
4902
        constant size of 4 as being the same as 0.
4903
        * doc/invoke.texi (RX Options): Document that -mmax-constant-size
4904
        can take values in the range 0..4.
4905
 
4906
2010-02-02  Jack Howarth  
4907
 
4908
        PR java/41991
4909
        * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
4910
        as _darwin10_Unwind_FindEnclosingFunction().
4911
        * libgcc-libsystem.ver: New.
4912
 
4913
2010-02-01  Vladimir Makarov  
4914
 
4915
        PR target/41399
4916
        * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
4917
        implicitly set registers.
4918
 
4919
2010-02-01  Richard Earnshaw  
4920
 
4921
        * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
4922
        (arm_override_options): Allow automatic selection of the thread
4923
        pointer register if thumb2.
4924
        (legitimize_pic_address): Improve code sequences for Thumb2.
4925
        (arm_call_tls_get_addr): Likewise.
4926
        (legitimize_tls_address): Likewise.
4927
        * arm.md (pic_load_addr_arm): Delete.  Replace with ...
4928
        (pic_load_addr_32bit): ... this.  New named pattern.
4929
        * thumb2.md (pic_load_addr_thumb2): Delete.
4930
        (pic_load_dot_plus_four): Delete.
4931
        (tls_load_dot_plus_four): New named pattern.
4932
 
4933
2010-02-01  Rainer Orth  
4934
 
4935
        PR libgomp/29986
4936
        * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
4937
        Document fix for TLS bug.
4938
 
4939
2010-01-31  Richard Guenther  
4940
 
4941
        * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
4942
        conservatively correct.
4943
 
4944
2010-01-31  John David Anglin  
4945
 
4946
        PR target/42850
4947
        Revert:
4948
        2010-01-02  John David Anglin  
4949
 
4950
        * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4951
 
4952
2010-01-31  Kaveh R. Ghazi  
4953
 
4954
        * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
4955
 
4956
2010-01-31  Kai Tietz  
4957
 
4958
        * config.gcc: Adjust order of makefile fragments for mingw targets.
4959
 
4960
2010-01-31  Richard Guenther  
4961
 
4962
        PR middle-end/42898
4963
        * gimplify.c (gimplify_init_constructor): For volatile LHS
4964
        initialize a temporary.
4965
 
4966
2010-01-31  Matthias Klose  
4967
 
4968
        * configure.ac: Fix __stack_chk_fail check for cross builds configured
4969
        --with-headers
4970
        * configure: Regenerate.
4971
 
4972
2010-01-29  Eric Botcazou  
4973
 
4974
        * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
4975
        the same alias set and their sizes different constantness.
4976
        (aliasing_component_refs_p): Revert 2009-10-24 change.
4977
 
4978
2010-01-29  Rainer Orth  
4979
 
4980
        * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
4981
        unused.
4982
 
4983
2010-01-29  Richard Guenther  
4984
 
4985
        * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
4986
        Assert we successfully updated the call.
4987
 
4988
2010-01-29  Jakub Jelinek  
4989
 
4990
        PR rtl-optimization/42889
4991
        * df.h (df_set_bb_dirty_nonlr): New prototype.
4992
        * df-core.c (df_set_bb_dirty_nonlr): New function.
4993
        * df-scan.c (df_insn_rescan): Call it instead of
4994
        df_set_bb_dirty for DEBUG_INSNs.
4995
 
4996
2010-01-29  Richard Guenther  
4997
 
4998
        PR middle-end/37448
4999
        * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
5000
        quadratic behavior in most cases.
5001
 
5002
2010-01-28  Uros Bizjak  
5003
 
5004
        PR target/42891
5005
        * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
5006
        in the call to gen_x86_movsicc_0_m1.
5007
 
5008
2010-01-28  Richard Guenther  
5009
 
5010
        PR tree-optimization/42871
5011
        * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
5012
 
5013
2010-01-28  Richard Guenther  
5014
 
5015
        * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
5016
        into call arguments.
5017
 
5018
2010-01-28  Richard Guenther  
5019
 
5020
        PR middle-end/42883
5021
        * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
5022
        the forwarder if the destination is an EH landing pad.
5023
 
5024
2010-01-28  Razya Ladelsky  
5025
 
5026
        * tree-parloops.c (transform_to_exit_first_loop): Update the basic
5027
        block list passed to gimple_duplicate_sese_tail.
5028
        (parallelize_loops): Avoid parallelization when the function
5029
        has_nonlocal_label.
5030
        Avoid parallelization when the preheader is IRREDUCIBLE.
5031
        Try to optimize when estimated_loop_iterations_int is unresolved.
5032
        Add the loop's location to the dump file.
5033
        * tree-cfg.c (add_phi_args_after_redirect): Remove.
5034
        (gimple_duplicate_sese_tail): Remove the check for the latch.
5035
        Redirect nexits to the exit block.
5036
        Remove handling of the incoming edges to the latch.
5037
        Redirect the backedge from the copied latch to the exit bb.
5038
 
5039
2010-01-28  Michael Matz  
5040
 
5041
        PR target/42881
5042
        * config/i386/i386.c (ix86_expand_vector_init_duplicate):
5043
        Wrap force_reg into a sequence, emit it before user.
5044
 
5045
2010-01-28  Stephen Thomas  
5046
 
5047
        * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
5048
        (arm_rev): New.
5049
        (arm_legacy_rev): Likewise.
5050
        (thumb_legacy_rev): Likewise.
5051
 
5052
2010-01-27  Jakub Jelinek  
5053
 
5054
        * dwarf2out.c (mem_loc_descriptor): Remove special casing of
5055
        CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
5056
        on MEM's address failed, try avoid_constant_pool_reference and
5057
        recurse if it returned something different.
5058
        (loc_descriptor): If for MEM mem_loc_descriptor failed on the
5059
        address, try avoid_constant_pool_reference and recurse if it
5060
        returned something different.
5061
        (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
5062
        address and avoid_constant_pool_reference returned something
5063
        different, don't set have_address.
5064
 
5065
2010-01-27  Alexandre Oliva  
5066
 
5067
        PR debug/42861
5068
        * var-tracking.c (val_store): Add modified argument, obey it.
5069
        Adjust callers.
5070
        (count_uses): Move down logging of main.
5071
        (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
5072
        don't need resolution.
5073
        (emit_notes_in_bb): Likewise.
5074
 
5075
2010-01-27  Richard Guenther  
5076
 
5077
        PR middle-end/42878
5078
        * tree-inline.c (remap_decl): Delay remapping of SSA name
5079
        default definitions until we need them.
5080
 
5081
2010-01-27  Jakub Jelinek  
5082
 
5083
        * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
5084
        (rs6000_delegitimize_address): New function.
5085
 
5086
        * config/s390/s390.c (s390_delegitimize_address): Call
5087
        delegitimize_mem_from_attrs.
5088
 
5089
        PR middle-end/42874
5090
        * tree-inline.c (cannot_copy_type_1): Removed.
5091
        (copy_forbidden): Don't forbid copying of functions containing
5092
        records/unions with variable length fields.
5093
 
5094
2010-01-27  Christian Bruel  
5095
 
5096
        Revert:
5097
        PR target/42841
5098
        * config/sh/sh.c (find_barrier): Increase length for non delayed
5099
        conditional branches.
5100
 
5101
2010-01-27  Matthias Klose  
5102
 
5103
        * configure.ac (gnu-unique-object): Fix ldd version check.
5104
        * configure: Regenerate.
5105
 
5106
2010-01-26  Rainer Orth  
5107
 
5108
        * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
5109
        HAVE_GNU_AS value.
5110
        * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
5111
        Test for HAVE_GNU_AS value.
5112
 
5113
2010-01-26  Rainer Orth  
5114
 
5115
        * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
5116
        * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
5117
        INT64_TYPE): Define.
5118
        (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
5119
        (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
5120
        INT_LEAST64_TYPE): Define.
5121
        (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
5122
        UINT_LEAST64_TYPE): Define.
5123
        (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
5124
        INT_FAST64_TYPE): Define.
5125
        (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
5126
        UINT_FAST64_TYPE): Define.
5127
        (INTMAX_TYPE, UINTMAX_TYPE): Define.
5128
        (INTPTR_TYPE, UINTPTR_TYPE): Define.
5129
        (SIG_ATOMIC_TYPE): Define.
5130
 
5131
2010-01-26  Richard Guenther  
5132
 
5133
        * df-scan.c (df_scan_set_bb_info): Remove assert.
5134
        (df_insn_rescan_debug_internal): Merge asserts.
5135
        (df_install_ref): Likewise.
5136
        (df_mark_reg): Use bitmap_set_range.
5137
        (df_hard_reg_used_p): Remove assert.
5138
        (df_hard_reg_used_count): Likewise.
5139
 
5140
2010-01-26  Richard Guenther  
5141
 
5142
        PR rtl-optimization/42685
5143
        * web.c (web_main): Ignore DEBUG_INSNs.
5144
 
5145
2010-01-26  Joern Rennecke  
5146
 
5147
        * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
5148
 
5149
        (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
5150
        Fix types of fndecl and arglist parameters.
5151
 
5152
2010-01-26  Richard Guenther  
5153
 
5154
        PR middle-end/42806
5155
        * tree-eh.c (unsplit_eh): Skip debug insns.
5156
 
5157
2010-01-26  Richard Guenther  
5158
 
5159
        PR tree-optimization/42250
5160
        * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
5161
 
5162
2010-01-26  Jakub Jelinek  
5163
 
5164
        PR fortran/42866
5165
        * omp-low.c (expand_omp_sections): Only use single_pred if
5166
        l2_bb is single_pred_p.
5167
 
5168
2010-01-25  Christian Bruel  
5169
 
5170
        PR target/42841
5171
        * config/sh/sh.c (find_barrier): Increase length for non delayed
5172
        conditional branches.
5173
        (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
5174
 
5175
2010-01-24  David S. Miller  
5176
 
5177
        * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
5178
        define if not using GAS.
5179
        * config/sparc/sparc.c (sparc_elf_asm_named_section):
5180
        Likewise.  Delete SECTION_MERGE code, which is only applicable
5181
        when using GAS.
5182
 
5183
2010-01-24  Mark Mitchell  
5184
 
5185
        PR c++/42748
5186
        * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
5187
        mangling of va_list in system headers.
5188
 
5189
2010-01-23  Toon Moene  
5190
 
5191
        * tree-predcom.c (combine_chains): Return NULL, not false.
5192
 
5193
2010-01-23  Joern Rennecke  
5194
 
5195
        * tree-loop-distribution.c (distribute_loop): Fix declaration and
5196
        initialization of variable res to agree with return type.
5197
 
5198
2010-01-22  Steve Ellcey  
5199
 
5200
        * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
5201
        * tree-sra.c: Add include of expr.h.
5202
 
5203
2010-01-22  Jakub Jelinek  
5204
 
5205
        * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
5206
        insert the debug stmt on the single non-EH edge from the stmt.
5207
 
5208
2010-01-22  Richard Henderson  
5209
 
5210
        PR tree-opt/42833
5211
        * tree-sra.c (sra_modify_assign): Delay re-gimplification of
5212
        the RHS until after generate_subtree_copies has insertted its
5213
        code before the current statement.
5214
 
5215
2010-01-22  Joern Rennecke  
5216
 
5217
        * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
5218
 
5219
        * gcc-plugin.h (plugin_init): Use "C" likage for c++.
5220
 
5221
2010-01-21  Martin Jambor  
5222
 
5223
        PR tree-optimization/42585
5224
        * tree-sra.c (struct access): New field grp_total_scalarization.
5225
        (dump_access): Dump the new field.
5226
        (should_scalarize_away_bitmap): New variable.
5227
        (cannot_scalarize_away_bitmap): Likewise.
5228
        (sra_initialize): Allocate new bitmaps.
5229
        (sra_deinitialize): Free new bitmaps.
5230
        (create_access_1): New function.
5231
        (create_access): Parts moved to create_access_1.
5232
        (type_consists_of_records_p): New function.
5233
        (completely_scalarize_record): Likewise.
5234
        (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
5235
        (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
5236
        (sort_and_splice_var_accesses): Hint groups with a total_scalarization
5237
        access.
5238
        (analyze_all_variable_accesses): Completely scalarize small eligible
5239
        records.
5240
 
5241
2010-01-21  Martin Jambor  
5242
 
5243
        * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
5244
 
5245
2010-01-21  Andrew Haley  
5246
 
5247
        * gcc.c (process_command): Move lang_specific_driver before
5248
        setting cc_libexec_prefix.
5249
 
5250
2010-01-21  Richard Guenther  
5251
 
5252
        PR middle-end/19988
5253
        * fold-const.c (negate_expr_p): Pretend only negative
5254
        real constants are easily negatable.
5255
 
5256
2010-01-20  Janis Johnson  
5257
            Jason Merrill  
5258
 
5259
        * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
5260
        (TYPE_TRANSPARENT_AGGR): this, for union and record.
5261
        * calls.c (initialize argument_information): Handle it.
5262
        * c-common.c (handle_transparent_union_attribute): Use new name.
5263
        * c-decl.c (finish_struct): Ditto.
5264
        * c-typeck.c (type_lists_compatible_p): Ditto.
5265
        (convert_for_assignment): Use new name and also handle record.
5266
        * function.c (aggregate_value_p): Handle it.
5267
        (pass_by_reference): Ditto.
5268
        (assign_parm_data_types): Ditto.
5269
        * print-tree.c (print_node): Ditto.
5270
        * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
5271
        * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
5272
        * tree.c (first_field): New fn.
5273
 
5274
2010-01-21  Dave Korn  
5275
 
5276
        PR target/42818
5277
        * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
5278
        even when linking statically, for now.
5279
 
5280
2010-01-20  Alexandre Oliva  
5281
 
5282
        PR debug/42715
5283
        * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
5284
        without a cselib val.
5285
        (count_uses): Accept MO_VAL_SET with no val on stores.
5286
        (add_stores): Likewise.
5287
 
5288
2010-01-20  Jakub Jelinek  
5289
 
5290
        * var-tracking.c (check_value_val): Add a compile time assertion.
5291
        (dv_is_decl_p): Simplify.
5292
        (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
5293
        gcc_assert if ENABLE_CHECKING.
5294
 
5295
2010-01-20  Alexandre Oliva  
5296
 
5297
        PR debug/42782
5298
        * var-tracking.c: Include tree-flow.h.
5299
        (mem_dies_at_call): New.
5300
        (dataflow_set_preserve_mem_locs): Use it.
5301
        (dataflow_set_remove_mem_locs): Likewise.
5302
        (dump_var): Renamed from dump_variable.  Adjust all callers.
5303
        (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
5304
        * Makefile.in (var-tracking.o): Adjust deps.
5305
 
5306
2010-01-20  Joern Rennecke  
5307
 
5308
        * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
5309
 
5310
2010-01-20  Richard Guenther  
5311
 
5312
        PR tree-optimization/42717
5313
        * tree-ssa-dce.c (get_live_post_dom): Remove.
5314
        (forward_edge_to_pdom): Take an arbitrary edge to copy
5315
        degenerate PHI args from.
5316
        (remove_dead_stmt): Use the first post-dominator even if it
5317
        does not contain live statements as redirection destination.
5318
 
5319
2010-01-20  Richard Guenther  
5320
 
5321
        * tree-inline.c (estimate_num_insns): Handle EH builtins.
5322
 
5323
2010-01-20  Jakub Jelinek  
5324
 
5325
        * sel-sched.c (create_speculation_check): Remove set but not used
5326
        variable twin.
5327
        (try_transformation_cache): Remove set but not used variable ds.
5328
        (calculate_privileged_insns): Remove set but not used variables
5329
        cur_insn and min_spec_insn.
5330
        (find_best_expr): Remove set but not used variable avail_n.
5331
        * tree-predcom.c (base_names_in_chain_on): Remove set but not used
5332
        variable e.
5333
        * cgraphunit.c (assemble_thunk): Remove set but not used variable
5334
        false_label.
5335
        * haifa-sched.c (remove_notes): Remove set but not used variable prev.
5336
        * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
5337
        new_scop_exit_edge.
5338
 
5339
2010-01-20  Felyza Wishbringer  
5340
 
5341
        PR bootstrap/42786
5342
        * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
5343
        cpu types.  Add support for *-sse3 cpu types.
5344
        (x86_64-*-*): Ditto.
5345
 
5346
2010-01-20  Jakub Jelinek  
5347
 
5348
        PR middle-end/42803
5349
        * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
5350
        argument, call initializer_constant_valid_p_1 instead of
5351
        initializer_constant_valid_p, pass CACHE to it, return NULL
5352
        immediately if first call returns NULL.
5353
        (initializer_constant_valid_p_1): New function.
5354
        (initializer_constant_valid_p): Use it.
5355
 
5356
2010-01-20  Thomas Quinot  
5357
 
5358
        * tree.def (PLACEHOLDER_EXPR): Fix comment.
5359
 
5360
2010-01-20  Jakub Jelinek  
5361
 
5362
        * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
5363
        of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
5364
        (loc_list_from_tree): Don't handle unsigned division.  Handle
5365
        signed modulo using DW_OP_{over,over,div,mul,minus}.
5366
        * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
5367
        modulo instead of signed.
5368
 
5369
2010-01-20  DJ Delorie  
5370
 
5371
        * config/h8300/h8300.c (F): Add "in_epilogue" flag.
5372
        (Fpa): Pass it
5373
        (h8300_emit_stack_adjustment): Propogate it.
5374
        (push): Pass it.
5375
        (h8300_expand_prologue): Likewise.
5376
        (h8300_expand_epilogue): Likewise.
5377
 
5378
2010-01-19  Michael Matz  
5379
 
5380
        PR tree-optimization/41783
5381
        * tree-data-ref.c (toplevel): Include flags.h.
5382
        (dump_data_dependence_relation):  Also dump the inputs if the
5383
        result will be unknown.
5384
        (split_constant_offset_1): Look through some conversions.
5385
        * tree-predcom.c (determine_roots_comp): Restart a new chain if
5386
        the offset from last element is too large.
5387
        (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
5388
        (reassociate_to_the_same_stmt): Handle vector registers.
5389
        * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
5390
        (e.g. conversions).
5391
        * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
5392
        wide_prolog_niters argument, emit widening instructions.
5393
        (vect_do_peeling_for_alignment): Adjust caller, use widened
5394
        variant of the iteration cound.
5395
        * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
5396
 
5397
2010-01-19  Ramana Radhakrishnan  
5398
 
5399
        PR target/38697
5400
        * config/arm/neon-testgen.m (emit_automatics): New parameter
5401
        features. Adjust for Fixed_return_reg feature.
5402
        (test_intrinsic): Call emit_automatics with new feature.
5403
        * config/arm/neon.ml: Update copyright years.
5404
        (features): New Fixed_return_reg feature.
5405
        (ops): Update feature for Vget_low.
5406
 
5407
2010-01-19  Jakub Jelinek  
5408
 
5409
        PR tree-optimization/42719
5410
        * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
5411
        stmt uses.
5412
 
5413
        PR debug/42728
5414
        * fwprop.c (all_uses_available_at): Return false if def_set dest
5415
        is a REG that is used in def_insn.
5416
 
5417
2010-01-19  Joern Rennecke  
5418
 
5419
        * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
5420
 
5421
        (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
5422
        Add argument names.
5423
 
5424
        (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
5425
 
5426
        * target.h (struct gcc_target) : Change type
5427
        of last argument to secondary_reload_info *.
5428
 
5429
2010-01-18  Uros Bizjak  
5430
 
5431
        PR target/42774
5432
        * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
5433
        memory references with unaligned offsets.  Remove CQImode handling.
5434
        (unaligned_memory_operand): Return 1 for memory references with
5435
        unaligned offsets.  Remove CQImode handling.
5436
 
5437
2010-01-18  Richard Guenther  
5438
 
5439
        PR middle-end/39954
5440
        * cfgexpand.c (expand_call_stmt): TER pointer arguments in
5441
        builtin calls.
5442
 
5443
2010-01-18  Richard Guenther  
5444
 
5445
        PR tree-optimization/42781
5446
        * tree-ssa-structalias.c (find_what_var_points_to): Skip
5447
        restrict processing only if the original variable was artificial.
5448
 
5449
2010-01-18  Joern Rennecke  
5450
 
5451
        * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
5452
        find number of popped argument bytes.
5453
 
5454
        (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
5455
        Fix the text that describes the return value for invalid insns.
5456
 
5457
        (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
5458
 
5459
        (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
5460
        Clarify what 'cost of the -dependence' is.  Fix quoting.
5461
 
5462
        * toplev.c (default_get_pch_validity): Rename argument to "sz".
5463
        * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
5464
 
5465
2010-01-17  Jakub Jelinek  
5466
 
5467
        * dwarf2out.c (mem_loc_descriptor): Don't ICE on
5468
        {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
5469
 
5470
2010-01-17  Richard Guenther  
5471
 
5472
        PR middle-end/42248
5473
        * function.c (split_complex_args): Take a VEC to modify.
5474
        (assign_parms_augmented_arg_list): Build a VEC instead of
5475
        a chain of PARM_DECLs.
5476
        (assign_parms_unsplit_complex): Take a VEC of arguments.
5477
        Do not fixup unmodified parms.
5478
        (assign_parms): Deal with the VEC.
5479
        (gimplify_parameters): Likewise.
5480
 
5481
2010-01-17  Richard Guenther  
5482
 
5483
        * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
5484
        node existence check.
5485
        * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
5486
        * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
5487
        * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
5488
        * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
5489
        (gimple_execute_on_growing_pred): Likewise.
5490
 
5491
2010-01-17  Richard Guenther  
5492
 
5493
        PR tree-optimization/42773
5494
        * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
5495
        (compute_antic_aux): Likewise.
5496
        (compute_partial_antic_aux): Likewise.
5497
 
5498
2010-01-17  Jie Zhang  
5499
 
5500
        PR debug/42767
5501
        * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
5502
        and US_TRUNCATE.
5503
 
5504
2010-01-17  Joern Rennecke  
5505
 
5506
        * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
5507
        appearance.
5508
 
5509
        (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
5510
        Fix markup for strict argument.
5511
 
5512
        (TARGET_SCHED_REORDER2): Fix argument types.
5513
 
5514
        (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
5515
        (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
5516
 
5517
        (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
5518
        (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
5519
 
5520
        (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
5521
        Add argument name.
5522
 
5523
        (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
5524
        (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
5525
        (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
5526
        (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
5527
        (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
5528
 
5529
        (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
5530
 
5531
        (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
5532
 
5533
        (TARGET_ASM_RELOC_RW_MASK): Add return type.
5534
        (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
5535
 
5536
        (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
5537
 
5538
        (TARGET_ASM_FILE_START): Put @findex before paragraph start.
5539
        Use prototype.
5540
 
5541
        (TARGET_ASM_NAMED_SECTION): Fix argument list.
5542
 
5543
        (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
5544
        (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
5545
 
5546
        (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
5547
 
5548
        (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
5549
 
5550
        (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
5551
        referring to it.  Fix language.
5552
 
5553
        (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
5554
 
5555
        (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
5556
 
5557
        (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
5558
 
5559
        (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
5560
 
5561
        (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
5562
        '@var{stream}.  Remove stray 'and'.
5563
 
5564
        (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
5565
 
5566
        (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
5567
 
5568
        (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
5569
 
5570
        (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
5571
        misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
5572
 
5573
        (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
5574
        Fix description of return value.
5575
        Rename argument "sz" to "len."
5576
 
5577
        (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
5578
        Clarify meaning of 'true' return value.
5579
 
5580
        (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
5581
 
5582
        (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
5583
        rep_mode versus mode_rep.
5584
 
5585
        (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
5586
 
5587
        (TARGET_BUILTIN_DECL): Fix name.
5588
 
5589
        (TARGET_COMMUTATIVE_P): Fix type of first argument.
5590
 
5591
        (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
5592
 
5593
        (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
5594
 
5595
        (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
5596
 
5597
        (TARGET_RELAXED_ORDERING): Use @deftypevr.
5598
 
5599
        (TARGET_GET_DRAP_RTX): Note that this is a hook.
5600
        Clarify language.
5601
 
5602
        (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
5603
        Rename argument tm_fn to md_fn.
5604
 
5605
        (TARGET_OPTION_PRINT): Fix argument list.
5606
 
5607
2010-01-16  Harsha Jagasia  
5608
 
5609
        PR target/42664
5610
        * config/i386/i386.c (ix86_fixup_binary_operands):
5611
        Revert FMA4 fixup of operands.
5612
 
5613
2010-01-16  Ralf Wildenhues  
5614
 
5615
        PR gcc/42525
5616
        * Makefile.in (write_entries_to_file, install-plugin):
5617
        Use \012 instead of \n with tr.
5618
 
5619
2010-01-16  Richard Sandiford  
5620
 
5621
        * configure.ac (HAVE_AS_REF): New C macro.
5622
        * configure: Regenerate.
5623
        * config.in: Likewise.
5624
        * collect2.c (main): Only postpone SCAN_DWEH to the second pass
5625
        if HAVE_AS_REF.
5626
        * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
5627
        if HAVE_AS_REF.
5628
 
5629
2010-01-16  Joern Rennecke  
5630
 
5631
        * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
5632
 
5633
        (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
5634
 
5635
        (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
5636
 
5637
        (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
5638
 
5639
        (TARGET_IN_SMALL_DATA_P): Fix argument type.
5640
 
5641
        (TARGET_BINDS_LOCAL_P): Fix argument type.
5642
 
5643
        (TARGET_ASM_FILE_END): Use prototype.
5644
 
5645
        (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
5646
 
5647
        (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
5648
 
5649
        (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
5650
 
5651
        (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
5652
 
5653
        (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
5654
        (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
5655
 
5656
        (TARGET_PCH_VALID_P): Put 'const char *' in braces.
5657
        (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
5658
 
5659
        (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
5660
        (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
5661
        (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
5662
        (TARGET_ADDR_SPACE_CONVERT): Likewise.
5663
 
5664
        (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
5665
 
5666
        (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
5667
 
5668
        (TARGET_INIT_BUILTINS): Use prototype.
5669
 
5670
        (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
5671
        Put 'const char *' in braces.  Fix parameter types.
5672
        (TARGET_INVALID_CONVERSION): Fix parameter types.
5673
        (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
5674
        (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
5675
 
5676
        (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
5677
        Fix argument type.
5678
 
5679
        (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
5680
 
5681
        (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
5682
 
5683
2010-01-15  Joern Rennecke  
5684
 
5685
        * doc/tm.texi (TARGET_HELP): Fix return type.
5686
 
5687
        (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
5688
        in braces.  Fix argument types.
5689
 
5690
        (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
5691
 
5692
        (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
5693
 
5694
        (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
5695
 
5696
        (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
5697
        (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
5698
 
5699
        (TARGET_MANGLE_TYPE): Fix argument types.
5700
 
5701
        (TARGET_IRA_COVER_CLASSES): Use prototype.
5702
 
5703
        (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
5704
 
5705
        (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
5706
 
5707
        (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
5708
 
5709
        (TARGET_MUST_PASS_IN_STACK): Fix argument type.
5710
 
5711
        (TARGET_CALLEE_COPIES): Fix argument types.
5712
 
5713
        (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
5714
 
5715
        (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
5716
 
5717
        (TARGET_FUNCTION_VALUE): Fix argument types.
5718
 
5719
        (TARGET_RETURN_IN_MSB): Fix argument type.
5720
 
5721
        (TARGET_RETURN_IN_MEMORY): Fix argument types.
5722
 
5723
        (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
5724
 
5725
        (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
5726
 
5727
        (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
5728
        agree with return type.
5729
 
5730
        (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
5731
 
5732
2010-01-15  Jing Yu  
5733
 
5734
        PR rtl-optimization/42691
5735
        * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
5736
        a pseudo to a constant and are merged, and adjust comments.
5737
 
5738
2010-01-15  Eric Botcazou  
5739
 
5740
        * config/i386/sse.md (avx_vperm2f1283): Fix typo.
5741
 
5742
2010-01-15  Richard Guenther  
5743
 
5744
        PR middle-end/42739
5745
        * tree-cfgcleanup.c (remove_forwarder_block): Move destination
5746
        labels of computed or non-local gotos to the destination.
5747
        * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
5748
        landing pad label is the first label.
5749
 
5750
2010-01-15  Richard Guenther  
5751
 
5752
        * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
5753
 
5754
2010-01-14  Michael Meissner  
5755
 
5756
        PR target/42747
5757
        * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
5758
        to allow generation of the xssqrtdp instruction on power7.
5759
        (sqrtdf2_fpr): Ditto.
5760
 
5761
2010-01-14  Jakub Jelinek  
5762
 
5763
        PR middle-end/42674
5764
        * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
5765
        functions with noreturn attribute.
5766
 
5767
        PR c++/42608
5768
        * varasm.c (declare_weak): Add weak attribute to decl if it
5769
        doesn't have one already.
5770
        (assemble_external): Only add decls to weak_decls if they also
5771
        have weak attribute.
5772
 
5773
2010-01-14  Alexandre Oliva  
5774
 
5775
        * var-tracking.c (var_reg_delete): Don't delete the association
5776
        between REGs and values or one-part variables if the register
5777
        isn't clobbered.
5778
 
5779
2010-01-14  Jakub Jelinek  
5780
 
5781
        PR debug/42657
5782
        * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
5783
        because its first operand is a non-localized variable.
5784
 
5785
2010-01-14  Martin Jambor  
5786
 
5787
        PR tree-optimization/42706
5788
        * tree-sra.c (encountered_recursive_call): New variable.
5789
        (encountered_unchangable_recursive_call): Likewise.
5790
        (sra_initialize): Initialize both new variables.
5791
        (callsite_has_enough_arguments_p): New function.
5792
        (scan_function): Call decl and flags check only for IPA-SRA, check
5793
        whether there is a recursive call and whether it has enough arguments.
5794
        (all_callers_have_enough_arguments_p): New function.
5795
        (convert_callers): Look for recursive calls only when
5796
        encountered_recursive_call is set.
5797
        (ipa_early_sra): Bail out either if
5798
        !all_callers_have_enough_arguments_p or
5799
        encountered_unchangable_recursive_call.
5800
 
5801
2010-01-14  Alexander Monakov  
5802
 
5803
        * sel-sched.c: Add 2010 to copyright years.
5804
        * sel-sched-ir.c: Likewise.
5805
        * sel-sched-ir.h: Likewise.
5806
 
5807
2010-01-14  Martin Jambor  
5808
 
5809
        PR tree-optimization/42714
5810
        * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
5811
        constructors specially.
5812
 
5813
2010-01-14  Andi Kleen  
5814
 
5815
        * config/i386/drivers-i386.c (detect_caches_intel):
5816
        Add l2sizekb parameter and fill in.
5817
        (host_detect_local_cpu): Add l2sizekb, fill in.
5818
        Add Atom small cache heuristic.
5819
 
5820
2010-01-14  Andi Kleen  
5821
 
5822
        * config/i386/drivers-i386.c (detect_caches_cpuid4):
5823
        Add level3 parameter and fill in.
5824
        (detect_caches_intel): Handle level3 cache.
5825
 
5826
2010-01-14  Andi Kleen  
5827
 
5828
        * config/i386/drivers-i386.c (host_detect_local_cpu):
5829
        Fix core duo detection.
5830
 
5831
2010-01-14  Andi Kleen  
5832
 
5833
        * config/i386/drivers-i386.c (host_detect_local_cpu):
5834
        Fix Atom detection.
5835
 
5836
2010-01-14  Alexander Monakov  
5837
 
5838
        * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
5839
        (rs6000_variable_issue_1): this.  Use...
5840
        (rs6000_variable_issue): here.  Reimplement.  Print debug info.
5841
 
5842
2010-01-14  Alexander Monakov  
5843
 
5844
        * sel-sched-ir.c (sel_restore_other_notes): Rename to
5845
        sel_restore_notes.  Update all callers.  Call reemit_notes
5846
        for all insns.
5847
 
5848
2010-01-14  Andrey Belevantsev  
5849
 
5850
        PR rtl-optimization/42246
5851
        * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
5852
        loops.
5853
 
5854
2010-01-14  Andrey Belevantsev  
5855
 
5856
        * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
5857
        all successors is the same as number of successors in current region.
5858
 
5859
2010-01-14  Alexander Monakov  
5860
 
5861
        * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
5862
        to rename is not separable.  Otherwise check that its LHS is not NULL.
5863
 
5864
2010-01-14  Alexander Monakov  
5865
 
5866
        * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
5867
 
5868
2010-01-14  Alexander Monakov  
5869
 
5870
        * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
5871
        available registers when failed to discover LHS register class.
5872
        Fix indentation.  Update comment.
5873
 
5874
2010-01-14  Andrey Belevantsev  
5875
            Alexander Monakov  
5876
 
5877
        PR rtl-optimization/42389
5878
        * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
5879
        to can_issue_more.
5880
        (advance_state_on_fence): Likewise.
5881
        (sel_target_adjust_priority): Print debug output only when
5882
        sched_verbose >= 4, not 2.
5883
        (get_expr_cost): Do not issue all unique insns on the next cycle.
5884
        (fill_insns): Initialize can_issue_more from the value saved
5885
        with the fence.
5886
        * sel-sched-ir.c (flist_add): New parameter issue_more.
5887
        Init FENCE_ISSUE_MORE with it.
5888
        (merge_fences): Likewise.
5889
        (init_fences): Update call to flist_add.
5890
        (add_to_fences, add_clean_fence_to_fences)
5891
        (add_dirty_fence_to_fences): Likewise.
5892
        (move_fence_to_fences): Update call to merge_fences.
5893
        (invoke_reorder_hooks): Do not reset can_issue_more on insns from
5894
        sched groups.
5895
        * sel-sched-ir.h (struct _fence): New field issue_more.
5896
        (FENCE_ISSUE_MORE): New accessor macro.
5897
 
5898
2010-01-14  Andrey Belevantsev  
5899
 
5900
        PR rtl-optimization/42388
5901
        * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
5902
        that have no predecessors nor successors.  Do not call move_bb_info
5903
        for empty blocks outside of current region.
5904
 
5905
2010-01-14  Alexander Monakov  
5906
 
5907
        PR rtl-optimization/42294
5908
        * sel-sched-ir.h (struct _sel_insn_data): Update comment.
5909
        * sel-sched.c (move_exprs_to_boundary): Transitively add all
5910
        originators' originators.
5911
 
5912
2010-01-14  Alexander Monakov  
5913
 
5914
        PR rtl-optimization/39453
5915
        PR rtl-optimization/42246
5916
        * sel-sched-ir.c (considered_for_pipelining_p): Do not test
5917
        for pipelining_p.
5918
        (sel_add_loop_preheaders): Add preheader to last_added_blocks.
5919
 
5920
2010-01-14  Andrey Belevantsev  
5921
            Alexander Monakov  
5922
 
5923
        PR middle-end/42245
5924
        * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
5925
        (maybe_tidy_empty_bb): ... here.  Make static.  Add new
5926
        argument.  Update all callers.
5927
        (tidy_control_flow): ... and here.  Recompute topological order
5928
        of basic blocks in region if necessary.
5929
        (sel_redirect_edge_and_branch): Change return type.  Return true
5930
        if topological order might have been invalidated.
5931
        (purge_empty_blocks): Export and move from...
5932
        * sel-sched.c (purge_empty_blocks): ... here.
5933
        * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
5934
        (maybe_tidy_empty_bb): Delete prototype.
5935
        (purge_empty_blocks): Declare.
5936
 
5937
2010-01-14  Andrey Belevantsev 
5938
 
5939
        PR rtl-optimization/42249
5940
        * sel-sched.c (try_replace_dest_reg): When chosen register
5941
        and original register is the same, do not bail out early, but
5942
        still check all original insns for validity of replacing destination
5943
        register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
5944
        in this case.
5945
 
5946
2010-01-14  Jakub Jelinek  
5947
 
5948
        PR c/42721
5949
        Port from no-undefined-overflow branch:
5950
        2009-03-09  Richard Guenther  
5951
 
5952
        * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5953
 
5954
2010-01-14  Richard Guenther  
5955
 
5956
        PR lto/42665
5957
        * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
5958
 
5959
2010-01-14  Ira Rosen  
5960
 
5961
        PR tree-optimization/42709
5962
        * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
5963
        as scalar type in creation of constant vector operand.
5964
 
5965
2010-01-14  Ralf Wildenhues  
5966
 
5967
        PR testsuite/42414
5968
        * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
5969
        (check-parallel-%): Match `testsuite' directory component only
5970
        at the end.
5971
 
5972
2010-01-14  Shujing Zhao  
5973
 
5974
        PR translation/39521
5975
        * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
5976
        strings with _().
5977
 
5978
2010-01-13  Richard Guenther  
5979
 
5980
        PR tree-optimization/42730
5981
        * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
5982
        offset zero.
5983
 
5984
2010-01-13  Steve Ellcey  
5985
 
5986
        PR target/pr42542
5987
        * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
5988
        for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
5989
        them signed.
5990
 
5991
2010-01-13  Bernd Schmidt  
5992
 
5993
        * config/bfin/libgcc-bfin.ver: Regenerate based on current
5994
        libgcc-std.ver.  Add entries for ___smulsi3_highpart and
5995
        ___umulsi3_highpart.
5996
 
5997
        * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
5998
        rather than schedule_insns if the pass is enabled.
5999
 
6000
2010-01-13  Martin Jambor  
6001
 
6002
        PR tree-optimization/42704
6003
        * tree-sra.c (sra_modify_assign): Do not delete assignments to
6004
        SSA_NAMEs.
6005
 
6006
2010-01-13  Martin Jambor  
6007
 
6008
        PR tree-optimization/42703
6009
        * tree-sra.c (analyze_access_subtree): Check that we can build a
6010
        reference to the original data within the aggregate.
6011
 
6012
2010-01-13  Richard Guenther  
6013
 
6014
        PR tree-optimization/42705
6015
        * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
6016
 
6017
2010-01-13  Richard Guenther  
6018
 
6019
        PR middle-end/42716
6020
        * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
6021
 
6022
2010-01-13  Jakub Jelinek  
6023
 
6024
        PR debug/41371
6025
        * var-tracking.c (values_to_unmark): New variable.
6026
        (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
6027
        values_to_unmark vector.  Moved body to...
6028
        (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
6029
        instead queue it into values_to_unmark vector.
6030
        (vt_find_locations): Free values_to_unmark vector.
6031
 
6032
2010-01-13  Wolfgang Gellerich  
6033
 
6034
        * config/s390/s390.c (override_options): Set
6035
        default of max-pending-list-length to 256
6036
 
6037
2010-01-13  Richard Guenther  
6038
 
6039
        PR lto/42678
6040
        * tree-pass.h (PROP_gimple_lcx): New.
6041
        * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
6042
        * passes.c (init_optimization_passes): Move pass_lower_complex_O0
6043
        before the final cleanup_eh.
6044
        (dump_properties): Dump PROP_gimple_lcx.
6045
        * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
6046
        (tree_lower_complex_O0): Remove.
6047
        (gate_no_optimization): Run if PROP_gimple_lcx is not set.
6048
        (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
6049
        tree_lower_complex, schedule TODO_update_ssa.
6050
        * lto-streamer-out.c (output_function): Stream the functions
6051
        properties.
6052
        * lto-streamer-in.c (input_function): Likewise.
6053
        (lto_read_body): Do not override them here.
6054
 
6055
2010-01-12  Joseph Myers  
6056
 
6057
        PR c/42708
6058
        * c-typeck.c (build_c_cast): Fold value cast to union type before
6059
        wrapping it in a CONSTRUCTOR.
6060
 
6061
2010-01-12  Jakub Jelinek  
6062
 
6063
        PR rtl-optimization/42699
6064
        * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
6065
        involved.
6066
 
6067
2010-01-12  Rainer Orth  
6068
 
6069
        * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
6070
        SUBTARGET_WARN_UNUSED_SPEC): Move ...
6071
        config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
6072
        SUBTARGET_WARN_UNUSED_SPEC): ... here
6073
        * config/mips/iris5.h (LIBGCC_SPEC): Define.
6074
 
6075
2010-01-12  Julian Brown  
6076
 
6077
        * config/arm/neon-schedgen.ml (Utils): Don't try to
6078
        open missing module.
6079
        (find_with_result): New.
6080
 
6081
2010-01-12  Jakub Jelinek  
6082
 
6083
        PR debug/42662
6084
        * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
6085
        sharing when canonicalizing ({lt,ge}u (plus a b) b).
6086
 
6087
        PR tree-optimization/42645
6088
        * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
6089
        (remap_ssa_name): If processing_debug_stmt and name wasn't found in
6090
        decl_map, set processing_debug_stmt to -1 and return name without
6091
        any remapping.
6092
 
6093
2010-01-11  Dave Korn  
6094
 
6095
        * doc/install.texi (Specific#x-x-cygwin): Document minimum required
6096
        binutils version, and reword target configuration description.
6097
 
6098
2010-01-11  Andy Hutchinson  
6099
 
6100
        * config/avr/avr.h (LINKER_NAME): Remove.
6101
 
6102
2010-01-11  Janis Johnson  
6103
 
6104
        PR target/42416
6105
        * config/rs6000/rs6000.c (rs6000_override_options): On targets
6106
        that support VSX, warn for -mno-altivec if vsx is not disabled,
6107
        and disable vsx.
6108
 
6109
2010-01-11  Joseph Myers  
6110
            Shujing Zhao  
6111
 
6112
        PR translation/42469
6113
        * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
6114
        fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
6115
        character between option name and help text.
6116
        * c.opt (imultilib): Likewise.
6117
 
6118
2010-01-10  Rafael Avila de Espindola  
6119
 
6120
        * lto-streamer-out.c (output_unreferenced_globals): Output static
6121
        variables.
6122
 
6123
2010-01-10  Steven Bosscher  
6124
 
6125
        PR rtl-optimization/42621
6126
        * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
6127
        optimizing for size.
6128
        (duplicate_computed_gotos): Remove now-redundant check.
6129
 
6130
2010-01-10  Steve Ellcey  
6131
 
6132
        PR target/37454
6133
        * configure.ac: Save and restore LDFLAGS and LIBS
6134
        * configure: Regenerate.
6135
 
6136
2010-01-10  Richard Guenther  
6137
 
6138
        PR middle-end/42667
6139
        * builtins.c (fold_builtin_strlen): Add type argument and
6140
        convert the resulting length to it.
6141
        (fold_builtin_1): Adjust.
6142
 
6143
2010-01-09  Jakub Jelinek  
6144
 
6145
        * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
6146
        sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
6147
        1 insn.
6148
        (num_insns_constant_wide): Adjust for that change.
6149
 
6150
2010-01-09  Alexandre Oliva  
6151
 
6152
        PR debug/42631
6153
        * web.c (union_defs): Add used argument, to combine uses of
6154
        uninitialized regs.
6155
        (entry_register): Adjust type and tests of used argument.
6156
        (web_main): Widen used for new use.  Pass it to union_defs.
6157
        * df.h (union_defs): Adjust prototype.
6158
 
6159
2010-01-09  Alexandre Oliva  
6160
 
6161
        PR debug/42630
6162
        * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
6163
        uses in new incoming argument.  Free body.
6164
        (reset_debug_uses_in_loop): New.
6165
        (analyze_insn_to_expand_var): Call the latter if the former found
6166
        anything.  Fix whitespace.  Reject invalid dest overlaps before
6167
        going through all insns in the loop.
6168
 
6169
2010-01-09  Alexandre Oliva  
6170
 
6171
        PR debug/42629
6172
        * haifa-sched.c (dying_use_p): Debug insns don't count.
6173
 
6174
2010-01-09  Alexandre Oliva  
6175
 
6176
        PR middle-end/42363
6177
        * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
6178
        * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
6179
        (verify_gimple_call): Reject LHS in noreturn calls.
6180
 
6181
2010-01-09  Alexandre Oliva  
6182
 
6183
        PR debug/42604
6184
        PR debug/42395
6185
        * tree-vect-loop-manip.c (adjust_info): New type.
6186
        (adjust_vec): New pointer to vector.
6187
        (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
6188
        (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
6189
        (slpeel_update_phis_for_duplicate_loop): Use them.
6190
        (slpeel_update_phi_nodes_for_guard1): Likewise.
6191
        (slpeel_update_phi_nodes_for_guard2): Likewise.
6192
        (slpeel_tree_peel_loop_to_edge): Likewise.
6193
        (vect_update_ivs_after_vectorizer): Likewise.
6194
 
6195
2010-01-09  Alexandre Oliva  
6196
 
6197
        * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
6198
        (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
6199
 
6200
2010-01-09  Alexandre Oliva  
6201
 
6202
        * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
6203
        bogus uninitialized warning.
6204
 
6205
2010-01-09  Richard Guenther  
6206
 
6207
        PR middle-end/42512
6208
        * tree-scalar-evolution.c (interpret_loop_phi): Make sure
6209
        the evolution is compatible with the initial condition.
6210
 
6211
2010-01-09  Jakub Jelinek  
6212
 
6213
        * gcc.c (process_command): Update copyright notice dates.
6214
        * gcov.c (print_version): Likewise.
6215
        * gcov-dump.c (print_version): Likewise.
6216
        * mips-tfile.c (main): Likewise.
6217
        * mips-tdump.c (main): Likewise.
6218
 
6219
2010-01-08  Andy Hutchinson  
6220
 
6221
        PR target/41885
6222
        * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
6223
        (rotlhi3): Delete.
6224
        (rotlhi3_8): Delete.
6225
        (rotlsi3): Delete.
6226
        (rotlsi3_8): Delete.
6227
        (rotlsi3_16): Delete.
6228
        (rotlsi3_24): Delete.
6229
        (rotl3): New.
6230
        (*rotw3): New.
6231
        (*rotb3): New.
6232
        * config/avr/avr.c (avr_rotate_bytes): New function.
6233
        * config/avr/avr-proto.h (avr_rotate_bytes): New function.
6234
 
6235
2010-01-08  Steve Ellcey  
6236
 
6237
        PR target/37454
6238
        * configure.ac: Modify -rdynamic check.
6239
        * configure: Regenerate.
6240
 
6241
2010-01-08  DJ Delorie  
6242
 
6243
        * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
6244
        register popping order.
6245
 
6246
2010-01-08  Richard Guenther  
6247
 
6248
        PR lto/42528
6249
        * c.opt (fsigned-char): Also let LTO handle this option.
6250
        (funsigned-char): Likewise.
6251
 
6252
2010-01-07  Richard Guenther  
6253
 
6254
        * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
6255
        (gimple_op): Likewise.
6256
        (gimple_op_ptr): Likewise.
6257
        (gimple_assign_set_lhs): Remove gcc_assert.
6258
        (gimple_assign_set_rhs1): Likewise.
6259
        (gimple_assign_set_rhs2): Likewise.
6260
        (gimple_call_set_lhs): Likewise.
6261
        (gimple_call_set_fn): Likewise.
6262
        (gimple_call_set_fndecl): Likewise.
6263
        (gimple_call_fndecl): Likewise.
6264
        (gimple_call_return_type): Likewise.
6265
        (gimple_call_set_chain): Likewise.
6266
        (gimple_call_num_args): Likewise.
6267
        (gimple_call_set_arg): Likewise.
6268
        (gimple_cond_set_code): Likewise.
6269
        (gimple_cond_set_lhs): Likewise.
6270
        (gimple_cond_set_rhs): Likewise.
6271
        (gimple_cond_set_true_label): Likewise.
6272
        (gimple_cond_set_false_label): Likewise.
6273
        (gimple_label_set_label): Likewise.
6274
        (gimple_goto_set_dest): Likewise.
6275
        (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
6276
        (gimple_debug_bind_get_value): Likewise.
6277
        (gimple_debug_bind_get_value_ptr): Likewise.
6278
        (gimple_debug_bind_set_var): Likewise.
6279
        (gimple_debug_bind_set_value): Likewise.
6280
        (gimple_debug_bind_reset_value): Likewise.
6281
        (gimple_debug_bind_has_value_p): Likewise.
6282
        (gimple_return_retval_ptr): Remove gcc_assert.
6283
        (gimple_return_retval): Likewise.
6284
        (gimple_return_set_retval): Likewise.
6285
        * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
6286
        (safe_referenced_var_iterator): Remove.
6287
        (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
6288
        * tree-flow-inline.h (gimple_nonlocal_all): Remove.
6289
        (fill_referenced_var_vec): Remove.
6290
        (first_readonly_imm_use): Remove redundant gcc_assert.
6291
        (phi_arg_index_from_use): Combine gcc_asserts.
6292
        (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
6293
        (first_imm_use_stmt): Remove redundant gcc_assert.
6294
        * tree-cfg.c (verify_gimple_call): Verify function and chain
6295
        operands.  Verify arguments.
6296
        (verify_types_in_gimple_stmt): Verify condition code and labels.
6297
 
6298
2010-01-07  Richard Guenther  
6299
 
6300
        PR tree-optimization/42641
6301
        * sese.c (rename_map_elt_info): Use the SSA name version, do
6302
        not hash pointers.
6303
 
6304
2010-01-07  Jakub Jelinek  
6305
 
6306
        PR tree-optimization/42625
6307
        * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
6308
        TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
6309
 
6310
2010-01-07  Duncan Sands  
6311
 
6312
        * Makefile.in (PLUGIN_HEADERS): Add version.h.
6313
 
6314
2010-01-07  Uros Bizjak  
6315
 
6316
        PR target/42511
6317
        * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
6318
        note itself is not function_invariant_p.
6319
 
6320
2009-01-07  Steven Bosscher  
6321
 
6322
        * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
6323
        Do not add the DF_NOTE problem.
6324
        * store-motion.c (execute_rtl_store_motion): Likewise.
6325
 
6326
2010-01-07  Martin Jambor  
6327
 
6328
        PR tree-optimization/42157
6329
        * tree-sra.c (compare_access_positions): Stabilize sort if both
6330
        accesses have integer types, return zero immediately if they are the
6331
        same.
6332
 
6333
2010-01-06  Richard Henderson  
6334
 
6335
        PR middle-end/41883
6336
        * haifa-sched.c (add_to_note_list): Merge into ...
6337
        (concat_note_lists): ... here, and ...
6338
        (unlink_other_notes, rm_other_notes): Merge into...
6339
        (remove_notes): ... here.  Create REG_SAVE_NOTEs for
6340
        NOTE_INSN_EPILOGUE_BEG.
6341
 
6342
2010-01-06  Richard Guenther  
6343
 
6344
        * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
6345
        not inline regular functions into always-inline functions.
6346
 
6347
2010-01-06  Nick Clifton  
6348
 
6349
        * config/rx/rx.h (enum rx_cpu_type): Add RX200.
6350
        (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
6351
        used together.
6352
        (OVERRIDE_OPTIONS): Delete.
6353
        (OPTIMIZATION_OPTIONS): Define.
6354
        (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
6355
        * config/rx/rx.c (rx_handle_option): Issue an error message if
6356
        -mcpu=rx200 and -fpu are used together.
6357
        (rx_set_optimization_options): New function.  Issue an error
6358
        message if an optimization attribute attempts to reset the FPU/
6359
        math optimization pairing.
6360
        * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
6361
        * config/rx/rx.opt: Set the default to 32-bit doubles.
6362
        * config/rx/t-rx: Add multilibs for -nofpu option.
6363
        * doc/invoke.texi: Update documentation of RX options.
6364
 
6365
2010-01-06  Richard Guenther  
6366
 
6367
        * tree-ssa-pre.c (name_to_id): New global.
6368
        (alloc_expression_id): Simplify SSA name handling.
6369
        (lookup_expression_id): Likewise.
6370
        (init_pre): Zero name_to_id.
6371
        (fini_pre): Free it.
6372
 
6373
2010-01-06  Uros Bizjak  
6374
 
6375
        * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
6376
 
6377
2010-01-05  H.J. Lu  
6378
 
6379
        PR target/42542
6380
        * config/i386/sse.md (smaxv2di3): New.
6381
        (umaxv2di3): Likewise.
6382
        (sminv2di3): Likewise.
6383
        (uminv2di3): Likewise.
6384
 
6385
2010-01-05  Eric Botcazou  
6386
 
6387
        PR target/42564
6388
        * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
6389
        * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
6390
        (legitimize_tls_address): Likewise.
6391
        (sparc_tls_referenced_p): Likewise.
6392
        * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
6393
        and adjust calls to legitimize_pic_address.
6394
        (legitimate_constant_p) Use sparc_tls_referenced_p.
6395
        (legitimate_pic_operand_p): Likewise.
6396
        (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
6397
        (sparc_tls_symbol_ref_1): Delete.
6398
        (sparc_tls_referenced_p): Make static, recognize specific patterns.
6399
        (legitimize_tls_address): Make static, handle CONST patterns.
6400
        (legitimize_pic_address): Make static, remove unused parameter and
6401
        adjust recursive calls.
6402
        (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
6403
        and adjust call to legitimize_pic_address.
6404
        (sparc_output_mi_thunk): Likewise.
6405
 
6406
2010-01-05  Paolo Bonzini  
6407
            H.J. Lu  
6408
 
6409
        PR target/42542
6410
        * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
6411
        for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
6412
        operands to make them signed.
6413
 
6414
        Revert:
6415
        2010-01-04  H.J. Lu  
6416
 
6417
        PR target/42542
6418
        * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
6419
        GTU to GT for V4SI and V2DI.
6420
 
6421
        * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
6422
        (umin3): Removed.
6423
        (uminv8hi3): New.
6424
        (uminv4si3): Likewise.
6425
 
6426
2010-01-05  Martin Jambor  
6427
 
6428
        PR tree-optimization/42462
6429
        * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
6430
        current_function_decl to helper functions and macros.
6431
 
6432
2010-01-05  Rainer Orth  
6433
 
6434
        PR bootstrap/41771
6435
        * flags.h: Don't include real.h.
6436
        (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
6437
        HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
6438
        * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
6439
        HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
6440
        * dominance.c: Update copyright.
6441
        * gimple.c (walk_gimple_op): Remove inline.
6442
        * tree-ssa-reassoc.c: Include real.h.
6443
        * Makefile.in (FLAGS_H): Remove $(REAL_H).
6444
        (tree-ssa-reassoc.o): Depend on $(REAL_H).
6445
 
6446
2010-01-05  Nick Clifton  
6447
 
6448
        * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
6449
        register to push into the stack frame when the accumulator has to
6450
        be saved during interrupts.
6451
 
6452
2010-01-05  Eric Fisher  
6453
 
6454
        * doc/invoke.texi: Remove the documentation about option
6455
        -Wunreachable-code.
6456
        * common.opt (Wunreachable-code):  Preserved for backward
6457
        compatibility.
6458
        * tree-cfg.c: Remove the implementation of -Wunreachable-code.
6459
        * opts.c (common_handle_option): Add OPT_Wunreachable_code to
6460
        the backward compatibility flag section.
6461
 
6462
2010-01-05  Richard Guenther  
6463
 
6464
        * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
6465
 
6466
2010-01-05  Jakub Jelinek  
6467
 
6468
        PR other/42611
6469
        * cfgexpand.c (expand_one_var): Diagnose too large variables.
6470
 
6471
        PR tree-optimization/42508
6472
        * tree-sra.c (convert_callers): Check for recursive call
6473
        by comparing cgraph nodes instead of decls.
6474
        (modify_function): Call ipa_modify_formal_parameters also
6475
        on all same_body aliases.
6476
 
6477
        * cgraphunit.c (cgraph_materialize_all_clones): Compare
6478
        cgraph nodes when checking for same_body aliases.
6479
 
6480
2010-01-05  Richard Guenther  
6481
 
6482
        * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
6483
        allocation and lookup.
6484
        (get_or_alloc_expr_for_constant): Likewise.
6485
        (phi_translate): Sink allocation.
6486
 
6487
2010-01-04  Richard Guenther  
6488
 
6489
        * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
6490
        a new entry only if needed.
6491
        * tree-ssa-dom.c (lookup_avail_expr): Likewise.
6492
        * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
6493
        hashtable lookup.
6494
        * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
6495
        the result array.
6496
        (phi_translate): Handle CONSTANTs early.
6497
 
6498
2010-01-04  Martin Jambor  
6499
 
6500
        PR tree-optimization/42398
6501
        * tree-sra.c (struct access): Removed flag grp_different_types.
6502
        (dump_access): Do not dump the removed flag.
6503
        (sort_and_splice_var_accesses): Do not set the removed flag.
6504
        (sra_modify_expr): Check for type compatibility directly.
6505
 
6506
2010-01-04  Martin Jambor  
6507
 
6508
        PR tree-optimization/42366
6509
        * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
6510
        edges with variable number of parameters.
6511
        * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
6512
        flag instead of asserting it.
6513
        (ipa_read_node_info): Read uses_analysis_done flag.
6514
 
6515
2010-01-04  Richard Guenther  
6516
 
6517
        * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
6518
        iterative_hash_* as intended.
6519
        (vn_reference_compute_hash): Likewise.  Simplify hashing
6520
        SSA names.
6521
        (vn_reference_lookup_2): Likewise.
6522
        (vn_nary_op_compute_hash): Likewise.
6523
        (vn_phi_compute_hash): Likewise.
6524
        (expressions_equal_p): Remove strange code.
6525
        * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
6526
        (pre_expr_hash): Likewise.  Simplify hashing SSA names.
6527
        (bitmap_insert_into_set_1): Take value-id as parameter.
6528
        (add_to_value): Pass it.
6529
        (bitmap_insert_into_set): Likewise.
6530
        (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
6531
 
6532
2010-01-04  Jakub Jelinek  
6533
 
6534
        PR driver/42442
6535
        * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
6536
        (do_self_spec): For switches with SWITCH_IGNORE set set also
6537
        SWITCH_IGNORE_PERMANENTLY.
6538
        (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
6539
        of SWITCH_IGNORE.
6540
 
6541
2010-01-04  Rafael Avila de Espindola  
6542
 
6543
        * lto-streamer-out.c (output_unreferenced_globals): Output the full
6544
        tree of an unreferenced global var.
6545
 
6546
2010-01-04  H.J. Lu  
6547
 
6548
        PR target/42542
6549
        * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
6550
        GTU to GT for V4SI and V2DI.
6551
 
6552
        * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
6553
        (umin3): Removed.
6554
        (uminv8hi3): New.
6555
        (uminv4si3): Likewise.
6556
 
6557
2010-01-04  H.J. Lu  
6558
 
6559
        PR lto/42581
6560
        * collect2.c (main): Turn on trace in collect2 if -v is passed
6561
        to gcc with LTO.
6562
 
6563
2010-01-03  Jerry Quinn  
6564
 
6565
        * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
6566
        description of expression operand.
6567
 
6568
2010-01-03  Andrew Jenner  
6569
 
6570
        * configure.ac: Add install-html to target_list for Make-hooks.
6571
        * configure: Regenerate.
6572
        * fortran/Make-lang.in (F95_HTMLFILES): New.
6573
        (fortran.html): Use it.
6574
        (fortran.install-html): New.
6575
        * Makefile.in (install-html): Add lang.install-html.
6576
        * java/Make-lang.in (JAVA_HTMLFILES): New.
6577
        (java.html): Use it.
6578
        (java.install-html): New.
6579
        * objc/Make-lang.in (objc.install-html): New.
6580
        * objcp/Make-lang.in (obj-c++.install-html): New.
6581
        * cp/Make-lang.in (c++.install-html): New.
6582
        * ada/gcc-interface/Make-lang.in (ada.install-html): New.
6583
        * lto/Make-lang.in (lto.install-html): New.
6584
 
6585
2010-01-03  H.J. Lu  
6586
 
6587
        PR lto/42520
6588
        * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
6589
 
6590
2009-01-03  Steven Bosscher  
6591
 
6592
        PR rtl-optimization/41862
6593
        * store-motion.c (store_killed_in_insn, compute_store_table,
6594
        remove_reachable_equiv_notes, replace_store_insn,
6595
        build_store_vectors): Ignore all DEBUG_INSNs.
6596
 
6597
2010-01-03  H.J. Lu  
6598
 
6599
        PR lto/41564
6600
        * common.opt: Add dumpdir.
6601
 
6602
        * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
6603
        isn't specified.
6604
        (option_map): Add --dumpdir.
6605
 
6606
        * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
6607
 
6608
        * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
6609
 
6610
        * opts.c (decode_options): Try dump_dir_name first if
6611
        dump_base_name isn't an absolute path.
6612
        (common_handle_option): Handle OPT_dumpdir.
6613
 
6614
        * toplev.c (dump_dir_name): New.
6615
        (print_switch_values): Also ignore -dumpdir.
6616
 
6617
        * toplev.h (dump_dir_name): New.
6618
 
6619
2010-01-03  Richard Guenther  
6620
 
6621
        PR tree-optimization/42589
6622
        * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
6623
        double-word expansion of bswap32.
6624
 
6625
2010-01-03  Steven Bosscher  
6626
 
6627
        * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
6628
        with BLOCK_FOR_INSN.
6629
        * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
6630
        * ifcvt.c (noce_get_alt_condition, noce_try_abs,
6631
        noce_process_if_block): Likewise.
6632
        * gcse.c (compute_local_properties, insert_expr_in_table,
6633
        insert_set_in_table, canon_list_insert, find_avail_set,
6634
        pre_insert_copy_insn): Likewise.
6635
 
6636
        * basic-block.h (BLOCK_NUM): Move from here...
6637
        * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
6638
 
6639
2010-01-03  Richard Guenther  
6640
 
6641
        PR tree-optimization/42438
6642
        * tree-ssa-pre.c (struct bb_bitmap_sets): Add
6643
        contains_may_not_return_call flag.
6644
        (BB_MAY_NOTRETURN): New.
6645
        (valid_in_sets): Trapping nary operations are not valid
6646
        in blocks that may not return.
6647
        (insert_into_preds_of_block): Remove check for trapping expressions.
6648
        (compute_avail): Compute also BB_MAY_NOTRETURN.
6649
 
6650
2010-01-03  Gerald Pfeifer  
6651
 
6652
        * doc/invoke.texi: Add 2010 to copyright years.
6653
 
6654
2010-01-03  Eric Botcazou  
6655
 
6656
        * config/sparc/sparc.c: Fix formatting nits.
6657
 
6658
2010-01-02  Gerald Pfeifer  
6659
            Alexander Monakov  
6660
 
6661
        * doc/invoke.texi (Optimize Options): Reword introduction a bit.
6662
 
6663
2010-01-02  Richard Guenther  
6664
 
6665
        PR middle-end/42577
6666
        * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
6667
        (simplify_switch_using_ranges): Mark to be removed edges
6668
        as non-executable.
6669
 
6670
2010-01-02  John David Anglin  
6671
 
6672
        * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
6673
 
6674
        * collect2.c (scan_libraries): Add missing argument in call to
6675
        scan_prog_file.
6676
 
6677
2010-01-02  Uros Bizjak  
6678
 
6679
        PR target/42448
6680
        * config/alpha/predicates.md (aligned_memory_operand): Return false
6681
        for CQImode.
6682
        (unaligned_memory_operand): Return true for CQImode.
6683
        * config/alpha/alpha.c (get_aligned_mem): Assert that location
6684
        doesn not cross aligned SImode word boundary.
6685
 
6686
2010-01-02  Anatoly Sokolov  
6687
 
6688
        * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
6689
        Remove.
6690
        * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
6691
        avr_change_section, avr_reg_class_from_letter) : Remove declaration.
6692
 
6693
2010-01-02  Richard Guenther  
6694
 
6695
        PR lto/41597
6696
        * toplev.c (compile_file): Emit LTO marker properly.  Change
6697
        it to __gnu_lto_v1.
6698
        * collect2.c (scan_prog_file): Adjust for changed LTO marker.
6699
 
6700
2010-01-01  Richard Guenther  
6701
 
6702
        PR debug/42455
6703
        * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
6704
 
6705
2010-01-01  Richard Guenther  
6706
 
6707
        PR c/42570
6708
        * c-decl.c (grokdeclarator): For zero-size arrays force
6709
        structural equality checks as layout_type does.
6710
 
6711
2010-01-01  H.J. Lu  
6712
 
6713
        * builtins.c: Update copyright to 2010.
6714
 
6715
2010-01-01  H.J. Lu  
6716
 
6717
        PR lto/42531
6718
        * lto-streamer-out.c (produce_asm): Revert the last change.
6719
        (copy_function): Likewise.
6720
 
6721
        * lto-streamer.c (lto_get_section_name): Skip any leading
6722
        asterisk in name.
6723
 
6724
2010-01-01  Richard Guenther  
6725
 
6726
        PR middle-end/42559
6727
        * builtins.c (get_object_alignment): Do not use DECL_ALIGN
6728
        for LABEL_DECLs.
6729
 
6730
 
6731
Copyright (C) 2010 Free Software Foundation, Inc.
6732
 
6733
Copying and distribution of this file, with or without modification,
6734
are permitted in any medium without royalty provided the copyright
6735
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.