OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
2
3         * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
4         * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
5         fixed-point types, and vectors of the same.
6
7 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
8
9         * config/mips/sync.md (*mb_barrier): Rename to...
10         (*memory_barrier): ...this.
11
12 2009-01-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
13
14         * doc/extend.texi (Function Attributes): Move @cindex after @item
15         for 'artifical' and 'flatten'. Fix grammar for 'externally_visible'
16         and put in alphabetical order. Fix 'target' name and put in order.
17         * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
18         typos.
19
20 2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
21
22         * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
23         (memory_barrier): Expand as unspec instead of unspec_volatile.
24         Remove mem:BLK from insn operands.  Use Pmode scratch register.
25         (*memory_barrier): Define as unspec instead of unspec_volatile.
26         Use (match_dup 0) as input operand.
27
28         * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
29         * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
30         unspec_volatile.  Remove mem:BLK from insn operands.  Use Pmode
31         scratch register.  Remove operand 1.
32         (*stbar): Define as unspec instead of unspec_volatile.
33         Use (match_dup 0) as input operand, remove (const_int 8).
34         (*membar): Define as unspec instead of unspec_volatile.
35         Use (match_dup 0) as input operand, remove input operand 2.
36
37         * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
38         (memory_barrier): Expand as unspec instead of unspec_volatile.
39         Remove mem:BLK from insn operands.  Use Pmode scratch register.
40         (*memory_barrier): Define as unspec instead of unspec_volatile.
41         Use (match_dup 0) as input operand.
42
43         * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
44         Remove mem:BLK from insn operands.  Use Pmode scratch register.
45         Set volatile flag on operand 0.
46         (*memory_barrier): New insn pattern.
47
48         * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
49         insn operands.
50         (*memory_barrier): Use (match_dup 0) as input operand.
51
52         * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
53         Remove mem:BLK from insn operands.  Use Pmode scratch register.
54         Set volatile flag on operand 0.
55         (*memory_barrier): New insn pattern.
56
57         * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
58
59 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
60
61         PR middle-end/38586
62         * function.c (struct temp_slot): Move to the section of the file
63         that deals with temp slots.  Remove field 'address'.
64         (temp_slot_address_table): New hash table of address -> temp slot.
65         (struct temp_slot_address_entry): New struct, items for the table.
66         (temp_slot_address_compute_hash, temp_slot_address_hash,
67         temp_slot_address_eq, insert_temp_slot_address): Support functions
68         for the new table.
69         (find_temp_slot_from_address): Rewrite to use the new hash table.
70         (remove_unused_temp_slot_addresses): Remove addresses of temp
71         slots that have been made available.
72         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
73         worker function for remove_unused_temp_slot_addresses.
74         (assign_stack_temp_for_type): Don't clear the temp slot address list.
75         Add the temp slot address to the address -> temp slot map.
76         (update_temp_slot_address): Update via insert_temp_slot_address.
77         (free_temp_slots): Call remove_unused_temp_slot_addresses.
78         (pop_temp_slots): Likewise.
79         (init_temp_slots): Allocate the address -> temp slot map, or empty
80         the map if it is already allocated.
81         (prepare_function_start): Initialize temp slot processing.
82
83 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
84
85         PR middle-end/38584
86         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
87         Calculate the size of all stack vars assuming no packing of stack
88         vars will happen, replacing a quadratic algorithm with a linear one.
89
90 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
91
92         PR target/38707
93         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
94         can't be used.
95
96 2009-01-03  Diego Novillo  <dnovillo@google.com>
97
98         * doc/contrib.texi: Update contributions.
99
100 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
101
102         PR c++/38705
103         * builtins.c (fold_builtin_memory_op): Give up if either operand
104         is volatile.  Set srctype or desttype to non-qualified version
105         of the other type.
106
107         PR c/38700
108         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
109         and FUNCTION_DECLs.
110
111 2009-01-02  Kenneth Zadeck <zadeck@naturalbridge.com>
112
113         PR rtl-optimization/35805
114         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
115         problem if fast dce is able to remove any instructions.
116         * dce.c (dce_process_block): Fix dump message.
117         
118 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
119
120         PR 33649
121         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
122
123 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
124
125         PR middle-end/38690
126         * tree-flow.h (op_code_prio, op_prio): New prototypes.
127         * tree-pretty-print.c (op_code_prio): New function.
128         (op_prio): No longer static.  Use op_code_prio.
129         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
130         Use op_prio and op_code_prio to determine if () should be
131         printed around operand(s) or not.
132
133         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
134         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
135         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
136         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
137         pp_character instead of pp_string for single letter printing.
138
139 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
140
141         * doc/extend.texi: Fix '#pragma GCC option' typo.
142
143 2009-01-02 Richard Guenther <rguenther@suse.de>
144
145         * doc/install.texi (--enable-checking): Mention different
146         default for stage1.
147         (--enable-stage1-checking): Document.
148
149 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
150
151         PR middle-end/30142
152         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
153         case to be an error.
154
155 2009-01-02  Ben Elliston  <bje@au.ibm.com>
156
157         * config/fp-bit.h (pack_d): Constify argument.
158         * config/fp-bit.c (makenan): Constify return type. Remove casts.
159         (isnan): Constify argument.
160         (isinf): Likewise.
161         (iszero): Likewise.
162         (pack_d): Likewise.
163         (_fpadd_parts): Constify return type.
164         (_fpmul_parts): Likewise.
165         (_fpdiv_parts): Likewise.
166
167 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
168
169         PR c/36489
170         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
171         warn about overwriting initializer with side-effects or
172         -Woverride-init if !IMPLICIT.
173         (output_init_element): Likewise.  Pass IMPLICIT down to
174         add_pending_init.
175         (process_init_element): Add IMPLICIT argument.  Pass it down
176         to output_init_element.
177         (push_init_element, pop_init_level, set_designator): Adjust
178         process_init_element callers.
179         (set_nonincremental_init, set_nonincremental_init_from_string):
180         Adjust add_pending_init callers.
181         (output_pending_init_elements): Adjust output_init_element callers.
182         * c-tree.h (process_init_element): Adjust prototype.
183         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
184         process_init_element callers.