OSDN Git Service

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