]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
avr.h (avr_case_values_threshold): Remove declaration.
[gcc.git] / gcc / ChangeLog
CommitLineData
4223ff5f
AS
12009-04-01 Anatoly Sokolov <aesok@post.ru>
2
3 * config/avr/avr.h (avr_case_values_threshold): Remove declaration.
4 (CASE_VALUES_THRESHOLD): Redefine.
5 * config/avr/avr.c (avr_override_options): Remove initialization of
6 avr_case_values_threshold variable.
7 (avr_case_values_threshold): Remove variable. Add new function.
8 * config/avr/avr-protos.h (avr_case_values_threshold): Declare.
9 * config/avr/avr.opt (mno-tablejump): Remove option.
10 * doc/invoke.texi (AVR Options): Remove -mno-tablejump.
11
e893f6f3
DD
122009-04-01 DJ Delorie <dj@redhat.com>
13
14 * varasm.c (default_function_rodata_section): Don't assume
15 anything about where the first '.' in the section name is.
16
b246d100
AM
172009-04-01 Alan Modra <amodra@bigpond.net.au>
18
19 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete redundant
20 rs6000_emit_stack_tie.
21
d3e37a9e
ILT
222009-03-31 Ian Lance Taylor <iant@google.com>
23
24 * tree-eh.c (tree_remove_unreachable_handlers): Compare
25 gimple_code with GIMPLE_RESX, not RESX.
26
c1b61fca
JM
272009-03-31 Joseph Myers <joseph@codesourcery.com>
28
29 * c-common.c (c_get_ident): New.
30 (c_common_nodes_and_builtins): Call it for type names that may be
31 NULL.
32
c2d2ad48
BE
332009-04-01 Ben Elliston <bje@au.ibm.com>
34
35 * config/rs6000/sysv4.opt (msdata): Improve option description.
36
13d1a6e7
SE
372009-03-31 Steve Ellcey <sje@cup.hp.com>
38
39 * config/ia64/ia64.md (divsf3_internal_lat): Remove.
40 (divdf3_internal_lat): Remove.
41 (divxf3_internal_lat): Remove.
42 (divxf3_internal_thr): Remove.
43 (divxf): Use divxf3_internal.
44 * config/ia64/div.md (divsf3_internal_lat): New.
45 (divdf3_internal_lat): New.
46 (divxf3_internal): New.
47
207bf79d
JM
482009-03-31 Joseph Myers <joseph@codesourcery.com>
49
50 PR c/448
51 * Makefile.in (USE_GCC_STDINT): Define.
52 (stmp-int-hdrs): Install stdint.h if applicable.
53 * c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
54 if known.
55 (CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
56 (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
57 UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
58 INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
59 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
60 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
61 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
62 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
63 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
64 (c_common_nodes_and_builtins): Initialize
65 underlying_wchar_type_node. Do not initialize
66 signed_wchar_type_node or unsigned_wchar_type_node. Initialize
67 nodes for new types.
68 (c_stddef_cpp_builtins): Define macros for new types.
69 * c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
70 Remove.
71 (CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
72 CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
73 CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
74 CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
75 CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
76 CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
77 CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
78 CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
79 CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
80 (signed_wchar_type_node, unsigned_wchar_type_node): Remove.
81 (underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
82 int16_type_node, int32_type_node, int64_type_node,
83 uint8_type_node, uint16_type_node, c_uint32_type_node,
84 c_uint64_type_node, int_least8_type_node, int_least16_type_node,
85 int_least32_type_node, int_least64_type_node,
86 uint_least8_type_node, uint_least16_type_node,
87 uint_least32_type_node, uint_least64_type_node,
88 int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
89 int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
90 uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
91 uintptr_type_node): Define.
92 * c-cppbuiltin.c (builtin_define_constants,
93 builtin_define_type_minmax): New.
94 (builtin_define_stdint_macros): Define more macros.
95 (c_cpp_builtins): Define more limit macros.
96 (type_suffix): New.
97 (builtin_define_type_max): Define in terms of
98 builtin_define_type_minmax. Remove is_long parameter. All
99 callers changed.
100 * config.gcc (use_gcc_stdint): Define.
101 (tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
102 Add newlib-stdint.h for generic targets.
103 * config/glibc-stdint.h, config/newlib-stdint.h,
104 ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
105 * config/m32c/m32c.h (UINTPTR_TYPE): Define.
106 * config/score/score.h (UINTPTR_TYPE): Define.
107 * config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
108 INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
109 UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
110 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
111 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
112 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
113 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
114 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
115 * config/spu/spu.h (STDINT_LONG32): Define.
116 * configure.ac (use_gcc_stdint): Substitute.
117 * configure: Regenerate.
118 * doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
119 __INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
120 __UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
121 __INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
122 __INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
123 __UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
124 __INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
125 __UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
126 __UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,
127 __WINT_MAX__, __SIZE_MAX__, __PTRDIFF_MAX__, __UINTMAX_MAX__,
128 __SIG_ATOMIC_MAX__, __INT8_MAX__, __INT16_MAX__, __INT32_MAX__,
129 __INT64_MAX__, __UINT8_MAX__, __UINT16_MAX__, __UINT32_MAX__,
130 __UINT64_MAX__, __INT_LEAST8_MAX__, __INT_LEAST16_MAX__,
131 __INT_LEAST32_MAX__, __INT_LEAST64_MAX__, __UINT_LEAST8_MAX__,
132 __UINT_LEAST16_MAX__, __UINT_LEAST32_MAX__, __UINT_LEAST64_MAX__,
133 __INT_FAST8_MAX__, __INT_FAST16_MAX__, __INT_FAST32_MAX__,
134 __INT_FAST64_MAX__, __UINT_FAST8_MAX__, __UINT_FAST16_MAX__,
135 __UINT_FAST32_MAX__, __UINT_FAST64_MAX__, __INTPTR_MAX__,
136 __UINTPTR_MAX__, __WCHAR_MIN__, __WINT_MIN__, __SIG_ATOMIC_MIN__,
137 __INT8_C, __INT16_C, __INT32_C, __INT64_C, __UINT8_C, __UINT16_C,
138 __UINT32_C, __UINT64_C, __INTMAX_C, __UINTMAX_C): Document.
139 * doc/tm.texi (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE,
140 INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
141 INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
142 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
143 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
144 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
145 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
146 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Document.
147
ed853664
BS
1482009-03-31 Bernd Schmidt <bernd.schmidt@analog.com>
149
150 * loop-iv.c (suitable_set_for_replacement): Renamed from
151 simplify_using_assignment; changed to return bool and to accept new
152 args DEST and SRC. Return true iff we find a source/destination pair
153 that can be used to make a replacement, and fill SRC and DEST if so.
154 Remove arg ALTERED. Don't deal with altered regs here. All callers
155 changed.
156 (simplify_using_initial_values): Deal with altered regs here and track
157 more precisely the effect they have on the validity of our expression.
158
1569e190
BS
159 * loop-iv.c (simplify_using_condition): A condition of the form
160 (EQ REG CONST) can be used to simply make a substitution.
161 (simplify_using_initial_values): Keep track of conditions we have seen
162 and keep using them to simplify new expressions, while applying the
163 same substitutions to them as to the expression.
164
1d1eb80c
BS
165 * simplify-rtx.c (simplify_relational_operation_1): Simplify
166 (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with
167 GEU/LTU reversed.
168
28af33b0
BS
169 * loop-iv.c (determine_max_iter): New arg OLD_NITER. All callers
170 changed. Use this when trying to improve the upper bound.
171 Generate the comparison by using simplify_gen_relational.
172
b30321cd
BS
173 * loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
174
60081874
BS
175 * loop-iv.c (replace_single_def_regs, replace_in_expr): New static
176 functions.
177 (simplify_using_assignment, simplify_using_initial_values): Call
178 replace_in_expr to make replacements. Call replace_single_def_regs
179 once on the initial version of the expression.
180
bebc6e07
RR
1812009-03-31 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
182
183 PR target/27237
184 * doc/invoke.texi (ARM Options): Update documentation for -mthumb.
185
6b12efe9
RG
1862009-03-31 Richard Guenther <rguenther@suse.de>
187
188 PR middle-end/31029
189 * fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for
190 equality comparisons. Fold C - X CMP X if C % 2 == 1.
191
108f6c2f
RG
1922009-03-31 Richard Guenther <rguenther@suse.de>
193
194 * tree.h (div_if_zero_remainder): Declare.
195 * fold-const.c (div_if_zero_remainder): Export.
196 * tree-ssa-forwprop.c
197 (forward_propagate_addr_into_variable_array_index): Handle
198 constant array index addition outside of the variable index.
199
8f612190
JM
2002009-03-31 Joseph Myers <joseph@codesourcery.com>
201
202 PR target/39592
203 * config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
204 define_splits, floatunssi<mode>2): Require x87 conversions from
205 DImode to be permitted.
206
47580d22
JM
2072009-03-31 Joseph Myers <joseph@codesourcery.com>
208
209 PR preprocessor/15638
210 * c-common.c (c_cpp_error): Handle CPP_DL_FATAL.
211
ba4d8f9d
RG
2122009-03-31 Richard Guenther <rguenther@suse.de>
213
214 PR middle-end/23401
215 PR middle-end/27810
216 * tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
217 (struct tree_decl_with_vis): Remove gimple_formal_temp member.
218 * tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
219 a separate statement.
220 * gimplify.c (pop_gimplify_context): Remove formal temp handling.
221 (lookup_tmp_var): Likewise.
222 (is_gimple_formal_tmp_or_call_rhs): Remove.
223 (is_gimple_reg_or_call_rhs): Rename to ...
224 (is_gimple_reg_rhs_or_call): ... this.
225 (is_gimple_mem_or_call_rhs): Rename to ...
226 (is_gimple_mem_rhs_or_call): ... this.
227 (internal_get_tmp_var): Use is_gimple_reg_rhs_or_call. Set
228 DECL_GIMPLE_REG_P only if is_formal is true.
229 (gimplify_compound_lval): Use is_gimple_reg. Remove workaround
230 for non-proper post-modify expression gimplification.
231 (gimplify_self_mod_expr): For post-modify expressions gimplify
232 the lvalue to a minimal lvalue.
233 (rhs_predicate_for): Remove formal temp case.
234 (gimplify_modify_expr_rhs): Likewise.
235 (gimplify_addr_expr): Use is_gimple_reg.
236 (gimplify_expr): Remove formal temp cases.
237 (gimple_regimplify_operands): Likewise.
238 * tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
239 and FILTER_EXPR like constants.
240 * gimple.c (walk_gimple_op): Fix val_only initialization, use
241 is_gimple_reg.
242 (is_gimple_formal_tmp_rhs): Remove.
243 (is_gimple_reg_rhs): Remove special casing.
244 (is_gimple_mem_rhs): Fix.
245 (is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
246 (is_gimple_formal_tmp_var): Remove.
247 (is_gimple_formal_tmp_reg): Likewise.
248 (is_gimple_min_lval): Allow invariant component ref parts.
249 * gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
250 is_gimple_formal_tmp_reg): Remove declarations.
251 * tree-cfg.c (verify_expr): Verify that variables with address
252 taken do not have DECL_GIMPLE_REG_P set.
253 * tree-mudflap.c (mf_build_check_statement_for): Use
254 force_gimple_operand instead of gimplify_expr.
255
8de9b877
AZ
2562009-03-31 Ayal Zaks <zaks@il.ibm.com>
257
258 * modulo-sched.c (sms_schedule_by_order): Pass the actual
259 schedulable rows to compute_split_row.
260
b5e3caf2
BE
2612009-03-31 Ben Elliston <bje@au.ibm.com>
262
263 PR target/31635
264 * config/rs6000/rs6000.c (rs6000_handle_option): Handle
265 OPT_mvrsave.
266
9752c4ad
AM
2672009-03-31 Alan Modra <amodra@bigpond.net.au>
268
269 * doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers.
270 * configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check.
271 * configure: Regenerate.
272 * config.in: Regenerate.
273 * config/rs6000/rs6000.opt (mtls-markers): Add.
274 * config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define.
275 * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter.
276 (tls_ld_aix, tls_ld_sysv): Likewise.
277 (tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns.
278 (tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise.
279
b597d1b6
AM
2802009-03-31 Alan Modra <amodra@bigpond.net.au>
281
282 * config/spu/spu.c (spu_expand_prologue): Delete redundant code.
283
a203a221
JH
2842009-03-30 Jan Hubicka <jh@suse.cz>
285
b597d1b6
AM
286 * tree-eh.c (make_eh_edges): Set probability 100% to first edge
287 out of RESX.
288 (tree_remove_unreachable_handlers): Cleanup EH predecestor
289 detection and label handling.
a203a221 290
5b0c0b2c
VM
2912009-03-30 Vladimir Makarov <vmakarov@redhat.com>
292
293 * ira-int.h (ira_allocno): Rename left_conflicts_num to
294 left_conflicts_size.
295 (ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
296 ALLOCNO_LEFT_CONFLICTS_SIZE.
297
298 * ira-color.c (allocno_spill_priority, push_allocno_to_stack,
299 remove_allocno_from_bucket_and_push,
300 allocno_spill_priority_compare, push_allocnos_to_stack,
301 setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
302 instead of ALLOCNO_LEFT_CONFLICTS_NUM.
303 (setup_allocno_left_conflicts_num): Ditto. Rename to
304 setup_allocno_left_conflicts_size.
305 (put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
306 instead of ALLOCNO_LEFT_CONFLICTS_NUM and
307 setup_allocno_left_conflicts_size instead of
308 setup_allocno_left_conflicts_num.
309
310 * ira-build.c (ira_create_allocno): Use
311 ALLOCNO_LEFT_CONFLICTS_SIZE instead of
312 ALLOCNO_LEFT_CONFLICTS_NUM.
313
9a48a93f
VM
3142009-03-30 Vladimir Makarov <vmakarov@redhat.com>
315
316 * reload.c (push_reload, find_dummy_reload): Use df_get_live_out
317 instead of DF_LR_OUT.
318
319 * ira-lives.c (process_bb_node_lives): Ditto.
320
321 * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
322 instead of DF_LR_{OUT,IN}.
323
324 * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.
325
326 * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.
327
4c936d4f
JH
3282009-03-30 Jan Hubicka <jh@suse.cz>
329
330 * except.c (label_to_region_map): Fix thinko.
331
f4d9f129
SE
3322009-03-30 Steve Ellcey <sje@cup.hp.com>
333
334 PR middle-end/38237
335 * tree.h (tree_find_value): New declaration.
336 * tree.c (tree_find_value): New function.
337 * varasm.c (assemble_external): Avoid duplicate entries on lists.
338
b3f27c15
JJ
3392009-03-30 Jakub Jelinek <jakub@redhat.com>
340
341 PR debug/39563
342 * c-decl.c (struct c_binding): Add locus field.
343 (bind): Add locus argument, set locus field from it.
344 (pop_scope): For b->nested VAR_DECL or FUNCTION_DECL,
345 add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS.
346 (push_file_scope, pushtag, pushdecl, pushdecl_top_level,
347 implicitly_declare, undeclared_variable, lookup_label,
348 declare_label, c_make_fname_decl, c_builtin_function,
349 c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust
350 bind callers.
351
680e8a00
L
3522008-03-30 H.J. Lu <hongjiu.lu@intel.com>
353
354 PR target/38781
355 * config/i386/i386.c (classify_argument): Check total size of
356 structure.
357
133f9369
MJ
3582009-03-30 Martin Jambor <mjambor@suse.cz>
359
360 * ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,
361 IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN,
362 IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH
363 respectively.
364
365 * tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if
366 seen_variable_array_ref while also traversing a union.
367
368 * tree-inline.c (optimize_inline_calls): Do not call
369 cgraph_node_remove_callees.
370 * cgraphbuild.c (remove_cgraph_callee_edges): New function.
371 (pass_remove_cgraph_callee_edges): New variable.
372 * passes.c (init_optimization_passes): Add
373 pass_remove_cgraph_callee_edges after early inlining and before all
374 late intraprocedural passes.
375
376 * omp-low.c (expand_omp_taskreg): Always set current_function_decl.
377
1190f2eb
PB
3782009-03-30 Paolo Bonzini <bonzini@gnu.org>
379
380 * config/sparc/sparc.md (*nand<V64mode>_vis, *nand<V32mode>_vis):
381 Fix typos in names.
382
fedc1775
PB
3832009-03-30 Paolo Bonzini <bonzini@gnu.org>
384
385 * combine.c (simplify_comparison): Use have_insn_for.
386 * dojump.c (do_jump): Likewise.
387
65c5ae8b
PB
3882009-03-30 Paolo Bonzini <bonzini@gnu.org>
389
390 * config/sparc/sparc.c (sparc_compare_emitted): Remove.
391 (gen_compare_reg, emit_v9_brxx_insn): Handle MODE_CC
392 sparc_compare_op0 like sparc_compare_emitted used to be handled.
393 (sparc_expand_compare_and_swap_12): Set sparc_compare_op0
394 instead of sparc_compare_emitted.
395 * config/sparc/sparc.h (sparc_compare_emitted): Remove.
396 * config/sparc/sparc.md (stack_protect_test): Set sparc_compare_op0
397 instead of sparc_compare_emitted.
398
d25aa7ab
PB
3992009-03-30 Paolo Bonzini <bonzini@gnu.org>
400
401 * bb-reorder.c (partition_hot_cold_basic_blocks): Do not
402 enter/exit cfglayout mode.
403 (pass_partition_block): Require it.
404 * combine.c (find_single_use, reg_dead_at_p): Use CFG.
405 (combine_instructions): Track basic blocks instead of labels.
406 (update_cfg_for_uncondjump): New.
407 (try_combine): Use it. Update jumps after rescanning.
408 (pass_combine): Require PROP_cfglayout.
409 * passes.c (pass_outof_cfg_layout_mode): Move after regmove.
410
9c9e26f5
PB
4112009-03-30 Paolo Bonzini <bonzini@gnu.org>
412
413 * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
414 Provide/destroy PROP_cfglayout respectively.
415 * gcse.c (pass_jump_bypass, pass_gcse): Require it.
416 * tree-pass.h (PROP_cfglayout): New.
417
28ddeea1
PB
4182009-03-30 Paolo Bonzini <bonzini@gnu.org>
419
420 * fold-const.c (const_binop, fold_convert_const_real_from_fixed,
421 fold_convert_const_fixed_from_fixed,
422 fold_convert_const_fixed_from_int,
423 fold_convert_const_fixed_from_real, fold_negate_const): Do not
424 set TREE_CONSTANT_OVERFLOW.
425 * tree.def: Remove mention of TREE_CONSTANT_OVERFLOW.
426 * tree.h (TREE_CONSTANT_OVERFLOW): Delete.
427
ebfd146a
IR
4282009-03-30 Ira Rosen <irar@il.ibm.com>
429
430 * tree-vect-loop-manip.c: New file.
431 * tree-vectorizer.c: Update documentation and included files.
432 (vect_loop_location): Make extern.
433 (rename_use_op): Move to tree-vect-loop-manip.c
434 (rename_variables_in_bb, rename_variables_in_loop,
435 slpeel_update_phis_for_duplicate_loop,
436 slpeel_update_phi_nodes_for_guard1,
437 slpeel_update_phi_nodes_for_guard2, slpeel_make_loop_iterate_ntimes,
438 slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_add_loop_guard,
439 slpeel_can_duplicate_loop_p, slpeel_verify_cfg_after_peeling,
440 set_prologue_iterations, slpeel_tree_peel_loop_to_edge,
441 find_loop_location): Likewise.
442 (new_stmt_vec_info): Move to tree-vect-stmts.c.
443 (init_stmt_vec_info_vec, free_stmt_vec_info_vec, free_stmt_vec_info,
444 get_vectype_for_scalar_type, vect_is_simple_use,
445 supportable_widening_operation, supportable_narrowing_operation):
446 Likewise.
447 (bb_in_loop_p): Move to tree-vect-loop.c.
448 (new_loop_vec_info, destroy_loop_vec_info,
449 reduction_code_for_scalar_code, report_vect_op,
450 vect_is_simple_reduction, vect_is_simple_iv_evolution): Likewise.
451 (vect_can_force_dr_alignment_p): Move to tree-vect-data-refs.c.
452 (vect_supportable_dr_alignment): Likewise.
453 * tree-vectorizer.h (tree-data-ref.h): Include.
454 (vect_loop_location): Declare.
455 Reorganize function declarations according to the new file structure.
456 * tree-vect-loop.c: New file.
457 * tree-vect-analyze.c: Remove. Move functions to tree-vect-data-refs.c,
458 tree-vect-stmts.c, tree-vect-slp.c, tree-vect-loop.c.
459 * tree-vect-data-refs.c: New file.
460 * tree-vect-patterns.c (timevar.h): Don't include.
461 * tree-vect-stmts.c: New file.
462 * tree-vect-transform.c: Remove. Move functions to tree-vect-stmts.c,
463 tree-vect-slp.c, tree-vect-loop.c.
464 * Makefile.in (OBJS-common): Remove tree-vect-analyze.o and
465 tree-vect-transform.o. Add tree-vect-data-refs.o, tree-vect-stmts.o,
466 tree-vect-loop.o, tree-vect-loop-manip.o, tree-vect-slp.o.
467 (tree-vect-analyze.o): Remove.
468 (tree-vect-transform.o): Likewise.
469 (tree-vect-data-refs.o): Add rule.
470 (tree-vect-stmts.o, tree-vect-loop.o, tree-vect-loop-manip.o,
471 tree-vect-slp.o): Likewise.
472 (tree-vect-patterns.o): Remove redundant dependencies.
473 (tree-vectorizer.o): Likewise.
474 * tree-vect-slp.c: New file.
475
40a1cfba
RW
4762009-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
477
478 * optc-gen.awk: Warn if an option flag has multiple different
479 help strings.
480
a9a7a9a2
SP
4812009-03-30 Sebastian Pop <sebastian.pop@amd.com>
482
483 * doc/invoke.texi (-floop-interchange, -floop-strip-mine,
484 -floop-block): Document dependences on PPL, CLooG and Graphite.
485
8ce94e44
JM
4862009-03-30 Joseph Myers <joseph@codesourcery.com>
487
488 PR rtl-optimization/323
489 * c-common.c (c_fully_fold, convert_and_check,
490 c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
491 (c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
492 * c-common.def (EXCESS_PRECISION_EXPR): New.
493 * c-cppbuiltin.c (builtin_define_float_constants): Define
494 constants with enough digits for long double.
495 * c-lex.c (interpret_float): Interpret constant with excess
496 precision where appropriate.
497 * c-opts.c (c_common_post_options): Set
498 flag_excess_precision_cmdline. Give an error for
499 -fexcess-precision=standard for C++ for processors where the
500 option is significant.
501 * c-parser.c (c_parser_conditional_expression): Handle excess
502 precision in condition.
503 * c-typeck.c (convert_arguments): Handle arguments with excess
504 precision.
505 (build_unary_op): Move excess precision outside operation.
506 (build_conditional_expr): Likewise.
507 (build_compound_expr): Likewise.
508 (build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
509 (build_modify_expr): Handle excess precision in RHS.
510 (convert_for_assignment): Handle excess precision in converted
511 value.
512 (digest_init, output_init_element, process_init_element): Handle
513 excess precision in initializer.
514 (c_finish_return): Handle excess precision in return value.
515 (build_binary_op): Handle excess precision in operands and add
516 excess precision as needed for operation.
517 * common.opt (-fexcess-precision=): New option.
518 * config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
519 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
520 For standard excess precision, output explicit conversion to and
521 truncation from XFmode.
522 (*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
523 *float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
524 *float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
525 define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
526 define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
527 floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
528 divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
529 *fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
530 *fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
531 define_splits, sqrt<mode>2): Disable where appropriate for
532 standard excess precision.
533 * convert.c (convert_to_real): Do not shorten arithmetic to type
534 for which excess precision would be used.
535 * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
536 * doc/invoke.texi (-fexcess-precision=): Document option.
537 (-mfpmath=): Correct index entry.
538 * flags.h (enum excess_precision, flag_excess_precision_cmdline,
539 flag_excess_precision): New.
540 * langhooks.c (lhd_post_options): Set
541 flag_excess_precision_cmdline.
542 * opts.c (common_handle_option): Handle -fexcess-precision=.
543 * toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
544 init_excess_precision): New.
545 (lang_dependent_init_target): Call init_excess_precision.
546 * tree.c (excess_precision_type): New.
547 * tree.h (excess_precision_type): Declare.
548
1e57bf47
JM
5492009-03-30 Joseph Myers <joseph@codesourcery.com>
550
551 PR c/35235
552 * c-typeck.c (build_component_ref): Do not copy qualifiers from
553 non-lvalue to component.
554
148e4216
JM
5552009-03-29 Joseph Myers <joseph@codesourcery.com>
556
557 PR preprocessor/34695
558 * Makefile.in (c-opts.o): Depend on c-tree.h.
559 * c-common.c: Move down include of diagnostic.h.
560 (done_lexing, c_cpp_error): New.
561 * c-common.h (done_lexing): Declare.
562 * c-decl.c (c_write_global_declarations): Don't check cpp_errors
563 (parse_in).
564 * c-opts.c: Include c-tree.h.
565 (c_common_init_options): Set preprocessor error callback.
566 (c_common_handle_option): Do not set preprocessor
567 inhibit_warnings, warnings_are_errors, warn_system_headers,
568 pedantic_errors or inhibit_warnings flags.
569 (c_common_post_options): Do not check cpp_errors (parse_in).
570 (c_common_finish): Do not output dependencies if there were
571 errors. Do not check return value of cpp_finish.
572 * c-ppoutput.c (pp_file_change): Set input_location.
573 * c-tree.h (c_cpp_error): Declare.
574 * diagnostic.c (diagnostic_set_info_translated): Also initialize
575 override_column.
576 (diagnostic_build_prefix): Check override_column.
577 * diagnostic.h (diagnostic_info): Add override_column field.
578 (diagnostic_override_column): Define.
579
2ec5deb5
PB
5802009-03-28 Paolo Bonzini <bonzini@gnu.org>
581
ba20e309
UB
582 * c-common.c (c_expand_expr, c_staticp): Remove.
583 * c-common.def (COMPOUND_LITERAL_EXPR): Delete.
584 * c-common.h (emit_local_var, c_staticp, COMPOUND_LITERAL_EXPR_DECL,
585 COMPOUND_LITERAL_EXPR_DECL_EXPR): Remove.
586 * c-gimplify.c (gimplify_compound_literal_expr,
587 optimize_compound_literals_in_ctor): Remove.
588 (c_gimplify_expr): Remove COMPOUND_LITERAL_EXPR handling.
589 * c-objc-common.h (LANG_HOOKS_STATICP): Remove.
590 * c-semantics.c (emit_local_var): Remove.
591
592 * langhooks-def.h (lhd_expand_expr): Remove.
593 * langhooks.c (lhd_expand_expr): Remove.
594 * langhooks.h (LANG_HOOKS_DEF): Remove LANG_HOOKS_EXPAND_EXPR.
595
596 * expr.c (expand_expr_real_1): Move COMPOUND_LITERAL_EXPR
597 handling from c-semantics.c; don't call into langhook.
598 (expand_expr_addr_expr_1): Check that we don't get non-GENERIC trees.
599 * gimplify.c (gimplify_compound_literal_expr,
600 optimize_compound_literals_in_ctor): Move from c-gimplify.c.
601 (gimplify_init_constructor): Call optimize_compound_literals_in_ctor.
602 (gimplify_modify_expr_rhs, gimplify_expr): Handle COMPOUND_LITERAL_EXPR
603 as was done in c-gimplify.c.
604 * tree.c (staticp): Move COMPOUND_LITERAL_EXPR handling from c_staticp.
605 * tree.h (COMPOUND_LITERAL_EXPR_DECL, COMPOUND_LITERAL_EXPR_DECL_EXPR):
606 Move from c-common.h.
607 * tree.def (COMPOUND_LITERAL_EXPR): Move from c-common.def.
2ec5deb5
PB
608
609 * tree.c (staticp): Do not call langhook.
610 * langhooks.c (lhd_staticp): Delete.
611 * langhooks-def.h (lhd_staticp): Delete prototype.
612 (LANG_HOOKS_STATICP): Delete.
613 (LANG_HOOKS_INITIALIZER): Delete LANG_HOOKS_STATICP.
614
ba20e309
UB
615 * doc/c-tree.texi (Expression nodes): Refer to DECL_EXPRs
616 instead of DECL_STMTs.
2ec5deb5 617
928c19bb
JM
6182009-03-29 Joseph Myers <joseph@codesourcery.com>
619
620 PR c/456
621 PR c/5675
622 PR c/19976
623 PR c/29116
624 PR c/31871
625 PR c/35198
626 * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in
627 void_type_node.
628 (fold_call_expr): Return a NOP_EXPR from folding rather than the
629 contained expression.
ba20e309 630 * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New.
928c19bb
JM
631 (c_common_truthvalue_conversion): Use c_save_expr. Do not fold
632 conditional expressions for C.
633 (decl_constant_value_for_optimization): Move from
ba20e309 634 decl_constant_value_for_broken_optimization in c-typeck.c. Check
928c19bb
JM
635 whether optimizing and that the expression is a VAR_DECL not of
636 array type instead of doing such checks in the caller. Do not
637 check pedantic. Call gcc_unreachable for C++.
638 * c-common.def (C_MAYBE_CONST_EXPR): New.
639 * c-common.h (c_fully_fold, c_save_expr,
640 decl_constant_value_for_optimization): New prototypes.
641 (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR,
642 C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST,
643 EXPR_INT_CONST_OPERANDS): Define.
644 * c-convert.c (convert): Strip nops from expression.
645 * c-decl.c (groktypename): Take extra parameters expr and
646 expr_const_operands. Update call to grokdeclarator.
647 (start_decl): Update call to grokdeclarator. Add statement for
648 expressions used in type of decl.
649 (grokparm): Update call to grokdeclarator.
650 (push_parm_decl): Update call to grokdeclarator.
651 (build_compound_literal): Add parameter non_const and build a
652 C_MAYBE_COSNT_EXPR if applicable.
653 (grokdeclarator): Take extra parameters expr and
654 expr_const_operands. Track expressions used in declaration
655 specifiers and declarators. Fold array sizes and track whether
656 they are constant expressions and whether they are integer
657 constant expressions.
658 (parser_xref_tag): Set expr and expr_const_operands fields in
659 return value.
660 (grokfield): Update call to grokdeclarator.
661 (start_function): Update call to grokdeclarator.
662 (build_null_declspecs): Set expr and expr_const_operands fields in
663 return value.
664 (declspecs_add_type): Handle expressions in typeof specifiers.
665 * c-parser.c (c_parser_declspecs): Set expr and
666 expr_const_operands fields for declaration specifiers.
667 (c_parser_enum_specifier): Likewise.
668 (c_parser_struct_or_union_specifier): Likewise.
669 (c_parser_typeof_specifier): Likewise. Update call to
670 groktypename. Fold expression as needed. Return expressions with
671 type instead of adding statements.
672 (c_parser_attributes): Update calls to c_parser_expr_list.
673 (c_parser_statement_after_labels): Fold expression before passing
674 to objc_build_throw_stmt.
675 (c_parser_condition): Fold expression.
676 (c_parser_asm_operands): Fold expression.
677 (c_parser_conditional_expression): Use c_save_expr. Update call
678 to build_conditional_expr.
679 (c_parser_alignof_expression): Update call to groktypename.
680 (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as
681 original_code. Fold expression argument of va_arg. Create
682 C_MAYBE_CONST_EXPR to preserve side effects of expressions in type
683 argument to va_arg. Update calls to groktypename. Fold array
684 index for offsetof. Verify that first argument to
685 __builtin_choose_expr has integer type.
686 (c_parser_postfix_expression_after_paren_type): Update calls to
687 groktypename and build_compound_literal. Handle expressions with
688 side effects in type name.
689 (c_parser_postfix_expression_after_primary): Update call to
690 c_parser_expr_list. Set original_code for calls to
691 __builtin_constant_p.
692 (c_parser_expr_list): Take extra parameter fold_p. Fold
693 expressions if requested.
694 (c_parser_objc_type_name): Update call to groktypename.
695 (c_parser_objc_synchronized_statement): Fold expression.
696 (c_parser_objc_receiver): Fold expression.
697 (c_parser_objc_keywordexpr): Update call to c_parser_expr_list.
698 (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule,
699 c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions.
700 * c-tree.h (CONSTRUCTOR_NON_CONST): Define.
701 (struct c_typespec): Add elements expr and expr_const_operands.
702 (struct c_declspecs): Add elements expr and expr_const_operands.
703 (groktypename, build_conditional_expr, build_compound_literal):
704 Update prototypes.
705 (in_late_binary_op): Declare.
706 * c-typeck.c (note_integer_operands): New function.
707 (in_late_binary_op): New variable.
708 (decl_constant_value_for_broken_optimization): Move to c-common.c
709 and rename to decl_constant_value_for_optimization.
710 (default_function_array_conversion): Do not strip nops.
711 (default_conversion): Do not call
712 decl_constant_value_for_broken_optimization.
713 (build_array_ref): Do not fold result.
714 (c_expr_sizeof_expr): Fold operand. Use C_MAYBE_CONST_EXPR for
715 result when operand is a VLA.
716 (c_expr_sizeof_type): Update call to groktypename. Handle
717 expressions included in type name. Use C_MAYBE_CONST_EXPR for
718 result when operand names a VLA type.
719 (build_function_call): Update call to build_compound_literal.
720 Only fold result for calls to __builtin_* functions. Strip
721 NOP_EXPR from INTEGER_CST returned from such functions. Fold
722 the function designator.
723 (convert_arguments): Fold arguments. Update call to
724 convert_for_assignment.
725 (build_unary_op): Handle increment and decrement of
726 C_MAYBE_CONST_EXPR. Move lvalue checks for increment and
727 decrement earlier. Fold operand of increment and decrement.
728 Handle address of C_MAYBE_CONST_EXPR. Only fold expression being
729 built for integer operand. Wrap returns that are INTEGER_CSTs
730 without being integer constant expressions or that have integer
731 constant operands without being INTEGER_CSTs.
732 (lvalue_p): Handle C_MAYBE_CONST_EXPR.
733 (build_conditional_expr): Add operand ifexp_bcp. Track whether
734 result is an integer constant expression or can be used in
735 unevaluated parts of one and avoid folding and wrap as
736 appropriate. Fold operands before possibly doing -Wsign-compare
737 warnings.
738 (build_compound_expr): Wrap result for C99 if operands can be used
739 in integer constant expressions.
740 (build_c_cast): Update call to digest_init. Do not ignore
741 overflow from casting floating-point constants to integers. Wrap
742 results that could be confused with integer constant expressions,
743 null pointer constants or floating-point constants.
744 (c_cast_expr): Update call to groktypename. Handle expressions
745 included in type name.
746 (build_modify_expr): Handle modifying a C_MAYBE_CONST_EXPR. Fold
747 lhs inside possible SAVE_EXPR. Fold RHS before assignment.
748 Update calls to convert_for_assignment.
749 (convert_for_assignment): Take new parameter
750 null_pointer_constant. Do not strip nops or call
751 decl_constant_value_for_broken_optimization. Set
752 in_late_binary_op for conversions to boolean.
753 (store_init_value): Update call to digest_init.
754 (digest_init): Take new parameter null_pointer_constant. Do not
755 call decl_constant_value_for_broken_optimization. pedwarn for
756 initializers not constant expressions. Update calls to
757 convert_for_assignment.
758 (constructor_nonconst): New.
759 (struct constructor_stack): Add nonconst element.
760 (really_start_incremental_init, push_init_level, pop_init_level):
761 Handle constructor_nonconst and nonconst element.
762 (set_init_index): Call constant_expression_warning for array
763 designators.
764 (output_init_element): Fold value. Set constructor_nonconst as
765 applicable. pedwarn for initializers not constant expressions.
766 Update call to digest_init. Call constant_expression_warning
767 where constant initializers are required.
768 (process_init_element): Use c_save_expr.
769 (c_finish_goto_ptr): Fold expression.
770 (c_finish_return): Fold return value. Update call to
771 convert_for_assignment.
772 (c_start_case): Fold switch expression.
773 (c_process_expr_stmt): Fold expression.
774 (c_finish_stmt_expr): Create C_MAYBE_CONST_EXPR as needed to
ba20e309 775 ensure statement expression is not evaluated in constant expression.
928c19bb
JM
776 (build_binary_op): Track whether results are integer constant
777 expressions or may occur in such, disable folding and wrap results
778 as applicable. Fold operands for -Wsign-compare warnings unless
779 in_late_binary_op.
780 (c_objc_common_truthvalue_conversion): Handle results folded to
781 integer constants that are not integer constant expressions.
782 * doc/extend.texi: Document when typeof operands are evaluated,
783 that condition of __builtin_choose_expr is an integer constant
784 expression, and more about use of __builtin_constant_p in
785 initializers.
786
5babbcc0
RG
7872009-03-29 Richard Guenther <rguenther@suse.de>
788
789 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
790 propagate addresses of array references.
791
0340f2ba
SB
7922009-03-29 Steven Bosscher <steven@gcc.gnu.org>
793
794 * regmove.c (perhaps_ends_bb_p): Remove.
795 (optimize_reg_copy_1): Don't call perhaps_ends_bb_p. Get basic block
796 from INSN and check that the main loop stays within that basic block.
797 (optimize_reg_copy_1, optimize_reg_copy_3, fixup_match_2): Likewise.
798 (regmove_forward_pass): Split out from regmove_optimize. Use
799 FOR_EACH_BB and FOR_BB_INSNS instead of traversing the insns stream.
800 (regmove_backward_pass): Split out from regmove_optimize. Use
801 FOR_EACH_BB_REVERSE and FOR_BB_INSNS_REVERS_SAFE.
802 (regmove_optimize): Simplify.
803
eeae74a1
L
8042009-03-29 H.J. Lu <hongjiu.lu@intel.com>
805
806 PR target/39545
807 * config/i386/i386.c (classify_argument): Ignore flexible array
808 member in struct and warn ABI change.
809
a24078b2
L
8102009-03-29 H.J. Lu <hongjiu.lu@intel.com>
811
812 * config/i386/i386-protos.h (ix86_agi_dependent): New.
813
814 * config/i386/i386.c (ix86_agi_dependent): Rewrite.
815 (ix86_adjust_cost): Updated.
816
a8da523f
JH
8172009-03-29 Jan Hubicka <jh@suse.cz>
818
819 PR middle-end/28850
820 * tree-pass.h (pass_cleanup_eh): New function.
821 (remove_unreachable_regions): Break code handling RTL
822 to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
823 that can not be reached by runtime.
824 (can_be_reached_by_runtime): New function.
825 (label_to_region_map): New function.
826 (num_eh_regions): New function.
827 (rtl_remove_unreachable_regions): New function.
828 (convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
829 (remove_eh_region): New function.
830 * except.h: Include sbitmap and vecprim.
831 (remove_eh_region, remove_unreachable_regions, label_to_region_map,
832 num_eh_regions): Declare.
833 * passes.c (init_optimization_passes): Schedule cleanup_eh.
ba20e309 834 * Makefile.in (EXCEPT_H): New; replace all uses of except.h by it.
a8da523f
JH
835 * tree-eh.c (tree_remove_unreachable_handlers): New function.
836 (tree_empty_eh_handler_p): New function.
837 (cleanup_empty_eh): New function.
838 (cleanup_eh): New function.
839 (pass_cleanup_eh): New function.
840
98f358e5
JH
8412009-03-29 Jan Hubicka <jh@suse.cz>
842
843 * except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready
844 for removed regions.
845
13a9fa44
JH
8462009-03-29 Jan Hubicka <jh@suse.cz>
847
848 * except.c (dump_eh_tree): Dump all datastructures.
849
e38cf733
JH
8502009-03-29 Jan Hubicka <jh@suse.cz>
851
852 * except.c (duplicate_eh_regions_0): Handle AKA bitmap.
853 (duplicate_eh_regions_1): Likewise.
854 (duplicate_eh_regions): Likewise; cleanup code gorwing the region
855 vector; call EH verification.
856 (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
857 Be ready for region being removed.
858
12802c2b
JH
8592009-03-29 Jan Hubicka <jh@suse.cz>
860
861 * bitmap.c (bitmap_last_set_bit): New function.
862 * bitmap.h (bitmap_last_set_bit): Declare.
863
4ea80a41
DA
8642009-03-29 David Ayers <ayers@fsfe.org>
865
866 PR objc/27377
867 * c-typeck.c (build_conditional_expr): Emit ObjC warnings
868 by calling objc_compare_types and surpress warnings about
869 incompatible C pointers that are compatible ObjC pointers.
870
8712009-03-29 Adam Nemet <anemet@caviumnetworks.com>
3dc9eaa6
AN
872
873 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Don't
874 call initialize_inline_failed.
875 (initialize_inline_failed): Move it from here ...
876 * cgraph.c (initialize_inline_failed): ... to here.
877 (cgraph_create_edge): Call initialize_inline_failed rather than
878 setting inline_failed directly.
879
7fb0ee07
BE
8802009-03-29 Ben Elliston <bje@au.ibm.com>
881
882 PR target/32542
883 * sysv4.opt (msdata): Improve comment.
884 * linux64.h (ASM_SPEC32): Do not pass -memb when -msdata is given.
885 * sysv4.h (SVR4_ASM_SPEC): Likewise.
886
0be77bf2
BE
8872009-03-29 Ben Elliston <bje@au.ibm.com>
888
889 PR target/30451
890 * config/rs6000/rs6000.md (*movti_ppc64): Correct the order of
891 load and store attributes.
892
593812b6
BE
8932009-03-29 Ben Elliston <bje@au.ibm.com>
894
895 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
896 (ix86_init_builtins): Add built-in function __builtin_huge_valq.
897 (ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
898 * doc/extend.texi (X86 Built-in Functions): Add index entries for
899 __builtin_infq and __builtin_huge_valq.
900
8272d11d
AS
9012009-03-28 Anatoly Sokolov <aesok@post.ru>
902
903 * config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
904 atmega8m1 devices.
905 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
906 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)
907
74fe548b
XDL
9082009-03-28 Xinliang David Li <davidxl@google.com>
909
910 * tree-ssa-ccp.c (ccp_finalize): Add dbg_count support.
911 (do_dbg_cnt): New function.
912
33977f81
JH
9132009-03-28 Jan Hubicka <jh@suse.cz>
914
915 Merge from pretty-ipa:
916
917 2009-03-27 Jan Hubicka <jh@suse.cz>
ba20e309 918
33977f81
JH
919 * cgraph.c (dump_cgraph_node): Add replace output flag by process.
920 * tree-pass.h (function_called_by_processed_nodes_p): Declare.
921 * passes.c (function_called_by_processed_nodes_p): New.
922 * ipa-pure-const.c (check_call): Fix handling of operands.
923 (analyze_function): Dump debug output for skipped bodies.
924 (local_pure_const): Use function_called_by_processed_nodes_p.
925 * dwarf2out.c (reference_to_unused): Use output.
926 * passes.c (do_per_function_toporder): Likewise.
927
928 2008-11-12 Jan Hubicka <jh@suse.cz>
929
930 * tree-pass.h (pass_fixup_cfg, pass_local_pure_const): Declare.
931 * ipa-pure-const.c (funct_state_d): Add can throw field; make
932 state_set_in_source enum
933 (check_decl): Ignore memory tags; do not set fake looping flags;
934 dump diagnostics.
935 (check_operand, check_tree, check_rhs_var, check_lhs_var,
936 get_asm_expr_operands, scan_function_op, scan_function_stmt): Remove.
937 (check_call, analyze_function): Rewrite.
938 (check_stmt): New.
939 (add_new_function): Update call of analyze_function.
940 (generate_summary): Add call of analyze_function.
941 (propagate): Propagate can_throw; handle state_set_in_source correctly.
942 (local_pure_const): New function.
943 (pass_local_pure_const): New pass.
944 * ipa-inline.c (inline_transform): Set after_inlining.
945 * tree-eh.c (stmt_can_throw_external): New.
946 * tree-optimize.c (execute_fixup_cfg): Do not set after_inlining;
947 work with aliasing built.
948 * tree-flow.h (stmt_can_throw_external): New.
949 * passes.c (init_optimization_passes): Schedule fixup_cfg pass early;
950 and local pure/const pass in early and late optimization queue.
ba20e309 951
617f3897
MJ
9522009-03-28 Martin Jambor <mjambor@suse.cz>
953
954 * fold-const.c (get_pointer_modulus_and_residue): New parameter
955 allow_func_align.
956 (fold_binary): Allow function decl aligment consideration is the
957 second argument is integer constant one.
958 * tree-ssa-forwprop.c (simplify_bitwise_and): New function.
959 (tree_ssa_forward_propagate_single_use_vars): Handle assing statements
960 with BIT_AND_EXPR on the RHS by calling simplify_bitwise_and.
961
fe89fbc5
JH
9622009-03-28 Jan Hubicka <jh@suse.cz>
963
964 * dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
965 * tree-eh.c (stmt_could_throw_p): Remove check for WEAK decls.
966 * function.h (rtl_data): Add nothrow flag.
967 * except.c (set_nothrow_function_flags): Use crtl->nothrow;
968 set DECL_NOTHROW for AVAILABLE functions.
969
574872ff
JJ
9702009-03-28 Jakub Jelinek <jakub@redhat.com>
971
b3bf8855
JJ
972 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
973 following vector keyword has expansion starting with pixel or bool
974 keyword, expand vector to __vector and pixel or bool to __pixel or
975 __bool.
976
574872ff
JJ
977 PR c++/39554
978 * opts.c (warning_disallowed_functions, warn_disallowed_functions,
979 warn_if_disallowed_function_p): Removed.
980 (common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
981 * c-parser.c (c_parser_postfix_expression_after_primary): Don't call
982 warning_if_disallowed_function_p.
983 * flags.h (warn_if_disallowed_function_p,
984 warn_disallowed_functions): Removed.
985 * common.opt (Wdisallowed-function-list=): Removed.
986 * doc/invoke.texi (-Wdisallowed-function-list=): Removed.
987
b005da11
RG
9882009-03-28 Richard Guenther <rguenther@suse.de>
989
990 PR tree-optimization/38723
991 * tree-ssa-pre.c (compute_avail): Add all default definitions to
992 the entry block.
993
1de812a6
JH
9942009-03-28 Jan Hubicka <jh@suse.cz>
995
996 * tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed
997 test introduced by my previous patch.
998
fbb789d4
RG
9992009-03-28 Richard Guenther <rguenther@suse.de>
1000
1001 * tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave
1002 the PHIs value undefined.
1003
6f1873a1
JH
10042009-03-28 Jan Hubicka <jh@suse.cz>
1005
1006 * tree-pass.h (pass_fixup_cfg): New pass.
1007 * ipa-inline.c (inline_transform): Set
1008 always_inline_functions_inlined/after_inlining.
1009 * tree-optimize.c (execute_fixup_cfg): Do not set them here.
1010 (pass_fixup_cfg): New pass.
1011 * passes.c (init_optimization_passes): Add fixup_cfg.
1012
17021bc8
RG
10132009-03-28 Richard Guenther <rguenther@suse.de>
1014
1015 PR tree-optimization/38458
1016 * tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
1017 argument use the arguments copy-of value.
1018
e8114fba
RG
10192009-03-28 Richard Guenther <rguenther@suse.de>
1020
1021 PR tree-optimization/38180
1022 * tree-ssa-ccp.c (get_default_value): Simplify.
1023 (likely_value): Likewise.
1024 (surely_varying_stmt_p): Properly handle VOP case.
1025 (ccp_initialize): Likewise.
1026 (ccp_fold): Handle propagating through *&.
1027 (fold_const_aggregate_ref): Also handle decls.
1028
257eb6e3
JH
10292009-03-28 Jan Hubicka <jh@suse.cz>
1030
1031 * cgraph.c (dump_cgraph_node): Add replace output flag by process.
1032 * cgraph.h (cgraph_node): Likewise.
1033 * cgraphunit.c (cgraph_process_new_functions): Set process flag.
1034 (cgraph_reset_node): Use process flag.
1035 (cgraph_mark_functions_to_output): Likewise.
1036 (cgraph_expand_function): Likewise.
1037 (cgraph_expand_all_functions): Likewise.
1038 (cgraph_output_in_order): Likewise.
1039 * dwarf2out.c (reference_to_unused): Likewise.
1040 * passes.c do_per_function_toporder): Likewise.
1041
61a05df1
JH
10422009-03-28 Jan Hubicka <jh@suse.cz>
1043
1044 Bring from lto-branch:
ba20e309 1045
61a05df1
JH
1046 2008-09-03 Doug Kwan <dougkwan@google.com>
1047
1048 * cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t
1049 enums instead of reason strings.
1050 * cgraph.c (cgraph_create_edge): Same.
1051 (cgraph_inline_failed_string): New function.
1052 * cgraph.h (cgraph_inline_failed_t): New enum type.
1053 (cgraph_inline_failed_string): New prototype.
1054 (struct cgraph_edge): Change type of INLINED_FAILED from constant
1055 char pointer to cgraph_inline_failed_t.
1056 (cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t.
1057 (cgraph_default_inline_p): Ditto.
1058 * gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON
1059 to cgraph_inline_failed_t pointer.
1060 * cif-code.def: New file.
1061 * ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a
1062 reason string.
1063 (cgraph_check_inline_limits): Change type of REASON to pointer to
1064 cgraph_inline_failed_t. Replace reason strings with enums.
1065 (cgraph_default_inline_p): Ditto.
1066 (cgraph_recursive_inlining_p): Ditto.
1067 (update_caller_keys): Change type of FAILED_REASON to
1068 cgraph_inline_failed_t.
1069 (cgraph_set_inline_failed): Change type of REASON to pointer to
1070 cgraph_inline_failed_t. Call cgraph_inline_failed_string to
1071 convert enums to strings for text output.
1072 (cgraph_decide_inlining_of_small_function): Change FAILED_REASON
1073 to be of type cgraph_inline_failed_t. Replace reason strings with
1074 enums. Call cgraph_inline_failed_string to covert enums
1075 to strings for text output.
1076 (cgraph_decide_inlining): Replace reason strings with enums.
1077 (cgraph_decide_inlining_incrementally): Change type of FAILED_REASON
1078 to cgraph_inline_failed_t type. Call cgraph_inline_failed_string
1079 for text output.
1080 * tree-inline.c (expand_call_inline): Change type of REASON
1081 to cgraph_inline_failed_t. Replace reason strings with enums.
1082 Call cgraph_inline_failed_string for text output.
1083 * Makefile.in (CGRAPH_H): Add cif-code.def to dependencies.
1084 (cgraph.o): Ditto.
1085
144e8aac
JH
10862009-03-28 Jan Hubicka <jh@suse.cz>
1087
1088 * cgraph.c (cgraph_node, cgraph_remove_node, dump_cgraph_node,
1089 cgraph_clone_node): Remove master clone handling.
1090 (cgraph_is_master_clone, cgraph_master_clone): Remove.
1091 * cgraph.h (master_clone): Remove.
1092 (cgraph_is_master_clone, cgraph_master_clone): Remove.
1093 * ipa-type-escape.c (type_escape_execute): Remove use of master clone.
1094 (tree-ssa-structalias.c (ipa_pta_execute): Likewise.
1095
4a371c8d
JH
10962009-03-28 Jan Hubicka <jh@suse.cz>
1097
1098 * cgraph.c (cgraph_function_body_availability): Functions declared
1099 inline are always safe to assume that it is not going to be replaced.
1100
6cdb0ee3
RG
11012009-03-28 Richard Guenther <rguenther@suse.de>
1102
1103 PR tree-optimization/38513
1104 * tree-ssa-pre.c (eliminate): Remove redundant stores.
1105 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
1106 EXC_PTR_EXPR and FILTER_EXPR.
1107 (get_ref_from_reference_ops): Likewise.
1108
8ca1fd76
RG
11092009-03-28 Richard Guenther <rguenther@suse.de>
1110
1111 PR tree-optimization/38968
1112 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
1113 Use FLOOR_MOD_EXPR to compute misalignment.
1114
a254e44d
RG
11152009-03-28 Richard Guenther <rguenther@suse.de>
1116
1117 PR tree-optimization/37795
1118 * tree.h (combine_comparisons): Declare.
1119 * fold-const.c (combine_comparisons): Export.
1120 * tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive
1121 comparisons.
1122 (ifcombine_iforif): Use combine_comparisons.
1123
a8ee227c
JH
11242009-03-28 Jan Hubicka <jh@suse.cz>
1125
1126 * tree-eh.c (inlinable_call_p): New function.
1127 (make_eh_edges): Use it.
1128 (verify_eh_edges): Use it.
1129 (stmt_can_throw_external, stmt_can_throw_internal): Use it.
1130 * except.c (reachable_next_level): Add inlinable_function argument
1131 (sjlj_find_directly_reachable_regions): Update.
1132 (add_reachable_handler): Do not set saw_any_handlers.
1133 (reachable_next_level): Handle MUST_NOT_THROW more curefully.
1134 (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
1135 Add new inlinable call parameter.
1136 (can_throw_internal, can_throw_external): Update.
1137 * except.h (can_throw_internal_1, can_throw_external_1,
1138 foreach_reachable_handler): Update declaration.
1139
52c0e446
JM
11402009-03-28 Joseph Myers <joseph@codesourcery.com>
1141
1142 * config/arm/t-arm-coff, config/h8300/coff.h,
1143 config/i386/i386-aout.h, config/i386/i386-coff.h,
1144 config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
1145 config/pdp11/2bsd.h, config/rs6000/aix41.h,
1146 config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
1147 fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
1148 scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
1149 sys-types.h: Remove.
1150 * Makefile.in: Remove protoize and fixproto support and references
1151 in comments.
1152 (SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
1153 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
1154 Remove.
1155 (ALL_HOST_OBJS): Remove $(PROTO_OBJS).
1156 (MOSTLYCLEANFILES): Remove protoize$(exeext) and
1157 unprotoize$(exeext).
1158 (rest.encap): Don't depend on $(STMP_FIXPROTO)
1159 (.PHONY): Don't depend on proto.
1160 (libgcc-support): Don't depend on $(STMP_FIXPROTO).
1161 (proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
1162 protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
1163 deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
1164 build/gen-protos.o, build/scan.o, xsys-protos.h,
1165 build/fix-header$(build_exeext), build/fix-header.o,
1166 build/scan-decls.o, fixhdr.ready, stmp-fixproto,
1167 stmp-install-fixproto): Remove.
1168 (mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
1169 SYSCALLS.c or fixproto files.
1170 (install-common): Don't install protoize.
1171 (install-headers-tar, install-headers-cpio, install-headers-cp):
1172 Don't depend on $(STMP_FIXPROTO).
1173 (install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
1174 install fixproto files or write out fixproto settings.
1175 (uninstall): Don't uninstall protoize.
1176 * config.gcc (use_fixproto): Remove.
1177 (arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
1178 i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
1179 rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
1180 * config/m32r/t-linux (STMP_FIXPROTO): Remove.
1181 * config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
1182 * config/mips/t-iris (FIXPROTO_DEFINES): Remove.
1183 * config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
1184 * config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
1185 * config/t-svr4 (FIXPROTO_DEFINES): Remove.
1186 * config/t-vxworks (STMP_FIXPROTO): Remove.
1187 * configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
1188 STMP_FIXPROTO): Remove.
1189 * config.in, configure: Regenerate.
1190 * crtstuff.c (gid_t, uid_t): Don't undefine.
1191 * doc/install.texi: Change m68k-coff to m68k-elf in example.
1192 (arm-*-coff, arm-*-aout: Remove target entries.
1193 (*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
1194 Remove mention of AIX 4.1.
1195 (m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
1196 * doc/invoke.texi (Running Protoize): Remove.
1197 * doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
1198 (Protoize Caveats): Remove.
1199 * tsystem.h: Update comments on headers assumed to exist.
1200
20a07f44
VM
12012009-03-27 Vladimir Makarov <vmakarov@redhat.com>
1202
1203 * genautomata.c: Add a new year to the copyright. Add a new
1204 reference.
1205 (struct insn_reserv_decl): Add comments for member bypass_list.
1206 (find_bypass): Remove.
1207 (insert_bypass): New.
1208 (process_decls): Use insert_bypass.
1209 (output_internal_insn_latency_func): Output all bypasses with the
1210 same input insn in one switch case.
1211
1212 * rtl.def (define_bypass): Describe bypass choice.
1213 * doc/md.texi (define_bypass): Ditto.
1214
3a0d06c1
RB
12152009-03-27 Richard Guenther <rguenther@suse.de>
1216
1217 * gimplify.c (mark_addressable): Export.
1218 * tree-flow.h (mark_addressable): Declare.
1219 * tree-ssa-loop-manip.c (create_iv): Mark the base addressable.
1220 * tree-ssa.c (verify_phi_args): Verify that address taken
1221 variables have TREE_ADDRESSABLE set.
1222
12232009-03-27 Richard Guenther <rguenther@suse.de>
1224
1225 * fold-const.c (build_fold_addr_expr_with_type_1): Rename back to ...
1226 (build_fold_addr_expr_with_type): ... this. Remove in_fold handling.
1227 Do not mark decls TREE_ADDRESSABLE.
1228 (build_fold_addr_expr): Adjust.
1229 (fold_addr_expr): Remove.
1230 (fold_unary): Use build_fold_addr_expr.
1231 (fold_comparison): Likewise.
1232 (split_address_to_core_and_offset): Likewise.
1233 * coverage.c (tree_coverage_counter_addr): Mark the array decl
1234 TREE_ADDRESSABLE.
1235 * gimplify.c (mark_addressable): Do not exclude RESULT_DECLs.
1236 (gimplify_modify_expr_to_memcpy): Mark source and destination
1237 addressable.
1238 * omp-low.c (create_omp_child_function): Mark the object decl
1239 TREE_ADDRESSABLE.
1240 (lower_rec_input_clauses): Mark the var we take the address of
1241 TREE_ADDRESSABLE.
1242 (lower_omp_taskreg): Mark the sender decl TREE_ADDRESSABLE.
1243
2ac26e15
L
12442009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1245
1246 PR middle-end/39315
1247 * cfgexpand.c (expand_one_stack_var_at): Change alignment
1248 limit to MAX_SUPPORTED_STACK_ALIGNMENT.
1249
472c7fbd
RG
12502009-03-27 Richard Guenther <rguenther@suse.de>
1251
1252 PR tree-optimization/39120
1253 * tree-ssa-structalias.c (handle_rhs_call): Fill out return
1254 constraints.
1255 (handle_lhs_call): Process return constraints. Add escape
1256 constraints if necessary.
1257 (handle_const_call): Fill out return constraints. Make nested
1258 case more precise. Avoid consttmp if possible.
1259 (handle_pure_call): Fill out return constraints. Avoid
1260 callused if possible.
1261 (find_func_aliases): Simplify call handling.
1262
12632009-03-27 Richard Guenther <rguenther@suse.de>
1264
1265 PR tree-optimization/39120
1266 * tree-ssa-structalias.c (do_sd_constraint): Do not use CALLUSED
1267 as a representative.
1268 (solve_graph): Do propagate CALLUSED.
1269 (handle_pure_call): Use a scalar constraint from CALLUSED for
1270 the return value.
1271 (find_what_p_points_to): CALLUSED shall not appear in poins-to
1272 solutions.
1273
d9223014
L
12742009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1275
1276 PR c/39323
1277 * c-common.c (handle_aligned_attribute): Properly check alignment
1278 overflow. Use (1U << i) instead of (1 << i).
1279
ba20e309 1280 * emit-rtl.c (get_mem_align_offset): Use "unsigned int" for align.
d9223014
L
1281
1282 * expr.h (get_mem_align_offset): Updated.
1283
1284 * tree.h (tree_decl_common): Change align to "unsigned int" and
1285 move it before pointer_alias_set.
1286
689b689c
L
12872009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1288 Jakub Jelinek <jakub@redhat.com>
1289
1290 PR target/38034
1291 * config/ia64/sync.md (cmpxchg_rel_<mode>): Replace input
1292 gr_register_operand with gr_reg_or_0_operand.
1293 (cmpxchg_rel_di): Likewise.
1294 (sync_lock_test_and_set<mode>): Likewise.
1295
c619e982
L
12962009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1297
1298 * jump.c (rtx_renumbered_equal_p): Use subreg_get_info.
1299 (true_regnum): Likewise.
1300
1301 * rtlanal.c (subreg_info): Moved to ...
1302 * rtl.h (subreg_info): Here. New.
1303 (subreg_get_info): New.
1304
1305 * rtlanal.c (subreg_get_info): Make it extern.
1306
51212b32
L
13072009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1308
1309 PR target/39472
1310 * config/i386/i386.c (ix86_abi): New.
1311 (override_options): Handle -mabi=.
ba20e309 1312 (ix86_function_arg_regno_p): Replace DEFAULT_ABI with ix86_abi.
51212b32
L
1313 (ix86_call_abi_override): Likewise.
1314 (init_cumulative_args): Likewise.
1315 (function_arg_advance): Likewise.
1316 (function_arg_64): Likewise.
1317 (function_arg): Likewise.
1318 (ix86_pass_by_reference): Likewise.
1319 (ix86_function_value_regno_p): Likewise.
1320 (ix86_build_builtin_va_list_abi): Likewise.
1321 (setup_incoming_varargs_64): Likewise.
1322 (is_va_list_char_pointer): Likewise.
1323 (ix86_init_machine_status): Likewise.
ba20e309 1324 (ix86_reg_parm_stack_space): Use enum calling_abi on call_abi.
51212b32
L
1325 (ix86_function_type_abi): Return enum calling_abi. Rewrite
1326 for 64bit. Replace DEFAULT_ABI with ix86_abi.
ba20e309 1327 (ix86_function_abi): Make it static and return enum calling_abi.
51212b32
L
1328 (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI
1329 with ix86_abi.
1330 (ix86_fn_abi_va_list): Updated.
1331
1332 * config/i386/i386.h (ix86_abi): New.
1333 (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi.
1334 (CONDITIONAL_REGISTER_USAGE): Likewise.
1335 (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi.
1336 (machine_function): Likewise.
1337
1338 * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI
1339 with ix86_abi.
1340 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise.
1341 (STACK_BOUNDARY): Likewise.
1342 * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise.
1343
1344 * config/i386/i386.opt (mabi=): New.
1345
1346 * config/i386/i386-protos.h (ix86_cfun_abi): Changed to
1347 return enum calling_abi.
1348 (ix86_function_type_abi): Likewise.
1349 (ix86_function_abi): Removed.
1350
1351 * doc/invoke.texi: Document -mabi= option for x86.
1352
7338ea63
KG
13532009-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1354
1355 * builtins.c (real_dconstp): Delete.
1356 (fold_builtin_logarithm): Remove inaccurate log(e) special case.
1357
68599f33
DS
13582009-03-27 Dodji Seketeli <dodji@redhat.com>
1359 Jakub Jelinek <jakub@redhat.com>
1360
1361 PR debug/37959
1362 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_explicit attribute.
1363 (gen_subprogram_die): When a function is explicit, generate the
1364 DW_AT_explicit attribute.
1365 * langhooks.h (struct lang_hooks_for_decls): Add
1366 function_decl_explicit_p langhook.
1367 * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define.
1368 (LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P.
1369
9f5e9983
JJ
13702009-03-27 Jakub Jelinek <jakub@redhat.com>
1371
64d7685c
JJ
1372 * builtins.c (fold_builtin_memory_op): Optimize memmove
1373 into memcpy if we can prove source and destination don't overlap.
1374
9f5e9983
JJ
1375 * tree-inline.c: Include gt-tree-inline.h.
1376 (clone_fn_id_num): New variable.
1377 (clone_function_name): New function.
1378 (tree_function_versioning): Use it.
1379 * Makefile.in (GTFILES): Add tree-inline.c.
1380
e54d52a8
MM
13812009-03-27 Mark Mitchell <mark@codesourcery.com>
1382
1383 * BASE-VER: Change to 4.5.0.
1384
e9d51dc6
XDL
13852009-03-27 Xinliang David Li <davidxl@google.com>
1386
1387 PR tree-optimization/39557
1388 * tree-ssa.c (warn_uninitialized_vars): free postdom info.
1389
4577cea1
XDL
13902009-03-27 Xinliang David Li <davidxl@google.com>
1391
1392 PR tree-optimization/39548
1393 * tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
1394 candidate check.
1395
0f7464f4
L
13962009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1397
1398 * c-common.c (pointer_int_sum): Use %wd on return from
1399 tree_low_cst.
1400
a8847a7f
L
14012009-03-27 H.J. Lu <hongjiu.lu@intel.com>
1402
1403 * c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
1404 on return from tree_low_cst.
1405
b0957daf
AP
14062009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
1407
1408 PR c++/36799
ba20e309
UB
1409 * ginclude/stdarg.h (va_copy): Define also for
1410 __GXX_EXPERIMENTAL_CXX0X__.
b0957daf 1411
a5f805df
MLI
14122009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1413
1414 PR c++/35652
1415 * builtins.h (c_strlen): Do not warn here.
1416 * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
1417 * c-common.c (pointer_int_sum): Take an explicit location.
1418 Warn about offsets out of bounds.
1419 * c-common.h (pointer_int_sum): Adjust declaration.
1420
6f401211
RW
14212009-03-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1422
a5f805df
MLI
1423 * doc/invoke.texi (i386 and x86-64 Windows Options): Fix texinfo
1424 markup glitch.
6f401211 1425
5a59b39e
JJ
14262009-03-26 Jakub Jelinek <jakub@redhat.com>
1427
1428 PR c++/39554
1429 * opts.c (warn_if_disallowed_function_p): Don't assume
1430 get_callee_fndecl must return non-NULL.
1431
d5f89b53
VM
14322009-03-26 Vladimir Makarov <vmakarov@redhat.com>
1433
1434 PR rtl-optimization/39522
1435 * reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too
1436 when reg_reloaded_valid is set.
1437
61238a79
UW
14382009-03-26 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1439
1440 * config/spu/divv2df3.c: New file.
1441 * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add it.
1442 (DPBIT_FUNCS): Filter out _div_df.
1443
03f8829b
BS
14442009-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
1445
1446 * config/bfin/bfin.c (bfin_optimize_loop): If the LSETUP goes before
1447 a jump insn, count that jump in the distance to the loop start.
1448
9fdcdc74
KK
14492009-03-25 Kaz Kojima <kkojima@gcc.gnu.org>
1450
1451 PR target/39523
1452 * config/sh/sh.c (calc_live_regs): Fix condition for global
1453 registers except PIC_OFFSET_TABLE_REGNUM.
1454
46994828
KT
14552009-03-25 Kai Tietz <kai.tietz@onevision.com>
1456
1457 PR/39518
1458 * doc/invoke.texi (-mconsole): New.
1459 (-mcygwin): New.
1460 (-mno-cygwin): New.
1461 (-mdll): New.
1462 (-mnop-fun-dllimport): New.
1463 (-mthread): New.
1464 (-mwin32): New.
1465 (-mwindows): New.
1466 (sub section "i386 and x86-64 Windows Options"): New.
1467
370017b4
RC
14682009-03-25 Ralf Corsépius <ralf.corsepius@rtems.org>
1469
1470 * config/arm/rtems-elf.h: Remove LINK_GCC_C_SEQUENCE_SPEC.
1471 * config/rs6000/t-rtems: Remove MULTILIB_EXTRA_OPTS.
1472
ae560440
RG
14732009-03-25 Richard Guenther <rguenther@suse.de>
1474
1475 PR middle-end/39497
1476 * Makefile.in (dfp.o-warn): Use -fno-strict-aliasing instead
1477 of -Wno-error.
1478
cd510f15
AM
14792009-03-25 Andrey Belevantsev <abel@ispras.ru>
1480
1481 * config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when
1482 neither of haifa/selective schedulers are working.
1483
44ab0f0e
RW
14842009-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1485
1486 * doc/invoke.texi (Debugging Options): Fix description of
1487 -fno-merge-debug-strings.
1488
ad9646c7
HPN
14892009-03-24 Hans-Peter Nilsson <hp@axis.com>
1490
e6142656
HPN
1491 * config/cris/libgcc.ver: New version-script.
1492 * config/cris/t-linux (SHLIB_MAPFILES): Use it.
1493
ad9646c7
HPN
1494 * configure.ac <GAS features, nop mnemonic>: Add pattern
1495 crisv32-*-* for "nop".
ba20e309 1496 <GAS features, Thread-local storage>: Add item for CRIS and CRIS v32.
ad9646c7
HPN
1497 * configure: Regenerate.
1498
09ac4473
IR
14992009-03-24 Ira Rosen <irar@il.ibm.com>
1500
1501 PR tree-optimization/39529
1502 * tree-vect-transform.c (vect_create_data_ref_ptr): Call
1503 mark_sym_for_renaming for the tag copied to the new vector
1504 pointer.
1505
d94a427e
AL
15062009-03-24 Arthur Loiret <aloiret@debian.org>
1507
ba20e309 1508 * config.host (alpha*-*-linux*): Use driver-alpha.o and alpha/x-alpha.
d94a427e
AL
1509 * config/alpha/linux.h (host_detect_local_cpu): Declare, add to
1510 EXTRA_SPEC_FUNCTIONS.
1511 (MCPU_MTUNE_NATIVE_SPECS, DRIVER_SELF_SPECS): New macros.
1512 * config/alpha/driver-alpha.c, config/alpha/x-alpha: New.
1513 * doc/invoke.texi (DEC Alpha Options): Document 'native' value for
1514 -march and -mtune options.
1515
722d07aa
RC
15162009-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
1517
1518 * config/m68k/t-rtems: Add m5329 multilib.
1519
603f5959
DS
15202009-03-24 Dodji Seketeli <dodji@redhat.com>
1521 Jakub Jelinek <jakub@redhat.com>
1522
1523 PR debug/39524
1524 * dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
1525 nodes.
1526
c5cdb03f
JJ
15272009-03-23 Jakub Jelinek <jakub@redhat.com>
1528
1529 PR c/39495
1530 * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
1531 instead of c_parser_expression_conv, if original_code isn't one of the
1532 4 allowed comparison codes, fail.
1533
3691626c
RG
15342009-03-23 Richard Guenther <rguenther@suse.de>
1535
1536 * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
1537 * tree.h (struct tree_type): Likewise.
1538 * reload.h (struct insn_chain): Likewise.
1539 * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
1540 * function.h (struct function): Likewise.
1541 * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
1542
88ccb72a
JJ
15432009-03-23 Jakub Jelinek <jakub@redhat.com>
1544
1545 PR tree-optimization/39516
1546 * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
1547
a583a67e
BM
15482009-03-23 Bingfeng Mei <bmei@broadcom.com>
1549
1550 * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
1551 should be set true if BITS_PER_WORD of target is bigger than 32
1552
f82162f8
HPN
15532009-03-22 Hans-Peter Nilsson <hp@axis.com>
1554
1555 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
1556 Translate -B-options to -rpath-link. Correct existing
1557 rpath-link and conditionalize on !nostdlib.
1558
048fd785
RW
15592009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1560
1561 * doc/extend.texi (Function Attributes, Variable Attributes):
1562 Fix typos.
1563 * doc/invoke.texi (Debugging Options, Optimize Options)
1564 (i386 and x86-64 Options, MCore Options): Likewise.
1565
6e75c1a9
JJ
15662009-03-20 Jakub Jelinek <jakub@redhat.com>
1567
1568 PR debug/37890
1569 * dwarf2out.c (gen_namespace_die): Add context_die argument and use
1570 it for block local namespace aliases.
1571 (gen_decl_die): Pass context_die to gen_namespace_die.
1572
ea1199ee
JJ
15732009-03-19 Jakub Jelinek <jakub@redhat.com>
1574
1575 PR c/39495
1576 * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
1577 minimum or maximum value.
1578
58929c10
AO
15792009-03-19 Alexandre Oliva <aoliva@redhat.com>
1580
1581 * reginfo.c (globalize_reg): Recompute derived reg sets.
1582
234952b3
OS
15832009-03-19 Ozkan Sezer <sezeroz@gmail.com>
1584
1585 PR target/39063
1586 * libgcc2.c (mprotect): Do not use signed arguments for
1587 VirtualProtect, use DWORD arguments. Also fix the 'may
1588 be used uninitialized' warning for the np variable.
1589
f57c2f04
JJ
15902009-03-19 Jakub Jelinek <jakub@redhat.com>
1591
1592 PR target/39496
1593 * config/i386/i386.c (ix86_function_regparm): Don't optimize local
1594 functions using regparm calling conventions when not optimizing.
1595 (ix86_function_sseregparm): Similarly for sseregparm calling
1596 conventions.
1597
9e517d61
LF
15982009-03-19 Li Feng <nemokingdom@gmail.com>
1599
1600 PR middle-end/39500
1601 * tree-data-ref.c (analyze_subscript_affine_affine): There is no
1602 dependence if the first conflict is after niter iterations.
1603
8ef20026
HPN
16042009-03-19 Hans-Peter Nilsson <hp@axis.com>
1605
1606 PR middle-end/38609
1607 * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
1608 functions with dynamic stack-pointer adjustments.
1609
64e4a1a6
BE
16102009-03-19 Ben Elliston <bje@au.ibm.com>
1611
1612 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
1613 option; change to -msdata=data.
1614
9a0f3e86
RW
16152009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1616
1617 * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
1618 and -fopenmp.
1619
09bc5979
EB
16202009-03-18 Eric Botcazou <ebotcazou@adacore.com>
1621
1622 PR target/35180
1623 * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
1624
332459cd
SL
16252009-03-18 Sandra Loosemore <sandra@codesourcery.com>
1626
1627 * doc/invoke.texi (Code Gen Options): Expand discussion of
1628 -fno-common.
1629
8f5929e1
JJ
16302009-03-18 Jakub Jelinek <jakub@redhat.com>
1631
1632 * dse.c (struct group_info): Reorder fields for 64-bit hosts.
1633 * matrix-reorg.c (struct matrix_info): Likewise.
1634 * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
1635 * rtl.h (struct mem_attrs): Likewise.
1636 * df.h (struct df): Likewise.
1637 * tree-data-ref.h (struct data_dependence_relation): Likewise.
1638 * ira-int.h (struct ira_allocno): Likewise.
1639 * df-scan.c (struct df_collection_rec): Likewise.
1640 * ira.c (struct equivalence): Likewise.
1641 * function.c (struct temp_slot): Likewise.
1642 * cfgloop.h (struct loop): Likewise.
1643
d130d647
JJ
1644 PR debug/39485
1645 * function.c (use_register_for_decl): When not optimizing, disregard
1646 register keyword for variables with types containing methods.
1647
9968d233
SP
16482009-03-18 Sebastian Pop <sebastian.pop@amd.com>
1649
1650 PR middle-end/39447
1651 * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
1652 (is_simple_operand): Call contains_component_ref_p before calling data
1653 reference analysis that would fail on COMPONENT_REFs.
1654
1655 * tree-vrp.c (search_for_addr_array): Fix formatting.
1656
69484bfd
RG
16572009-03-18 Richard Guenther <rguenther@suse.de>
1658
1659 * tree-vect-transform.c (vect_loop_versioning): Fold the
1660 generated comparisons.
1661 * tree-vectorizer.c (set_prologue_iterations): Likewise.
1662 (slpeel_tree_peel_loop_to_edge): Likewise.
1663
66811228
RW
16642009-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1665
0631b69f
RW
1666 PR middle-end/37805
1667 * opts.c (print_specific_help): In addition to `undocumented',
1668 accept `separate' and `joined' flags if passed alone. Describe
1669 output by the first matched one of those.
1670 (common_handle_option): Skip over empty strings.
1671 * gcc.c (display_help): Fix help string for `--help='.
1672 * doc/invoke.texi (Option Summary, Overall Options): With
1673 `--help=', classes and qualifiers can both be repeated, but
1674 only the latter can be negated. One should not pass only
1675 negated qualifiers. Fix markup and examples.
1676
66811228
RW
1677 Revert
1678 2008-10-14 Jakub Jelinek <jakub@redhat.com>
1679 PR middle-end/37805
1680 * opts.c (common_handle_option): Don't ICE on -fhelp=joined
1681 and -fhelp=separate.
1682
3c072c6b
JY
16832009-03-17 Jing Yu <jingyu@google.com>
1684
1685 PR middle-end/39378
80c65208
JY
1686 * function.h (struct rtl_data): Move is_thunk from here...
1687 (struct function): ...to here.
1688 * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
3c072c6b
JY
1689 * varasm.c (assemble_start_function): Change is_thunk from crtl to
1690 cfun.
80c65208
JY
1691 * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
1692 cfun.
1693 (alpha_does_function_need_gp, alpha_start_function): Likewise.
1694 (alpha_output_function_end_prologue): Likewise.
1695 (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
1696 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
1697 (rs6000_output_function_epilogue): Likewise.
1698 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
3c072c6b 1699
9ade279b
UB
17002009-03-17 Uros Bizjak <ubizjak@gmail.com>
1701
1702 PR target/39482
1703 * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
1704 from different units in a single alternative.
1705 (*truncdfsf_i387): Ditto.
1706 (*truncxfsf2_mixed): Ditto.
1707 (*truncxfdf2_mixed): Ditto.
1708
16e60c17
JJ
17092009-03-17 Jakub Jelinek <jakub@redhat.com>
1710
98381eb4
JJ
1711 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
1712 non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
1713
df5deb18
JJ
1714 PR debug/39474
1715 * tree-ssa-live.c (remove_unused_locals): Don't remove local
1716 unused non-artificial variables when not optimizing.
1717
a3f596ba
JJ
1718 PR debug/39471
1719 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
1720 DW_TAG_imported_module even if decl is IMPORTED_DECL with
1721 NAMESPACE_DECL in its DECL_INITIAL.
1722
6b2b8871
JJ
1723 PR middle-end/39443
1724 * optabs.c (set_user_assembler_libfunc): New function.
1725 * expr.h (set_user_assembler_libfunc): New prototype.
1726 * c-common.c: Include libfuncs.h.
1727 (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
1728 for memcmp, memset, memcpy, memmove and abort.
1729 * Makefile.in (c-common.o): Depend on libfuncs.h.
1730
16e60c17
JJ
1731 PR debug/39412
1732 * dwarf2out.c (gen_inlined_enumeration_type_die,
1733 gen_inlined_structure_type_die, gen_inlined_union_type_die,
1734 gen_tagged_type_instantiation_die): Removed.
1735 (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
1736 do nothing.
1737
4d936aca
JJ
17382009-03-17 Janis Johnson <janis187@us.ibm.com>
1739
1740 PR testsuite/38526
1741 * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
1742 its use.
1743 (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
1744 (check-parallel-%): Ditto.
1745 (check-consistency): Ditto.
1746
4e9b2e50
KT
17472009-03-17 Kai Tietz <kai.tietz@onevision.com>
1748
1749 * ipa-struct-reorg.c (create_general_new_stmt): Initialize
1750 local variable rhs by NULL_TREE.
1751
21440b2d
L
17522009-03-17 H.J. Lu <hongjiu.lu@intel.com>
1753
1754 PR target/39477
9ade279b 1755 * doc/extend.texi: Correct register behavior for regparm on Intel 386.
21440b2d 1756
d8905c6a
L
17572009-03-17 H.J. Lu <hongjiu.lu@intel.com>
1758
1759 PR target/39476
9ade279b 1760 * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
d8905c6a
L
1761
17622009-03-17 H.J. Lu <hongjiu.lu@intel.com>
435a61d3
L
1763
1764 PR target/39473
1765 * config/i386/i386.c (ix86_expand_call): Check extra clobbers
1766 for ms->sysv ABI calls only in 64bit mode.
1767
1768 * config/i386/i386.md (untyped_call): Support 32bit.
1769
cdcabece
L
17702009-03-16 H.J. Lu <hongjiu.lu@intel.com>
1771
1772 * doc/extend.texi: Replace x86_65 with x86_64.
1773
97b4ba9f
JJ
17742009-03-16 Jakub Jelinek <jakub@redhat.com>
1775
1776 PR tree-optimization/39455
1777 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
1778 mismatches for POINTER_TYPE_P (type).
1779 (number_of_iterations_le): Likewise.
1780
83c191e1
HS
17812009-03-16 Hariharan Sandanagobalane <hariharan@picochip.com>
1782
1783 * config/picochip/picochip.c: Removed profiling support.
1784 * config/picochip/picochip.md: Removed profiling instruction.
1785 * config/picochip/picochip.h: Removed profiling builtin.
1786
f38095f3
JM
17872009-03-16 Joseph Myers <joseph@codesourcery.com>
1788
1789 * doc/install.texi (--with-host-libstdcxx): Document.
1790
2cb4817b
AS
17912009-03-14 Anatoly Sokolov <aesok@post.ru>
1792
1793 PR target/34299
1794 * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
1795 generate a warning if the function name does not begin with
1796 "__vector" and the function has either the 'signal' or 'interrupt'
1797 attribute, from here to ...
1798 (avr_declare_function_name): ...here. New function.
1799 * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
1800 * config/avr/avr-protos.h (avr_declare_function_name): Declare.
1801
39b2ac74
JJ
18022009-03-14 Jakub Jelinek <jakub@redhat.com>
1803
1804 PR bootstrap/39454
1805 * cse.c (fold_rtx): Don't modify original const_arg1 when
1806 canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
1807 separate variable instead.
1808 * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
1809 from out of range shift counts.
1810 (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
1811
f7a82dee
CM
18122008-03-13 Catherine Moore <clm@codesourcery.com>
1813
9ade279b 1814 * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
f7a82dee
CM
1815 diagnostic.h with $(DIAGNOSTIC_H).
1816
03a18198
JJ
18172008-03-12 Jakub Jelinek <jakub@redhat.com>
1818
1819 PR target/39431
1820 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
1821 predicate.
1822 * config/i386/sync.md (sync_compare_and_swap<mode>,
1823 sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
1824 if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
1825 into a register.
1826 (sync_double_compare_and_swapdi_pic,
1827 sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
1828 cmpxchg8b_pic_memory_operand instead of just memory_operand.
1829
122c59c7
L
18302009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1831
1832 PR target/39445
9ade279b 1833 * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
122c59c7 1834
cec8874f
L
18352009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1836
1837 PR target/39327
1838 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
1839 (avx_addsubv4df3): Likewise.
1840 (*avx_addsubv4sf3): Likewise.
1841 (sse3_addsubv4sf3): Likewise.
1842
bbb52802
L
18432009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1844
1845 PR target/38824
9ade279b 1846 * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
bbb52802 1847
a812fb07
VM
18482009-03-12 Vladimir Makarov <vmakarov@redhat.com>
1849
1850 PR debug/39432
1851 * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
1852 * ira-conflicts.c (ira_build_conflicts): Prohibit call used
1853 registers for allocnos created from user-defined variables.
1854
4caab5ba
UW
18552009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1856
1857 PR target/39181
1858 * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
1859 of non-integer mode as well.
1860
498e51ca
AN
18612009-03-11 Adam Nemet <anemet@caviumnetworks.com>
1862
1863 * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
1864 for functions for which the parameter types are unknown.
1865
9bfaf89d
JJ
18662009-03-11 Jakub Jelinek <jakub@redhat.com>
1867
1868 PR target/39137
9ade279b 1869 * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
9bfaf89d
JJ
1870 * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
1871 * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
1872 * config/i386/i386.c (ix86_local_alignment): For
1873 -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
1874 long long variables on the stack to avoid dynamic realignment.
1875 Allow the first argument to be a decl rather than type.
1876 * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
1877
18a3bdcb
NC
18782009-03-11 Nick Clifton <nickc@redhat.com>
1879
1880 PR target/5362
40190a76
NC
1881 * config/mcore/mcore.opt: Remove deprecated m4align and m8align
1882 options.
1883 Add description to mno-lsim option.
1884 * config/mcore/mcore.h: Remove comment about deprecated m4align
1885 option.
1886 (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
1887 * doc/invoke.texi: Add description of mno-lsim and
1888 mstack-increment options.
1889
18a3bdcb
NC
1890 * config/fr30/fr30.opt: Document the -mno-lsim option.
1891 * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
1892 and -mno-lsim options.
1893
dc215785
UW
18942009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1895
1896 * fold-const.c (fold_comparison): Only call fold_inf_compare
1897 if the mode supports infinities.
1898
7716876b
JM
18992009-03-11 Jason Merrill <jason@redhat.com>
1900
1901 PR debug/39086
1902 * tree-nrv.c (tree_nrv): Don't do this optimization if the front
1903 end already did. Notice GIMPLE_CALL modifications of the result.
1904 Don't copy debug information from an ignored decl or a decl from
1905 another function.
1906
ddef83d2
RG
19072009-03-10 Richard Guenther <rguenther@suse.de>
1908 Nathan Froyd <froydnj@codesourcery.com>
1909
1910 PR middle-end/37850
9ade279b 1911 * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
ddef83d2
RG
1912 (__divMODE3): Likewise.
1913
9a9ba8d9
JJ
19142009-03-09 Jakub Jelinek <jakub@redhat.com>
1915
1916 PR tree-optimization/39394
1917 * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
1918 DECL_SIZE_UNIT of variable length FIELD_DECLs.
1919
929b7fc3
AK
19202009-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1921
1922 * recog.c (verfiy_changes): Disallow renaming of hard regs in
1923 inline asms for register asm ("") declarations.
1924
1803581d
EB
19252009-03-09 Eric Botcazou <ebotcazou@adacore.com>
1926
1927 * fold-const.c (fold_unary): Fix comment.
1928
8454d27e
JH
19292009-03-07 Jan Hubicka <jh@suse.cz>
1930
1931 PR target/39361
969a5433
JJ
1932 * tree-inline.c (setup_one_parameter): Do replacement of const
1933 argument by constant in SSA form.
8454d27e 1934
3a695389
UW
19352009-03-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1936
1937 PR middle-end/38028
1938 * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
1939 determine alignment passed to assign_stack_local.
1940 (assign_parms_unsplit_complex): Likewise.
1941 * except.c (sjlj_build_landing_pads): Likewise.
1942
9f0e7885
JJ
19432009-03-06 Jakub Jelinek <jakub@redhat.com>
1944
65401a0b
JJ
1945 PR middle-end/39360
1946 * tree-flow.h (add_referenced_var): Return bool instead of void.
1947 * tree-dfa.c (add_referenced_var): Return result of
1948 referenced_var_check_and_insert call.
1949 * tree-inline.c (expand_call_inline): Call add_referenced_var instead
1950 of referenced_var_check_and_insert.
1951
9f0e7885 1952 PR debug/39372
9ade279b 1953 * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
9f0e7885
JJ
1954 (gen_variable_die): Emit DW_AT_location on abstract static variable's
1955 DIE, don't emit it if abstract origin already has it.
1956 * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
1957 BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
1958
3b664bd1
JBG
19592009-03-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1960
ba20e309 1961 * genpreds.c (needs_variable): Fix parentheses at variable name
3b664bd1
JBG
1962 detection.
1963 (write_tm_constrs_h): Indent generated code.
1964
d8f8ca80
RR
19652009-03-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1966
1967 * doc/extend.texi (Function Attributes): Add documentation
1968 for isr attributes.
1969
6c3d550c
JJ
19702009-03-06 Jakub Jelinek <jakub@redhat.com>
1971
1972 PR debug/39387
1973 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
1974 take locus from its DECL_SOURCE_LOCATION instead of input_location.
1975
f9e96751
BS
19762009-03-05 Bernd Schmidt <bernd.schmidt@analog.com>
1977
1978 * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
1979 the loop as bad.
1980
ee0ee7e2
JJ
19812009-03-05 Jakub Jelinek <jakub@redhat.com>
1982
1983 PR debug/39379
1984 * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
1985 with blocks containing IMPORTED_DECLs in BLOCK_VARS.
1986
6c6094f1
UB
19872009-03-05 Uros Bizjak <ubizjak@gmail.com>
1988
1989 * config/i386/i386.md (R8_REG, R9_REG): New constants.
1990 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
1991 constants instead of magic numbers.
1992 (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
1993 (QI_REG_P): Ditto.
1994 * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
1995 (x86_64_ms_abi_int_parameter_registers): Ditto.
1996 (x86_64_int_return_registers): Ditto.
09f8a8d3 1997 (ix86_maybe_switch_abi): Ditto.
6c6094f1
UB
1998 (ix86_expand_call): Ditto for clobbered_registers array.
1999 (ix86_hard_regno_mode_ok): Ditto.
2000 (x86_extended_QIreg_mentioned_p): Ditto.
2001
b267bd41
R
20022009-03-05 J"orn Rennecke <joern.rennecke@arc.com>
2003
6c6094f1 2004 PR tree-optimization/39349
1f3ad3f0
R
2005 * cse.c (cse_insn): Fix loop to stop at VOIDmode.
2006
b267bd41
R
2007 * combine.c (gen_lowpart_for_combine): Use omode when generating
2008 clobber.
2009
1242bc9d
R
20102009-03-04 J"orn Rennecke <joern.rennecke@arc.com>
2011
6c6094f1 2012 PR rtl-optimization/39235
1242bc9d
R
2013 * loop-iv.c (get_simple_loop_desc): Use XCNEW.
2014
48f03606
ZD
20152009-03-04 Zdenek Dvorak <ook@ucw.cz>
2016
2017 * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
2018
b505e785
RG
20192009-03-04 Richard Guenther <rguenther@suse.de>
2020
2021 PR tree-optimization/39362
2022 * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
2023 that occur in abnormal PHIs should be varying.
2024
f017bf5e
ZD
20252009-03-04 Zdenek Dvorak <ook@ucw.cz>
2026
2027 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
2028 Extend comments.
2029 (simple_iv): Take loop as an argument instead of statement.
2030 * tree-scalar-evolution.h (simple_iv): Declaration changed.
2031 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
2032 to simple_iv.
2033 * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
2034 Ditto.
2035 * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
2036 * matrix-reorg.c (analyze_transpose): Ditto.
2037 * tree-data-ref.c (dr_analyze_innermost): Ditto.
2038 * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
2039 * tree-predcom.c (ref_at_iteration): Ditto.
2040 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
2041
6a66f28e
RG
20422009-03-04 Richard Guenther <rguenther@suse.de>
2043
2044 PR tree-optimization/39358
2045 * tree-ssa-structalias.c (do_sd_constraint): Fix check for
2046 escaped_id and callused_id.
2047 (solve_graph): Likewise.
2048
57e454ee
RG
20492009-03-04 Richard Guenther <rguenther@suse.de>
2050
2051 PR tree-optimization/39339
2052 * tree-sra.c (try_instantiate_multiple_fields): Make it
2053 no longer ICE on the above.
2054
a6fe9ed4
JM
20552009-03-03 Joseph Myers <joseph@codesourcery.com>
2056
2057 * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
2058 that fits within Pmode.
2059
dc672951
SE
20602009-03-03 Steve Ellcey <sje@cup.hp.com>
2061
2062 PR middle-end/10109
2063 * tm.texi (LIBCALL_VALUE): Update description.
2064
8b9d598f
SE
20652009-03-03 Steve Ellcey <sje@cup.hp.com>
2066
2067 PR middle-end/34443
2068 * doc/extend.texi (section): Update description.
2069
13e4e36e
L
20702009-03-03 H.J. Lu <hongjiu.lu@intel.com>
2071
2072 PR middle-end/39345
2073 * tree-inline.c (remapped_type): New.
2074 (can_be_nonlocal): Call remapped_type instead of remap_type.
2075
067dd3c9
JJ
20762009-03-03 Jakub Jelinek <jakub@redhat.com>
2077
2078 PR fortran/39354
2079 * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
2080 TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
2081
9bd9f738
RG
20822009-03-03 Richard Guenther <rguenther@suse.de>
2083
2084 PR middle-end/39272
2085 * tree.c (tree_nonartificial_location): New function.
2086 * tree.h (tree_nonartificial_location): Declare.
2087 * builtins.c (expand_builtin_memory_chk): Provide location
2088 of the call location for artificial function pieces.
2089 (maybe_emit_chk_warning): Likewise.
2090 (maybe_emit_sprintf_chk_warning): Likewise.
2091 (maybe_emit_free_warning): Likewise.
2092 * expr.c (expand_expr_real_1): Likewise.
2093
f07049c8
JJ
20942009-03-03 Jakub Jelinek <jakub@redhat.com>
2095
2096 PR tree-optimization/39343
2097 * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
2098 COMPONENT_REF t has ARRAY_TYPE.
2099
7d4fba4a
SP
21002009-03-02 Sebastian Pop <sebastian.pop@amd.com>
2101
2102 PR middle-end/39335
2103 * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
2104 when the type precision of the induction variable should be
2105 larger than the type precision of nit.
2106 (gen_parallel_loop): Update use of canonicalize_loop_ivs.
2107 * graphite.c (graphite_loop_normal_form): Same.
2108 * tree-flow.h (canonicalize_loop_ivs): Update declaration.
2109
78168632
UB
21102009-03-02 Uros Bizjak <ubizjak@gmail.com>
2111
2112 * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
2113 (*call_1_rex64_ms_sysv): Use named constants instead of magic
6c6094f1 2114 numbers to describe clobbered registers.
78168632 2115 (*call_value_0_rex64_ms_sysv): Ditto.
6c6094f1
UB
2116 * config/i386/mmx.md (mmx_emms): Ditto.
2117 (mmx_femms): Ditto.
78168632 2118
63553059
RS
21192009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
2120
2121 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
2122 of ABI_64.
2123
500a1f85
UW
21242009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2125
2126 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
2127 (spu_section_type_flags): New function.
2128
962aae34
UB
21292009-03-02 Uros Bizjak <ubizjak@gmail.com>
2130
2131 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
2132 reg_class_contents of FLOAT_REGS into a temporary.
2133
6dfb529c 21342009-03-02 Richard Guenther <rguenther@suse.de>
962aae34 2135 Ira Rosen <irar@il.ibm.com>
6dfb529c
RG
2136
2137 PR tree-optimization/39318
2138 * tree-vect-transform.c (vectorizable_call): Transfer the EH region
2139 information to the vectorized statement.
2140
6b5629db
UB
21412009-03-01 Uros Bizjak <ubizjak@gmail.com>
2142
434426d2
UB
2143 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
2144 variable. Use defined names instead of magic constants for REX SSE
2145 registers.
6b5629db 2146
14e5b285
RG
21472009-03-01 Richard Guenther <rguenther@suse.de>
2148
2149 PR tree-optimization/39331
2150 * omp-low.c (lower_send_shared_vars): Do not receive new
2151 values for the reference of DECL_BY_REFERENCE parms or results.
2152
526d73ab
JH
21532009-03-01 Jan Hubicka <jh@suse.cz>
2154
2155 PR debug/39267
2156 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
2157 BLOCK_NONLOCALIZED_VAR): New macros.
2158 (tree_block): Add nonlocalized_vars.
f4ea99bd
EB
2159 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
2160 gen_decl_die): Add origin argument. Allow generation of die with
2161 origin at hand only.
526d73ab 2162 (gen_member_die, gen_type_die_with_usage, force_decl_die,
f4ea99bd
EB
2163 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
2164 of gen_*.
526d73ab
JH
2165 (gen_block_die): Fix checking for unused blocks.
2166 (process_scope_var): Break out from .... ; work with origins only.
2167 (decls_for_scope) ... here; process nonlocalized list.
2168 (dwarf2out_ignore_block): Look for nonlocalized vars.
f4ea99bd
EB
2169 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
2170 vars.
526d73ab
JH
2171 (dump_scope_block): Dump them.
2172 * tree-inline.c (remap_decls): Handle nonlocalized vars.
2173 (remap_block): Likewise.
2174 (can_be_nonlocal): New predicate.
2175 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
2176
7a9d3fe8
RW
21772009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2178
2179 * configure: Regenerate.
2180
b3cdf3cb
RW
21812009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2182
a16d1645 2183 * optc-gen.awk: No need to duplicate option flags twice.
9ade279b 2184 Reuse help texts for duplicate options which do not have any.
a16d1645 2185
1156c176
RW
2186 * gcc.c (display_help): Document --version.
2187
033505fc
RW
2188 * gcc.c (main): If print_help_list and verbose_flag, ensure
2189 driver output comes before subprocess output.
2190
4d077054
RW
2191 * optc-gen.awk: Assign all remaining fields to help string,
2192 space-separated, for multi-line help in *.opt.
2193
a072f1cf
RW
2194 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
2195 -Wno-pedantic-ms-format is for MinGW targets only.
2196
b3cdf3cb
RW
2197 * doc/options.texi (Option file format): Fix bad indentation,
2198 restoring dropped sentence.
2199
a3aadcc5
JH
22002009-02-28 Jan Hubicka <jh@suse.cz>
2201
2202 * tree-inline.c (tree_function_versioning): Output debug info.
2203
1cf5abb3
JH
22042009-02-28 Jan Hubicka <jh@suse.cz>
2205
2206 PR debug/39267
2207 * tree-inline.c (setup_one_parameter): Do not copy propagate
2208 arguments when not optimizing.
2209
c4d3f42f
L
22102009-02-28 H.J. Lu <hongjiu.lu@intel.com>
2211
2212 PR target/39327
2213 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
2214 (avx_addsubv4df3): Likewise.
2215 (*avx_addsubv4sf3): Likewise.
2216 (sse3_addsubv4sf3): Likewise.
2217 (*avx_addsubv2df3): Likewise.
2218 (sse3_addsubv2df3): Likewise.
2219 (avx_unpckhps256): Correct item selectors.
2220 (avx_unpcklps256): Likewise.
2221 (avx_unpckhpd256): Likewise.
2222 (avx_unpcklpd256): Likewise.
2223
eb50f5f4
JH
22242009-02-28 Jan Hubicka <jh@suse.cz>
2225
2226 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
2227 static vars.
2228 (copy_arguments_for_versioning): If var is declared don't declare it.
2229 (tree_function_versioning): First setup substitutions and then copy
2230 args.
2231
26140130
JH
22322009-02-27 Jan Hubicka <jh@suse.cz>
2233
2234 PR debug/39267
2235 * cgraph.h (varpool_output_debug_info): Remove.
2236 * cgraphunit.c (varpool_output_debug_info): Remove.
2237 * dwarf2out.c (deferred_locations_struct): New struct
2238 (deferred_locations): New type.
2239 (deferred_locations_list): New static var.
2240 (deffer_location): New function.
2241 (gen_variable_die): Use it.
2242 (decls_for_scope): Output info on local static vars.
2243 (dwarf2out_finish): Process deferred locations.
2244 * varpool.c (varpool_output_debug_info): Remove.
2245
cff7525f
JH
22462009-02-27 Jan Hubicka <jh@suse.cz>
2247
2248 PR debug/39267
2249 * tree.h (TREE_PROTECTED): Fix comment.
2250 (BLOCK_HANDLER_BLOCK): Remove.
2251 (struct tree_block): Remove handler_block add body_block.
2252 (inlined_function_outer_scope_p): New.
2253 (is_body_block): Remove.
2254 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
2255 * dwarf2out.c (is_inlined_entry_point): Remove.
2256 (add_high_low_attributes): Use inlined_function_outer_scope_p.
f10a1c6c
EB
2257 (gen_block_die): Use is_inlined_entry_point check. Remove body block
2258 code.
cff7525f
JH
2259 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
2260 * gimplify.c (gimplify_expr): Gimplify body blocks.
f10a1c6c
EB
2261 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
2262 block with multiple subblocks.
cff7525f
JH
2263 (dump_scope_block): Prettier output; dump more flags and info.
2264 (dump_scope_blocks): New.
2265 (remove_unused_locals): Use dump_scope_blocks.
2266 * tree-flow.h (dump_scope_blocks): Declare.
2267 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
2268 * stmt.c (is_body_block): Remove.
2269 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
2270 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
2271
c20993b9
SP
22722009-02-27 Sebastian Pop <sebastian.pop@amd.com>
2273
2274 PR middle-end/39308
2275 * graphite.c (graphite_loop_normal_form): Do not call
2276 number_of_iterations_exit from a gcc_assert.
2277
e3cba5e5
AK
22782009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2279
ba20e309 2280 * gcc/config/s390/s390.c (s390_swap_cmp): Look for conditional
e3cba5e5
AK
2281 jumps if COND is NULL.
2282 (find_cond_jump): New function.
2283 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
2284 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
2285
9dadeeb8
UB
22862009-02-26 Uros Bizjak <ubizjak@gmail.com>
2287
2288 * config/alpha/alpha.h (alpha_expand_mov): Return false if
2289 force_const_mem returns NULL_RTX.
2290
625d3251
EB
22912009-02-26 Jan Hubicka <jh@suse.cz>
2292
2293 PR debug/39267
2294 * cgraph.h (varpool_output_debug_info): Remove.
2295 * cgraphunit.c (varpool_output_debug_info): Remove.
2296 * dwarf2out.c (deferred_locations_struct): New struct
2297 (deferred_locations): New type.
2298 (deferred_locations_list): New static var.
2299 (deffer_location): New function.
2300 (gen_variable_die): Use it.
2301 (decls_for_scope): Output info on local static vars.
2302 (dwarf2out_finish): Process deferred locations.
2303 * varpool.c (varpool_output_debug_info): Remove.
2304
38432148 23052009-02-25 H.J. Lu <hongjiu.lu@intel.com>
8592acaf
L
2306
2307 PR rtl-optimization/39241
2308 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
2309 to subreg_offset_representable_p.
2310
62d049cf
PB
23112009-02-25 Paolo Bonzini <bonzini@gnu.org>
2312
2313 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
2314 execute function prototype. Get f and nregs from max_reg_num
2315 and get_insns. Remove the first backward pass as it's dead,
2316 guard the forward pass by flag_expensive_optimizations.
2317 (rest_of_handle_regmove): Delete.
2318 (pass_regmove): Replace it with regmove_optimize.
2319
f618d33e
MJ
23202009-02-25 Martin Jambor <mjambor@suse.cz>
2321
2322 PR tree-optimization/39259
2323 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
6c6094f1 2324 calls_alloca function flags.
f618d33e
MJ
2325 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
2326 calls are detected.
2327
c8a05f7c
PB
23282009-02-25 Paolo Bonzini <bonzini@gnu.org>
2329
2330 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
2331 flags_set_1_rtx, flags_set_1_set): Delete.
2332 (regmove_optimize): Do not call mark_flags_life_zones.
2333
6d2538f5
JB
23342009-02-24 Julian Brown <julian@codesourcery.com>
2335
2336 PR target/35965
2337 * config/arm/arm.c (require_pic_register): Only set
2338 cfun->machine->pic_reg once per function.
2339
a2fa6772
SL
23402009-02-24 Sandra Loosemore <sandra@codesourcery.com>
2341
2342 * doc/invoke.texi (Link Options): Document an easier way to pass
9dadeeb8 2343 options that take arguments to the GNU linker using -Xlinker and -Wl.
a2fa6772 2344
5472de36
SE
23452009-02-24 Steve Ellcey <sje@cup.hp.com>
2346
2347 PR target/33785
2348 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
2349
844216f3
RG
23502009-02-24 Richard Guenther <rguenther@suse.de>
2351
2352 PR debug/39285
2353 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
2354
71adbef3 23552009-02-24 Richard Guenther <rguenther@suse.de>
8592acaf 2356 Zdenek Dvorak <ook@ucw.cz>
71adbef3
RG
2357
2358 PR tree-optimization/39233
2359 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
2360 from converting them to a generic type.
2361
f1a558e0
SP
23622009-02-23 Sebastian Pop <sebastian.pop@amd.com>
2363
2364 PR tree-optimization/39260
2365 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
2366 contains a condition with a real type.
2367 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
2368
d8028f2c
JM
23692009-02-23 Jason Merrill <jason@redhat.com>
2370
2371 PR c++/38880
2372 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
2373 narrowing_initializer_constant_valid_p.
2374 (narrowing_initializer_constant_valid_p): Don't return
2375 null_pointer_node for adding a pointer to itself.
2376
9283b513
JH
23772009-02-23 Jan Hubicka <jh@suse.cz>
2378
2379 PR c/12245
9dadeeb8
UB
2380 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
2381 resizing.
9283b513 2382
61e04322
JH
23832009-02-23 Jan Hubicka <jh@suse.cz>
2384
9dadeeb8
UB
2385 PR tree-optimization/37709
2386 * tree.c (block_ultimate_origin): Move here from dwarf2out.
2387 * tree.h (block_ultimate_origin): Declare.
2388 * dwarf2out.c (block_ultimate_origin): Move to tree.c
61e04322
JH
2389 * tree-ssa-live.c (remove_unused_scope_block_p):
2390 Eliminate blocks containig no instructions nor live variables nor
2391 nested blocks.
2392 (dump_scope_block): New function.
2393 (remove_unused_locals): Enable removal of dead blocks by default;
9dadeeb8 2394 enable dumping at TDF_DETAILS.
61e04322 2395
38432148 23962009-02-21 H.J. Lu <hongjiu.lu@intel.com>
5339d3ea
L
2397
2398 * config/i386/i386.c (classify_argument): Don't allow COImode
2399 and OImode.
2400 (function_arg_advance_32): Don't allow OImode.
2401 (function_arg_32): Likewise.
2402 (function_value_32): Likewise.
2403 (return_in_memory_32): Likewise.
2404 (function_arg_64): Remove OImode comment.
2405
38432148 24062009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f161e158
L
2407
2408 PR target/39261
2409 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
2410 ix86_expand_vector_set for V4DImode in 64bit mode only.
2411 (ix86_expand_vector_init_one_var): Likewise.
2412
dcd739a6
SP
24132009-02-21 Sebastian Pop <sebastian.pop@amd.com>
2414
2415 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
2416
6c3b938d
RS
24172009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
2418
8e361f23 2419 PR bootstrap/39257
6c3b938d
RS
2420 * loop-iv.c: Revert last change.
2421 * emit-rtl.c: Likewise.
2422
38432148 24232009-02-21 H.J. Lu <hongjiu.lu@intel.com>
4c64d3dd
L
2424
2425 PR target/39256
2426 * config/i386/i386.c (type_natural_mode): Remove an extra
2427 space in the warning message.
2428 (function_value_32): Handle 32-byte vector modes.
2429 (return_in_memory_32): Likewise.
2430
2ec62529
RS
24312009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
2432
2433 * loop-iv.c (truncate_value): New function.
2434 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
2435 of lowpart_subreg.
2436 (lowpart_subreg): Move to...
2437 * emit-rtl.c: ...here.
2438
ecb8c3cc 24392009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
f814e489 2440
ecb8c3cc
DS
2441 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
2442 accidental and undocumented change at revision 140860.
2443
ae46a823
JM
24442009-02-21 Joseph Myers <joseph@codesourcery.com>
2445
2446 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
2447 take gimple_seq * arguments.
2448 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
2449 types_compatible_p langhook.
2450
07d8efe3 24512009-02-20 Mark Mitchell <mark@codesourcery.com>
f814e489 2452 Joseph Myers <joseph@codesourcery.com>
07d8efe3
MM
2453
2454 * config/arm/arm.c (arm_builtin_va_list): New function.
2455 (arm_expand_builtin_va_start): Likewise.
2456 (arm_gimplify_va_arg_expr): Likewise.
2457 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2458 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
2459 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
2460 (va_list_type): New variable.
2461 (arm_mangle_type): Mangle va_list_type appropriately.
2462
b1fb9f56
JJ
24632009-02-20 Jakub Jelinek <jakub@redhat.com>
2464
2465 PR middle-end/39157
2466 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
2467 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
2468 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
2469 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
2470 parameter to 1000 for -O1 by default.
2471 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
2472 parameter.
2473 * loop-invariant.c: Include params.h.
2474 (move_loop_invariants): Don't call move_single_loop_invariants on
2475 very large loops.
2476
5bc0807c
JM
24772009-02-20 Jaka Mocnik <jaka@xlab.si>
2478
2479 * calls.c (emit_library_call_value_1): Use slot_offset instead of
2480 offset when calculating bounds for indexing stack_usage_map. Fixes
2481 a buffer overflow with certain target setups.
2482
c69cd1f5
JJ
24832009-02-20 Jakub Jelinek <jakub@redhat.com>
2484
2485 PR target/39240
2486 * calls.c (expand_call): Clear try_tail_call if caller and callee
2487 disagree in promotion of function return value.
2488
09812622
JJ
24892009-02-19 Jakub Jelinek <jakub@redhat.com>
2490
2491 PR target/39175
2492 * c-common.c (c_determine_visibility): If visibility changed and
2493 DECL_RTL has been already set, call make_decl_rtl to update symbol
2494 flags.
2495
68017cb4
L
24962009-02-19 H.J. Lu <hongjiu.lu@intel.com>
2497
2498 PR c++/39188
2499 * varasm.c (assemble_variable): Don't check DECL_NAME when
2500 globalizing a variable.
2501
ab4194da
JM
25022009-02-19 Joseph Myers <joseph@codesourcery.com>
2503
2504 PR c/38483
2505 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
2506 expression before any __builtin_trap call.
2507 * c-typeck.c (build_function_call): Convert and check function
2508 arguments before generating a call to a trap. Evaluate the
2509 function arguments before the trap.
2510
6b67572e
UB
25112009-02-19 Uros Bizjak <ubizjak@gmail.com>
2512
2513 PR target/39228
2514 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
2515 (UNSPEC_FXAM_MEM): New unspec.
2516 (fxam<mode>2_i387_with_temp): New insn and split pattern.
2517 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
2518 memory using fxam<mode>2_i387_with_temp to remove excess precision.
2519
9e39dba6
RG
25202009-02-19 Richard Guenther <rguenther@suse.de>
2521
2522 PR tree-optimization/39207
2523 PR tree-optimization/39074
2524 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
2525 storedanything_tree): New.
2526 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
6b67572e 2527 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
9e39dba6
RG
2528 (build_succ_graph): Add edges from STOREDANYTHING to all
2529 non-direct nodes.
2530 (init_base_vars): Initialize STOREDANYTHING.
2531 (compute_points_to_sets): Free substitution info after
2532 building the succ graph.
2533 (ipa_pta_execute): Likewise.
2534
2535 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
2536 field.
2537 (do_ds_constraint): Do not add to special var or non-pointer
2538 field solutions.
2539 (type_could_have_pointers): Split out from ...
2540 (could_have_pointers): ... here. For arrays use the element type.
2541 (create_variable_info_for): Initialize may_have_pointers.
2542 (new_var_info): Likewise.
2543 (handle_lhs_call): Make the HEAP variable unknown-sized.
2544 (intra_create_variable_infos): Use a type with pointers for
2545 PARM_NOALIAS, make it unknown-sized.
2546
fd7b2603
L
25472009-02-18 H.J. Lu <hongjiu.lu@intel.com>
2548
2549 PR target/39224
6b67572e 2550 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
fd7b2603 2551
98b80692
JM
25522009-02-18 Jason Merrill <jason@redhat.com>
2553
2554 PR target/39179
2555 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
2556 value if DECL_EXTERNAL.
2557 * tree-sra.c (sra_walk_gimple_assign): Likewise.
2558 * target.h (gcc_target::binds_local_p): Clarify "module".
2559 * tree.h (TREE_PUBLIC): Clarify "module".
2560
0705d3f4
L
25612009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
2562
2563 PR target/38891
2564 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
2565 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
2566
bce08d50
L
25672009-02-17 H.J. Lu <hongjiu.lu@intel.com>
2568
2569 PR target/39082
2570 * c.opt (Wabi): Support C and ObjC.
2571 (Wpsabi): New.
2572
2573 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
2574
2575 * config/i386/i386.c (classify_argument): Warn once about the ABI
2576 change when passing union with long double.
2577
2578 * doc/invoke.texi: Update -Wabi for warning psABI changes.
2579
5600f233
JM
25802009-02-18 Joseph Myers <joseph@codesourcery.com>
2581
2582 PR c/35447
2583 * c-parser.c (c_parser_compound_statement): Always enter and leave
2584 a scope.
2585
8cd01fe6
JDA
25862009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2587
2588 PR target/34587
2589 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
2590
418df9d7
JJ
25912009-02-18 Jakub Jelinek <jakub@redhat.com>
2592
2593 PR tree-optimization/36922
2594 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
2595 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
2596 Likewise.
2597
082d2ebb
RS
25982009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
2599
2600 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
2601 to 0 for EABI64.
2602
17de576c
RS
26032009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
2604
2605 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
2606
6d8d5435
RS
26072009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
2608
2609 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
2610 tree sharing.
2611
e69ff910
RB
26122009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
2613 Richard Sandiford <rdsandiford@googlemail.com>
2614
2615 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
2616 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
2617 (loongson_biadd): ...this.
2618
6b24ee26
RG
26192009-02-17 Richard Guenther <rguenther@suse.de>
2620
2621 PR tree-optimization/39202
2622 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
2623 a var make sure to follow existing collapses.
2624
91ab2c86
RG
26252009-02-17 Richard Guenther <rguenther@suse.de>
2626
2627 PR middle-end/39214
2628 * langhooks.c (lhd_print_error_function): Check for NULL block.
2629
73a63870
RG
26302009-02-17 Richard Guenther <rguenther@suse.de>
2631
2632 PR tree-optimization/39204
2633 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
2634 of the PHI arg.
2635
0e08f686
UB
26362009-02-17 Uros Bizjak <ubizjak@gmail.com>
2637
2638 * config/soft-fp/double.h: Update from glibc CVS.
2639
a60b7ddb
RG
26402009-02-17 Richard Guenther <rguenther@suse.de>
2641
2642 PR tree-optimization/39207
2643 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
2644 strict-aliasing warnings for pointers pointing to NULL.
2645
a47e20fd
JM
26462009-02-16 Joseph Myers <joseph@codesourcery.com>
2647
2648 PR c/35446
2649 * c-parser.c (c_parser_braced_init): Call pop_init_level when
2650 skipping until next close brace.
2651
50aab7dc
L
26522009-02-16 H.J. Lu <hongjiu.lu@intel.com>
2653
2654 PR target/37049
2655 * config/i386/i386.c (ix86_expand_push): Set memory alignment
2656 to function argument boundary.
2657
68e53db0
HS
26582009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
2659
2660 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
2661 in the lea_add. Reload eventually constraints it properly.
2662 * config/picochip/constraints.md : Remove the target constraint
2663 "b", since it is not needed anymore.
2664
09e361bb
JJ
26652009-02-16 Jakub Jelinek <jakub@redhat.com>
2666
2667 * gthr-dce.h: Uglify function parameter and local variable names.
2668 * gthr-gnat.h: Likewise.
2669 * gthr-mipssde.h: Likewise.
2670 * gthr-nks.h: Likewise.
2671 * gthr-posix95.h: Likewise.
2672 * gthr-posix.h: Likewise.
2673 * gthr-rtems.h: Likewise.
2674 * gthr-single.h: Likewise.
2675 * gthr-solaris.h: Likewise.
2676 * gthr-tpf.h: Likewise.
2677 * gthr-vxworks.h: Likewise.
2678 * gthr-win32.h: Likewise.
2679
47f5a48f
L
26802009-02-15 H.J. Lu <hongjiu.lu@intel.com>
2681
2682 PR target/39196
2683 * config/i386/i386.md: Restrict the new peephole2 to move
2684 between MMX/SSE registers.
2685
68c9ab45
RG
26862009-02-15 Richard Guenther <rguenther@suse.de>
2687
2688 Revert
2689 2009-02-13 Richard Guenther <rguenther@suse.de>
2690
2691 * configure.ac: Enable LFS.
2692 * configure: Re-generate.
2693 * config.in: Likewise.
2694
d7815554
UW
26952009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2696
2697 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
2698 spu_srqwbyte, spu_srqwbytebc): Define.
2699 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
2700 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
2701 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
2702 "shrqby_<mode>"): New insn-and-split patterns.
2703 * config/spu/spu.c (expand_builtin_args): Determine and return
2704 number of operands using spu_builtin_description data.
2705 (spu_expand_builtin_1): Use it.
2706
c208436c
SE
27072009-02-13 Steve Ellcey <sje@cup.hp.com>
2708
2709 PR target/38056
2710 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
2711 TARGET_CONST_GP.
2712
c2e7ba7e
L
27132009-02-13 H.J. Lu <hongjiu.lu@intel.com>
2714
2715 PR target/39149
2716 * config/i386/i386.c (override_options): Correct warning
6c6094f1 2717 messages for -malign-loops, -malign-jumps and -malign-functions.
c2e7ba7e 2718
72f4e3a7
L
27192009-02-13 H.J. Lu <hongjiu.lu@intel.com>
2720
2721 PR target/39152
2722 * config/i386/i386.md: Restrict the new peephole2 to move
2723 between the general purpose registers.
2724
53f648e2
L
27252009-02-13 H.J. Lu <hongjiu.lu@intel.com>
2726
2727 PR target/39162
2728 * config/i386/i386.c (type_natural_mode): Add a new argument.
6b67572e 2729 Return the original mode and warn ABI change if vector size is 32byte.
53f648e2
L
2730 (function_arg_advance): Updated.
2731 (function_arg): Likewise.
2732 (ix86_function_value): Likewise.
2733 (ix86_return_in_memory): Likewise.
2734 (ix86_sol10_return_in_memory): Likewise.
2735 (ix86_gimplify_va_arg): Likewise.
2736 (function_arg_32): Don't warn ABX ABI change here.
2737 (function_arg_64): Likewise.
2738
38432148 27392009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
b1c92d54
BS
2740
2741 * loop-iv.c (implies_p): In the final case, test that operands 0
2742 of the two comparisons match.
2743
dd2139e7
BS
2744 * config/bfin/bfin.c (find_prev_insn_start): New function.
2745 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
2746 (find_next_insn_start): Move.
2747
601b3e1a
RG
27482009-02-13 Richard Guenther <rguenther@suse.de>
2749
2750 * configure.ac: Enable LFS.
2751 * configure: Re-generate.
2752 * config.in: Likewise.
2753
f007042e
JM
27542009-02-13 Joseph Myers <joseph@codesourcery.com>
2755
2756 PR c/35444
2757 * c-parser.c (c_parser_parms_list_declarator): Discard pending
2758 sizes on syntax error after some arguments have been parsed.
2759
3f238e8b
JJ
27602009-02-12 Jakub Jelinek <jakub@redhat.com>
2761
2762 * doc/invoke.texi (-fira): Remove.
2763
328e13b7
L
27642009-02-12 H.J. Lu <hongjiu.lu@intel.com>
2765
2766 * caller-save.c: Replace regclass.c with reginfo.c in comments.
2767 * recog.c: Likewise.
2768 * rtl.h: Likewise.
2769
c252db20
L
27702009-02-12 Uros Bizjak <ubizjak@gmail.com>
2771
2772 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
2773 (umul_ppmm): Likewise.
2774 (count_leading_zeros): Likewise.
2775 (count_trailing_zeros): Likewise.
2776 (UMUL_TIME): Likewise.
2777
27782009-02-12 H.J. Lu <hongjiu.lu@intel.com>
2779
ba181049
UB
2780 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
2781 soft-fp/t-softfp to tmake_file.
c252db20
L
2782
2783 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
ba181049
UB
2784 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
2785 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
2786 IA64_BUILTIN_INFQ]: New.
c252db20
L
2787 (ia64_init_builtins): Initialize __builtin_infq,
2788 __builtin_fabsq and __builtin_copysignq if not HPUX.
2789 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
2790 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
2791
2792 * config/ia64/lib1funcs.asm (__divtf3): Define only if
2793 SHARED is defined.
2794 (__fixtfti): Likewise.
2795 (__fixunstfti): Likewise.
2796 (__floattitf): Likewise.
2797
2798 * config/ia64/libgcc-glibc.ver: New.
2799 * config/ia64/t-fprules-softfp: Likewise.
2800 * config/ia64/sfp-machine.h: Likewise.
2801
2802 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
2803 (LIBGCC2_TF_CEXT): Likewise.
2804 (TF_SIZE): Likewise.
2805 (TARGET_INIT_LIBFUNCS): Likewise.
2806
ba181049 2807 * config/ia64/t-glibc (SHLINB_MAPFILES):
6b67572e 2808 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
c252db20 2809
f13eae6a
L
28102009-02-12 H.J. Lu <hongjiu.lu@intel.com>
2811
2812 * config/i386/i386.c (construct_container): Rewrite processing
2813 BLKmode with X86_64_SSE_CLASS.
2814
12019aec
L
28152009-02-12 Paolo Bonzini <bonzini@gnu.org>
2816
2817 PR target/39152
2818 * config/i386/i386.md: Replace simplify_replace_rtx with
2819 replace_rtx in the new peephole2.
2820
28c11eb3
NS
28212009-02-12 Nathan Sidwell <nathan@codesourcery.com>
2822
2823 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
2824 loop unrolling do not happen at -O2.
2825
c7b94907
MM
28262009-02-12 Michael Matz <matz@suse.de>
2827
2828 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
2829
61e98967
JJ
28302009-02-12 Jakub Jelinek <jakub@redhat.com>
2831
2832 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
2833 for -g3.
2834
a2a237b5
BE
28352009-02-12 Ben Elliston <bje@au.ibm.com>
2836
2837 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
2838 patterns when updating the back chain. Missed in the 2009-02-10
2839 change.
2840
853eda8d
JJ
28412009-02-11 Janis Johnson <janis187@us.ibm.com>
2842
2843 * doc/extend.texi (Decimal Floating Types): Update identifier of
2844 draft TR and list of missing support.
2845
3ad6b266
JJ
28462009-02-11 Jakub Jelinek <jakub@redhat.com>
2847
2848 PR middle-end/39154
2849 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
2850 bit to variable length decl's flags, add it also to its
2851 pointer replacement variable.
2852
b058b753
UB
28532009-02-11 Uros Bizjak <ubizjak@gmail.com>
2854 Jakub Jelinek <jakub@redhat.com>
2855
2856 PR target/39118
2857 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
2858 (memory_blockage): New expander.
2859 (*memory_blockage): New insn pattern.
2860 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
2861 instead of general blockage at the end of function prologue when
2862 frame pointer is used to access red zone area. Do not emit blockage
2863 when profiling, it is emitted in generic code.
2864 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
2865 function epilogue when frame pointer is used to access red zone area.
2866
bab64f23
PB
28672009-02-11 Paolo Bonzini <bonzini@gnu.org>
2868
0ce6dcfa 2869 PR target/38824
bab64f23
PB
2870 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
2871 by arithmetic with memory operands.
2872 * config/i386/predicates.md (commutative_operator): New.
2873
8fd94bda
JJ
28742009-02-10 Janis Johnson <janis187@us.ibm.com>
2875
2876 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
2877 bulleted lists.
2878
794511d2
EB
28792009-02-10 Eric Botcazou <ebotcazou@adacore.com>
2880
2881 * alias.h (record_alias_subset): Declare.
2882 * alias.c (record_alias_subset): Make global.
2883
6da7fc87
NC
28842009-02-10 Nick Clifton <nickc@redhat.com>
2885
2886 * tree-parloops.c: Change license to GPLv3.
2887 * ipa-struct-reorg.c: Change license to GPLv3.
2888 * ipa-struct-reorg.h: Change license to GPLv3.
2889
a03813c8
SE
28902009-02-10 Steve Ellcey <sje@cup.hp.com>
2891
2892 PR c/39084
2893 * c-decl.c (start_struct): Return NULL on error.
2894
fc3103e7
JJ
28952009-02-10 Jakub Jelinek <jakub@redhat.com>
2896
9b43d37b
JJ
2897 PR middle-end/39124
2898 * cfgloopmanip.c (remove_path): Call remove_bbs after
2899 cancel_loop_tree, not before it.
2900
fc3103e7 2901 PR target/39139
b058b753 2902 * function.h (struct function): Add has_local_explicit_reg_vars bit.
fc3103e7
JJ
2903 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
2904 VAR_DECLs were seen.
2905 * tree-ssa-live.c (remove_unused_locals): Recompute
2906 cfun->has_local_explicit_reg_vars.
2907 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
2908 copies or clearings if cfun->has_local_explicit_reg_vars.
2909
dbf9ee15
UB
29102009-02-10 Uros Bizjak <ubizjak@gmail.com>
2911
2912 PR target/39118
2913 * config/i386/i386.c (expand_prologue): Emit blockage at the end
2914 of function prologue when frame pointer is used to access
2915 red zone area.
2916
bdec4dc7
RG
29172009-02-10 Richard Guenther <rguenther@suse.de>
2918
2919 PR middle-end/39127
2920 * gimplify.c (gimple_regimplify_operands): Always look if
2921 we need to create a temporary.
2922
7cae94fc
RG
29232009-02-10 Richard Guenther <rguenther@suse.de>
2924
2925 PR tree-optimization/39132
2926 * tree-loop-distribution.c (todo): New global var.
2927 (generate_memset_zero): Trigger TODO_rebuild_alias.
2928 (tree_loop_distribution): Return todo.
2929
a8800687
L
29302009-02-10 H.J. Lu <hongjiu.lu@intel.com>
2931
2932 PR target/39119
2933 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
2934 (x86_64_reg_class_name): Removed.
2935 (classify_argument): Return 0 if bytes > 32. Return 0 if the
2936 first one isn't X86_64_SSE_CLASS or any other ones aren't
2937 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
2938 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
2939 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
2940 and 3 X86_64_SSEUP_CLASS.
2941 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
2942 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
2943
d4bacef0
BE
29442009-02-10 Ben Elliston <bje@au.ibm.com>
2945
2946 * config/rs6000/rs6000.md (allocate_stack): Always use an update
2947 form instruction to update the stack back chain word, even if the
2948 user has disabled the generation of update instructions.
2949 (movdi_<mode>_update_stack): New.
2950 (movsi_update_stack): Likewise.
2951 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
2952 always use an update form instruction to update the stack back
2953 chain word.
2954
01d7d2f3
SP
29552009-02-09 Sebastian Pop <sebastian.pop@amd.com>
2956
2957 PR middle-end/38953
b058b753
UB
2958 * graphite.c (if_region_set_false_region): After moving a region in
2959 the false branch of a condition, remove the empty dummy basic block.
01d7d2f3
SP
2960 (gloog): Remove wrong fix for PR38953.
2961
e41e2ab4
UW
29622009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2963
2964 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
2965 generation due to implicit sign extension.
2966
4bb07c5d
EB
29672009-02-09 Eric Botcazou <ebotcazou@adacore.com>
2968
2969 PR middle-end/38981
2970 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
2971 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
2972
f060a261
RG
29732009-02-09 Richard Guenther <rguenther@suse.de>
2974
2975 PR middle-end/35202
2976 * convert.c (convert_to_real): Disable (float)fn((double)x)
2977 to fnf(x) conversion if errno differences may occur and
2978 -fmath-errno is set.
2979
5a7e237c
AS
29802009-02-07 Anatoly Sokolov <aesok@post.ru>
2981
2982 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
2983 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2984 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2985
feab5a67
JM
29862009-02-06 Joseph Myers <joseph@codesourcery.com>
2987
2988 PR c/35434
2989 * c-common.c (handle_alias_attribute): Disallow attribute for
2990 anything not a FUNCTION_DECL or VAR_DECL.
2991
90ef2296
JJ
29922009-02-06 Janis Johnson <janis187@us.ibm.com>
2993
2994 PR c/39035
2995 * real.c (do_compare): Special-case compare of zero against
2996 decimal float value.
2997
1de2c900
JM
29982009-02-06 Joseph Myers <joseph@codesourcery.com>
2999
3000 PR c/36432
3001 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
3002 as indicating flexible array members unless the field itself is
3003 being declarared as the incomplete array.
3004
e901811a
JH
30052009-02-06 Jan Hubicka <jh@suse.cz>
3006
3007 PR tree-optimization/38844
3008 * ipa-inline.c (try_inline): Stop inlining recursion when edge
3009 is already inlined.
3010
3cfa762b
RG
30112009-02-06 Richard Guenther <rguenther@suse.de>
3012
3013 PR middle-end/38977
3014 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
3015 fork because we may expand it as __gcov_fork.
3016
8506528c
NC
30172009-02-06 Nick Clifton <nickc@redhat.com>
3018
dbf9ee15 3019 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
8506528c 3020
85169114
PB
30212009-02-06 Paolo Bonzini <bonzini@gnu.org>
3022
3023 PR tree-optimization/35659
3024 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
3025 vn_phi_eq): Shortcut if hashcode does not match.
3026 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
3027 NULL operands.
3028 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
3029 and avoid iterative_hash_expr.
3030 (FOR_EACH_VALUE_ID_IN_SET): New.
3031 (value_id_compare): Remove.
3032 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
3033 sort expressions by value id.
3034
6d39673d
KK
30352009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
3036
3037 PR target/38991
3038 * config/sh/predicates.md (general_movsrc_operand): Don't check
3039 the subreg of system registers here.
3040
e6e1c050
JJ
30412009-02-05 Jakub Jelinek <jakub@redhat.com>
3042
3043 PR c++/39106
3044 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
3045 on the copied decl.
3046
65a74b5d
PB
30472009-02-05 Paolo Bonzini <bonzini@gnu.org>
3048
3049 PR rtl-optimization/39110
3050 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
3051 addresses, not aligned ones.
3052
08e14b2a
DB
30532009-02-05 Daniel Berlin <dberlin@dberlin.org>
3054 Richard Guenther <rguenther@suse.de>
3055
3056 PR tree-optimization/39100
3057 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
3058 comment says and add edges.
3059
5006381c
JM
30602009-02-05 Joseph Myers <joseph@codesourcery.com>
3061
3062 PR c/35435
3063 * c-common.c (handle_tls_model_attribute): Ignore attribute for
3064 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
3065
b0789219
TG
30662009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
3067
3068 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
3069 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
3070 register_bb_in_sese, new_sese, free_sese): Moved.
3071 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
3072 outermost_loop_in_scop, build_scop_iteration_domain,
3073 expand_scalar_variables_ssa_name, get_vdef_before_scop,
3074 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
3075 Use loop_in_sese_p instead of loop_in_scop_p.
3076 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
3077 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
3078 (scopdet_basic_block_info): Fix bug in scop detection.
3079 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
3080 eq_loop_to_cloog_loop): Remove.
3081 (nb_loops_around_loop_in_scop, nb_loop
3082 ref_nb_loops): Moved here...
3083 * graphite.h (ref_nb_loops): ... from here.
3084 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
3085 (loop_domain_dim, loop_iteration_vector_dim): Remove.
3086 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
3087 * testsuite/gcc.dg/graphite/scop-19.c: New
3088
48e8382e
PB
30892009-02-04 Paolo Bonzini <bonzini@gnu.org>
3090 Hans-Peter Nilsson <hp@axis.com>
3091
3092 PR rtl-optimization/37889
3093 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
3094 Move offset handling from PLUS to before the switch. Use new
3095 arguments when considering SYMBOL_REFs too.
3096 (rtx_addr_can_trap_p): Pass dummy offset and size.
3097 (enum may_trap_p_flags): Remove.
3098 (may_trap_p_1): Pass size from MEM_SIZE.
3099
3100 PR rtl-optimization/38921
3101 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
3102 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
3103 * rtlanal.c (may_trap_after_code_motion_p): Delete.
3104 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
3105
69349ea5
L
31062009-02-04 H.J. Lu <hongjiu.lu@intel.com>
3107
3108 AVX Programming Reference (January, 2009)
3109 * config/i386/sse.md (*vpclmulqdq): New.
3110
b545e411
JJ
31112009-02-04 Jakub Jelinek <jakub@redhat.com>
3112
3113 PR tree-optimization/38977
3114 PR gcov-profile/38292
bf9b2cc9 3115 * calls.c (special_function_p): Disregard __builtin_ prefix.
b545e411 3116
5b43bf05
HS
31172009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
3118
3119 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
3120 non-indexable addresses even before reload.
3121
062c4bb3
JM
31222009-02-03 Joseph Myers <joseph@codesourcery.com>
3123
3124 PR c/29129
3125 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
3126 as having variable size. Do not give an error for unnamed
3127 parameters with [*] declarators. Give a warning for type names
3128 with [*] declarators and mark them as variable size.
3129 * c-parser.c (c_parser_sizeof_expression): Do not give an error
3130 for sizeof applied to [*] type names.
3131
6175f578
AP
31322009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
3133
3134 PR C++/36607
3135 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
3136
d4f4bc84
JJ
31372009-02-03 Jakub Jelinek <jakub@redhat.com>
3138
3139 * gcc.c (process_command): Update copyright notice dates.
3140 * gcov.c (print_version): Likewise.
3141 * gcov-dump.c (print_version): Likewise.
3142 * mips-tfile.c (main): Likewise.
3143 * mips-tdump.c (main): Likewise.
3144
f6294de7
JM
31452009-02-03 Joseph Myers <joseph@codesourcery.com>
3146
3147 PR c/35433
3148 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
3149 for composite type involving a zero-length array type.
3150
754ccf7c
JJ
31512009-02-03 Jakub Jelinek <jakub@redhat.com>
3152
70f16287
JJ
3153 PR target/35318
3154 * function.c (match_asm_constraints_1): Skip over
3155 initial optional % in the constraint.
3156
754ccf7c
JJ
3157 PR inline-asm/39059
3158 * c-parser.c (c_parser_postfix_expression): If fixed point is not
3159 supported, don't accept FIXED_CSTs.
3160 * c-decl.c (finish_declspecs): Error if fixed point is not supported
3161 and _Sat is used without _Fract/_Accum. Set specs->type to
3162 integer_type_node for cts_fract/cts_accum if fixed point is not
3163 supported.
3164
965fdadf
CM
31652009-02-02 Catherine Moore <clm@codesourcery.com>
3166
dbf9ee15 3167 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
965fdadf 3168
2e8a796f
RS
31692009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
3170
3171 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
3172 (ABI_HAS_64BIT_SYMBOLS): Use it.
3173 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
3174
e0079468
PB
31752009-02-02 Paul Brook <paul@codesourcery.com>
3176
3177 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
3178
eca72963
JJ
31792009-02-02 Jakub Jelinek <jakub@redhat.com>
3180
3181 PR inline-asm/39058
3182 * recog.h (asm_operand_ok): Add constraints argument.
3183 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
3184 recurse on matching constraint.
3185 (check_asm_operands): Pass constraints as 3rd argument to
3186 asm_operand_ok. Don't look up matching constraint here.
3187 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
3188 to asm_operand_ok.
3189
b5bde9ff
BE
31902009-02-02 Ben Elliston <bje@au.ibm.com>
3191
3192 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
3193 TARGET_NARROW_VOLATILE_BITFIELD macro names.
3194
30f3e427
JDA
31952009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3196
be7659ba
JDA
3197 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
3198 information. Remove some obsolete information. Reorganize.
3199
30f3e427
JDA
3200 * config/pa/fptr.c: Revert license to GPL 2.
3201 * config/pa/milli64.S: Likewise.
3202
3cbfaf98
DK
32032009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
3204
3205 PR target/38904
3206 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
3207 LIBRARY name in, instead of hard-coding it.
3208 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
3209 extra target make frag to tmake_files according to EH model.
3210 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
3211 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
3212 frags that define makefile variable EH_MODEL appropriately.
3213 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
3214 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
3215 to "-sjlj" according to type of EH configured.
3216 (LIBGCC_SONAME): Concatenate it to shared library base name.
3217 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
3218 to "_sjlj" according to type of EH configured.
3219 (LIBGCC_SONAME): Concatenate it to shared library base name.
3220 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
3221 (SHLIB_LINK): Add missing semicolon to if-else construct.
3222 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
3223 string value of "pe_dll" command-line option.
3224 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
3225 (SHLIB_SONAME): Use it when overriding t-cygming default.
3226 (SHLIB_IMPLIB): Override t-cygming default.
3227 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
3228 string value of "pe_dll" command-line option.
3229
8d0b6068
DK
32302009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
3231
3232 PR target/38952
3233 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
bf9b2cc9 3234 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
8d0b6068 3235
14c28276
RG
32362009-01-31 Richard Guenther <rguenther@suse.de>
3237
3238 PR tree-optimization/38937
3239 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
3240 computing the transitive closure.
3241
5f4d82c2
RG
32422009-01-30 Richard Guenther <rguenther@suse.de>
3243
3244 PR tree-optimization/39041
3245 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
3246 Propagate variable indices only if the types match for this stmt.
3247
d0728ae0
JJ
32482009-01-30 Jakub Jelinek <jakub@redhat.com>
3249
3250 PR target/39013
3251 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
3252 inline but never defined.
3253
6b67572e 32542009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
9fec758d
WG
3255
3256 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
3257 (*insv_h_di_reg_extimm): New insn.
3258 (*insv_l<mode>_reg_extimm): New insn.
3259
32602009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
9e8be1e4
HS
3261
3262 * config/picochip/picochip.c (flag_conserve_stack): set
3263 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
3264 fconserve-stack. Reduce call-overhead used by inliner.
3265
9fec758d 32662009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
df9198ab
HS
3267
3268 PR/38157
3269 * common.opt (flag_conserve_stack): Initialised to zero.
3270
7f1c539c
KT
32712009-01-30 Kai Tietz <kai.tietz@onevision.com>
3272
3273 PR/39002
3274 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
3275 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
3276 method.
3277
3631be48
L
32782009-01-29 H.J. Lu <hongjiu.lu@intel.com>
3279
3280 * ira-color.c (allocno_reload_assign): Update comments.
3281 * regmove.c (regmove_optimize): Likewise.
3282
3283 * ra.h: Removed.
3284
416ac4d4
RM
32852009-01-29 Robert Millan <rmh@aybabtu.com>
3286
3287 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
3288 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
3289 `MD_UNWIND_SUPPORT'.
3290 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
3291
d5e54bc1
KH
32922009-01-29 Kazu Hirata <kazu@codesourcery.com>
3293
3294 PR tree-optimization/39007
3295 * tree-loop-distribution.c (generate_builtin): Use
3296 recompute_dominator to compute the immediate dominator of the
3297 basic block just after the loop.
3298
38432148 32992009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
e9e077fa
RO
3300
3301 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
3302 (ASM_OUTPUT_DWARF_PCREL): Define.
3303
38432148 33042009-01-29 Vladimir Makarov <vmakarov@redhat.com>
2af2dbdc
VM
3305
3306 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
3307 * doc/passes.texi: Remove entries about regclass, local-alloc, and
3308 global. Modify entries about regmove and IRA.
3309
3310 * ra-conflict.c: Remove the file.
3311
3312 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
3313
3314 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
3315 (pass_regclass_init): Rename to pass_reginfo_init.
3316
3317 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
3318
3319 * toplev.h (flag_ira): Remove.
3320
3321 * caller-save.c (setup_save_areas): Remove flag_ira.
3322
bf9b2cc9 3323 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
2af2dbdc
VM
3324
3325 * global.c: Remove the file.
3326
ba20e309 3327 * opts.c (decode_options): Remove flag_ira.
2af2dbdc
VM
3328
3329 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
3330
3331 * regmove.c: Modify file description.
3332 (find_use_as_address, try_auto_increment): Define them only if
3333 AUTO_INC_DEC is defined.
3334 (replacement_quality, replace_in_call_usage, fixup_match_1,
3335 stable_and_no_regs_but_for_p): Remove.
3336 (reg_set_in_bb): Make it static.
3337 (regmove_optimize): Remove flag_ira and code which worked for
3338 !flag_ira.
3339
3340 * local-alloc.c: Remove the file.
3341
3342 * common.opt (fira): Remove.
3343
3344 * ira.c: Include except.h.
3345 (eliminable_regset): Move from global.c.
3346 (mark_elimination): Ditto. Remove flag_ira.
3347 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
3348 equiv_mem_modified, validate_equiv_mem_from_store,
3349 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
3350 contains_replace_regs, memref_referenced_p, memref_used_between_p,
3351 no_equiv, recorded_label_ref): Move from local-alloc.c.
3352 (update_equiv_regs): Ditto. Make it static.
3353 (print_insn_chain, print_insn_chains): Move it from global.c.
bf9b2cc9 3354 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
2af2dbdc
VM
3355 (build_insn_chain): Ditto. Make it static.
3356 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
3357 Rename to init_live_subregs.
3358 (gate_ira): Remove flag_ira.
3359
3360 * regclass.c: Rename reginfo.c. Change file description.
3361 (FORBIDDEN_INC_DEC_CLASSES): Remove.
dbf9ee15 3362 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
2af2dbdc
VM
3363 (init_reg_sets_1): Remove code for evaluation of
3364 reg_class_superclasses and losing_caller_save_reg_set.
3365 (init_regs): Remove init_reg_autoinc.
3366 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
3367 ok_for_base_p_nonstrict): Remove.
bf9b2cc9 3368 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
2af2dbdc
VM
3369 (pass_regclass_init): Rename to pass_reginfo_init. Modify
3370 corresponding entries.
3371 (dump_regclass, record_operand_costs, scan_one_insn,
3372 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
3373 record_address_regs, auto_inc_dec_reg_p): Remove.
3374 (gt-regclass.h): Rename to gt-reginfo.h.
3375
3376 * rtl.h (dump_global_regs, retry_global_alloc,
bf9b2cc9 3377 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
2af2dbdc
VM
3378
3379 * Makefile.in (RA_H): Remove.
3380 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
3381 Rename regclass.o to reginfo.o.
3382 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
3383 gt-reginfo.h.
3384 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
3385 (GTFILES): Rename regclass.c to reginfo.c.
3386
3387 * passes.c (init_optimization_passes): Remove pass_local_alloc and
bf9b2cc9 3388 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
2af2dbdc
VM
3389
3390 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
3391 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
3392 Remove flag_ira.
6b67572e 3393 (finish_spills): Ditto. Remove code for !flag_ira.
2af2dbdc 3394
c95b2534 33952009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
00b251a0
KZ
3396
3397 PR middle-end/35854
3398 * doc/invoke.texi (rtl debug options): Complete rewrite.
3399 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
3400 to auto_inc_dec".
3401 * mode-switching.c (pass_mode_switching): Rename pass from
3402 "mode-sw" to "mode_sw".
3403 * except.c (pass_convert_to_eh_ranges): Rename pass from
3404 "eh-ranges" to "eh_ranges".
3405 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
3406 to "subreg1".
3407
3408
72a54528
AM
34092009-01-29 Andrey Belevantsev <abel@ispras.ru>
3410 Alexander Monakov <amonakov@ispras.ru>
3411
3412 PR middle-end/38857
3413 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
3414 register.
3415 (move_exprs_to_boundary): Change return type and pass through
3416 should_move from move_op. Relax assert. Update usage ...
3417 (schedule_expr_on_boundary): ... here. Use should_move instead of
3418 cant_move.
3419 (move_op_orig_expr_found): Indicate that insn was disconnected from
3420 stream.
3421 (code_motion_process_successors): Do not call after_merge_succs
3422 callback if original expression was not found when traversing any of
3423 the branches.
3424 (code_motion_path_driver): Change return type. Update prototype.
3425 (move_op): Update comment. Add a new parameter (should_move). Update
3426 prototype. Set *should_move based on indication provided by
3427 move_op_orig_expr_found.
3428
001b9eb6
PH
34292009-01-28 Pat Haugen <pthaugen@us.ibm.com>
3430
3431 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
3432 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
3433 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
3434 * config/rs6000/rs6000.c (rs6000_override_options): Default
3435 avoid-indexed-addresses on for Power6, off for everything else.
3436 (avoiding_indexed_address_p): New function.
3437 (rs6000_legitimize_address): Use it.
3438 (rs6000_legitimate_address): Likewise.
3439 * config/rs6000/rs6000.md (movXX_updateX): Likewise
3440
59dc4898
KH
34412009-01-28 Kazu Hirata <kazu@codesourcery.com>
3442
3443 PR tree-optimization/38997
3444 * tree-loop-distribution.c (generate_memset_zero): Use
3445 POINTER_PLUS_EXPR for a pointer addition.
3446
07da44ab
AK
34472009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
3448
3449 * config/s390/s390.md (bswap<mode>2): New pattern added.
3450
cdc15d23
WG
34512009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
3452
3453 * config/s390/s390.md (*tls_load_31): Added type attribute.
3454
d46f24b6
WG
34552009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
3456
3457 * config/s390/s390.md: Fix a few comments.
3458
729e750f
WG
34592009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
3460
3461 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
3462 (*tm<mode>_full): Fixed z10prop attribute.
3463 (*tst<mode>_extimm): Fixed z10prop attribute.
3464 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
3465 (*tstqiCCT_cconly): Fixed z10prop attribute.
3466 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
3467 (*movsi_larl): Fixed z10prop attribute.
3468 (*movsi_zarch): Fixed z10prop attribute.
3469 (*movsi_eas): Fixed z10prop attribute.
3470 (*movhi): Fixed z10prop attribute.
3471 (*movqi): Fixed z10prop attribute.
3472 (*movstrictqi): Fixed z10prop attribute.
3473 (*mov<mode>): Fixed z10prop attribute.
3474 (*movcc): Fixed z10prop attribute.
3475 (*sethighpartdi_64): Fixed z10prop attribute.
3476 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
3477 (*negdi2_sign_cc): Fixed z10prop attribute.
3478 (*negdi2_sign): Fixed z10prop attribute.
3479 (*absdi2_sign_cc): Fixed z10prop attribute.
3480 (*absdi2_sign): Fixed z10prop attribute.
3481 (*negabsdi2_sign_cc): Fixed z10prop attribute.
3482 (*negabsdi2_sign): Fixed z10prop attribute.
3483 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
3484 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
3485 (doloop_si64): Fixed z10prop attribute.
3486 (doloop_si31): Fixed z10prop attribute.
3487 (doloop_long): Fixed z10prop attribute.
3488 (indirect_jump): Fixed z10prop attribute.
3489 (nop): Fixed z10prop attribute.
3490 (main_base_64): Fixed z10prop attribute.
3491 (reload_base_64): Fixed z10prop attribute.
3492
c7789bfb
JJ
34932009-01-28 Jakub Jelinek <jakub@redhat.com>
3494
3495 PR rtl-optimization/38740
6b67572e
UB
3496 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
3497 if !optimize.
c7789bfb
JJ
3498 * config/mips/mips.c (mips_reorg): Likewise.
3499
de081cfd
RG
35002009-01-28 Richard Guenther <rguenther@suse.de>
3501
3502 PR tree-optimization/38926
3503 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
3504 with the correct value id to a value.
3505 (do_regular_insertion): Use the value number of edoubleprime
3506 for the value number of the expr.
3507
3508 Revert
3509 2008-08-21 Richard Guenther <rguenther@suse.de>
bf9b2cc9 3510
d748c406
UB
3511 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
3512 a PHI ask VN if it is already available.
3513 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
3514 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
de081cfd 3515
a9d386a1
JJ
35162009-01-28 Jakub Jelinek <jakub@redhat.com>
3517
3518 PR middle-end/38934
3519 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
3520 set to varying whenever max has TREE_OVERFLOW set, similarly
3521 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
3522
97a170cd
RG
35232009-01-28 Richard Guenther <rguenther@suse.de>
3524
3525 PR middle-end/38908
3526 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
3527 uninitialized aggregate uses in call arguments.
3528
89ebafc6
PB
35292009-01-28 Paolo Bonzini <bonzini@gnu.org>
3530
3531 PR tree-optimization/38984
3532 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
3533 the nothing_id variable if -fno-delete-null-pointer-checks.
3534
bef3c57b
UB
35352009-01-28 Uros Bizjak <ubizjak@gmail.com>
3536
3537 PR target/38988
3538 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
3539 (set_got_offset_rex64): Ditto.
3540
0c6390fa
L
35412009-01-27 H.J. Lu <hongjiu.lu@intel.com>
3542
3543 PR target/38941
3544 * doc/extend.texi: Improve local variable with asm reg.
3545
bee6fa6d
AN
35462009-01-27 Adam Nemet <anemet@caviumnetworks.com>
3547
3548 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
3549 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
3550 was not supplied then set warn_packed_bitfield_compat to the
3551 default value of 1.
3552 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
3553 against 1.
3554
b5c3dfbb
RG
35552009-01-27 Richard Guenther <rguenther@suse.de>
3556
3557 PR tree-optimization/38503
3558 * cfgexpand.c (expand_gimple_basic_block): Ignore
3559 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
3560 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
3561 variables that cannot have TBAA applied.
3562 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
3563 statements.
3564
d748c406 35652009-01-27 Uros Bizjak <ubizjak@gmail.com>
576de5cb
UB
3566
3567 PR middle-end/38969
3568 * calls.c (initialize_argument_information): Do not wrap complex
3569 arguments in SAVE_EXPR.
3570
9112bb38
AT
35712009-01-26 Andreas Tobler <a.tobler@schweiz.org>
3572
3573 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
5efb79fc 3574 (INSTALL_LIBGCC): Revert typo commit.
9112bb38 3575
4757704f
RG
35762009-01-26 Richard Guenther <rguenther@suse.de>
3577
3578 PR tree-optimization/38745
3579 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
3580 from special handling.
3581
e3e6cff4
RG
35822009-01-26 Richard Guenther <rguenther@suse.de>
3583
3584 PR tree-optimization/38745
3585 * tree-ssa.c (execute_update_addresses_taken): Do not include
3586 variables that cannot possibly be a register in not_reg_needs.
3587 Do not clear TREE_ADDRESSABLE on vars that may not become
3588 registers.
3589 * tree-ssa.c (update_alias_info_1): Include those in the set
3590 of addressable vars.
3591
dc874b53
RG
35922009-01-26 Richard Guenther <rguenther@suse.de>
3593
3594 PR middle-end/38851
3595 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
3596 * tree-ssa-dse.c: Include langhooks.h
3597 (execute_simple_dse): Remove stores with zero size.
3598
849421a3
JJ
35992009-01-24 Jakub Jelinek <jakub@redhat.com>
3600
3601 PR c/38957
3602 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
3603 as PLUS_EXPR.
3604
82f70421
JB
36052009-01-24 Julian Brown <julian@codesourcery.com>
3606
3607 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
3608 config/arm/linux-atomic.c.
3609 * config/arm/linux-atomic.c: New.
3610
863412d6
EB
36112009-01-24 Eric Botcazou <ebotcazou@adacore.com>
3612
3613 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
3614 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
3615 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3616
8c684300
L
36172009-01-24 H.J. Lu <hongjiu.lu@intel.com>
3618
3619 PR c/38938
93f1527a 3620 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
8c684300
L
3621 properly.
3622
b840fb02
SP
36232009-01-24 Sebastian Pop <sebastian.pop@amd.com>
3624
3625 PR tree-optimization/38953
3626 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
3627 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
3628 (gloog): Split the exit of the scop when the scop exit is a loop exit.
3629 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
3630 changed the CFG.
3631
ecee559f
PB
36322009-01-24 Paul Brook <paul@codesourcery.com>
3633
3634 * config/arm/neon.md (neon_type): Move to arm.md.
3635 (neon_mov<VSTRUCT>): Add neon_type attribute.
3636 * config/arm/arm.md (neon_type): Move to here.
3637 (conds): Add "unconditioal" and use as default for NEON insns.
3638
61ad0914
BE
36392009-01-24 Ben Elliston <bje@au.ibm.com>
3640
3641 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
3642 void *' warning from -Wc++-compat.
3643 * Makefile.in (dominance.o-warn): Remove.
3644
38432148 36452009-01-23 Paolo Bonzini <bonzini@gnu.org>
9bacafeb
PB
3646
3647 PR tree-optimization/38932
3648 * fold-const.c (fold_unary_ignore_overflow): New.
3649 * tree.h (fold_unary_ignore_overflow): Declare.
3650 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
3651 * tree-ssa-sccvn.c (visit_reference_op_load,
3652 simplify_unary_expression): Likewise.
3653
2cd36c22
AN
36542009-01-22 Adam Nemet <anemet@caviumnetworks.com>
3655
3656 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
3657 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
3658 regardless of their type.
3659 * c-common.c (handle_packed_attribute): Don't ignore packed on
3660 bitfields.
3661 * c.opt (Wpacked-bitfield-compat): New warning option.
3662 * stor-layout.c (place_field): Warn if offset of a field changed.
3663 * doc/extend.texi (packed): Mention the ABI change.
3664 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
3665 (Warning Options): Add it to the list.
3666
e4e624ab
L
36672009-01-22 H.J. Lu <hongjiu.lu@intel.com>
3668
3669 * c-opts.c (c_common_post_options): Fix a typo in comments.
3670
d0ea0759
SE
36712009-01-22 Steve Ellcey <sje@cup.hp.com>
3672
3673 PR middle-end/38615
3674 * gimplify.c (gimplify_init_constructor): Fix promotion of const
3675 variables to static.
3676 * doc/invoke.texi (-fmerge-all-constants): Update description.
3677
87673f84
UB
36782009-01-22 Uros Bizjak <ubizjak@gmail.com>
3679
3680 PR target/38931
3681 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
3682 (*movdi_1_rex64): Use type "mmx" for alternative 5.
3683
96339268
RE
36842009-01-22 Richard Earnshaw <rearnsha@arm.com>
3685
3686 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
3687 a word boundary.
3688 (LOCAL_ALIGNMENT): Similarly.
3689
442dc742 36902009-01-22 Mark Shinwell <shinwell@codesourcery.com>
87673f84 3691 Joseph Myers <joseph@codesourcery.com>
442dc742
MS
3692
3693 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
3694 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
3695 * config/arm/arm-tune.md: Regenerate.
3696 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
3697 -march=iwmmxt2.
3698
9b34732e
MS
36992009-01-22 Mark Shinwell <shinwell@codesourcery.com>
3700
3701 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
3702 version number to five.
3703
03c2a308
DS
37042009-01-22 Dodji Seketeli <dodji@redhat.com>
3705
3706 PR c++/38930
ba20e309 3707 * c-decl.c (clone_underlying_type): Revert PR c++/26693 changes.
03c2a308
DS
3708 * c-common.c (set_underlying_type): Likewise.
3709 (is_typedef_decl ): Likewise
3710 * tree.h: Likewise
3711 (set_underlying_type): Likewise.
3712 (is_typedef_type): Likewise.
3713
1240d76e
VM
37142009-01-21 Vladimir Makarov <vmakarov@redhat.com>
3715
3716 PR middle-end/38587
3717 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
3718 crossing setjmps.
3719
b8a1087d
DK
37202009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
3721
3722 PR bootstrap/37660
3723 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
3724 (LIBGCC_SPEC): Don't define.
3725 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
3726
435da628
UB
37272009-01-21 Uros Bizjak <ubizjak@gmail.com>
3728
3729 PR rtl-optimization/38879
3730 * alias.c (base_alias_check): Unaligned access via AND address can
3731 alias all surrounding object types except those with sizes equal
3732 or wider than the size of unaligned access.
3733
d597b3ce
DS
37342009-01-21 Dodji Seketeli <dodji@redhat.com>
3735
3736 PR c++/26693
ba20e309 3737 * c-decl.c (clone_underlying_type): Move this ...
d597b3ce 3738 * c-common.c (set_underlying_type): ... here.
435da628 3739 Also, make sure the function properly sets TYPE_STUB_DECL() on
d597b3ce
DS
3740 the newly created typedef variant type.
3741 (is_typedef_decl ): New entry point.
3742 * tree.h: Added a new member member_types_needing_access_check to
3743 struct tree_decl_non_common.
3744 (set_underlying_type): New entry point.
3745 (is_typedef_type): Likewise.
3746
71a6fe66
BM
37472009-01-21 Bingfeng Mei <bmei@broadcom.com>
3748
3749 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
3750 Check whether two instructions have memory references that
3751 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
3752 are helper functions for traversing.
3753 * alias.h (insn_alias_sets_confilict_p): New prototypes.
3754 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
3755 not to draw dependency edge for instructions with non-conflicting
3756 alias sets.
3757
5a248274
JM
37582009-01-20 Joseph Myers <joseph@codesourcery.com>
3759
3760 PR other/38758
6b67572e
UB
3761 * longlong.h: Update copyright years. Use soft-fp license notice.
3762 Sync __clz_tab declaration with glibc.
5a248274 3763
4b84f3de
SE
37642009-01-20 Steve Ellcey <sje@cup.hp.com>
3765
3766 PR target/30687
3767 * doc/extend.texi (syscall_linkage): New.
3768 (version_id): Modify.
3769
37348bf1 37702009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
435da628 3771 Richard Guenther <rguenther@suse.de>
37348bf1
AP
3772
3773 PR tree-optimization/38747
3774 PR tree-optimization/38748
3775 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
3776 conversion if the base address is an indirect reference and the
3777 aliasing sets could cause issues.
3778
d0a58904
SP
37792009-01-20 Sebastian Pop <sebastian.pop@amd.com>
3780
3781 * common.opt (fgraphite, fgraphite-identity): Add comment for
3782 explaining why these options are not documented.
3783
71e7afb2
SP
37842009-01-20 Sebastian Pop <sebastian.pop@amd.com>
3785
3786 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
3787 gimple_call_lhs is NULL.
3788
38432148 37892009-01-20 Paolo Bonzini <bonzini@gnu.org>
09efeca1
PB
3790
3791 PR target/38868
3792 * emit-rtl.c (adjust_address_1): Make sure memref is never
3793 overwritten.
3794
cbb8dee3
BE
37952009-01-20 Ben Elliston <bje@au.ibm.com>
3796
3797 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
435da628 3798 const qualifier from arg parameter. Remove unnecessary cast to char *.
cbb8dee3
BE
3799 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
3800 const qualifier from arg 2.
3801
72c66596
IS
38022009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3803
435da628 3804 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
72c66596 3805
f68211cd
VM
38062009-01-19 Vladimir Makarov <vmakarov@redhat.com>
3807
3808 PR c/38869
3809 * rtl.h (reinit_regs): New prototype.
3810 * regclass.c: Include ira.h.
3811 (reinit_regs): New.
3812 * Makefile.in (regclass.o): Add ira.h.
3813 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
3814
6e4f1168
L
38152009-01-18 H.J. Lu <hongjiu.lu@intel.com>
3816
3817 PR target/38736
3818 * c-common.c (handle_aligned_attribute): Use
3819 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
3820 default alignment value.
3821
3822 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
3823
3824 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
3825 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
3826
3827 * doc/extend.texi: Update __attribute__ ((aligned)). Document
3828 __BIGGEST_ALIGNMENT__.
3829
3830 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
3831
890065bf
RG
38322009-01-18 Richard Guenther <rguenther@suse.de>
3833
3834 PR tree-optimization/38819
3835 * tree-flow.h (operation_could_trap_helper_p): Declare.
3836 * tree-eh.c (operation_could_trap_helper_p): Export.
3837 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
3838 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
3839 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
3840 are about to insert a possibly trapping instruction and fail
3841 in this case.
3842
a729d731
AS
38432009-01-18 Andreas Schwab <schwab@suse.de>
3844
3845 * doc/install.texi (Configuration): Remove obsolete paragraph
3846 about use of --with-gnu-ld with --with-gnu-as.
3847
a640c13b
KH
38482009-01-18 Kazu Hirata <kazu@codesourcery.com>
3849
3850 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
3851 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
3852 Follow spelling conventions.
3853
dba2cc0c
BE
38542009-01-18 Ben Elliston <bje@au.ibm.com>
3855
3856 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
3857 C++ warning about implicit conversion from void * to struct
3858 bitmap_head_def *.
3859 (bitmap_obstack_free): Likewise for bitmap_element *.
bc127c63 3860 * Makefile.in (bitmap.o-warn): Remove.
dba2cc0c 3861
2207a498
DK
38622009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
3863
3864 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
3865
8137e465
SP
38662009-01-17 Sebastian Pop <sebastian.pop@amd.com>
3867 Tobias Grosser <tobi.grosser@amd.com>
3868
3869 * graphite.c (graphite_trans_scop_block): Do not block single
3870 nested loops.
3871
5be1c58c
AO
38722009-01-16 Alexandre Oliva <aoliva@redhat.com>
3873
3874 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
3875 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
3876 test with assertion.
3877
786ce82d
RG
38782009-01-16 Richard Guenther <rguenther@suse.de>
3879
3880 PR tree-optimization/38835
3881 PR middle-end/36227
3882 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
3883 and INT + PTR -> (INT)(PTR p+ INT) folding.
3884 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
3885
c1cb09ad
AN
38862009-01-16 Adam Nemet <anemet@caviumnetworks.com>
3887
3888 PR target/38554
3889 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
3890 the subreg from a lowpart subreg if it is also casting the value.
3891
bcab4e19
SP
38922009-01-16 Sebastian Pop <sebastian.pop@amd.com>
3893 Tobias Grosser <tobi.grosser@amd.com>
3894
3895 * graphite.c (compare_prefix_loops): New.
3896 (build_scop_canonical_schedules): Rewritten.
3897 (graphite_transform_loops): Move build_scop_canonical_schedules
3898 after build_scop_iteration_domain.
3899
0b040072
SP
39002009-01-16 Sebastian Pop <sebastian.pop@amd.com>
3901 Tobias Grosser <tobi.grosser@amd.com>
3902
3903 * graphite.c (add_conditions_to_domain): Add the loops to
3904 the dimension of the iteration domain. Do copy the domain
3905 only when it exists.
3906 (build_scop_conditions_1): Do not call add_conditions_to_domain.
3907 (add_conditions_to_constraints): New.
3908 (can_generate_code_stmt, can_generate_code): Removed.
3909 (gloog): Do not call can_generate_code.
3910 (graphite_transform_loops): Call add_conditions_to_constraints
3911 after building the iteration domain.
3912
56c6a499
JJ
39132009-01-16 Jakub Jelinek <jakub@redhat.com>
3914
3915 PR tree-optimization/38789
3916 * tree-ssa-threadedge.c
3917 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
3918 __builtin_constant_p.
3919
c95b2534 39202009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cd3f1729
KZ
3921
3922 * dce.c (delete_unmarked_insns): Reversed the order that insns are
3923 examined before deleting them.
3924
c433cb14
RE
39252009-01-16 Richard Earnshaw <rearnsha@arm.com>
3926
3927 * function.c (aggregate_value_p): Correctly extract the function
3928 type from CALL_EXPR_FN lookup.
3929
c95b2534 39302009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
27d62fa4
HS
3931
3932 * config/picochip/picochip.c (picochip_override_options): Revert
3933 CFI asm flag disable commited previously.
3934
c77bb78f
SP
39352009-01-15 Sebastian Pop <sebastian.pop@amd.com>
3936 Tobias Grosser <tobi.grosser@amd.com>
3937 Jan Sjodin <jan.sjodin@amd.com>
3938
3939 * graphite.c (scan_tree_for_params): On substractions negate
3940 all the coefficients of the term.
3941 (clast_to_gcc_expression_red): New. Handle reduction expressions
3942 of more than two operands.
3943 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
3944 (get_vdef_before_scop): Handle also the case of default definitions.
3945
574af2d6
RS
39462009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
3947
3948 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
3949 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
3950 Also use them when walking CALL_INSN_FUNCTION_USAGE.
3951
e939805b
L
39522009-01-15 H.J. Lu <hongjiu.lu@intel.com>
3953 Joey Ye <joey.ye@intel.com>
3954
3955 PR middle-end/37843
3956 * cfgexpand.c (expand_stack_alignment): Don't update stack
3957 boundary nor check incoming stack boundary here.
3958 (gimple_expand_cfg): Update stack boundary and check incoming
3959 stack boundary here.
3960
c95b2534 39612009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
750900db 3962
435da628 3963 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
750900db 3964
0196c95e
JJ
39652009-01-14 Jakub Jelinek <jakub@redhat.com>
3966
3967 PR rtl-optimization/38245
3968 * calls.c (expand_call): Add stack arguments to
3969 CALL_INSN_FUNCTION_USAGE even for pure calls (when
3970 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
3971 in regs and partially in memory or BLKmode arguments.
3972 (emit_library_call_value_1): Add stack arguments to
3973 CALL_INSN_FUNCTION_USAGE even for pure calls (when
3974 ACCUMULATE_OUTGOING_ARGS).
3975 * dce.c: Include tm_p.h.
3976 (find_call_stack_args): New function.
3977 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
3978 argument.
3979 (mark_insn): Call find_call_stack_args for CALL_Ps.
3980 (prescan_insns_for_dce): Walk insns backwards in bb rather than
3981 forwards. Allocate and free arg_stores bitmap if needed, pass it
3982 down to deletable_insn_p, don't mark stores set in arg_stores
3983 bitmap, clear the bitmap at the beginning of each bb.
3984 * Makefile.in (dce.o): Depend on $(TM_P_H).
3985
6df6bcfa
MM
39862009-01-14 Michael Meissner <gnu@the-meissners.org>
3987
3988 PR target/22599
435da628
UB
3989 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
3990 to make sure the insn is a conditional test (bug 22599). Reformat a
3991 few long lines.
6df6bcfa 3992
765ec70c
SP
39932009-01-14 Sebastian Pop <sebastian.pop@amd.com>
3994
3995 PR middle-end/38431
3996 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
3997 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
3998 (gloog): Do not call cleanup_tree_cfg.
3999 (graphite_transform_loops): Call cleanup_tree_cfg after all
4000 scops have been code generated.
4001
7de2b688
BS
40022009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
4003 * doc/gty.texi (Invoking the garbage collector): Added new node
4004 and section documenting ggc_collect.
4005
10bd6c5c
RG
40062009-01-14 Richard Guenther <rguenther@suse.de>
4007
4008 PR tree-optimization/38826
4009 PR middle-end/38477
4010 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
4011 initialization notes only if we actually emitted a warning.
4012 (intra_create_variable_infos): Add constraints for a result decl
4013 that is passed by hidden reference.
4014 (build_pred_graph): Mark all related variables non-direct on
4015 address-taking.
4016
9c7c70ee
NC
40172009-01-14 Nick Clifton <nickc@redhat.com>
4018
4019 * ira-conflicts.c: Include addresses.h for the definition of
4020 base_reg_class.
435da628
UB
4021 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
4022 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
9c7c70ee 4023
cf0c2a60
VM
40242009-01-13 Vladimir Makarov <vmakarov@redhat.com>
4025
4026 PR target/38811
4027 * Makefile.in (ira-lives.o): Add except.h.
4028
4029 * ira-lives.c: Include except.h.
4030 (process_bb_node_lives): Process can_throw_internal.
4031
d3302fd3
JJ
40322009-01-13 Jakub Jelinek <jakub@redhat.com>
4033
4034 PR rtl-optimization/38774
4035 * combine.c (simplify_set): When undoing cc_use change, don't do
4036 PUT_CODE on the newly created comparison, but instead put back the
4037 old comparison.
4038
7ab23fd0
JM
40392009-01-13 Joseph Myers <joseph@codesourcery.com>
4040
4041 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
4042 values. Remove duplicate arm8 entry.
4043
f9344488
SP
40442009-01-13 Sebastian Pop <sebastian.pop@amd.com>
4045
4046 PR tree-optimization/38786
4047 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
4048 the SSA_NAME case of expand_scalar_variables_expr.
4049 Set the type of an expression to the type of its assign statement.
4050 (expand_scalar_variables_expr): Also gather the scalar computation
4051 used to index the memory access. Do not pass loop_p.
4052 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
4053 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
bef3c57b
UB
4054 the gimple_stmt_iterator where it inserts new code.
4055 Do not pass loop_p.
f9344488
SP
4056 (copy_bb_and_scalar_dependences): Do not pass loop_p.
4057 (translate_clast): Update call to copy_bb_and_scalar_dependences.
4058
2d8bb84d
SP
40592009-01-13 Sebastian Pop <sebastian.pop@amd.com>
4060
4061 * graphite.h (debug_value): Removed.
4062 * graphite.c (debug_value): Removed.
4063
ff128632
RE
40642009-01-13 Richard Earnshaw <rearnsha@arm.com>
4065
435da628
UB
4066 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
4067 ldrd/strd with two 32-bit instructions.
ff128632 4068
d5a0a47b
RE
40692009-01-13 Richard Earnshaw <rearnsha@arm.com>
4070
435da628
UB
4071 * config/arm/arm.c (struct processors): Pass for speed down into
4072 cost helper functions.
d5a0a47b
RE
4073 (const_ok_for_op): Handle COMPARE and inequality nodes.
4074 (arm_rtx_costs_1): Rewrite.
4075 (arm_size_rtx_costs): Update prototype.
4076 (arm_rtx_costs): Pass speed down to helper functions.
4077 (arm_slowmul_rtx_costs): Rework cost calculations.
4078 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
4079 (arm_9e_rtx_costs): Likewise.
4080
26d5bf5b
UB
40812009-01-13 Uros Bizjak <ubizjak@gmail.com>
4082
4083 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
435da628 4084 relocations of local symbols wider than UNITS_PER_WORD are not valid.
26d5bf5b
UB
4085 (alpha_legitimize_address): Do not split local symbols wider than
4086 UNITS_PER_WORD into HIGH/LO_SUM parts.
4087
5d14e3d5
DS
40882009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
4089
4090 PR bootstrap/38580
4091 * gcc.c (process_command): Replace call to execvp with calls
4092 to pex_one and exit.
4093
33faafca
AS
40942009-01-03 Anatoly Sokolov <aesok@post.ru>
4095
4096 PR target/29141
4097 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
4098 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
4099 variant for devices with 3-byte PC.
ba20e309 4100 (__tablejump_elpm__): New.
33faafca 4101
634b5df5
JJ
41022009-01-12 Jakub Jelinek <jakub@redhat.com>
4103
4104 PR c/32041
4105 * c-parser.c (c_parser_postfix_expression): Allow `->' in
4106 offsetof member-designator, handle it as `[0].'.
4107
2842bb86
JDA
41082009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4109
4110 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
4111 function when not using named sections on targets with named sections
4112 if branch distance is less than 262132.
4113
76ee70f6
RE
41142009-01-12 Richard Earnshaw <rearnsha@arm.com>
4115
4116 * combine.c (combine_instructions): Recompute
4117 optimize_this_for_speed_p for each BB in the main combine loop.
4118
f56e675d
TB
41192009-01-12 Tomas Bily <tbily@suse.cz>
4120
4121 PR middlend/38385
26d5bf5b
UB
4122 * tree-loop-distribution.c (prop_phis): New function.
4123 (generate_builtin): Call prop_phis.
4124 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
f56e675d 4125
c2152239
JJ
41262009-01-12 Jakub Jelinek <jakub@redhat.com>
4127
4128 PR tree-optimization/38807
4129 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
4130 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
4131
0e510b3e
AN
41322009-01-11 Adam Nemet <anemet@caviumnetworks.com>
4133
4134 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
4135 subreg of op0 to the original op0.
4136
c95b2534 41372009-01-11 Laurent GUERBY <laurent@guerby.net>
10270471
LG
4138
4139 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
4140
53a7ff9a
MS
41412009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
4142
4143 PR debug/7055
4144 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
4145 starting with digits.
4146
b3a796bc
JJ
41472009-01-10 Jakub Jelinek <jakub@redhat.com>
4148
4149 PR target/38695
4150 * config/arm/arm.c (arm_is_long_call_p): Don't call
4151 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
4152
b21b850e
SB
41532009-01-09 Steven Bosscher <steven@gcc.gnu.org>
4154
4155 * regrename.c (regrename_optimize): Fix dumping.
4156 (find_oldest_value_reg): Preserve REG_POINTER.
4157 (copy_hardreg_forward_1): Likewise.
4158
e0e10d3a
DN
41592009-01-09 Diego Novillo <dnovillo@google.com>
4160
bf9b2cc9 4161 * gimple.h (struct gimple_statement_base) <uid>: Document
e0e10d3a
DN
4162 the restrictions on its use.
4163 (gimple_uid): Tidy.
4164 (gimple_set_uid): Tidy.
4165
c9da2ae8
JJ
41662009-01-09 Jakub Jelinek <jakub@redhat.com>
4167
4168 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
4169 zero guard even if align_bytes != 0 and count is smaller than
4170 size_needed.
4171
38432148 41722009-01-09 Vladimir Makarov <vmakarov@redhat.com>
a174c19c
VM
4173
4174 PR rtl-optimization/38495
26d5bf5b 4175 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
a174c19c
VM
4176 (add_range_and_copies_from_move_list): Print all added ranges.
4177 Add ranges to memory optimized destination.
4178
260fda3d
JJ
41792009-01-09 Jakub Jelinek <jakub@redhat.com>
4180
6f6278ad
JJ
4181 PR target/38686
4182 PR target/38708
4183 * config/i386/i386.c (override_options): Reject
4184 -mstringop-strategy=rep_8byte with -m32.
4185 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
4186 to 1. Do count comparison against epilogue_size_needed at compile
4187 time even when count_exp was constant forced into register. For
4188 size_needed don't jump to epilogue, instead just avoid aligning
4189 and invoke the body algorithm. If need_zero_guard, add zero guard
4190 even if count is non-zero, but smaller than size_needed + number of
4191 bytes that could be stored for alignment.
4192 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
4193 to 1. If need_zero_guard, add zero guard even if count is non-zero,
4194 but smaller than size_needed + number of bytes that could be stored
4195 for alignment. Compare size_needed with epilogue_size_needed instead
4196 of desired_align - align, don't adjust size_needed, pass
4197 epilogue_size_needed to the epilogue expanders.
4198
260fda3d 4199 PR c/35742
26d5bf5b 4200 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
260fda3d 4201
67b846fa
JDA
42022009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4203
4204 * pa.c (last_address): Change to unsigned.
4205 (update_total_code_bytes): Change argument to unsigned. Don't
4206 check if insn addresses are set.
4207 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
4208 addresses are not set.
4209 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
4210
91c82473
NC
42112009-01-09 Nick Clifton <nickc@redhat.com>
4212
4213 * config/sh/symbian.c: Replace uses of DECL_INLINE with
4214 DECL_DECLARED_INLINE_P.
4215
4017e262
JJ
42162009-01-09 Jakub Jelinek <jakub@redhat.com>
4217
0a49e5c2
JJ
4218 PR middle-end/38347
4219 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
4220 GET_MODE (op0) in operand_subword_force calls.
4221
4017e262
JJ
4222 PR middle-end/38771
4223 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
4224 fold_convert arg0 operands to TREE_TYPE (op0) first.
4225
7cd06356
VM
42262009-01-08 Vladimir Makarov <vmakarov@redhat.com>
4227
4228 * params.def (ira-max-conflict-table-size): Decrease default value
4229 to 1000.
4230
96867bbd
JJ
42312009-01-08 Jakub Jelinek <jakub@redhat.com>
4232
4233 PR tree-optimization/37031
4234 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
4235 on parameter_set.
4236 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
4237 allocate it using gc instead of heap, use VEC_quick_push instead of
4238 VEC_safe_push.
4239 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
4240 instead of heap, use VEC_quick_push instead of VEC_safe_push.
4241 * tree-data-ref.h (struct access_matrix): Change matrix to gc
4242 allocated vector from heap allocated.
4243 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
4244 * tree-loop-linear.c (linear_transform_loops): Allocate nest
4245 vector only after perfect_loop_nest_depth call.
4246
68f61c3d
SP
42472009-01-08 Sebastian Pop <sebastian.pop@amd.com>
4248 Jan Sjodin <jan.sjodin@amd.com>
4249
4250 PR tree-optimization/38559
4251 * graphite.c (debug_value, copy_constraint,
4252 swap_constraint_variables, scale_constraint_variable, ): New.
4253 (get_lower_bound, get_upper_bound): Removed.
4254 (graphite_trans_bb_strip_mine): Clean up this code that works
4255 only for constant number of iterations. Fully copy upper and
4256 lower bound constraints, not only the constant part of them.
4257 * graphite.h (debug_value): Declared.
4258
82567e33
IR
42592009-01-08 Ira Rosen <irar@il.ibm.com>
4260
4261 PR tree-optimization/37194
4262 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
4263 Don't add the cost of cost model guard in prologue to scalar
4264 outside cost in case of known number of iterations.
4265
7da13f1d
NF
42662009-01-07 Nathan Froyd <froydnj@codesourcery.com>
4267 Alan Modra <amodra@bigpond.net.au>
4268
4269 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
4270 non-word-aligned REG+CONST addressing.
4271
c0f64575
UB
42722009-01-07 Uros Bizjak <ubizjak@gmail.com>
4273
4274 PR target/38706
4275 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
4276 free_after_compilation when outputting a thunk.
4277 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
4278 Do not call free_after_compilation here.
4279
301b6a4e
UB
42802009-01-07 Uros Bizjak <ubizjak@gmail.com>
4281
4282 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
301b6a4e
UB
4283 (ix86_valid_target_attribute_inner_p): Ditto.
4284
6a114766
JS
42852009-01-07 Jan Sjodin <jan.sjodin@amd.com>
4286
4287 PR tree-optimization/38492
4288 PR tree-optimization/38498
4289 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
4290 * tree-chrec.h (scev_is_linear_expression): Declared.
4291 * graphite.c (graphite_cannot_represent_loop_niter): New.
4292 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
4293 (graphite_loop_normal_form): Use gcc_assert.
4294 (scan_tree_for_params): Use CASE_CONVERT.
4295 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
4296 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
4297 Use gcc_assert. Discard scops that contain unhandled cases.
4298 (build_scop_conditions): Return a boolean status for unhandled cases.
4299 (strip_mine_profitable_p): Print the loop number, not its depth.
4300 (is_interchange_valid): Pass the depth of the loop nest, don't
4301 recompute it wrongly.
4302 (graphite_trans_bb_block): Same.
4303 (graphite_trans_bb_block): Print tentative of loop blocking.
4304 (graphite_trans_scop_block): Do not print that the loop has been
4305 blocked.
4306 (graphite_transform_loops): Do not handle scops that contain condition
4307 scalar phi nodes.
4308
65b82caa
L
43092009-01-07 H.J. Lu <hongjiu.lu@intel.com>
4310
4311 AVX Programming Reference (December, 2008)
4312 * config/i386/avxintrin.h (_mm256_stream_si256): New.
4313 (_mm256_stream_pd): Likewise.
4314 (_mm256_stream_ps): Likewise.
4315
4316 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
4317 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
4318 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
4319 (bdesc_special_args): Add __builtin_ia32_movntdq256,
4320 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
4321 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
4322 (ix86_expand_special_args_builtin): Likewise.
4323
4324 * config/i386/sse.md (AVXMODEDI): New.
4325 (avx_movnt<mode>): Likewise.
4326 (avx_movnt<mode>): Likewise.
4327 (<sse>_movnt<mode>): Remove AVX support.
4328 (sse2_movntv2di): Likewise.
4329
cef158f9
RG
43302009-01-07 Richard Guenther <rguenther@suse.de>
4331
4332 PR middle-end/38751
4333 * fold-const.c (extract_muldiv): Remove obsolete comment.
4334 (fold_plusminus_mult_expr): Undo MINUS_EXPR
4335 to PLUS_EXPR canonicalization for the canonicalization.
4336
246cb5be
GP
43372009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
4338
4339 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
4340 hosted cross-compilers generating less efficient code.
4341
84b9b872
RS
43422009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
4343
4344 * function.h (rtl_data): Add a dbr_scheduled_p field.
4345 * reorg.c (dbr_schedule): Set it.
4346 (gate_handle_delay_slots): Check it.
4347 * config/mips/mips.c (mips_base_delayed_branch): Delete.
4348 (mips_reorg): Check flag_delayed_branch instead of
4349 mips_base_delayed_branch.
4350 (mips_override_options): Don't set mips_base_delayed_branch
4351 or flag_delayed_branch.
4352
ace984c8
RS
43532009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
4354
4355 PR rtl-optimization/38426.
4356 * ira.c (ira): Set current_function_is_leaf earlier.
4357
7ad7809b
JJ
43582009-01-06 Jakub Jelinek <jakub@redhat.com>
4359
4360 PR rtl-optimization/38722
4361 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
4362 too early, only set a flag and modify after last possible
4363 undo_all point.
4364
c52ec948
JJ
43652009-01-06 Janis Johnson <janis187@us.ibm.com>
4366
4367 PR c/34252
4368 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
4369 * real.c (decimal_single_format): Correct values of emin and emax.
4370 (decimal_double_format): Ditto.
4371 (decimal_quad_format): Ditto.
4372 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
4373 computation of DECnn_MIN and DECnn_MAX for corrected values of
4374 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
4375 __DECnn_MIN__, and adjust its computation for the corrected value
4376 of emin.
4377
300240e1
JH
43782009-01-06 Jan Hubicka <jh@suse.cz>
4379
4380 PR target/38744
435da628 4381 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
300240e1 4382
271c069e
GP
43832009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
4384
4385 * doc/contrib.texi (Contributors): Slightly adjust the end note.
4386 Add Robert Clark to the list of testers.
4387
64e4c301 43882009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 4389 Kai Tietz <kai.tietz@onevision.com>
64e4c301 4390
435da628
UB
4391 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
4392 * config/i386/i386.c (ix86_expand_call): Add clobbers.
64e4c301 4393
7650b83e 43942009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 4395 Kai Tietz <kai.tietz@onevision.com>
7650b83e 4396
435da628
UB
4397 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
4398 for w64 ABI.
4399 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
7650b83e
JH
4400 (ix86_nsaved_regs): Count only general purpose regs.
4401 (ix86_nsaved_sseregs): New.
4402 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
4403 to 16 for w64; compute padding and size of sse reg save area.
301b6a4e
UB
4404 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
4405 general purpose regs.
7650b83e
JH
4406 (ix86_emit_save_sse_regs_using_mov): New.
4407 (ix86_expand_prologue): Save SSE regs if needed.
4408 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
4409 (ix86_emit_restore_sse_regs_using_mov): New.
4410 (ix86_expand_epilogue): Save SSE regs if needed.
4411
9aa5c1b2 44122009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 4413 Kai Tietz <kai.tietz@onevision.com>
9aa5c1b2 4414
435da628
UB
4415 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
4416 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
4417 functions when accumulate outgoing args is off.
9aa5c1b2 4418
f7556aae
L
44192009-01-06 H.J. Lu <hongjiu.lu@intel.com>
4420
4421 PR bootstrap/38742
4422 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
4423 before using pseudos_have_intersected_live_ranges_p.
4424
4425 * ira-int.h (ira_assert): Always define.
4426
e47b7d04
L
44272009-01-06 H.J. Lu <hongjiu.lu@intel.com>
4428
4429 AVX Programming Reference (December, 2008)
4430 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
4431 (_mm256_permute2_pd): Likewise.
4432 (_mm_permute2_ps): Likewise.
4433 (_mm256_permute2_ps): Likewise.
4434 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
4435 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
4436
4437 * config/i386/i386.c (ix86_builtins): Remove
4438 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
4439 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
4440 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
4441 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
4442 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
4443 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
4444 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
4445 __builtin_ia32_vpermil2ps256.
4446 (ix86_init_mmx_sse_builtins): Updated.
4447 (ix86_expand_args_builtin): Likewise.
4448
44b86471
JDA
44492009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4450
e47b7d04
L
4451 * pa.c (output_call): Relocate non-jump insns in the delay slot of
4452 long absolute calls when generating PA 2.0 code.
44b86471 4453
311aab06
VM
44542009-01-05 Vladimir Makarov <vmakarov@redhat.com>
4455
4456 PR rtl-optimization/38583
4457 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
4458
4459 * params.def (ira-max-conflict-table-size): New.
4460
4461 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
4462
4463 * ira.h (ira_conflicts_p): New external definition.
4464
4465 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
4466 table. Report this. Return result of building.
4467 (ira_build_conflicts): Use ira_conflicts_p. Check result of
4468 building conflict table.
4469
301b6a4e 4470 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
311aab06
VM
4471 (ira_color): Use ira_conflicts_p.
4472
4473 * global.c: Include ira.h.
4474 (pseudo_for_reload_consideration_p, build_insn_chain): Use
4475 ira_conflicts_p.
4476
4477 * Makefile.in (global.o): Add ira.h.
4478
4479 * ira-build.c (mark_all_loops_for_removal,
4480 propagate_some_info_from_allocno): New.
4481 (remove_unnecessary_allocnos): Call
4482 propagate_some_info_from_allocno.
4483 (remove_low_level_allocnos): New.
4484 (remove_unnecessary_regions): Add parameter. Call
4485 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
4486 parameter to remove_unnecessary_regions.
4487 (ira_build): Remove all regions but root if the conflict table was
4488 not built. Update conflict hard regs for allocnos crossing calls.
4489
4490 * ira.c (ira_conflicts_p): New global.
4491 (ira): Define and use ira_conflicts_p.
4492
4493 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
4494 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
301b6a4e 4495 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
311aab06 4496
5641785f
BE
44972009-01-06 Ben Elliston <bje@au.ibm.com>
4498
4499 * gengtype-lex.l (YY_NO_INPUT): Define.
4500
e4e5261f
AP
45012009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
4502
4503 PR c/34911
5641785f
BE
4504 * c-common.c (handle_vector_size_attribute): Also reject
4505 BOOLEAN_TYPE types.
e4e5261f 4506
7b10257f
SP
45072009-01-05 Sebastian Pop <sebastian.pop@amd.com>
4508
4509 PR tree-optimization/38492
4510 * graphite.c (rename_map_elt, debug_rename_elt,
301b6a4e
UB
4511 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
4512 rename_map_elt_info, eq_rename_map_elts,
4513 get_new_name_from_old_name, bb_in_sese_p): Moved around.
7b10257f
SP
4514 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
4515 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
4516 (sese_build_livein_liveouts): New.
4517 (new_sese, free_sese): New.
4518 (new_scop): Call new_sese.
4519 (free_scop): Call free_sese.
4520 (rename_variables_from_edge, rename_phis_end_scop): Removed.
4521 (register_old_new_names): Renamed register_old_and_new_names.
4522 (register_scop_liveout_renames, add_loop_exit_phis,
4523 insert_loop_close_phis, struct igp,
4524 default_liveout_before_guard, add_guard_exit_phis,
4525 insert_guard_phis, copy_renames): New.
4526 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
4527 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
4528 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
4529 (scop_adjust_phis_for_liveouts): New.
4530 (gloog): Call scop_adjust_phis_for_liveouts.
4531
4532 * graphite.h (struct sese): Documented. Added fields liveout,
301b6a4e 4533 num_ver and livein.
7b10257f
SP
4534 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
4535 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
4536 (struct scop): Added field liveout_renames.
4537 (SCOP_LIVEOUT_RENAMES): New.
4538
9761fcc7
HJ
45392009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
4540
4541 PR tree-optimization/38510
4542 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
4543 (translate_clast): Call recompute_all_dominators before
4544 graphite_verify.
4545 (gloog): Call recompute_all_dominators before graphite_verify.
4546
45472009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
c95b2534 4548 Jan Sjodin <jan.sjodin@amd.com>
9761fcc7
HJ
4549
4550 PR tree-optimization/38500
4551 * graphite.c (create_sese_edges): Call fix_loop_structure after
4552 splitting blocks.
4553
c95b2534 45542009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
48a01864
JS
4555
4556 * config.gcc: Add m32r*-*-rtems*.
4557 * config/m32r/rtems.h: New file.
4558
fc0cd180
BE
45592009-01-05 Ben Elliston <bje@au.ibm.com>
4560
4561 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
4562 (.po.pox): Likewise.
4563 (po/gcc.pot): Likewise.
4564
3106d8e5
DM
45652009-01-04 David S. Miller <davem@davemloft.net>
4566
4567 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
4568 (STARTING_FRAME_OFFSET): Always set to zero.
4569
0009b473
RS
45702009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
4571
4572 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
4573 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
4574 fixed-point types, and vectors of the same.
4575
4f24c6d6
RS
45762009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
4577
4578 * config/mips/sync.md (*mb_barrier): Rename to...
4579 (*memory_barrier): ...this.
4580
1df48f5c
JW
45812009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
4582
4583 * doc/extend.texi (Function Attributes): Move @cindex after @item
eefe5da0 4584 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1df48f5c
JW
4585 and put in alphabetical order. Fix 'target' name and put in order.
4586 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
4587 typos.
4588
1a8c13b3
UB
45892009-01-04 Uros Bizjak <ubizjak@gmail.com>
4590
4591 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
4592 (memory_barrier): Expand as unspec instead of unspec_volatile.
4593 Remove mem:BLK from insn operands. Use Pmode scratch register.
4594 (*memory_barrier): Define as unspec instead of unspec_volatile.
4595 Use (match_dup 0) as input operand.
4596
4597 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
4598 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
4599 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
4600 scratch register. Remove operand 1.
4601 (*stbar): Define as unspec instead of unspec_volatile.
4602 Use (match_dup 0) as input operand, remove (const_int 8).
4603 (*membar): Define as unspec instead of unspec_volatile.
4604 Use (match_dup 0) as input operand, remove input operand 2.
4605
4606 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
4607 (memory_barrier): Expand as unspec instead of unspec_volatile.
4608 Remove mem:BLK from insn operands. Use Pmode scratch register.
4609 (*memory_barrier): Define as unspec instead of unspec_volatile.
4610 Use (match_dup 0) as input operand.
4611
4612 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
4613 Remove mem:BLK from insn operands. Use Pmode scratch register.
4614 Set volatile flag on operand 0.
4615 (*memory_barrier): New insn pattern.
4616
4617 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
4618 insn operands.
4619 (*memory_barrier): Use (match_dup 0) as input operand.
4620
4621 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
4622 Remove mem:BLK from insn operands. Use Pmode scratch register.
4623 Set volatile flag on operand 0.
301b6a4e 4624 (*mb_internal): New insn pattern.
1a8c13b3
UB
4625
4626 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
4627
fb0703f7
SB
46282009-01-04 Steven Bosscher <steven@gcc.gnu.org>
4629
4630 PR middle-end/38586
4631 * function.c (struct temp_slot): Move to the section of the file
4632 that deals with temp slots. Remove field 'address'.
4633 (temp_slot_address_table): New hash table of address -> temp slot.
4634 (struct temp_slot_address_entry): New struct, items for the table.
4635 (temp_slot_address_compute_hash, temp_slot_address_hash,
4636 temp_slot_address_eq, insert_temp_slot_address): Support functions
4637 for the new table.
4638 (find_temp_slot_from_address): Rewrite to use the new hash table.
4639 (remove_unused_temp_slot_addresses): Remove addresses of temp
4640 slots that have been made available.
4641 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
4642 worker function for remove_unused_temp_slot_addresses.
4643 (assign_stack_temp_for_type): Don't clear the temp slot address list.
4644 Add the temp slot address to the address -> temp slot map.
4645 (update_temp_slot_address): Update via insert_temp_slot_address.
4646 (free_temp_slots): Call remove_unused_temp_slot_addresses.
4647 (pop_temp_slots): Likewise.
4648 (init_temp_slots): Allocate the address -> temp slot map, or empty
4649 the map if it is already allocated.
4650 (prepare_function_start): Initialize temp slot processing.
4651
b5a430f3
SB
46522009-01-04 Steven Bosscher <steven@gcc.gnu.org>
4653
4654 PR middle-end/38584
4655 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
4656 Calculate the size of all stack vars assuming no packing of stack
4657 vars will happen, replacing a quadratic algorithm with a linear one.
4658
5d560619
JJ
46592009-01-03 Jakub Jelinek <jakub@redhat.com>
4660
4661 PR target/38707
4662 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
4663 can't be used.
4664
953a7caa
DN
46652009-01-03 Diego Novillo <dnovillo@google.com>
4666
4667 * doc/contrib.texi: Update contributions.
4668
5f26a230
JJ
46692009-01-03 Jakub Jelinek <jakub@redhat.com>
4670
493aa551
JJ
4671 PR c++/38705
4672 * builtins.c (fold_builtin_memory_op): Give up if either operand
4673 is volatile. Set srctype or desttype to non-qualified version
4674 of the other type.
4675
5f26a230
JJ
4676 PR c/38700
4677 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
4678 and FUNCTION_DECLs.
4679
c95b2534 46802009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
fafe34f9
KZ
4681
4682 PR rtl-optimization/35805
4683 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
4684 problem if fast dce is able to remove any instructions.
4685 * dce.c (dce_process_block): Fix dump message.
4686
0b355794
MM
46872009-01-02 Mark Mitchell <mark@codesourcery.com>
4688
4689 PR 33649
4690 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
4691
0cf0d02b
JJ
46922009-01-02 Jakub Jelinek <jakub@redhat.com>
4693
4694 PR middle-end/38690
4695 * tree-flow.h (op_code_prio, op_prio): New prototypes.
4696 * tree-pretty-print.c (op_code_prio): New function.
4697 (op_prio): No longer static. Use op_code_prio.
4698 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
4699 Use op_prio and op_code_prio to determine if () should be
4700 printed around operand(s) or not.
4701
4702 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
4703 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
4704 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
4705 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
4706 pp_character instead of pp_string for single letter printing.
4707
e3606f3b
RS
47082009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4709
4710 * doc/extend.texi: Fix '#pragma GCC option' typo.
4711
c95b2534 47122009-01-02 Richard Guenther <rguenther@suse.de>
00f39bd5 4713
a5f061dc
RG
4714 * doc/install.texi (--enable-checking): Mention different
4715 default for stage1.
4716 (--enable-stage1-checking): Document.
00f39bd5 4717
26de0bcb
AP
47182009-01-01 Andrew Pinski <pinskia@gmail.com>
4719
4720 PR middle-end/30142
4721 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
4722 case to be an error.
4723
7a7d8fab
BE
47242009-01-02 Ben Elliston <bje@au.ibm.com>
4725
4726 * config/fp-bit.h (pack_d): Constify argument.
4727 * config/fp-bit.c (makenan): Constify return type. Remove casts.
4728 (isnan): Constify argument.
4729 (isinf): Likewise.
4730 (iszero): Likewise.
4731 (pack_d): Likewise.
4732 (_fpadd_parts): Constify return type.
4733 (_fpmul_parts): Likewise.
4734 (_fpdiv_parts): Likewise.
4735
b295aee2
JJ
47362009-01-01 Jakub Jelinek <jakub@redhat.com>
4737
4738 PR c/36489
4739 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
4740 warn about overwriting initializer with side-effects or
4741 -Woverride-init if !IMPLICIT.
4742 (output_init_element): Likewise. Pass IMPLICIT down to
4743 add_pending_init.
4744 (process_init_element): Add IMPLICIT argument. Pass it down
4745 to output_init_element.
4746 (push_init_element, pop_init_level, set_designator): Adjust
4747 process_init_element callers.
4748 (set_nonincremental_init, set_nonincremental_init_from_string):
4749 Adjust add_pending_init callers.
4750 (output_pending_init_elements): Adjust output_init_element callers.
4751 * c-tree.h (process_init_element): Adjust prototype.
4752 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
4753 process_init_element callers.
This page took 0.720682 seconds and 5 git commands to generate.