OSDN Git Service

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