OSDN Git Service

PR middle-end/38586
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
2
3         PR middle-end/38586
4         * function.c (struct temp_slot): Move to the section of the file
5         that deals with temp slots.  Remove field 'address'.
6         (temp_slot_address_table): New hash table of address -> temp slot.
7         (struct temp_slot_address_entry): New struct, items for the table.
8         (temp_slot_address_compute_hash, temp_slot_address_hash,
9         temp_slot_address_eq, insert_temp_slot_address): Support functions
10         for the new table.
11         (find_temp_slot_from_address): Rewrite to use the new hash table.
12         (remove_unused_temp_slot_addresses): Remove addresses of temp
13         slots that have been made available.
14         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
15         worker function for remove_unused_temp_slot_addresses.
16         (assign_stack_temp_for_type): Don't clear the temp slot address list.
17         Add the temp slot address to the address -> temp slot map.
18         (update_temp_slot_address): Update via insert_temp_slot_address.
19         (free_temp_slots): Call remove_unused_temp_slot_addresses.
20         (pop_temp_slots): Likewise.
21         (init_temp_slots): Allocate the address -> temp slot map, or empty
22         the map if it is already allocated.
23         (prepare_function_start): Initialize temp slot processing.
24
25 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
26
27         PR middle-end/38584
28         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
29         Calculate the size of all stack vars assuming no packing of stack
30         vars will happen, replacing a quadratic algorithm with a linear one.
31
32 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
33
34         PR target/38707
35         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
36         can't be used.
37
38 2009-01-03  Diego Novillo  <dnovillo@google.com>
39
40         * doc/contrib.texi: Update contributions.
41
42 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
43
44         PR c++/38705
45         * builtins.c (fold_builtin_memory_op): Give up if either operand
46         is volatile.  Set srctype or desttype to non-qualified version
47         of the other type.
48
49         PR c/38700
50         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
51         and FUNCTION_DECLs.
52
53 2009-01-02  Kenneth Zadeck <zadeck@naturalbridge.com>
54
55         PR rtl-optimization/35805
56         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
57         problem if fast dce is able to remove any instructions.
58         * dce.c (dce_process_block): Fix dump message.
59         
60 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
61
62         PR 33649
63         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
64
65 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
66
67         PR middle-end/38690
68         * tree-flow.h (op_code_prio, op_prio): New prototypes.
69         * tree-pretty-print.c (op_code_prio): New function.
70         (op_prio): No longer static.  Use op_code_prio.
71         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
72         Use op_prio and op_code_prio to determine if () should be
73         printed around operand(s) or not.
74
75         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
76         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
77         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
78         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
79         pp_character instead of pp_string for single letter printing.
80
81 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
82
83         * doc/extend.texi: Fix '#pragma GCC option' typo.
84
85 2009-01-02 Richard Guenther <rguenther@suse.de>
86
87         * doc/install.texi (--enable-checking): Mention different
88         default for stage1.
89         (--enable-stage1-checking): Document.
90
91 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
92
93         PR middle-end/30142
94         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
95         case to be an error.
96
97 2009-01-02  Ben Elliston  <bje@au.ibm.com>
98
99         * config/fp-bit.h (pack_d): Constify argument.
100         * config/fp-bit.c (makenan): Constify return type. Remove casts.
101         (isnan): Constify argument.
102         (isinf): Likewise.
103         (iszero): Likewise.
104         (pack_d): Likewise.
105         (_fpadd_parts): Constify return type.
106         (_fpmul_parts): Likewise.
107         (_fpdiv_parts): Likewise.
108
109 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
110
111         PR c/36489
112         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
113         warn about overwriting initializer with side-effects or
114         -Woverride-init if !IMPLICIT.
115         (output_init_element): Likewise.  Pass IMPLICIT down to
116         add_pending_init.
117         (process_init_element): Add IMPLICIT argument.  Pass it down
118         to output_init_element.
119         (push_init_element, pop_init_level, set_designator): Adjust
120         process_init_element callers.
121         (set_nonincremental_init, set_nonincremental_init_from_string):
122         Adjust add_pending_init callers.
123         (output_pending_init_elements): Adjust output_init_element callers.
124         * c-tree.h (process_init_element): Adjust prototype.
125         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
126         process_init_element callers.