]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
pt.c (make_fnparm_pack): Split out from...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
3691626c
RG
12009-03-23 Richard Guenther <rguenther@suse.de>
2
3 * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
4 * tree.h (struct tree_type): Likewise.
5 * reload.h (struct insn_chain): Likewise.
6 * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
7 * function.h (struct function): Likewise.
8 * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
9
88ccb72a
JJ
102009-03-23 Jakub Jelinek <jakub@redhat.com>
11
12 PR tree-optimization/39516
13 * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
14
a583a67e
BM
152009-03-23 Bingfeng Mei <bmei@broadcom.com>
16
17 * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
18 should be set true if BITS_PER_WORD of target is bigger than 32
19
f82162f8
HPN
202009-03-22 Hans-Peter Nilsson <hp@axis.com>
21
22 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
23 Translate -B-options to -rpath-link. Correct existing
24 rpath-link and conditionalize on !nostdlib.
25
048fd785
RW
262009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27
28 * doc/extend.texi (Function Attributes, Variable Attributes):
29 Fix typos.
30 * doc/invoke.texi (Debugging Options, Optimize Options)
31 (i386 and x86-64 Options, MCore Options): Likewise.
32
6e75c1a9
JJ
332009-03-20 Jakub Jelinek <jakub@redhat.com>
34
35 PR debug/37890
36 * dwarf2out.c (gen_namespace_die): Add context_die argument and use
37 it for block local namespace aliases.
38 (gen_decl_die): Pass context_die to gen_namespace_die.
39
ea1199ee
JJ
402009-03-19 Jakub Jelinek <jakub@redhat.com>
41
42 PR c/39495
43 * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
44 minimum or maximum value.
45
58929c10
AO
462009-03-19 Alexandre Oliva <aoliva@redhat.com>
47
48 * reginfo.c (globalize_reg): Recompute derived reg sets.
49
234952b3
OS
502009-03-19 Ozkan Sezer <sezeroz@gmail.com>
51
52 PR target/39063
53 * libgcc2.c (mprotect): Do not use signed arguments for
54 VirtualProtect, use DWORD arguments. Also fix the 'may
55 be used uninitialized' warning for the np variable.
56
f57c2f04
JJ
572009-03-19 Jakub Jelinek <jakub@redhat.com>
58
59 PR target/39496
60 * config/i386/i386.c (ix86_function_regparm): Don't optimize local
61 functions using regparm calling conventions when not optimizing.
62 (ix86_function_sseregparm): Similarly for sseregparm calling
63 conventions.
64
9e517d61
LF
652009-03-19 Li Feng <nemokingdom@gmail.com>
66
67 PR middle-end/39500
68 * tree-data-ref.c (analyze_subscript_affine_affine): There is no
69 dependence if the first conflict is after niter iterations.
70
8ef20026
HPN
712009-03-19 Hans-Peter Nilsson <hp@axis.com>
72
73 PR middle-end/38609
74 * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
75 functions with dynamic stack-pointer adjustments.
76
64e4a1a6
BE
772009-03-19 Ben Elliston <bje@au.ibm.com>
78
79 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
80 option; change to -msdata=data.
81
9a0f3e86
RW
822009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
83
84 * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
85 and -fopenmp.
86
09bc5979
EB
872009-03-18 Eric Botcazou <ebotcazou@adacore.com>
88
89 PR target/35180
90 * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
91
332459cd
SL
922009-03-18 Sandra Loosemore <sandra@codesourcery.com>
93
94 * doc/invoke.texi (Code Gen Options): Expand discussion of
95 -fno-common.
96
8f5929e1
JJ
972009-03-18 Jakub Jelinek <jakub@redhat.com>
98
99 * dse.c (struct group_info): Reorder fields for 64-bit hosts.
100 * matrix-reorg.c (struct matrix_info): Likewise.
101 * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
102 * rtl.h (struct mem_attrs): Likewise.
103 * df.h (struct df): Likewise.
104 * tree-data-ref.h (struct data_dependence_relation): Likewise.
105 * ira-int.h (struct ira_allocno): Likewise.
106 * df-scan.c (struct df_collection_rec): Likewise.
107 * ira.c (struct equivalence): Likewise.
108 * function.c (struct temp_slot): Likewise.
109 * cfgloop.h (struct loop): Likewise.
110
d130d647
JJ
111 PR debug/39485
112 * function.c (use_register_for_decl): When not optimizing, disregard
113 register keyword for variables with types containing methods.
114
9968d233
SP
1152009-03-18 Sebastian Pop <sebastian.pop@amd.com>
116
117 PR middle-end/39447
118 * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
119 (is_simple_operand): Call contains_component_ref_p before calling data
120 reference analysis that would fail on COMPONENT_REFs.
121
122 * tree-vrp.c (search_for_addr_array): Fix formatting.
123
69484bfd
RG
1242009-03-18 Richard Guenther <rguenther@suse.de>
125
126 * tree-vect-transform.c (vect_loop_versioning): Fold the
127 generated comparisons.
128 * tree-vectorizer.c (set_prologue_iterations): Likewise.
129 (slpeel_tree_peel_loop_to_edge): Likewise.
130
66811228
RW
1312009-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
132
0631b69f
RW
133 PR middle-end/37805
134 * opts.c (print_specific_help): In addition to `undocumented',
135 accept `separate' and `joined' flags if passed alone. Describe
136 output by the first matched one of those.
137 (common_handle_option): Skip over empty strings.
138 * gcc.c (display_help): Fix help string for `--help='.
139 * doc/invoke.texi (Option Summary, Overall Options): With
140 `--help=', classes and qualifiers can both be repeated, but
141 only the latter can be negated. One should not pass only
142 negated qualifiers. Fix markup and examples.
143
66811228
RW
144 Revert
145 2008-10-14 Jakub Jelinek <jakub@redhat.com>
146 PR middle-end/37805
147 * opts.c (common_handle_option): Don't ICE on -fhelp=joined
148 and -fhelp=separate.
149
3c072c6b
JY
1502009-03-17 Jing Yu <jingyu@google.com>
151
152 PR middle-end/39378
80c65208
JY
153 * function.h (struct rtl_data): Move is_thunk from here...
154 (struct function): ...to here.
155 * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
3c072c6b
JY
156 * varasm.c (assemble_start_function): Change is_thunk from crtl to
157 cfun.
80c65208
JY
158 * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
159 cfun.
160 (alpha_does_function_need_gp, alpha_start_function): Likewise.
161 (alpha_output_function_end_prologue): Likewise.
162 (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
163 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
164 (rs6000_output_function_epilogue): Likewise.
165 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
3c072c6b 166
9ade279b
UB
1672009-03-17 Uros Bizjak <ubizjak@gmail.com>
168
169 PR target/39482
170 * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
171 from different units in a single alternative.
172 (*truncdfsf_i387): Ditto.
173 (*truncxfsf2_mixed): Ditto.
174 (*truncxfdf2_mixed): Ditto.
175
16e60c17
JJ
1762009-03-17 Jakub Jelinek <jakub@redhat.com>
177
98381eb4
JJ
178 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
179 non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
180
df5deb18
JJ
181 PR debug/39474
182 * tree-ssa-live.c (remove_unused_locals): Don't remove local
183 unused non-artificial variables when not optimizing.
184
a3f596ba
JJ
185 PR debug/39471
186 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
187 DW_TAG_imported_module even if decl is IMPORTED_DECL with
188 NAMESPACE_DECL in its DECL_INITIAL.
189
6b2b8871
JJ
190 PR middle-end/39443
191 * optabs.c (set_user_assembler_libfunc): New function.
192 * expr.h (set_user_assembler_libfunc): New prototype.
193 * c-common.c: Include libfuncs.h.
194 (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
195 for memcmp, memset, memcpy, memmove and abort.
196 * Makefile.in (c-common.o): Depend on libfuncs.h.
197
16e60c17
JJ
198 PR debug/39412
199 * dwarf2out.c (gen_inlined_enumeration_type_die,
200 gen_inlined_structure_type_die, gen_inlined_union_type_die,
201 gen_tagged_type_instantiation_die): Removed.
202 (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
203 do nothing.
204
4d936aca
JJ
2052009-03-17 Janis Johnson <janis187@us.ibm.com>
206
207 PR testsuite/38526
208 * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
209 its use.
210 (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
211 (check-parallel-%): Ditto.
212 (check-consistency): Ditto.
213
4e9b2e50
KT
2142009-03-17 Kai Tietz <kai.tietz@onevision.com>
215
216 * ipa-struct-reorg.c (create_general_new_stmt): Initialize
217 local variable rhs by NULL_TREE.
218
21440b2d
L
2192009-03-17 H.J. Lu <hongjiu.lu@intel.com>
220
221 PR target/39477
9ade279b 222 * doc/extend.texi: Correct register behavior for regparm on Intel 386.
21440b2d 223
d8905c6a
L
2242009-03-17 H.J. Lu <hongjiu.lu@intel.com>
225
226 PR target/39476
9ade279b 227 * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
d8905c6a
L
228
2292009-03-17 H.J. Lu <hongjiu.lu@intel.com>
435a61d3
L
230
231 PR target/39473
232 * config/i386/i386.c (ix86_expand_call): Check extra clobbers
233 for ms->sysv ABI calls only in 64bit mode.
234
235 * config/i386/i386.md (untyped_call): Support 32bit.
236
cdcabece
L
2372009-03-16 H.J. Lu <hongjiu.lu@intel.com>
238
239 * doc/extend.texi: Replace x86_65 with x86_64.
240
97b4ba9f
JJ
2412009-03-16 Jakub Jelinek <jakub@redhat.com>
242
243 PR tree-optimization/39455
244 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
245 mismatches for POINTER_TYPE_P (type).
246 (number_of_iterations_le): Likewise.
247
83c191e1
HS
2482009-03-16 Hariharan Sandanagobalane <hariharan@picochip.com>
249
250 * config/picochip/picochip.c: Removed profiling support.
251 * config/picochip/picochip.md: Removed profiling instruction.
252 * config/picochip/picochip.h: Removed profiling builtin.
253
f38095f3
JM
2542009-03-16 Joseph Myers <joseph@codesourcery.com>
255
256 * doc/install.texi (--with-host-libstdcxx): Document.
257
2cb4817b
AS
2582009-03-14 Anatoly Sokolov <aesok@post.ru>
259
260 PR target/34299
261 * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
262 generate a warning if the function name does not begin with
263 "__vector" and the function has either the 'signal' or 'interrupt'
264 attribute, from here to ...
265 (avr_declare_function_name): ...here. New function.
266 * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
267 * config/avr/avr-protos.h (avr_declare_function_name): Declare.
268
39b2ac74
JJ
2692009-03-14 Jakub Jelinek <jakub@redhat.com>
270
271 PR bootstrap/39454
272 * cse.c (fold_rtx): Don't modify original const_arg1 when
273 canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
274 separate variable instead.
275 * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
276 from out of range shift counts.
277 (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
278
f7a82dee
CM
2792008-03-13 Catherine Moore <clm@codesourcery.com>
280
9ade279b 281 * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
f7a82dee
CM
282 diagnostic.h with $(DIAGNOSTIC_H).
283
03a18198
JJ
2842008-03-12 Jakub Jelinek <jakub@redhat.com>
285
286 PR target/39431
287 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
288 predicate.
289 * config/i386/sync.md (sync_compare_and_swap<mode>,
290 sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
291 if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
292 into a register.
293 (sync_double_compare_and_swapdi_pic,
294 sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
295 cmpxchg8b_pic_memory_operand instead of just memory_operand.
296
122c59c7
L
2972009-03-12 H.J. Lu <hongjiu.lu@intel.com>
298
299 PR target/39445
9ade279b 300 * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
122c59c7 301
cec8874f
L
3022009-03-12 H.J. Lu <hongjiu.lu@intel.com>
303
304 PR target/39327
305 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
306 (avx_addsubv4df3): Likewise.
307 (*avx_addsubv4sf3): Likewise.
308 (sse3_addsubv4sf3): Likewise.
309
bbb52802
L
3102009-03-12 H.J. Lu <hongjiu.lu@intel.com>
311
312 PR target/38824
9ade279b 313 * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
bbb52802 314
a812fb07
VM
3152009-03-12 Vladimir Makarov <vmakarov@redhat.com>
316
317 PR debug/39432
318 * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
319 * ira-conflicts.c (ira_build_conflicts): Prohibit call used
320 registers for allocnos created from user-defined variables.
321
4caab5ba
UW
3222009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
323
324 PR target/39181
325 * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
326 of non-integer mode as well.
327
498e51ca
AN
3282009-03-11 Adam Nemet <anemet@caviumnetworks.com>
329
330 * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
331 for functions for which the parameter types are unknown.
332
9bfaf89d
JJ
3332009-03-11 Jakub Jelinek <jakub@redhat.com>
334
335 PR target/39137
9ade279b 336 * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
9bfaf89d
JJ
337 * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
338 * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
339 * config/i386/i386.c (ix86_local_alignment): For
340 -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
341 long long variables on the stack to avoid dynamic realignment.
342 Allow the first argument to be a decl rather than type.
343 * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
344
18a3bdcb
NC
3452009-03-11 Nick Clifton <nickc@redhat.com>
346
347 PR target/5362
40190a76
NC
348 * config/mcore/mcore.opt: Remove deprecated m4align and m8align
349 options.
350 Add description to mno-lsim option.
351 * config/mcore/mcore.h: Remove comment about deprecated m4align
352 option.
353 (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
354 * doc/invoke.texi: Add description of mno-lsim and
355 mstack-increment options.
356
18a3bdcb
NC
357 * config/fr30/fr30.opt: Document the -mno-lsim option.
358 * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
359 and -mno-lsim options.
360
dc215785
UW
3612009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
362
363 * fold-const.c (fold_comparison): Only call fold_inf_compare
364 if the mode supports infinities.
365
7716876b
JM
3662009-03-11 Jason Merrill <jason@redhat.com>
367
368 PR debug/39086
369 * tree-nrv.c (tree_nrv): Don't do this optimization if the front
370 end already did. Notice GIMPLE_CALL modifications of the result.
371 Don't copy debug information from an ignored decl or a decl from
372 another function.
373
ddef83d2
RG
3742009-03-10 Richard Guenther <rguenther@suse.de>
375 Nathan Froyd <froydnj@codesourcery.com>
376
377 PR middle-end/37850
9ade279b 378 * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
ddef83d2
RG
379 (__divMODE3): Likewise.
380
9a9ba8d9
JJ
3812009-03-09 Jakub Jelinek <jakub@redhat.com>
382
383 PR tree-optimization/39394
384 * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
385 DECL_SIZE_UNIT of variable length FIELD_DECLs.
386
929b7fc3
AK
3872009-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
388
389 * recog.c (verfiy_changes): Disallow renaming of hard regs in
390 inline asms for register asm ("") declarations.
391
1803581d
EB
3922009-03-09 Eric Botcazou <ebotcazou@adacore.com>
393
394 * fold-const.c (fold_unary): Fix comment.
395
8454d27e
JH
3962009-03-07 Jan Hubicka <jh@suse.cz>
397
398 PR target/39361
399 * tree-inline.c (setup_one_parameter): Do replacement of const argument
400 by constant in SSA form.
401
3a695389
UW
4022009-03-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
403
404 PR middle-end/38028
405 * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
406 determine alignment passed to assign_stack_local.
407 (assign_parms_unsplit_complex): Likewise.
408 * except.c (sjlj_build_landing_pads): Likewise.
409
9f0e7885
JJ
4102009-03-06 Jakub Jelinek <jakub@redhat.com>
411
65401a0b
JJ
412 PR middle-end/39360
413 * tree-flow.h (add_referenced_var): Return bool instead of void.
414 * tree-dfa.c (add_referenced_var): Return result of
415 referenced_var_check_and_insert call.
416 * tree-inline.c (expand_call_inline): Call add_referenced_var instead
417 of referenced_var_check_and_insert.
418
9f0e7885 419 PR debug/39372
9ade279b 420 * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
9f0e7885
JJ
421 (gen_variable_die): Emit DW_AT_location on abstract static variable's
422 DIE, don't emit it if abstract origin already has it.
423 * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
424 BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
425
3b664bd1
JBG
4262009-03-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
427
428 * genpreds.c: (needs_variable): Fix parentheses at variable name
429 detection.
430 (write_tm_constrs_h): Indent generated code.
431
d8f8ca80
RR
4322009-03-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
433
434 * doc/extend.texi (Function Attributes): Add documentation
435 for isr attributes.
436
6c3d550c
JJ
4372009-03-06 Jakub Jelinek <jakub@redhat.com>
438
439 PR debug/39387
440 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
441 take locus from its DECL_SOURCE_LOCATION instead of input_location.
442
f9e96751
BS
4432009-03-05 Bernd Schmidt <bernd.schmidt@analog.com>
444
445 * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
446 the loop as bad.
447
ee0ee7e2
JJ
4482009-03-05 Jakub Jelinek <jakub@redhat.com>
449
450 PR debug/39379
451 * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
452 with blocks containing IMPORTED_DECLs in BLOCK_VARS.
453
6c6094f1
UB
4542009-03-05 Uros Bizjak <ubizjak@gmail.com>
455
456 * config/i386/i386.md (R8_REG, R9_REG): New constants.
457 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
458 constants instead of magic numbers.
459 (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
460 (QI_REG_P): Ditto.
461 * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
462 (x86_64_ms_abi_int_parameter_registers): Ditto.
463 (x86_64_int_return_registers): Ditto.
09f8a8d3 464 (ix86_maybe_switch_abi): Ditto.
6c6094f1
UB
465 (ix86_expand_call): Ditto for clobbered_registers array.
466 (ix86_hard_regno_mode_ok): Ditto.
467 (x86_extended_QIreg_mentioned_p): Ditto.
468
b267bd41
R
4692009-03-05 J"orn Rennecke <joern.rennecke@arc.com>
470
6c6094f1 471 PR tree-optimization/39349
1f3ad3f0
R
472 * cse.c (cse_insn): Fix loop to stop at VOIDmode.
473
b267bd41
R
474 * combine.c (gen_lowpart_for_combine): Use omode when generating
475 clobber.
476
1242bc9d
R
4772009-03-04 J"orn Rennecke <joern.rennecke@arc.com>
478
6c6094f1 479 PR rtl-optimization/39235
1242bc9d
R
480 * loop-iv.c (get_simple_loop_desc): Use XCNEW.
481
48f03606
ZD
4822009-03-04 Zdenek Dvorak <ook@ucw.cz>
483
484 * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
485
b505e785
RG
4862009-03-04 Richard Guenther <rguenther@suse.de>
487
488 PR tree-optimization/39362
489 * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
490 that occur in abnormal PHIs should be varying.
491
f017bf5e
ZD
4922009-03-04 Zdenek Dvorak <ook@ucw.cz>
493
494 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
495 Extend comments.
496 (simple_iv): Take loop as an argument instead of statement.
497 * tree-scalar-evolution.h (simple_iv): Declaration changed.
498 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
499 to simple_iv.
500 * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
501 Ditto.
502 * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
503 * matrix-reorg.c (analyze_transpose): Ditto.
504 * tree-data-ref.c (dr_analyze_innermost): Ditto.
505 * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
506 * tree-predcom.c (ref_at_iteration): Ditto.
507 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
508
6a66f28e
RG
5092009-03-04 Richard Guenther <rguenther@suse.de>
510
511 PR tree-optimization/39358
512 * tree-ssa-structalias.c (do_sd_constraint): Fix check for
513 escaped_id and callused_id.
514 (solve_graph): Likewise.
515
57e454ee
RG
5162009-03-04 Richard Guenther <rguenther@suse.de>
517
518 PR tree-optimization/39339
519 * tree-sra.c (try_instantiate_multiple_fields): Make it
520 no longer ICE on the above.
521
a6fe9ed4
JM
5222009-03-03 Joseph Myers <joseph@codesourcery.com>
523
524 * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
525 that fits within Pmode.
526
dc672951
SE
5272009-03-03 Steve Ellcey <sje@cup.hp.com>
528
529 PR middle-end/10109
530 * tm.texi (LIBCALL_VALUE): Update description.
531
8b9d598f
SE
5322009-03-03 Steve Ellcey <sje@cup.hp.com>
533
534 PR middle-end/34443
535 * doc/extend.texi (section): Update description.
536
13e4e36e
L
5372009-03-03 H.J. Lu <hongjiu.lu@intel.com>
538
539 PR middle-end/39345
540 * tree-inline.c (remapped_type): New.
541 (can_be_nonlocal): Call remapped_type instead of remap_type.
542
067dd3c9
JJ
5432009-03-03 Jakub Jelinek <jakub@redhat.com>
544
545 PR fortran/39354
546 * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
547 TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
548
9bd9f738
RG
5492009-03-03 Richard Guenther <rguenther@suse.de>
550
551 PR middle-end/39272
552 * tree.c (tree_nonartificial_location): New function.
553 * tree.h (tree_nonartificial_location): Declare.
554 * builtins.c (expand_builtin_memory_chk): Provide location
555 of the call location for artificial function pieces.
556 (maybe_emit_chk_warning): Likewise.
557 (maybe_emit_sprintf_chk_warning): Likewise.
558 (maybe_emit_free_warning): Likewise.
559 * expr.c (expand_expr_real_1): Likewise.
560
f07049c8
JJ
5612009-03-03 Jakub Jelinek <jakub@redhat.com>
562
563 PR tree-optimization/39343
564 * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
565 COMPONENT_REF t has ARRAY_TYPE.
566
7d4fba4a
SP
5672009-03-02 Sebastian Pop <sebastian.pop@amd.com>
568
569 PR middle-end/39335
570 * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
571 when the type precision of the induction variable should be
572 larger than the type precision of nit.
573 (gen_parallel_loop): Update use of canonicalize_loop_ivs.
574 * graphite.c (graphite_loop_normal_form): Same.
575 * tree-flow.h (canonicalize_loop_ivs): Update declaration.
576
78168632
UB
5772009-03-02 Uros Bizjak <ubizjak@gmail.com>
578
579 * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
580 (*call_1_rex64_ms_sysv): Use named constants instead of magic
6c6094f1 581 numbers to describe clobbered registers.
78168632 582 (*call_value_0_rex64_ms_sysv): Ditto.
6c6094f1
UB
583 * config/i386/mmx.md (mmx_emms): Ditto.
584 (mmx_femms): Ditto.
78168632 585
63553059
RS
5862009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
587
588 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
589 of ABI_64.
590
500a1f85
UW
5912009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
592
593 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
594 (spu_section_type_flags): New function.
595
962aae34
UB
5962009-03-02 Uros Bizjak <ubizjak@gmail.com>
597
598 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
599 reg_class_contents of FLOAT_REGS into a temporary.
600
6dfb529c 6012009-03-02 Richard Guenther <rguenther@suse.de>
962aae34 602 Ira Rosen <irar@il.ibm.com>
6dfb529c
RG
603
604 PR tree-optimization/39318
605 * tree-vect-transform.c (vectorizable_call): Transfer the EH region
606 information to the vectorized statement.
607
6b5629db
UB
6082009-03-01 Uros Bizjak <ubizjak@gmail.com>
609
434426d2
UB
610 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
611 variable. Use defined names instead of magic constants for REX SSE
612 registers.
6b5629db 613
14e5b285
RG
6142009-03-01 Richard Guenther <rguenther@suse.de>
615
616 PR tree-optimization/39331
617 * omp-low.c (lower_send_shared_vars): Do not receive new
618 values for the reference of DECL_BY_REFERENCE parms or results.
619
526d73ab
JH
6202009-03-01 Jan Hubicka <jh@suse.cz>
621
622 PR debug/39267
623 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
624 BLOCK_NONLOCALIZED_VAR): New macros.
625 (tree_block): Add nonlocalized_vars.
f4ea99bd
EB
626 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
627 gen_decl_die): Add origin argument. Allow generation of die with
628 origin at hand only.
526d73ab 629 (gen_member_die, gen_type_die_with_usage, force_decl_die,
f4ea99bd
EB
630 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
631 of gen_*.
526d73ab
JH
632 (gen_block_die): Fix checking for unused blocks.
633 (process_scope_var): Break out from .... ; work with origins only.
634 (decls_for_scope) ... here; process nonlocalized list.
635 (dwarf2out_ignore_block): Look for nonlocalized vars.
f4ea99bd
EB
636 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
637 vars.
526d73ab
JH
638 (dump_scope_block): Dump them.
639 * tree-inline.c (remap_decls): Handle nonlocalized vars.
640 (remap_block): Likewise.
641 (can_be_nonlocal): New predicate.
642 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
643
7a9d3fe8
RW
6442009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
645
646 * configure: Regenerate.
647
b3cdf3cb
RW
6482009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
649
a16d1645 650 * optc-gen.awk: No need to duplicate option flags twice.
9ade279b 651 Reuse help texts for duplicate options which do not have any.
a16d1645 652
1156c176
RW
653 * gcc.c (display_help): Document --version.
654
033505fc
RW
655 * gcc.c (main): If print_help_list and verbose_flag, ensure
656 driver output comes before subprocess output.
657
4d077054
RW
658 * optc-gen.awk: Assign all remaining fields to help string,
659 space-separated, for multi-line help in *.opt.
660
a072f1cf
RW
661 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
662 -Wno-pedantic-ms-format is for MinGW targets only.
663
b3cdf3cb
RW
664 * doc/options.texi (Option file format): Fix bad indentation,
665 restoring dropped sentence.
666
a3aadcc5
JH
6672009-02-28 Jan Hubicka <jh@suse.cz>
668
669 * tree-inline.c (tree_function_versioning): Output debug info.
670
1cf5abb3
JH
6712009-02-28 Jan Hubicka <jh@suse.cz>
672
673 PR debug/39267
674 * tree-inline.c (setup_one_parameter): Do not copy propagate
675 arguments when not optimizing.
676
c4d3f42f
L
6772009-02-28 H.J. Lu <hongjiu.lu@intel.com>
678
679 PR target/39327
680 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
681 (avx_addsubv4df3): Likewise.
682 (*avx_addsubv4sf3): Likewise.
683 (sse3_addsubv4sf3): Likewise.
684 (*avx_addsubv2df3): Likewise.
685 (sse3_addsubv2df3): Likewise.
686 (avx_unpckhps256): Correct item selectors.
687 (avx_unpcklps256): Likewise.
688 (avx_unpckhpd256): Likewise.
689 (avx_unpcklpd256): Likewise.
690
eb50f5f4
JH
6912009-02-28 Jan Hubicka <jh@suse.cz>
692
693 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
694 static vars.
695 (copy_arguments_for_versioning): If var is declared don't declare it.
696 (tree_function_versioning): First setup substitutions and then copy
697 args.
698
26140130
JH
6992009-02-27 Jan Hubicka <jh@suse.cz>
700
701 PR debug/39267
702 * cgraph.h (varpool_output_debug_info): Remove.
703 * cgraphunit.c (varpool_output_debug_info): Remove.
704 * dwarf2out.c (deferred_locations_struct): New struct
705 (deferred_locations): New type.
706 (deferred_locations_list): New static var.
707 (deffer_location): New function.
708 (gen_variable_die): Use it.
709 (decls_for_scope): Output info on local static vars.
710 (dwarf2out_finish): Process deferred locations.
711 * varpool.c (varpool_output_debug_info): Remove.
712
cff7525f
JH
7132009-02-27 Jan Hubicka <jh@suse.cz>
714
715 PR debug/39267
716 * tree.h (TREE_PROTECTED): Fix comment.
717 (BLOCK_HANDLER_BLOCK): Remove.
718 (struct tree_block): Remove handler_block add body_block.
719 (inlined_function_outer_scope_p): New.
720 (is_body_block): Remove.
721 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
722 * dwarf2out.c (is_inlined_entry_point): Remove.
723 (add_high_low_attributes): Use inlined_function_outer_scope_p.
f10a1c6c
EB
724 (gen_block_die): Use is_inlined_entry_point check. Remove body block
725 code.
cff7525f
JH
726 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
727 * gimplify.c (gimplify_expr): Gimplify body blocks.
f10a1c6c
EB
728 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
729 block with multiple subblocks.
cff7525f
JH
730 (dump_scope_block): Prettier output; dump more flags and info.
731 (dump_scope_blocks): New.
732 (remove_unused_locals): Use dump_scope_blocks.
733 * tree-flow.h (dump_scope_blocks): Declare.
734 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
735 * stmt.c (is_body_block): Remove.
736 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
737 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
738
c20993b9
SP
7392009-02-27 Sebastian Pop <sebastian.pop@amd.com>
740
741 PR middle-end/39308
742 * graphite.c (graphite_loop_normal_form): Do not call
743 number_of_iterations_exit from a gcc_assert.
744
e3cba5e5
AK
7452009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
746
747 * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
748 jumps if COND is NULL.
749 (find_cond_jump): New function.
750 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
751 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
752
9dadeeb8
UB
7532009-02-26 Uros Bizjak <ubizjak@gmail.com>
754
755 * config/alpha/alpha.h (alpha_expand_mov): Return false if
756 force_const_mem returns NULL_RTX.
757
625d3251
EB
7582009-02-26 Jan Hubicka <jh@suse.cz>
759
760 PR debug/39267
761 * cgraph.h (varpool_output_debug_info): Remove.
762 * cgraphunit.c (varpool_output_debug_info): Remove.
763 * dwarf2out.c (deferred_locations_struct): New struct
764 (deferred_locations): New type.
765 (deferred_locations_list): New static var.
766 (deffer_location): New function.
767 (gen_variable_die): Use it.
768 (decls_for_scope): Output info on local static vars.
769 (dwarf2out_finish): Process deferred locations.
770 * varpool.c (varpool_output_debug_info): Remove.
771
38432148 7722009-02-25 H.J. Lu <hongjiu.lu@intel.com>
8592acaf
L
773
774 PR rtl-optimization/39241
775 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
776 to subreg_offset_representable_p.
777
62d049cf
PB
7782009-02-25 Paolo Bonzini <bonzini@gnu.org>
779
780 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
781 execute function prototype. Get f and nregs from max_reg_num
782 and get_insns. Remove the first backward pass as it's dead,
783 guard the forward pass by flag_expensive_optimizations.
784 (rest_of_handle_regmove): Delete.
785 (pass_regmove): Replace it with regmove_optimize.
786
f618d33e
MJ
7872009-02-25 Martin Jambor <mjambor@suse.cz>
788
789 PR tree-optimization/39259
790 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
6c6094f1 791 calls_alloca function flags.
f618d33e
MJ
792 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
793 calls are detected.
794
c8a05f7c
PB
7952009-02-25 Paolo Bonzini <bonzini@gnu.org>
796
797 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
798 flags_set_1_rtx, flags_set_1_set): Delete.
799 (regmove_optimize): Do not call mark_flags_life_zones.
800
6d2538f5
JB
8012009-02-24 Julian Brown <julian@codesourcery.com>
802
803 PR target/35965
804 * config/arm/arm.c (require_pic_register): Only set
805 cfun->machine->pic_reg once per function.
806
a2fa6772
SL
8072009-02-24 Sandra Loosemore <sandra@codesourcery.com>
808
809 * doc/invoke.texi (Link Options): Document an easier way to pass
9dadeeb8 810 options that take arguments to the GNU linker using -Xlinker and -Wl.
a2fa6772 811
5472de36
SE
8122009-02-24 Steve Ellcey <sje@cup.hp.com>
813
814 PR target/33785
815 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
816
844216f3
RG
8172009-02-24 Richard Guenther <rguenther@suse.de>
818
819 PR debug/39285
820 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
821
71adbef3 8222009-02-24 Richard Guenther <rguenther@suse.de>
8592acaf 823 Zdenek Dvorak <ook@ucw.cz>
71adbef3
RG
824
825 PR tree-optimization/39233
826 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
827 from converting them to a generic type.
828
f1a558e0
SP
8292009-02-23 Sebastian Pop <sebastian.pop@amd.com>
830
831 PR tree-optimization/39260
832 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
833 contains a condition with a real type.
834 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
835
d8028f2c
JM
8362009-02-23 Jason Merrill <jason@redhat.com>
837
838 PR c++/38880
839 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
840 narrowing_initializer_constant_valid_p.
841 (narrowing_initializer_constant_valid_p): Don't return
842 null_pointer_node for adding a pointer to itself.
843
9283b513
JH
8442009-02-23 Jan Hubicka <jh@suse.cz>
845
846 PR c/12245
9dadeeb8
UB
847 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
848 resizing.
9283b513 849
61e04322
JH
8502009-02-23 Jan Hubicka <jh@suse.cz>
851
9dadeeb8
UB
852 PR tree-optimization/37709
853 * tree.c (block_ultimate_origin): Move here from dwarf2out.
854 * tree.h (block_ultimate_origin): Declare.
855 * dwarf2out.c (block_ultimate_origin): Move to tree.c
61e04322
JH
856 * tree-ssa-live.c (remove_unused_scope_block_p):
857 Eliminate blocks containig no instructions nor live variables nor
858 nested blocks.
859 (dump_scope_block): New function.
860 (remove_unused_locals): Enable removal of dead blocks by default;
9dadeeb8 861 enable dumping at TDF_DETAILS.
61e04322 862
38432148 8632009-02-21 H.J. Lu <hongjiu.lu@intel.com>
5339d3ea
L
864
865 * config/i386/i386.c (classify_argument): Don't allow COImode
866 and OImode.
867 (function_arg_advance_32): Don't allow OImode.
868 (function_arg_32): Likewise.
869 (function_value_32): Likewise.
870 (return_in_memory_32): Likewise.
871 (function_arg_64): Remove OImode comment.
872
38432148 8732009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f161e158
L
874
875 PR target/39261
876 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
877 ix86_expand_vector_set for V4DImode in 64bit mode only.
878 (ix86_expand_vector_init_one_var): Likewise.
879
dcd739a6
SP
8802009-02-21 Sebastian Pop <sebastian.pop@amd.com>
881
882 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
883
6c3b938d
RS
8842009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
885
8e361f23 886 PR bootstrap/39257
6c3b938d
RS
887 * loop-iv.c: Revert last change.
888 * emit-rtl.c: Likewise.
889
38432148 8902009-02-21 H.J. Lu <hongjiu.lu@intel.com>
4c64d3dd
L
891
892 PR target/39256
893 * config/i386/i386.c (type_natural_mode): Remove an extra
894 space in the warning message.
895 (function_value_32): Handle 32-byte vector modes.
896 (return_in_memory_32): Likewise.
897
2ec62529
RS
8982009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
899
900 * loop-iv.c (truncate_value): New function.
901 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
902 of lowpart_subreg.
903 (lowpart_subreg): Move to...
904 * emit-rtl.c: ...here.
905
ecb8c3cc 9062009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
f814e489 907
ecb8c3cc
DS
908 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
909 accidental and undocumented change at revision 140860.
910
ae46a823
JM
9112009-02-21 Joseph Myers <joseph@codesourcery.com>
912
913 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
914 take gimple_seq * arguments.
915 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
916 types_compatible_p langhook.
917
07d8efe3 9182009-02-20 Mark Mitchell <mark@codesourcery.com>
f814e489 919 Joseph Myers <joseph@codesourcery.com>
07d8efe3
MM
920
921 * config/arm/arm.c (arm_builtin_va_list): New function.
922 (arm_expand_builtin_va_start): Likewise.
923 (arm_gimplify_va_arg_expr): Likewise.
924 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
925 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
926 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
927 (va_list_type): New variable.
928 (arm_mangle_type): Mangle va_list_type appropriately.
929
b1fb9f56
JJ
9302009-02-20 Jakub Jelinek <jakub@redhat.com>
931
932 PR middle-end/39157
933 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
934 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
935 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
936 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
937 parameter to 1000 for -O1 by default.
938 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
939 parameter.
940 * loop-invariant.c: Include params.h.
941 (move_loop_invariants): Don't call move_single_loop_invariants on
942 very large loops.
943
5bc0807c
JM
9442009-02-20 Jaka Mocnik <jaka@xlab.si>
945
946 * calls.c (emit_library_call_value_1): Use slot_offset instead of
947 offset when calculating bounds for indexing stack_usage_map. Fixes
948 a buffer overflow with certain target setups.
949
c69cd1f5
JJ
9502009-02-20 Jakub Jelinek <jakub@redhat.com>
951
952 PR target/39240
953 * calls.c (expand_call): Clear try_tail_call if caller and callee
954 disagree in promotion of function return value.
955
09812622
JJ
9562009-02-19 Jakub Jelinek <jakub@redhat.com>
957
958 PR target/39175
959 * c-common.c (c_determine_visibility): If visibility changed and
960 DECL_RTL has been already set, call make_decl_rtl to update symbol
961 flags.
962
68017cb4
L
9632009-02-19 H.J. Lu <hongjiu.lu@intel.com>
964
965 PR c++/39188
966 * varasm.c (assemble_variable): Don't check DECL_NAME when
967 globalizing a variable.
968
ab4194da
JM
9692009-02-19 Joseph Myers <joseph@codesourcery.com>
970
971 PR c/38483
972 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
973 expression before any __builtin_trap call.
974 * c-typeck.c (build_function_call): Convert and check function
975 arguments before generating a call to a trap. Evaluate the
976 function arguments before the trap.
977
6b67572e
UB
9782009-02-19 Uros Bizjak <ubizjak@gmail.com>
979
980 PR target/39228
981 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
982 (UNSPEC_FXAM_MEM): New unspec.
983 (fxam<mode>2_i387_with_temp): New insn and split pattern.
984 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
985 memory using fxam<mode>2_i387_with_temp to remove excess precision.
986
9e39dba6
RG
9872009-02-19 Richard Guenther <rguenther@suse.de>
988
989 PR tree-optimization/39207
990 PR tree-optimization/39074
991 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
992 storedanything_tree): New.
993 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
6b67572e 994 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
9e39dba6
RG
995 (build_succ_graph): Add edges from STOREDANYTHING to all
996 non-direct nodes.
997 (init_base_vars): Initialize STOREDANYTHING.
998 (compute_points_to_sets): Free substitution info after
999 building the succ graph.
1000 (ipa_pta_execute): Likewise.
1001
1002 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
1003 field.
1004 (do_ds_constraint): Do not add to special var or non-pointer
1005 field solutions.
1006 (type_could_have_pointers): Split out from ...
1007 (could_have_pointers): ... here. For arrays use the element type.
1008 (create_variable_info_for): Initialize may_have_pointers.
1009 (new_var_info): Likewise.
1010 (handle_lhs_call): Make the HEAP variable unknown-sized.
1011 (intra_create_variable_infos): Use a type with pointers for
1012 PARM_NOALIAS, make it unknown-sized.
1013
fd7b2603
L
10142009-02-18 H.J. Lu <hongjiu.lu@intel.com>
1015
1016 PR target/39224
6b67572e 1017 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
fd7b2603 1018
98b80692
JM
10192009-02-18 Jason Merrill <jason@redhat.com>
1020
1021 PR target/39179
1022 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
1023 value if DECL_EXTERNAL.
1024 * tree-sra.c (sra_walk_gimple_assign): Likewise.
1025 * target.h (gcc_target::binds_local_p): Clarify "module".
1026 * tree.h (TREE_PUBLIC): Clarify "module".
1027
0705d3f4
L
10282009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
1029
1030 PR target/38891
1031 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
1032 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
1033
bce08d50
L
10342009-02-17 H.J. Lu <hongjiu.lu@intel.com>
1035
1036 PR target/39082
1037 * c.opt (Wabi): Support C and ObjC.
1038 (Wpsabi): New.
1039
1040 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
1041
1042 * config/i386/i386.c (classify_argument): Warn once about the ABI
1043 change when passing union with long double.
1044
1045 * doc/invoke.texi: Update -Wabi for warning psABI changes.
1046
5600f233
JM
10472009-02-18 Joseph Myers <joseph@codesourcery.com>
1048
1049 PR c/35447
1050 * c-parser.c (c_parser_compound_statement): Always enter and leave
1051 a scope.
1052
8cd01fe6
JDA
10532009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1054
1055 PR target/34587
1056 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
1057
418df9d7
JJ
10582009-02-18 Jakub Jelinek <jakub@redhat.com>
1059
1060 PR tree-optimization/36922
1061 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
1062 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
1063 Likewise.
1064
082d2ebb
RS
10652009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1066
1067 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
1068 to 0 for EABI64.
1069
17de576c
RS
10702009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1071
1072 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
1073
6d8d5435
RS
10742009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1075
1076 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
1077 tree sharing.
1078
e69ff910
RB
10792009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
1080 Richard Sandiford <rdsandiford@googlemail.com>
1081
1082 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
1083 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
1084 (loongson_biadd): ...this.
1085
6b24ee26
RG
10862009-02-17 Richard Guenther <rguenther@suse.de>
1087
1088 PR tree-optimization/39202
1089 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
1090 a var make sure to follow existing collapses.
1091
91ab2c86
RG
10922009-02-17 Richard Guenther <rguenther@suse.de>
1093
1094 PR middle-end/39214
1095 * langhooks.c (lhd_print_error_function): Check for NULL block.
1096
73a63870
RG
10972009-02-17 Richard Guenther <rguenther@suse.de>
1098
1099 PR tree-optimization/39204
1100 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
1101 of the PHI arg.
1102
0e08f686
UB
11032009-02-17 Uros Bizjak <ubizjak@gmail.com>
1104
1105 * config/soft-fp/double.h: Update from glibc CVS.
1106
a60b7ddb
RG
11072009-02-17 Richard Guenther <rguenther@suse.de>
1108
1109 PR tree-optimization/39207
1110 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
1111 strict-aliasing warnings for pointers pointing to NULL.
1112
a47e20fd
JM
11132009-02-16 Joseph Myers <joseph@codesourcery.com>
1114
1115 PR c/35446
1116 * c-parser.c (c_parser_braced_init): Call pop_init_level when
1117 skipping until next close brace.
1118
50aab7dc
L
11192009-02-16 H.J. Lu <hongjiu.lu@intel.com>
1120
1121 PR target/37049
1122 * config/i386/i386.c (ix86_expand_push): Set memory alignment
1123 to function argument boundary.
1124
68e53db0
HS
11252009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
1126
1127 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
1128 in the lea_add. Reload eventually constraints it properly.
1129 * config/picochip/constraints.md : Remove the target constraint
1130 "b", since it is not needed anymore.
1131
09e361bb
JJ
11322009-02-16 Jakub Jelinek <jakub@redhat.com>
1133
1134 * gthr-dce.h: Uglify function parameter and local variable names.
1135 * gthr-gnat.h: Likewise.
1136 * gthr-mipssde.h: Likewise.
1137 * gthr-nks.h: Likewise.
1138 * gthr-posix95.h: Likewise.
1139 * gthr-posix.h: Likewise.
1140 * gthr-rtems.h: Likewise.
1141 * gthr-single.h: Likewise.
1142 * gthr-solaris.h: Likewise.
1143 * gthr-tpf.h: Likewise.
1144 * gthr-vxworks.h: Likewise.
1145 * gthr-win32.h: Likewise.
1146
47f5a48f
L
11472009-02-15 H.J. Lu <hongjiu.lu@intel.com>
1148
1149 PR target/39196
1150 * config/i386/i386.md: Restrict the new peephole2 to move
1151 between MMX/SSE registers.
1152
68c9ab45
RG
11532009-02-15 Richard Guenther <rguenther@suse.de>
1154
1155 Revert
1156 2009-02-13 Richard Guenther <rguenther@suse.de>
1157
1158 * configure.ac: Enable LFS.
1159 * configure: Re-generate.
1160 * config.in: Likewise.
1161
d7815554
UW
11622009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1163
1164 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
1165 spu_srqwbyte, spu_srqwbytebc): Define.
1166 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
1167 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
1168 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
1169 "shrqby_<mode>"): New insn-and-split patterns.
1170 * config/spu/spu.c (expand_builtin_args): Determine and return
1171 number of operands using spu_builtin_description data.
1172 (spu_expand_builtin_1): Use it.
1173
c208436c
SE
11742009-02-13 Steve Ellcey <sje@cup.hp.com>
1175
1176 PR target/38056
1177 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1178 TARGET_CONST_GP.
1179
c2e7ba7e
L
11802009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1181
1182 PR target/39149
1183 * config/i386/i386.c (override_options): Correct warning
6c6094f1 1184 messages for -malign-loops, -malign-jumps and -malign-functions.
c2e7ba7e 1185
72f4e3a7
L
11862009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1187
1188 PR target/39152
1189 * config/i386/i386.md: Restrict the new peephole2 to move
1190 between the general purpose registers.
1191
53f648e2
L
11922009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1193
1194 PR target/39162
1195 * config/i386/i386.c (type_natural_mode): Add a new argument.
6b67572e 1196 Return the original mode and warn ABI change if vector size is 32byte.
53f648e2
L
1197 (function_arg_advance): Updated.
1198 (function_arg): Likewise.
1199 (ix86_function_value): Likewise.
1200 (ix86_return_in_memory): Likewise.
1201 (ix86_sol10_return_in_memory): Likewise.
1202 (ix86_gimplify_va_arg): Likewise.
1203 (function_arg_32): Don't warn ABX ABI change here.
1204 (function_arg_64): Likewise.
1205
38432148 12062009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
b1c92d54
BS
1207
1208 * loop-iv.c (implies_p): In the final case, test that operands 0
1209 of the two comparisons match.
1210
dd2139e7
BS
1211 * config/bfin/bfin.c (find_prev_insn_start): New function.
1212 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
1213 (find_next_insn_start): Move.
1214
601b3e1a
RG
12152009-02-13 Richard Guenther <rguenther@suse.de>
1216
1217 * configure.ac: Enable LFS.
1218 * configure: Re-generate.
1219 * config.in: Likewise.
1220
f007042e
JM
12212009-02-13 Joseph Myers <joseph@codesourcery.com>
1222
1223 PR c/35444
1224 * c-parser.c (c_parser_parms_list_declarator): Discard pending
1225 sizes on syntax error after some arguments have been parsed.
1226
3f238e8b
JJ
12272009-02-12 Jakub Jelinek <jakub@redhat.com>
1228
1229 * doc/invoke.texi (-fira): Remove.
1230
328e13b7
L
12312009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1232
1233 * caller-save.c: Replace regclass.c with reginfo.c in comments.
1234 * recog.c: Likewise.
1235 * rtl.h: Likewise.
1236
c252db20
L
12372009-02-12 Uros Bizjak <ubizjak@gmail.com>
1238
1239 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
1240 (umul_ppmm): Likewise.
1241 (count_leading_zeros): Likewise.
1242 (count_trailing_zeros): Likewise.
1243 (UMUL_TIME): Likewise.
1244
12452009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1246
ba181049
UB
1247 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
1248 soft-fp/t-softfp to tmake_file.
c252db20
L
1249
1250 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
ba181049
UB
1251 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
1252 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
1253 IA64_BUILTIN_INFQ]: New.
c252db20
L
1254 (ia64_init_builtins): Initialize __builtin_infq,
1255 __builtin_fabsq and __builtin_copysignq if not HPUX.
1256 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
1257 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
1258
1259 * config/ia64/lib1funcs.asm (__divtf3): Define only if
1260 SHARED is defined.
1261 (__fixtfti): Likewise.
1262 (__fixunstfti): Likewise.
1263 (__floattitf): Likewise.
1264
1265 * config/ia64/libgcc-glibc.ver: New.
1266 * config/ia64/t-fprules-softfp: Likewise.
1267 * config/ia64/sfp-machine.h: Likewise.
1268
1269 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
1270 (LIBGCC2_TF_CEXT): Likewise.
1271 (TF_SIZE): Likewise.
1272 (TARGET_INIT_LIBFUNCS): Likewise.
1273
ba181049 1274 * config/ia64/t-glibc (SHLINB_MAPFILES):
6b67572e 1275 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
c252db20 1276
f13eae6a
L
12772009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1278
1279 * config/i386/i386.c (construct_container): Rewrite processing
1280 BLKmode with X86_64_SSE_CLASS.
1281
12019aec
L
12822009-02-12 Paolo Bonzini <bonzini@gnu.org>
1283
1284 PR target/39152
1285 * config/i386/i386.md: Replace simplify_replace_rtx with
1286 replace_rtx in the new peephole2.
1287
28c11eb3
NS
12882009-02-12 Nathan Sidwell <nathan@codesourcery.com>
1289
1290 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
1291 loop unrolling do not happen at -O2.
1292
c7b94907
MM
12932009-02-12 Michael Matz <matz@suse.de>
1294
1295 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
1296
61e98967
JJ
12972009-02-12 Jakub Jelinek <jakub@redhat.com>
1298
1299 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
1300 for -g3.
1301
a2a237b5
BE
13022009-02-12 Ben Elliston <bje@au.ibm.com>
1303
1304 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
1305 patterns when updating the back chain. Missed in the 2009-02-10
1306 change.
1307
853eda8d
JJ
13082009-02-11 Janis Johnson <janis187@us.ibm.com>
1309
1310 * doc/extend.texi (Decimal Floating Types): Update identifier of
1311 draft TR and list of missing support.
1312
3ad6b266
JJ
13132009-02-11 Jakub Jelinek <jakub@redhat.com>
1314
1315 PR middle-end/39154
1316 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
1317 bit to variable length decl's flags, add it also to its
1318 pointer replacement variable.
1319
b058b753
UB
13202009-02-11 Uros Bizjak <ubizjak@gmail.com>
1321 Jakub Jelinek <jakub@redhat.com>
1322
1323 PR target/39118
1324 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1325 (memory_blockage): New expander.
1326 (*memory_blockage): New insn pattern.
1327 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1328 instead of general blockage at the end of function prologue when
1329 frame pointer is used to access red zone area. Do not emit blockage
1330 when profiling, it is emitted in generic code.
1331 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1332 function epilogue when frame pointer is used to access red zone area.
1333
bab64f23
PB
13342009-02-11 Paolo Bonzini <bonzini@gnu.org>
1335
0ce6dcfa 1336 PR target/38824
bab64f23
PB
1337 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
1338 by arithmetic with memory operands.
1339 * config/i386/predicates.md (commutative_operator): New.
1340
8fd94bda
JJ
13412009-02-10 Janis Johnson <janis187@us.ibm.com>
1342
1343 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
1344 bulleted lists.
1345
794511d2
EB
13462009-02-10 Eric Botcazou <ebotcazou@adacore.com>
1347
1348 * alias.h (record_alias_subset): Declare.
1349 * alias.c (record_alias_subset): Make global.
1350
6da7fc87
NC
13512009-02-10 Nick Clifton <nickc@redhat.com>
1352
1353 * tree-parloops.c: Change license to GPLv3.
1354 * ipa-struct-reorg.c: Change license to GPLv3.
1355 * ipa-struct-reorg.h: Change license to GPLv3.
1356
a03813c8
SE
13572009-02-10 Steve Ellcey <sje@cup.hp.com>
1358
1359 PR c/39084
1360 * c-decl.c (start_struct): Return NULL on error.
1361
fc3103e7
JJ
13622009-02-10 Jakub Jelinek <jakub@redhat.com>
1363
9b43d37b
JJ
1364 PR middle-end/39124
1365 * cfgloopmanip.c (remove_path): Call remove_bbs after
1366 cancel_loop_tree, not before it.
1367
fc3103e7 1368 PR target/39139
b058b753 1369 * function.h (struct function): Add has_local_explicit_reg_vars bit.
fc3103e7
JJ
1370 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
1371 VAR_DECLs were seen.
1372 * tree-ssa-live.c (remove_unused_locals): Recompute
1373 cfun->has_local_explicit_reg_vars.
1374 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
1375 copies or clearings if cfun->has_local_explicit_reg_vars.
1376
dbf9ee15
UB
13772009-02-10 Uros Bizjak <ubizjak@gmail.com>
1378
1379 PR target/39118
1380 * config/i386/i386.c (expand_prologue): Emit blockage at the end
1381 of function prologue when frame pointer is used to access
1382 red zone area.
1383
bdec4dc7
RG
13842009-02-10 Richard Guenther <rguenther@suse.de>
1385
1386 PR middle-end/39127
1387 * gimplify.c (gimple_regimplify_operands): Always look if
1388 we need to create a temporary.
1389
7cae94fc
RG
13902009-02-10 Richard Guenther <rguenther@suse.de>
1391
1392 PR tree-optimization/39132
1393 * tree-loop-distribution.c (todo): New global var.
1394 (generate_memset_zero): Trigger TODO_rebuild_alias.
1395 (tree_loop_distribution): Return todo.
1396
a8800687
L
13972009-02-10 H.J. Lu <hongjiu.lu@intel.com>
1398
1399 PR target/39119
1400 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
1401 (x86_64_reg_class_name): Removed.
1402 (classify_argument): Return 0 if bytes > 32. Return 0 if the
1403 first one isn't X86_64_SSE_CLASS or any other ones aren't
1404 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
1405 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
1406 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
1407 and 3 X86_64_SSEUP_CLASS.
1408 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
1409 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
1410
d4bacef0
BE
14112009-02-10 Ben Elliston <bje@au.ibm.com>
1412
1413 * config/rs6000/rs6000.md (allocate_stack): Always use an update
1414 form instruction to update the stack back chain word, even if the
1415 user has disabled the generation of update instructions.
1416 (movdi_<mode>_update_stack): New.
1417 (movsi_update_stack): Likewise.
1418 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
1419 always use an update form instruction to update the stack back
1420 chain word.
1421
01d7d2f3
SP
14222009-02-09 Sebastian Pop <sebastian.pop@amd.com>
1423
1424 PR middle-end/38953
b058b753
UB
1425 * graphite.c (if_region_set_false_region): After moving a region in
1426 the false branch of a condition, remove the empty dummy basic block.
01d7d2f3
SP
1427 (gloog): Remove wrong fix for PR38953.
1428
e41e2ab4
UW
14292009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1430
1431 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
1432 generation due to implicit sign extension.
1433
4bb07c5d
EB
14342009-02-09 Eric Botcazou <ebotcazou@adacore.com>
1435
1436 PR middle-end/38981
1437 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
1438 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
1439
f060a261
RG
14402009-02-09 Richard Guenther <rguenther@suse.de>
1441
1442 PR middle-end/35202
1443 * convert.c (convert_to_real): Disable (float)fn((double)x)
1444 to fnf(x) conversion if errno differences may occur and
1445 -fmath-errno is set.
1446
5a7e237c
AS
14472009-02-07 Anatoly Sokolov <aesok@post.ru>
1448
1449 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
1450 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1451 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1452
feab5a67
JM
14532009-02-06 Joseph Myers <joseph@codesourcery.com>
1454
1455 PR c/35434
1456 * c-common.c (handle_alias_attribute): Disallow attribute for
1457 anything not a FUNCTION_DECL or VAR_DECL.
1458
90ef2296
JJ
14592009-02-06 Janis Johnson <janis187@us.ibm.com>
1460
1461 PR c/39035
1462 * real.c (do_compare): Special-case compare of zero against
1463 decimal float value.
1464
1de2c900
JM
14652009-02-06 Joseph Myers <joseph@codesourcery.com>
1466
1467 PR c/36432
1468 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
1469 as indicating flexible array members unless the field itself is
1470 being declarared as the incomplete array.
1471
e901811a
JH
14722009-02-06 Jan Hubicka <jh@suse.cz>
1473
1474 PR tree-optimization/38844
1475 * ipa-inline.c (try_inline): Stop inlining recursion when edge
1476 is already inlined.
1477
3cfa762b
RG
14782009-02-06 Richard Guenther <rguenther@suse.de>
1479
1480 PR middle-end/38977
1481 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
1482 fork because we may expand it as __gcov_fork.
1483
8506528c
NC
14842009-02-06 Nick Clifton <nickc@redhat.com>
1485
dbf9ee15 1486 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
8506528c 1487
85169114
PB
14882009-02-06 Paolo Bonzini <bonzini@gnu.org>
1489
1490 PR tree-optimization/35659
1491 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
1492 vn_phi_eq): Shortcut if hashcode does not match.
1493 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
1494 NULL operands.
1495 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
1496 and avoid iterative_hash_expr.
1497 (FOR_EACH_VALUE_ID_IN_SET): New.
1498 (value_id_compare): Remove.
1499 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
1500 sort expressions by value id.
1501
6d39673d
KK
15022009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
1503
1504 PR target/38991
1505 * config/sh/predicates.md (general_movsrc_operand): Don't check
1506 the subreg of system registers here.
1507
e6e1c050
JJ
15082009-02-05 Jakub Jelinek <jakub@redhat.com>
1509
1510 PR c++/39106
1511 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
1512 on the copied decl.
1513
65a74b5d
PB
15142009-02-05 Paolo Bonzini <bonzini@gnu.org>
1515
1516 PR rtl-optimization/39110
1517 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
1518 addresses, not aligned ones.
1519
08e14b2a
DB
15202009-02-05 Daniel Berlin <dberlin@dberlin.org>
1521 Richard Guenther <rguenther@suse.de>
1522
1523 PR tree-optimization/39100
1524 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1525 comment says and add edges.
1526
5006381c
JM
15272009-02-05 Joseph Myers <joseph@codesourcery.com>
1528
1529 PR c/35435
1530 * c-common.c (handle_tls_model_attribute): Ignore attribute for
1531 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1532
b0789219
TG
15332009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
1534
1535 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
1536 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
1537 register_bb_in_sese, new_sese, free_sese): Moved.
1538 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
1539 outermost_loop_in_scop, build_scop_iteration_domain,
1540 expand_scalar_variables_ssa_name, get_vdef_before_scop,
1541 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
1542 Use loop_in_sese_p instead of loop_in_scop_p.
1543 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
1544 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
1545 (scopdet_basic_block_info): Fix bug in scop detection.
1546 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
1547 eq_loop_to_cloog_loop): Remove.
1548 (nb_loops_around_loop_in_scop, nb_loop
1549 ref_nb_loops): Moved here...
1550 * graphite.h (ref_nb_loops): ... from here.
1551 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
1552 (loop_domain_dim, loop_iteration_vector_dim): Remove.
1553 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
1554 * testsuite/gcc.dg/graphite/scop-19.c: New
1555
48e8382e
PB
15562009-02-04 Paolo Bonzini <bonzini@gnu.org>
1557 Hans-Peter Nilsson <hp@axis.com>
1558
1559 PR rtl-optimization/37889
1560 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
1561 Move offset handling from PLUS to before the switch. Use new
1562 arguments when considering SYMBOL_REFs too.
1563 (rtx_addr_can_trap_p): Pass dummy offset and size.
1564 (enum may_trap_p_flags): Remove.
1565 (may_trap_p_1): Pass size from MEM_SIZE.
1566
1567 PR rtl-optimization/38921
1568 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
1569 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
1570 * rtlanal.c (may_trap_after_code_motion_p): Delete.
1571 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
1572
69349ea5
L
15732009-02-04 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 AVX Programming Reference (January, 2009)
1576 * config/i386/sse.md (*vpclmulqdq): New.
1577
b545e411
JJ
15782009-02-04 Jakub Jelinek <jakub@redhat.com>
1579
1580 PR tree-optimization/38977
1581 PR gcov-profile/38292
bf9b2cc9 1582 * calls.c (special_function_p): Disregard __builtin_ prefix.
b545e411 1583
5b43bf05
HS
15842009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
1585
1586 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
1587 non-indexable addresses even before reload.
1588
062c4bb3
JM
15892009-02-03 Joseph Myers <joseph@codesourcery.com>
1590
1591 PR c/29129
1592 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
1593 as having variable size. Do not give an error for unnamed
1594 parameters with [*] declarators. Give a warning for type names
1595 with [*] declarators and mark them as variable size.
1596 * c-parser.c (c_parser_sizeof_expression): Do not give an error
1597 for sizeof applied to [*] type names.
1598
6175f578
AP
15992009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
1600
1601 PR C++/36607
1602 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1603
d4f4bc84
JJ
16042009-02-03 Jakub Jelinek <jakub@redhat.com>
1605
1606 * gcc.c (process_command): Update copyright notice dates.
1607 * gcov.c (print_version): Likewise.
1608 * gcov-dump.c (print_version): Likewise.
1609 * mips-tfile.c (main): Likewise.
1610 * mips-tdump.c (main): Likewise.
1611
f6294de7
JM
16122009-02-03 Joseph Myers <joseph@codesourcery.com>
1613
1614 PR c/35433
1615 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1616 for composite type involving a zero-length array type.
1617
754ccf7c
JJ
16182009-02-03 Jakub Jelinek <jakub@redhat.com>
1619
70f16287
JJ
1620 PR target/35318
1621 * function.c (match_asm_constraints_1): Skip over
1622 initial optional % in the constraint.
1623
754ccf7c
JJ
1624 PR inline-asm/39059
1625 * c-parser.c (c_parser_postfix_expression): If fixed point is not
1626 supported, don't accept FIXED_CSTs.
1627 * c-decl.c (finish_declspecs): Error if fixed point is not supported
1628 and _Sat is used without _Fract/_Accum. Set specs->type to
1629 integer_type_node for cts_fract/cts_accum if fixed point is not
1630 supported.
1631
965fdadf
CM
16322009-02-02 Catherine Moore <clm@codesourcery.com>
1633
dbf9ee15 1634 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
965fdadf 1635
2e8a796f
RS
16362009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1637
1638 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1639 (ABI_HAS_64BIT_SYMBOLS): Use it.
1640 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1641
e0079468
PB
16422009-02-02 Paul Brook <paul@codesourcery.com>
1643
1644 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1645
eca72963
JJ
16462009-02-02 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR inline-asm/39058
1649 * recog.h (asm_operand_ok): Add constraints argument.
1650 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
1651 recurse on matching constraint.
1652 (check_asm_operands): Pass constraints as 3rd argument to
1653 asm_operand_ok. Don't look up matching constraint here.
1654 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1655 to asm_operand_ok.
1656
b5bde9ff
BE
16572009-02-02 Ben Elliston <bje@au.ibm.com>
1658
1659 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1660 TARGET_NARROW_VOLATILE_BITFIELD macro names.
1661
30f3e427
JDA
16622009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1663
be7659ba
JDA
1664 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1665 information. Remove some obsolete information. Reorganize.
1666
30f3e427
JDA
1667 * config/pa/fptr.c: Revert license to GPL 2.
1668 * config/pa/milli64.S: Likewise.
1669
3cbfaf98
DK
16702009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1671
1672 PR target/38904
1673 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
1674 LIBRARY name in, instead of hard-coding it.
1675 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
1676 extra target make frag to tmake_files according to EH model.
1677 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1678 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
1679 frags that define makefile variable EH_MODEL appropriately.
1680 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
1681 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
1682 to "-sjlj" according to type of EH configured.
1683 (LIBGCC_SONAME): Concatenate it to shared library base name.
1684 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
1685 to "_sjlj" according to type of EH configured.
1686 (LIBGCC_SONAME): Concatenate it to shared library base name.
1687 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
1688 (SHLIB_LINK): Add missing semicolon to if-else construct.
1689 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1690 string value of "pe_dll" command-line option.
1691 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
1692 (SHLIB_SONAME): Use it when overriding t-cygming default.
1693 (SHLIB_IMPLIB): Override t-cygming default.
1694 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1695 string value of "pe_dll" command-line option.
1696
8d0b6068
DK
16972009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1698
1699 PR target/38952
1700 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
bf9b2cc9 1701 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
8d0b6068 1702
14c28276
RG
17032009-01-31 Richard Guenther <rguenther@suse.de>
1704
1705 PR tree-optimization/38937
1706 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1707 computing the transitive closure.
1708
5f4d82c2
RG
17092009-01-30 Richard Guenther <rguenther@suse.de>
1710
1711 PR tree-optimization/39041
1712 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1713 Propagate variable indices only if the types match for this stmt.
1714
d0728ae0
JJ
17152009-01-30 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR target/39013
1718 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1719 inline but never defined.
1720
6b67572e 17212009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
9fec758d
WG
1722
1723 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1724 (*insv_h_di_reg_extimm): New insn.
1725 (*insv_l<mode>_reg_extimm): New insn.
1726
17272009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
9e8be1e4
HS
1728
1729 * config/picochip/picochip.c (flag_conserve_stack): set
1730 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1731 fconserve-stack. Reduce call-overhead used by inliner.
1732
9fec758d 17332009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
df9198ab
HS
1734
1735 PR/38157
1736 * common.opt (flag_conserve_stack): Initialised to zero.
1737
7f1c539c
KT
17382009-01-30 Kai Tietz <kai.tietz@onevision.com>
1739
1740 PR/39002
1741 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1742 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1743 method.
1744
3631be48
L
17452009-01-29 H.J. Lu <hongjiu.lu@intel.com>
1746
1747 * ira-color.c (allocno_reload_assign): Update comments.
1748 * regmove.c (regmove_optimize): Likewise.
1749
1750 * ra.h: Removed.
1751
416ac4d4
RM
17522009-01-29 Robert Millan <rmh@aybabtu.com>
1753
1754 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1755 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
1756 `MD_UNWIND_SUPPORT'.
1757 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1758
d5e54bc1
KH
17592009-01-29 Kazu Hirata <kazu@codesourcery.com>
1760
1761 PR tree-optimization/39007
1762 * tree-loop-distribution.c (generate_builtin): Use
1763 recompute_dominator to compute the immediate dominator of the
1764 basic block just after the loop.
1765
38432148 17662009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
e9e077fa
RO
1767
1768 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1769 (ASM_OUTPUT_DWARF_PCREL): Define.
1770
38432148 17712009-01-29 Vladimir Makarov <vmakarov@redhat.com>
2af2dbdc
VM
1772
1773 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1774 * doc/passes.texi: Remove entries about regclass, local-alloc, and
1775 global. Modify entries about regmove and IRA.
1776
1777 * ra-conflict.c: Remove the file.
1778
1779 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1780
1781 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1782 (pass_regclass_init): Rename to pass_reginfo_init.
1783
1784 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1785
1786 * toplev.h (flag_ira): Remove.
1787
1788 * caller-save.c (setup_save_areas): Remove flag_ira.
1789
bf9b2cc9 1790 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
2af2dbdc
VM
1791
1792 * global.c: Remove the file.
1793
1794 * opts.c: (decode_options): Remove flag_ira.
1795
1796 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1797
1798 * regmove.c: Modify file description.
1799 (find_use_as_address, try_auto_increment): Define them only if
1800 AUTO_INC_DEC is defined.
1801 (replacement_quality, replace_in_call_usage, fixup_match_1,
1802 stable_and_no_regs_but_for_p): Remove.
1803 (reg_set_in_bb): Make it static.
1804 (regmove_optimize): Remove flag_ira and code which worked for
1805 !flag_ira.
1806
1807 * local-alloc.c: Remove the file.
1808
1809 * common.opt (fira): Remove.
1810
1811 * ira.c: Include except.h.
1812 (eliminable_regset): Move from global.c.
1813 (mark_elimination): Ditto. Remove flag_ira.
1814 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1815 equiv_mem_modified, validate_equiv_mem_from_store,
1816 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1817 contains_replace_regs, memref_referenced_p, memref_used_between_p,
1818 no_equiv, recorded_label_ref): Move from local-alloc.c.
1819 (update_equiv_regs): Ditto. Make it static.
1820 (print_insn_chain, print_insn_chains): Move it from global.c.
bf9b2cc9 1821 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
2af2dbdc
VM
1822 (build_insn_chain): Ditto. Make it static.
1823 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
1824 Rename to init_live_subregs.
1825 (gate_ira): Remove flag_ira.
1826
1827 * regclass.c: Rename reginfo.c. Change file description.
1828 (FORBIDDEN_INC_DEC_CLASSES): Remove.
dbf9ee15 1829 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
2af2dbdc
VM
1830 (init_reg_sets_1): Remove code for evaluation of
1831 reg_class_superclasses and losing_caller_save_reg_set.
1832 (init_regs): Remove init_reg_autoinc.
1833 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1834 ok_for_base_p_nonstrict): Remove.
bf9b2cc9 1835 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
2af2dbdc
VM
1836 (pass_regclass_init): Rename to pass_reginfo_init. Modify
1837 corresponding entries.
1838 (dump_regclass, record_operand_costs, scan_one_insn,
1839 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1840 record_address_regs, auto_inc_dec_reg_p): Remove.
1841 (gt-regclass.h): Rename to gt-reginfo.h.
1842
1843 * rtl.h (dump_global_regs, retry_global_alloc,
bf9b2cc9 1844 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
2af2dbdc
VM
1845
1846 * Makefile.in (RA_H): Remove.
1847 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1848 Rename regclass.o to reginfo.o.
1849 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
1850 gt-reginfo.h.
1851 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1852 (GTFILES): Rename regclass.c to reginfo.c.
1853
1854 * passes.c (init_optimization_passes): Remove pass_local_alloc and
bf9b2cc9 1855 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
2af2dbdc
VM
1856
1857 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1858 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1859 Remove flag_ira.
6b67572e 1860 (finish_spills): Ditto. Remove code for !flag_ira.
2af2dbdc 1861
c95b2534 18622009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
00b251a0
KZ
1863
1864 PR middle-end/35854
1865 * doc/invoke.texi (rtl debug options): Complete rewrite.
1866 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1867 to auto_inc_dec".
1868 * mode-switching.c (pass_mode_switching): Rename pass from
1869 "mode-sw" to "mode_sw".
1870 * except.c (pass_convert_to_eh_ranges): Rename pass from
1871 "eh-ranges" to "eh_ranges".
1872 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1873 to "subreg1".
1874
1875
72a54528
AM
18762009-01-29 Andrey Belevantsev <abel@ispras.ru>
1877 Alexander Monakov <amonakov@ispras.ru>
1878
1879 PR middle-end/38857
1880 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1881 register.
1882 (move_exprs_to_boundary): Change return type and pass through
1883 should_move from move_op. Relax assert. Update usage ...
1884 (schedule_expr_on_boundary): ... here. Use should_move instead of
1885 cant_move.
1886 (move_op_orig_expr_found): Indicate that insn was disconnected from
1887 stream.
1888 (code_motion_process_successors): Do not call after_merge_succs
1889 callback if original expression was not found when traversing any of
1890 the branches.
1891 (code_motion_path_driver): Change return type. Update prototype.
1892 (move_op): Update comment. Add a new parameter (should_move). Update
1893 prototype. Set *should_move based on indication provided by
1894 move_op_orig_expr_found.
1895
001b9eb6
PH
18962009-01-28 Pat Haugen <pthaugen@us.ibm.com>
1897
1898 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1899 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1900 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1901 * config/rs6000/rs6000.c (rs6000_override_options): Default
1902 avoid-indexed-addresses on for Power6, off for everything else.
1903 (avoiding_indexed_address_p): New function.
1904 (rs6000_legitimize_address): Use it.
1905 (rs6000_legitimate_address): Likewise.
1906 * config/rs6000/rs6000.md (movXX_updateX): Likewise
1907
59dc4898
KH
19082009-01-28 Kazu Hirata <kazu@codesourcery.com>
1909
1910 PR tree-optimization/38997
1911 * tree-loop-distribution.c (generate_memset_zero): Use
1912 POINTER_PLUS_EXPR for a pointer addition.
1913
07da44ab
AK
19142009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
1915
1916 * config/s390/s390.md (bswap<mode>2): New pattern added.
1917
cdc15d23
WG
19182009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1919
1920 * config/s390/s390.md (*tls_load_31): Added type attribute.
1921
d46f24b6
WG
19222009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1923
1924 * config/s390/s390.md: Fix a few comments.
1925
729e750f
WG
19262009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1927
1928 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1929 (*tm<mode>_full): Fixed z10prop attribute.
1930 (*tst<mode>_extimm): Fixed z10prop attribute.
1931 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1932 (*tstqiCCT_cconly): Fixed z10prop attribute.
1933 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1934 (*movsi_larl): Fixed z10prop attribute.
1935 (*movsi_zarch): Fixed z10prop attribute.
1936 (*movsi_eas): Fixed z10prop attribute.
1937 (*movhi): Fixed z10prop attribute.
1938 (*movqi): Fixed z10prop attribute.
1939 (*movstrictqi): Fixed z10prop attribute.
1940 (*mov<mode>): Fixed z10prop attribute.
1941 (*movcc): Fixed z10prop attribute.
1942 (*sethighpartdi_64): Fixed z10prop attribute.
1943 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1944 (*negdi2_sign_cc): Fixed z10prop attribute.
1945 (*negdi2_sign): Fixed z10prop attribute.
1946 (*absdi2_sign_cc): Fixed z10prop attribute.
1947 (*absdi2_sign): Fixed z10prop attribute.
1948 (*negabsdi2_sign_cc): Fixed z10prop attribute.
1949 (*negabsdi2_sign): Fixed z10prop attribute.
1950 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1951 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1952 (doloop_si64): Fixed z10prop attribute.
1953 (doloop_si31): Fixed z10prop attribute.
1954 (doloop_long): Fixed z10prop attribute.
1955 (indirect_jump): Fixed z10prop attribute.
1956 (nop): Fixed z10prop attribute.
1957 (main_base_64): Fixed z10prop attribute.
1958 (reload_base_64): Fixed z10prop attribute.
1959
c7789bfb
JJ
19602009-01-28 Jakub Jelinek <jakub@redhat.com>
1961
1962 PR rtl-optimization/38740
6b67572e
UB
1963 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1964 if !optimize.
c7789bfb
JJ
1965 * config/mips/mips.c (mips_reorg): Likewise.
1966
de081cfd
RG
19672009-01-28 Richard Guenther <rguenther@suse.de>
1968
1969 PR tree-optimization/38926
1970 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1971 with the correct value id to a value.
1972 (do_regular_insertion): Use the value number of edoubleprime
1973 for the value number of the expr.
1974
1975 Revert
1976 2008-08-21 Richard Guenther <rguenther@suse.de>
bf9b2cc9 1977
d748c406
UB
1978 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1979 a PHI ask VN if it is already available.
1980 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1981 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
de081cfd 1982
a9d386a1
JJ
19832009-01-28 Jakub Jelinek <jakub@redhat.com>
1984
1985 PR middle-end/38934
1986 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
1987 set to varying whenever max has TREE_OVERFLOW set, similarly
1988 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
1989
97a170cd
RG
19902009-01-28 Richard Guenther <rguenther@suse.de>
1991
1992 PR middle-end/38908
1993 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
1994 uninitialized aggregate uses in call arguments.
1995
89ebafc6
PB
19962009-01-28 Paolo Bonzini <bonzini@gnu.org>
1997
1998 PR tree-optimization/38984
1999 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
2000 the nothing_id variable if -fno-delete-null-pointer-checks.
2001
bef3c57b
UB
20022009-01-28 Uros Bizjak <ubizjak@gmail.com>
2003
2004 PR target/38988
2005 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
2006 (set_got_offset_rex64): Ditto.
2007
0c6390fa
L
20082009-01-27 H.J. Lu <hongjiu.lu@intel.com>
2009
2010 PR target/38941
2011 * doc/extend.texi: Improve local variable with asm reg.
2012
bee6fa6d
AN
20132009-01-27 Adam Nemet <anemet@caviumnetworks.com>
2014
2015 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
2016 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
2017 was not supplied then set warn_packed_bitfield_compat to the
2018 default value of 1.
2019 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
2020 against 1.
2021
b5c3dfbb
RG
20222009-01-27 Richard Guenther <rguenther@suse.de>
2023
2024 PR tree-optimization/38503
2025 * cfgexpand.c (expand_gimple_basic_block): Ignore
2026 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
2027 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
2028 variables that cannot have TBAA applied.
2029 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
2030 statements.
2031
d748c406 20322009-01-27 Uros Bizjak <ubizjak@gmail.com>
576de5cb
UB
2033
2034 PR middle-end/38969
2035 * calls.c (initialize_argument_information): Do not wrap complex
2036 arguments in SAVE_EXPR.
2037
9112bb38
AT
20382009-01-26 Andreas Tobler <a.tobler@schweiz.org>
2039
2040 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
5efb79fc 2041 (INSTALL_LIBGCC): Revert typo commit.
9112bb38 2042
4757704f
RG
20432009-01-26 Richard Guenther <rguenther@suse.de>
2044
2045 PR tree-optimization/38745
2046 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
2047 from special handling.
2048
e3e6cff4
RG
20492009-01-26 Richard Guenther <rguenther@suse.de>
2050
2051 PR tree-optimization/38745
2052 * tree-ssa.c (execute_update_addresses_taken): Do not include
2053 variables that cannot possibly be a register in not_reg_needs.
2054 Do not clear TREE_ADDRESSABLE on vars that may not become
2055 registers.
2056 * tree-ssa.c (update_alias_info_1): Include those in the set
2057 of addressable vars.
2058
dc874b53
RG
20592009-01-26 Richard Guenther <rguenther@suse.de>
2060
2061 PR middle-end/38851
2062 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
2063 * tree-ssa-dse.c: Include langhooks.h
2064 (execute_simple_dse): Remove stores with zero size.
2065
849421a3
JJ
20662009-01-24 Jakub Jelinek <jakub@redhat.com>
2067
2068 PR c/38957
2069 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
2070 as PLUS_EXPR.
2071
82f70421
JB
20722009-01-24 Julian Brown <julian@codesourcery.com>
2073
2074 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
2075 config/arm/linux-atomic.c.
2076 * config/arm/linux-atomic.c: New.
2077
863412d6
EB
20782009-01-24 Eric Botcazou <ebotcazou@adacore.com>
2079
2080 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
2081 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
2082 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2083
8c684300
L
20842009-01-24 H.J. Lu <hongjiu.lu@intel.com>
2085
2086 PR c/38938
93f1527a 2087 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
8c684300
L
2088 properly.
2089
b840fb02
SP
20902009-01-24 Sebastian Pop <sebastian.pop@amd.com>
2091
2092 PR tree-optimization/38953
2093 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
2094 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
2095 (gloog): Split the exit of the scop when the scop exit is a loop exit.
2096 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
2097 changed the CFG.
2098
ecee559f
PB
20992009-01-24 Paul Brook <paul@codesourcery.com>
2100
2101 * config/arm/neon.md (neon_type): Move to arm.md.
2102 (neon_mov<VSTRUCT>): Add neon_type attribute.
2103 * config/arm/arm.md (neon_type): Move to here.
2104 (conds): Add "unconditioal" and use as default for NEON insns.
2105
61ad0914
BE
21062009-01-24 Ben Elliston <bje@au.ibm.com>
2107
2108 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
2109 void *' warning from -Wc++-compat.
2110 * Makefile.in (dominance.o-warn): Remove.
2111
38432148 21122009-01-23 Paolo Bonzini <bonzini@gnu.org>
9bacafeb
PB
2113
2114 PR tree-optimization/38932
2115 * fold-const.c (fold_unary_ignore_overflow): New.
2116 * tree.h (fold_unary_ignore_overflow): Declare.
2117 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
2118 * tree-ssa-sccvn.c (visit_reference_op_load,
2119 simplify_unary_expression): Likewise.
2120
2cd36c22
AN
21212009-01-22 Adam Nemet <anemet@caviumnetworks.com>
2122
2123 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
2124 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
2125 regardless of their type.
2126 * c-common.c (handle_packed_attribute): Don't ignore packed on
2127 bitfields.
2128 * c.opt (Wpacked-bitfield-compat): New warning option.
2129 * stor-layout.c (place_field): Warn if offset of a field changed.
2130 * doc/extend.texi (packed): Mention the ABI change.
2131 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
2132 (Warning Options): Add it to the list.
2133
e4e624ab
L
21342009-01-22 H.J. Lu <hongjiu.lu@intel.com>
2135
2136 * c-opts.c (c_common_post_options): Fix a typo in comments.
2137
d0ea0759
SE
21382009-01-22 Steve Ellcey <sje@cup.hp.com>
2139
2140 PR middle-end/38615
2141 * gimplify.c (gimplify_init_constructor): Fix promotion of const
2142 variables to static.
2143 * doc/invoke.texi (-fmerge-all-constants): Update description.
2144
87673f84
UB
21452009-01-22 Uros Bizjak <ubizjak@gmail.com>
2146
2147 PR target/38931
2148 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
2149 (*movdi_1_rex64): Use type "mmx" for alternative 5.
2150
96339268
RE
21512009-01-22 Richard Earnshaw <rearnsha@arm.com>
2152
2153 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
2154 a word boundary.
2155 (LOCAL_ALIGNMENT): Similarly.
2156
442dc742 21572009-01-22 Mark Shinwell <shinwell@codesourcery.com>
87673f84 2158 Joseph Myers <joseph@codesourcery.com>
442dc742
MS
2159
2160 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
2161 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
2162 * config/arm/arm-tune.md: Regenerate.
2163 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
2164 -march=iwmmxt2.
2165
9b34732e
MS
21662009-01-22 Mark Shinwell <shinwell@codesourcery.com>
2167
2168 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
2169 version number to five.
2170
03c2a308
DS
21712009-01-22 Dodji Seketeli <dodji@redhat.com>
2172
2173 PR c++/38930
2174 * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
2175 * c-common.c (set_underlying_type): Likewise.
2176 (is_typedef_decl ): Likewise
2177 * tree.h: Likewise
2178 (set_underlying_type): Likewise.
2179 (is_typedef_type): Likewise.
2180
1240d76e
VM
21812009-01-21 Vladimir Makarov <vmakarov@redhat.com>
2182
2183 PR middle-end/38587
2184 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
2185 crossing setjmps.
2186
b8a1087d
DK
21872009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
2188
2189 PR bootstrap/37660
2190 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
2191 (LIBGCC_SPEC): Don't define.
2192 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
2193
435da628
UB
21942009-01-21 Uros Bizjak <ubizjak@gmail.com>
2195
2196 PR rtl-optimization/38879
2197 * alias.c (base_alias_check): Unaligned access via AND address can
2198 alias all surrounding object types except those with sizes equal
2199 or wider than the size of unaligned access.
2200
d597b3ce
DS
22012009-01-21 Dodji Seketeli <dodji@redhat.com>
2202
2203 PR c++/26693
435da628 2204 * c-decl.c: (clone_underlying_type): Move this ...
d597b3ce 2205 * c-common.c (set_underlying_type): ... here.
435da628 2206 Also, make sure the function properly sets TYPE_STUB_DECL() on
d597b3ce
DS
2207 the newly created typedef variant type.
2208 (is_typedef_decl ): New entry point.
2209 * tree.h: Added a new member member_types_needing_access_check to
2210 struct tree_decl_non_common.
2211 (set_underlying_type): New entry point.
2212 (is_typedef_type): Likewise.
2213
71a6fe66
BM
22142009-01-21 Bingfeng Mei <bmei@broadcom.com>
2215
2216 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
2217 Check whether two instructions have memory references that
2218 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
2219 are helper functions for traversing.
2220 * alias.h (insn_alias_sets_confilict_p): New prototypes.
2221 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
2222 not to draw dependency edge for instructions with non-conflicting
2223 alias sets.
2224
5a248274
JM
22252009-01-20 Joseph Myers <joseph@codesourcery.com>
2226
2227 PR other/38758
6b67572e
UB
2228 * longlong.h: Update copyright years. Use soft-fp license notice.
2229 Sync __clz_tab declaration with glibc.
5a248274 2230
4b84f3de
SE
22312009-01-20 Steve Ellcey <sje@cup.hp.com>
2232
2233 PR target/30687
2234 * doc/extend.texi (syscall_linkage): New.
2235 (version_id): Modify.
2236
37348bf1 22372009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
435da628 2238 Richard Guenther <rguenther@suse.de>
37348bf1
AP
2239
2240 PR tree-optimization/38747
2241 PR tree-optimization/38748
2242 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
2243 conversion if the base address is an indirect reference and the
2244 aliasing sets could cause issues.
2245
d0a58904
SP
22462009-01-20 Sebastian Pop <sebastian.pop@amd.com>
2247
2248 * common.opt (fgraphite, fgraphite-identity): Add comment for
2249 explaining why these options are not documented.
2250
71e7afb2
SP
22512009-01-20 Sebastian Pop <sebastian.pop@amd.com>
2252
2253 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
2254 gimple_call_lhs is NULL.
2255
38432148 22562009-01-20 Paolo Bonzini <bonzini@gnu.org>
09efeca1
PB
2257
2258 PR target/38868
2259 * emit-rtl.c (adjust_address_1): Make sure memref is never
2260 overwritten.
2261
cbb8dee3
BE
22622009-01-20 Ben Elliston <bje@au.ibm.com>
2263
2264 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
435da628 2265 const qualifier from arg parameter. Remove unnecessary cast to char *.
cbb8dee3
BE
2266 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2267 const qualifier from arg 2.
2268
72c66596
IS
22692009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2270
435da628 2271 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
72c66596 2272
f68211cd
VM
22732009-01-19 Vladimir Makarov <vmakarov@redhat.com>
2274
2275 PR c/38869
2276 * rtl.h (reinit_regs): New prototype.
2277 * regclass.c: Include ira.h.
2278 (reinit_regs): New.
2279 * Makefile.in (regclass.o): Add ira.h.
2280 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
2281
6e4f1168
L
22822009-01-18 H.J. Lu <hongjiu.lu@intel.com>
2283
2284 PR target/38736
2285 * c-common.c (handle_aligned_attribute): Use
2286 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
2287 default alignment value.
2288
2289 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
2290
2291 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
2292 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
2293
2294 * doc/extend.texi: Update __attribute__ ((aligned)). Document
2295 __BIGGEST_ALIGNMENT__.
2296
2297 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
2298
890065bf
RG
22992009-01-18 Richard Guenther <rguenther@suse.de>
2300
2301 PR tree-optimization/38819
2302 * tree-flow.h (operation_could_trap_helper_p): Declare.
2303 * tree-eh.c (operation_could_trap_helper_p): Export.
2304 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
2305 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
2306 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
2307 are about to insert a possibly trapping instruction and fail
2308 in this case.
2309
a729d731
AS
23102009-01-18 Andreas Schwab <schwab@suse.de>
2311
2312 * doc/install.texi (Configuration): Remove obsolete paragraph
2313 about use of --with-gnu-ld with --with-gnu-as.
2314
a640c13b
KH
23152009-01-18 Kazu Hirata <kazu@codesourcery.com>
2316
2317 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
2318 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
2319 Follow spelling conventions.
2320
dba2cc0c
BE
23212009-01-18 Ben Elliston <bje@au.ibm.com>
2322
2323 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
2324 C++ warning about implicit conversion from void * to struct
2325 bitmap_head_def *.
2326 (bitmap_obstack_free): Likewise for bitmap_element *.
bc127c63 2327 * Makefile.in (bitmap.o-warn): Remove.
dba2cc0c 2328
2207a498
DK
23292009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
2330
2331 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
2332
8137e465
SP
23332009-01-17 Sebastian Pop <sebastian.pop@amd.com>
2334 Tobias Grosser <tobi.grosser@amd.com>
2335
2336 * graphite.c (graphite_trans_scop_block): Do not block single
2337 nested loops.
2338
5be1c58c
AO
23392009-01-16 Alexandre Oliva <aoliva@redhat.com>
2340
2341 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
2342 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
2343 test with assertion.
2344
786ce82d
RG
23452009-01-16 Richard Guenther <rguenther@suse.de>
2346
2347 PR tree-optimization/38835
2348 PR middle-end/36227
2349 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
2350 and INT + PTR -> (INT)(PTR p+ INT) folding.
2351 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
2352
c1cb09ad
AN
23532009-01-16 Adam Nemet <anemet@caviumnetworks.com>
2354
2355 PR target/38554
2356 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
2357 the subreg from a lowpart subreg if it is also casting the value.
2358
bcab4e19
SP
23592009-01-16 Sebastian Pop <sebastian.pop@amd.com>
2360 Tobias Grosser <tobi.grosser@amd.com>
2361
2362 * graphite.c (compare_prefix_loops): New.
2363 (build_scop_canonical_schedules): Rewritten.
2364 (graphite_transform_loops): Move build_scop_canonical_schedules
2365 after build_scop_iteration_domain.
2366
0b040072
SP
23672009-01-16 Sebastian Pop <sebastian.pop@amd.com>
2368 Tobias Grosser <tobi.grosser@amd.com>
2369
2370 * graphite.c (add_conditions_to_domain): Add the loops to
2371 the dimension of the iteration domain. Do copy the domain
2372 only when it exists.
2373 (build_scop_conditions_1): Do not call add_conditions_to_domain.
2374 (add_conditions_to_constraints): New.
2375 (can_generate_code_stmt, can_generate_code): Removed.
2376 (gloog): Do not call can_generate_code.
2377 (graphite_transform_loops): Call add_conditions_to_constraints
2378 after building the iteration domain.
2379
56c6a499
JJ
23802009-01-16 Jakub Jelinek <jakub@redhat.com>
2381
2382 PR tree-optimization/38789
2383 * tree-ssa-threadedge.c
2384 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
2385 __builtin_constant_p.
2386
c95b2534 23872009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cd3f1729
KZ
2388
2389 * dce.c (delete_unmarked_insns): Reversed the order that insns are
2390 examined before deleting them.
2391
c433cb14
RE
23922009-01-16 Richard Earnshaw <rearnsha@arm.com>
2393
2394 * function.c (aggregate_value_p): Correctly extract the function
2395 type from CALL_EXPR_FN lookup.
2396
c95b2534 23972009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
27d62fa4
HS
2398
2399 * config/picochip/picochip.c (picochip_override_options): Revert
2400 CFI asm flag disable commited previously.
2401
c77bb78f
SP
24022009-01-15 Sebastian Pop <sebastian.pop@amd.com>
2403 Tobias Grosser <tobi.grosser@amd.com>
2404 Jan Sjodin <jan.sjodin@amd.com>
2405
2406 * graphite.c (scan_tree_for_params): On substractions negate
2407 all the coefficients of the term.
2408 (clast_to_gcc_expression_red): New. Handle reduction expressions
2409 of more than two operands.
2410 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
2411 (get_vdef_before_scop): Handle also the case of default definitions.
2412
574af2d6
RS
24132009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
2414
2415 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
2416 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
2417 Also use them when walking CALL_INSN_FUNCTION_USAGE.
2418
e939805b
L
24192009-01-15 H.J. Lu <hongjiu.lu@intel.com>
2420 Joey Ye <joey.ye@intel.com>
2421
2422 PR middle-end/37843
2423 * cfgexpand.c (expand_stack_alignment): Don't update stack
2424 boundary nor check incoming stack boundary here.
2425 (gimple_expand_cfg): Update stack boundary and check incoming
2426 stack boundary here.
2427
c95b2534 24282009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
750900db 2429
435da628 2430 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
750900db 2431
0196c95e
JJ
24322009-01-14 Jakub Jelinek <jakub@redhat.com>
2433
2434 PR rtl-optimization/38245
2435 * calls.c (expand_call): Add stack arguments to
2436 CALL_INSN_FUNCTION_USAGE even for pure calls (when
2437 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
2438 in regs and partially in memory or BLKmode arguments.
2439 (emit_library_call_value_1): Add stack arguments to
2440 CALL_INSN_FUNCTION_USAGE even for pure calls (when
2441 ACCUMULATE_OUTGOING_ARGS).
2442 * dce.c: Include tm_p.h.
2443 (find_call_stack_args): New function.
2444 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
2445 argument.
2446 (mark_insn): Call find_call_stack_args for CALL_Ps.
2447 (prescan_insns_for_dce): Walk insns backwards in bb rather than
2448 forwards. Allocate and free arg_stores bitmap if needed, pass it
2449 down to deletable_insn_p, don't mark stores set in arg_stores
2450 bitmap, clear the bitmap at the beginning of each bb.
2451 * Makefile.in (dce.o): Depend on $(TM_P_H).
2452
6df6bcfa
MM
24532009-01-14 Michael Meissner <gnu@the-meissners.org>
2454
2455 PR target/22599
435da628
UB
2456 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
2457 to make sure the insn is a conditional test (bug 22599). Reformat a
2458 few long lines.
6df6bcfa 2459
765ec70c
SP
24602009-01-14 Sebastian Pop <sebastian.pop@amd.com>
2461
2462 PR middle-end/38431
2463 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
2464 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
2465 (gloog): Do not call cleanup_tree_cfg.
2466 (graphite_transform_loops): Call cleanup_tree_cfg after all
2467 scops have been code generated.
2468
7de2b688
BS
24692009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
2470 * doc/gty.texi (Invoking the garbage collector): Added new node
2471 and section documenting ggc_collect.
2472
10bd6c5c
RG
24732009-01-14 Richard Guenther <rguenther@suse.de>
2474
2475 PR tree-optimization/38826
2476 PR middle-end/38477
2477 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
2478 initialization notes only if we actually emitted a warning.
2479 (intra_create_variable_infos): Add constraints for a result decl
2480 that is passed by hidden reference.
2481 (build_pred_graph): Mark all related variables non-direct on
2482 address-taking.
2483
9c7c70ee
NC
24842009-01-14 Nick Clifton <nickc@redhat.com>
2485
2486 * ira-conflicts.c: Include addresses.h for the definition of
2487 base_reg_class.
435da628
UB
2488 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
2489 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
9c7c70ee 2490
cf0c2a60
VM
24912009-01-13 Vladimir Makarov <vmakarov@redhat.com>
2492
2493 PR target/38811
2494 * Makefile.in (ira-lives.o): Add except.h.
2495
2496 * ira-lives.c: Include except.h.
2497 (process_bb_node_lives): Process can_throw_internal.
2498
d3302fd3
JJ
24992009-01-13 Jakub Jelinek <jakub@redhat.com>
2500
2501 PR rtl-optimization/38774
2502 * combine.c (simplify_set): When undoing cc_use change, don't do
2503 PUT_CODE on the newly created comparison, but instead put back the
2504 old comparison.
2505
7ab23fd0
JM
25062009-01-13 Joseph Myers <joseph@codesourcery.com>
2507
2508 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
2509 values. Remove duplicate arm8 entry.
2510
f9344488
SP
25112009-01-13 Sebastian Pop <sebastian.pop@amd.com>
2512
2513 PR tree-optimization/38786
2514 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
2515 the SSA_NAME case of expand_scalar_variables_expr.
2516 Set the type of an expression to the type of its assign statement.
2517 (expand_scalar_variables_expr): Also gather the scalar computation
2518 used to index the memory access. Do not pass loop_p.
2519 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
2520 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
bef3c57b
UB
2521 the gimple_stmt_iterator where it inserts new code.
2522 Do not pass loop_p.
f9344488
SP
2523 (copy_bb_and_scalar_dependences): Do not pass loop_p.
2524 (translate_clast): Update call to copy_bb_and_scalar_dependences.
2525
2d8bb84d
SP
25262009-01-13 Sebastian Pop <sebastian.pop@amd.com>
2527
2528 * graphite.h (debug_value): Removed.
2529 * graphite.c (debug_value): Removed.
2530
ff128632
RE
25312009-01-13 Richard Earnshaw <rearnsha@arm.com>
2532
435da628
UB
2533 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
2534 ldrd/strd with two 32-bit instructions.
ff128632 2535
d5a0a47b
RE
25362009-01-13 Richard Earnshaw <rearnsha@arm.com>
2537
435da628
UB
2538 * config/arm/arm.c (struct processors): Pass for speed down into
2539 cost helper functions.
d5a0a47b
RE
2540 (const_ok_for_op): Handle COMPARE and inequality nodes.
2541 (arm_rtx_costs_1): Rewrite.
2542 (arm_size_rtx_costs): Update prototype.
2543 (arm_rtx_costs): Pass speed down to helper functions.
2544 (arm_slowmul_rtx_costs): Rework cost calculations.
2545 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
2546 (arm_9e_rtx_costs): Likewise.
2547
26d5bf5b
UB
25482009-01-13 Uros Bizjak <ubizjak@gmail.com>
2549
2550 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
435da628 2551 relocations of local symbols wider than UNITS_PER_WORD are not valid.
26d5bf5b
UB
2552 (alpha_legitimize_address): Do not split local symbols wider than
2553 UNITS_PER_WORD into HIGH/LO_SUM parts.
2554
5d14e3d5
DS
25552009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
2556
2557 PR bootstrap/38580
2558 * gcc.c (process_command): Replace call to execvp with calls
2559 to pex_one and exit.
2560
33faafca
AS
25612009-01-03 Anatoly Sokolov <aesok@post.ru>
2562
2563 PR target/29141
2564 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
2565 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
2566 variant for devices with 3-byte PC.
2567 (__tablejump_elpm__) : New.
2568
634b5df5
JJ
25692009-01-12 Jakub Jelinek <jakub@redhat.com>
2570
2571 PR c/32041
2572 * c-parser.c (c_parser_postfix_expression): Allow `->' in
2573 offsetof member-designator, handle it as `[0].'.
2574
2842bb86
JDA
25752009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2576
2577 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
2578 function when not using named sections on targets with named sections
2579 if branch distance is less than 262132.
2580
76ee70f6
RE
25812009-01-12 Richard Earnshaw <rearnsha@arm.com>
2582
2583 * combine.c (combine_instructions): Recompute
2584 optimize_this_for_speed_p for each BB in the main combine loop.
2585
f56e675d
TB
25862009-01-12 Tomas Bily <tbily@suse.cz>
2587
2588 PR middlend/38385
26d5bf5b
UB
2589 * tree-loop-distribution.c (prop_phis): New function.
2590 (generate_builtin): Call prop_phis.
2591 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
f56e675d 2592
c2152239
JJ
25932009-01-12 Jakub Jelinek <jakub@redhat.com>
2594
2595 PR tree-optimization/38807
2596 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
2597 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
2598
0e510b3e
AN
25992009-01-11 Adam Nemet <anemet@caviumnetworks.com>
2600
2601 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
2602 subreg of op0 to the original op0.
2603
c95b2534 26042009-01-11 Laurent GUERBY <laurent@guerby.net>
10270471
LG
2605
2606 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
2607
53a7ff9a
MS
26082009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
2609
2610 PR debug/7055
2611 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2612 starting with digits.
2613
b3a796bc
JJ
26142009-01-10 Jakub Jelinek <jakub@redhat.com>
2615
2616 PR target/38695
2617 * config/arm/arm.c (arm_is_long_call_p): Don't call
2618 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2619
b21b850e
SB
26202009-01-09 Steven Bosscher <steven@gcc.gnu.org>
2621
2622 * regrename.c (regrename_optimize): Fix dumping.
2623 (find_oldest_value_reg): Preserve REG_POINTER.
2624 (copy_hardreg_forward_1): Likewise.
2625
e0e10d3a
DN
26262009-01-09 Diego Novillo <dnovillo@google.com>
2627
bf9b2cc9 2628 * gimple.h (struct gimple_statement_base) <uid>: Document
e0e10d3a
DN
2629 the restrictions on its use.
2630 (gimple_uid): Tidy.
2631 (gimple_set_uid): Tidy.
2632
c9da2ae8
JJ
26332009-01-09 Jakub Jelinek <jakub@redhat.com>
2634
2635 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2636 zero guard even if align_bytes != 0 and count is smaller than
2637 size_needed.
2638
38432148 26392009-01-09 Vladimir Makarov <vmakarov@redhat.com>
a174c19c
VM
2640
2641 PR rtl-optimization/38495
26d5bf5b 2642 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
a174c19c
VM
2643 (add_range_and_copies_from_move_list): Print all added ranges.
2644 Add ranges to memory optimized destination.
2645
260fda3d
JJ
26462009-01-09 Jakub Jelinek <jakub@redhat.com>
2647
6f6278ad
JJ
2648 PR target/38686
2649 PR target/38708
2650 * config/i386/i386.c (override_options): Reject
2651 -mstringop-strategy=rep_8byte with -m32.
2652 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2653 to 1. Do count comparison against epilogue_size_needed at compile
2654 time even when count_exp was constant forced into register. For
2655 size_needed don't jump to epilogue, instead just avoid aligning
2656 and invoke the body algorithm. If need_zero_guard, add zero guard
2657 even if count is non-zero, but smaller than size_needed + number of
2658 bytes that could be stored for alignment.
2659 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2660 to 1. If need_zero_guard, add zero guard even if count is non-zero,
2661 but smaller than size_needed + number of bytes that could be stored
2662 for alignment. Compare size_needed with epilogue_size_needed instead
2663 of desired_align - align, don't adjust size_needed, pass
2664 epilogue_size_needed to the epilogue expanders.
2665
260fda3d 2666 PR c/35742
26d5bf5b 2667 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
260fda3d 2668
67b846fa
JDA
26692009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2670
2671 * pa.c (last_address): Change to unsigned.
2672 (update_total_code_bytes): Change argument to unsigned. Don't
2673 check if insn addresses are set.
2674 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2675 addresses are not set.
2676 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2677
91c82473
NC
26782009-01-09 Nick Clifton <nickc@redhat.com>
2679
2680 * config/sh/symbian.c: Replace uses of DECL_INLINE with
2681 DECL_DECLARED_INLINE_P.
2682
4017e262
JJ
26832009-01-09 Jakub Jelinek <jakub@redhat.com>
2684
0a49e5c2
JJ
2685 PR middle-end/38347
2686 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2687 GET_MODE (op0) in operand_subword_force calls.
2688
4017e262
JJ
2689 PR middle-end/38771
2690 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2691 fold_convert arg0 operands to TREE_TYPE (op0) first.
2692
7cd06356
VM
26932009-01-08 Vladimir Makarov <vmakarov@redhat.com>
2694
2695 * params.def (ira-max-conflict-table-size): Decrease default value
2696 to 1000.
2697
96867bbd
JJ
26982009-01-08 Jakub Jelinek <jakub@redhat.com>
2699
2700 PR tree-optimization/37031
2701 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2702 on parameter_set.
2703 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2704 allocate it using gc instead of heap, use VEC_quick_push instead of
2705 VEC_safe_push.
2706 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2707 instead of heap, use VEC_quick_push instead of VEC_safe_push.
2708 * tree-data-ref.h (struct access_matrix): Change matrix to gc
2709 allocated vector from heap allocated.
2710 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2711 * tree-loop-linear.c (linear_transform_loops): Allocate nest
2712 vector only after perfect_loop_nest_depth call.
2713
68f61c3d
SP
27142009-01-08 Sebastian Pop <sebastian.pop@amd.com>
2715 Jan Sjodin <jan.sjodin@amd.com>
2716
2717 PR tree-optimization/38559
2718 * graphite.c (debug_value, copy_constraint,
2719 swap_constraint_variables, scale_constraint_variable, ): New.
2720 (get_lower_bound, get_upper_bound): Removed.
2721 (graphite_trans_bb_strip_mine): Clean up this code that works
2722 only for constant number of iterations. Fully copy upper and
2723 lower bound constraints, not only the constant part of them.
2724 * graphite.h (debug_value): Declared.
2725
82567e33
IR
27262009-01-08 Ira Rosen <irar@il.ibm.com>
2727
2728 PR tree-optimization/37194
2729 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2730 Don't add the cost of cost model guard in prologue to scalar
2731 outside cost in case of known number of iterations.
2732
7da13f1d
NF
27332009-01-07 Nathan Froyd <froydnj@codesourcery.com>
2734 Alan Modra <amodra@bigpond.net.au>
2735
2736 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2737 non-word-aligned REG+CONST addressing.
2738
c0f64575
UB
27392009-01-07 Uros Bizjak <ubizjak@gmail.com>
2740
2741 PR target/38706
2742 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2743 free_after_compilation when outputting a thunk.
2744 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2745 Do not call free_after_compilation here.
2746
301b6a4e
UB
27472009-01-07 Uros Bizjak <ubizjak@gmail.com>
2748
2749 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
301b6a4e
UB
2750 (ix86_valid_target_attribute_inner_p): Ditto.
2751
6a114766
JS
27522009-01-07 Jan Sjodin <jan.sjodin@amd.com>
2753
2754 PR tree-optimization/38492
2755 PR tree-optimization/38498
2756 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2757 * tree-chrec.h (scev_is_linear_expression): Declared.
2758 * graphite.c (graphite_cannot_represent_loop_niter): New.
2759 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2760 (graphite_loop_normal_form): Use gcc_assert.
2761 (scan_tree_for_params): Use CASE_CONVERT.
2762 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2763 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2764 Use gcc_assert. Discard scops that contain unhandled cases.
2765 (build_scop_conditions): Return a boolean status for unhandled cases.
2766 (strip_mine_profitable_p): Print the loop number, not its depth.
2767 (is_interchange_valid): Pass the depth of the loop nest, don't
2768 recompute it wrongly.
2769 (graphite_trans_bb_block): Same.
2770 (graphite_trans_bb_block): Print tentative of loop blocking.
2771 (graphite_trans_scop_block): Do not print that the loop has been
2772 blocked.
2773 (graphite_transform_loops): Do not handle scops that contain condition
2774 scalar phi nodes.
2775
65b82caa
L
27762009-01-07 H.J. Lu <hongjiu.lu@intel.com>
2777
2778 AVX Programming Reference (December, 2008)
2779 * config/i386/avxintrin.h (_mm256_stream_si256): New.
2780 (_mm256_stream_pd): Likewise.
2781 (_mm256_stream_ps): Likewise.
2782
2783 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2784 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2785 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2786 (bdesc_special_args): Add __builtin_ia32_movntdq256,
2787 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2788 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2789 (ix86_expand_special_args_builtin): Likewise.
2790
2791 * config/i386/sse.md (AVXMODEDI): New.
2792 (avx_movnt<mode>): Likewise.
2793 (avx_movnt<mode>): Likewise.
2794 (<sse>_movnt<mode>): Remove AVX support.
2795 (sse2_movntv2di): Likewise.
2796
cef158f9
RG
27972009-01-07 Richard Guenther <rguenther@suse.de>
2798
2799 PR middle-end/38751
2800 * fold-const.c (extract_muldiv): Remove obsolete comment.
2801 (fold_plusminus_mult_expr): Undo MINUS_EXPR
2802 to PLUS_EXPR canonicalization for the canonicalization.
2803
246cb5be
GP
28042009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
2805
2806 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2807 hosted cross-compilers generating less efficient code.
2808
84b9b872
RS
28092009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2810
2811 * function.h (rtl_data): Add a dbr_scheduled_p field.
2812 * reorg.c (dbr_schedule): Set it.
2813 (gate_handle_delay_slots): Check it.
2814 * config/mips/mips.c (mips_base_delayed_branch): Delete.
2815 (mips_reorg): Check flag_delayed_branch instead of
2816 mips_base_delayed_branch.
2817 (mips_override_options): Don't set mips_base_delayed_branch
2818 or flag_delayed_branch.
2819
ace984c8
RS
28202009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2821
2822 PR rtl-optimization/38426.
2823 * ira.c (ira): Set current_function_is_leaf earlier.
2824
7ad7809b
JJ
28252009-01-06 Jakub Jelinek <jakub@redhat.com>
2826
2827 PR rtl-optimization/38722
2828 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2829 too early, only set a flag and modify after last possible
2830 undo_all point.
2831
c52ec948
JJ
28322009-01-06 Janis Johnson <janis187@us.ibm.com>
2833
2834 PR c/34252
2835 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2836 * real.c (decimal_single_format): Correct values of emin and emax.
2837 (decimal_double_format): Ditto.
2838 (decimal_quad_format): Ditto.
2839 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2840 computation of DECnn_MIN and DECnn_MAX for corrected values of
2841 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
2842 __DECnn_MIN__, and adjust its computation for the corrected value
2843 of emin.
2844
300240e1
JH
28452009-01-06 Jan Hubicka <jh@suse.cz>
2846
2847 PR target/38744
435da628 2848 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
300240e1 2849
271c069e
GP
28502009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2851
2852 * doc/contrib.texi (Contributors): Slightly adjust the end note.
2853 Add Robert Clark to the list of testers.
2854
64e4c301 28552009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2856 Kai Tietz <kai.tietz@onevision.com>
64e4c301 2857
435da628
UB
2858 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2859 * config/i386/i386.c (ix86_expand_call): Add clobbers.
64e4c301 2860
7650b83e 28612009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2862 Kai Tietz <kai.tietz@onevision.com>
7650b83e 2863
435da628
UB
2864 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2865 for w64 ABI.
2866 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
7650b83e
JH
2867 (ix86_nsaved_regs): Count only general purpose regs.
2868 (ix86_nsaved_sseregs): New.
2869 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2870 to 16 for w64; compute padding and size of sse reg save area.
301b6a4e
UB
2871 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2872 general purpose regs.
7650b83e
JH
2873 (ix86_emit_save_sse_regs_using_mov): New.
2874 (ix86_expand_prologue): Save SSE regs if needed.
2875 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2876 (ix86_emit_restore_sse_regs_using_mov): New.
2877 (ix86_expand_epilogue): Save SSE regs if needed.
2878
9aa5c1b2 28792009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2880 Kai Tietz <kai.tietz@onevision.com>
9aa5c1b2 2881
435da628
UB
2882 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2883 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2884 functions when accumulate outgoing args is off.
9aa5c1b2 2885
f7556aae
L
28862009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2887
2888 PR bootstrap/38742
2889 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2890 before using pseudos_have_intersected_live_ranges_p.
2891
2892 * ira-int.h (ira_assert): Always define.
2893
e47b7d04
L
28942009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2895
2896 AVX Programming Reference (December, 2008)
2897 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2898 (_mm256_permute2_pd): Likewise.
2899 (_mm_permute2_ps): Likewise.
2900 (_mm256_permute2_ps): Likewise.
2901 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2902 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2903
2904 * config/i386/i386.c (ix86_builtins): Remove
2905 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2906 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2907 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2908 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2909 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2910 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2911 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2912 __builtin_ia32_vpermil2ps256.
2913 (ix86_init_mmx_sse_builtins): Updated.
2914 (ix86_expand_args_builtin): Likewise.
2915
44b86471
JDA
29162009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2917
e47b7d04
L
2918 * pa.c (output_call): Relocate non-jump insns in the delay slot of
2919 long absolute calls when generating PA 2.0 code.
44b86471 2920
311aab06
VM
29212009-01-05 Vladimir Makarov <vmakarov@redhat.com>
2922
2923 PR rtl-optimization/38583
2924 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2925
2926 * params.def (ira-max-conflict-table-size): New.
2927
2928 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2929
2930 * ira.h (ira_conflicts_p): New external definition.
2931
2932 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2933 table. Report this. Return result of building.
2934 (ira_build_conflicts): Use ira_conflicts_p. Check result of
2935 building conflict table.
2936
301b6a4e 2937 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
311aab06
VM
2938 (ira_color): Use ira_conflicts_p.
2939
2940 * global.c: Include ira.h.
2941 (pseudo_for_reload_consideration_p, build_insn_chain): Use
2942 ira_conflicts_p.
2943
2944 * Makefile.in (global.o): Add ira.h.
2945
2946 * ira-build.c (mark_all_loops_for_removal,
2947 propagate_some_info_from_allocno): New.
2948 (remove_unnecessary_allocnos): Call
2949 propagate_some_info_from_allocno.
2950 (remove_low_level_allocnos): New.
2951 (remove_unnecessary_regions): Add parameter. Call
2952 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
2953 parameter to remove_unnecessary_regions.
2954 (ira_build): Remove all regions but root if the conflict table was
2955 not built. Update conflict hard regs for allocnos crossing calls.
2956
2957 * ira.c (ira_conflicts_p): New global.
2958 (ira): Define and use ira_conflicts_p.
2959
2960 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2961 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
301b6a4e 2962 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
311aab06 2963
5641785f
BE
29642009-01-06 Ben Elliston <bje@au.ibm.com>
2965
2966 * gengtype-lex.l (YY_NO_INPUT): Define.
2967
e4e5261f
AP
29682009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
2969
2970 PR c/34911
5641785f
BE
2971 * c-common.c (handle_vector_size_attribute): Also reject
2972 BOOLEAN_TYPE types.
e4e5261f 2973
7b10257f
SP
29742009-01-05 Sebastian Pop <sebastian.pop@amd.com>
2975
2976 PR tree-optimization/38492
2977 * graphite.c (rename_map_elt, debug_rename_elt,
301b6a4e
UB
2978 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2979 rename_map_elt_info, eq_rename_map_elts,
2980 get_new_name_from_old_name, bb_in_sese_p): Moved around.
7b10257f
SP
2981 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2982 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2983 (sese_build_livein_liveouts): New.
2984 (new_sese, free_sese): New.
2985 (new_scop): Call new_sese.
2986 (free_scop): Call free_sese.
2987 (rename_variables_from_edge, rename_phis_end_scop): Removed.
2988 (register_old_new_names): Renamed register_old_and_new_names.
2989 (register_scop_liveout_renames, add_loop_exit_phis,
2990 insert_loop_close_phis, struct igp,
2991 default_liveout_before_guard, add_guard_exit_phis,
2992 insert_guard_phis, copy_renames): New.
2993 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
2994 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
2995 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
2996 (scop_adjust_phis_for_liveouts): New.
2997 (gloog): Call scop_adjust_phis_for_liveouts.
2998
2999 * graphite.h (struct sese): Documented. Added fields liveout,
301b6a4e 3000 num_ver and livein.
7b10257f
SP
3001 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
3002 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
3003 (struct scop): Added field liveout_renames.
3004 (SCOP_LIVEOUT_RENAMES): New.
3005
9761fcc7
HJ
30062009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
3007
3008 PR tree-optimization/38510
3009 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
3010 (translate_clast): Call recompute_all_dominators before
3011 graphite_verify.
3012 (gloog): Call recompute_all_dominators before graphite_verify.
3013
30142009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
c95b2534 3015 Jan Sjodin <jan.sjodin@amd.com>
9761fcc7
HJ
3016
3017 PR tree-optimization/38500
3018 * graphite.c (create_sese_edges): Call fix_loop_structure after
3019 splitting blocks.
3020
c95b2534 30212009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
48a01864
JS
3022
3023 * config.gcc: Add m32r*-*-rtems*.
3024 * config/m32r/rtems.h: New file.
3025
fc0cd180
BE
30262009-01-05 Ben Elliston <bje@au.ibm.com>
3027
3028 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
3029 (.po.pox): Likewise.
3030 (po/gcc.pot): Likewise.
3031
3106d8e5
DM
30322009-01-04 David S. Miller <davem@davemloft.net>
3033
3034 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
3035 (STARTING_FRAME_OFFSET): Always set to zero.
3036
0009b473
RS
30372009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
3038
3039 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
3040 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
3041 fixed-point types, and vectors of the same.
3042
4f24c6d6
RS
30432009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
3044
3045 * config/mips/sync.md (*mb_barrier): Rename to...
3046 (*memory_barrier): ...this.
3047
1df48f5c
JW
30482009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
3049
3050 * doc/extend.texi (Function Attributes): Move @cindex after @item
eefe5da0 3051 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1df48f5c
JW
3052 and put in alphabetical order. Fix 'target' name and put in order.
3053 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
3054 typos.
3055
1a8c13b3
UB
30562009-01-04 Uros Bizjak <ubizjak@gmail.com>
3057
3058 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
3059 (memory_barrier): Expand as unspec instead of unspec_volatile.
3060 Remove mem:BLK from insn operands. Use Pmode scratch register.
3061 (*memory_barrier): Define as unspec instead of unspec_volatile.
3062 Use (match_dup 0) as input operand.
3063
3064 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
3065 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
3066 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
3067 scratch register. Remove operand 1.
3068 (*stbar): Define as unspec instead of unspec_volatile.
3069 Use (match_dup 0) as input operand, remove (const_int 8).
3070 (*membar): Define as unspec instead of unspec_volatile.
3071 Use (match_dup 0) as input operand, remove input operand 2.
3072
3073 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
3074 (memory_barrier): Expand as unspec instead of unspec_volatile.
3075 Remove mem:BLK from insn operands. Use Pmode scratch register.
3076 (*memory_barrier): Define as unspec instead of unspec_volatile.
3077 Use (match_dup 0) as input operand.
3078
3079 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
3080 Remove mem:BLK from insn operands. Use Pmode scratch register.
3081 Set volatile flag on operand 0.
3082 (*memory_barrier): New insn pattern.
3083
3084 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
3085 insn operands.
3086 (*memory_barrier): Use (match_dup 0) as input operand.
3087
3088 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
3089 Remove mem:BLK from insn operands. Use Pmode scratch register.
3090 Set volatile flag on operand 0.
301b6a4e 3091 (*mb_internal): New insn pattern.
1a8c13b3
UB
3092
3093 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
3094
fb0703f7
SB
30952009-01-04 Steven Bosscher <steven@gcc.gnu.org>
3096
3097 PR middle-end/38586
3098 * function.c (struct temp_slot): Move to the section of the file
3099 that deals with temp slots. Remove field 'address'.
3100 (temp_slot_address_table): New hash table of address -> temp slot.
3101 (struct temp_slot_address_entry): New struct, items for the table.
3102 (temp_slot_address_compute_hash, temp_slot_address_hash,
3103 temp_slot_address_eq, insert_temp_slot_address): Support functions
3104 for the new table.
3105 (find_temp_slot_from_address): Rewrite to use the new hash table.
3106 (remove_unused_temp_slot_addresses): Remove addresses of temp
3107 slots that have been made available.
3108 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
3109 worker function for remove_unused_temp_slot_addresses.
3110 (assign_stack_temp_for_type): Don't clear the temp slot address list.
3111 Add the temp slot address to the address -> temp slot map.
3112 (update_temp_slot_address): Update via insert_temp_slot_address.
3113 (free_temp_slots): Call remove_unused_temp_slot_addresses.
3114 (pop_temp_slots): Likewise.
3115 (init_temp_slots): Allocate the address -> temp slot map, or empty
3116 the map if it is already allocated.
3117 (prepare_function_start): Initialize temp slot processing.
3118
b5a430f3
SB
31192009-01-04 Steven Bosscher <steven@gcc.gnu.org>
3120
3121 PR middle-end/38584
3122 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
3123 Calculate the size of all stack vars assuming no packing of stack
3124 vars will happen, replacing a quadratic algorithm with a linear one.
3125
5d560619
JJ
31262009-01-03 Jakub Jelinek <jakub@redhat.com>
3127
3128 PR target/38707
3129 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
3130 can't be used.
3131
953a7caa
DN
31322009-01-03 Diego Novillo <dnovillo@google.com>
3133
3134 * doc/contrib.texi: Update contributions.
3135
5f26a230
JJ
31362009-01-03 Jakub Jelinek <jakub@redhat.com>
3137
493aa551
JJ
3138 PR c++/38705
3139 * builtins.c (fold_builtin_memory_op): Give up if either operand
3140 is volatile. Set srctype or desttype to non-qualified version
3141 of the other type.
3142
5f26a230
JJ
3143 PR c/38700
3144 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
3145 and FUNCTION_DECLs.
3146
c95b2534 31472009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
fafe34f9
KZ
3148
3149 PR rtl-optimization/35805
3150 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
3151 problem if fast dce is able to remove any instructions.
3152 * dce.c (dce_process_block): Fix dump message.
3153
0b355794
MM
31542009-01-02 Mark Mitchell <mark@codesourcery.com>
3155
3156 PR 33649
3157 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
3158
0cf0d02b
JJ
31592009-01-02 Jakub Jelinek <jakub@redhat.com>
3160
3161 PR middle-end/38690
3162 * tree-flow.h (op_code_prio, op_prio): New prototypes.
3163 * tree-pretty-print.c (op_code_prio): New function.
3164 (op_prio): No longer static. Use op_code_prio.
3165 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
3166 Use op_prio and op_code_prio to determine if () should be
3167 printed around operand(s) or not.
3168
3169 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
3170 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
3171 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
3172 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
3173 pp_character instead of pp_string for single letter printing.
3174
e3606f3b
RS
31752009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3176
3177 * doc/extend.texi: Fix '#pragma GCC option' typo.
3178
c95b2534 31792009-01-02 Richard Guenther <rguenther@suse.de>
00f39bd5 3180
a5f061dc
RG
3181 * doc/install.texi (--enable-checking): Mention different
3182 default for stage1.
3183 (--enable-stage1-checking): Document.
00f39bd5 3184
26de0bcb
AP
31852009-01-01 Andrew Pinski <pinskia@gmail.com>
3186
3187 PR middle-end/30142
3188 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
3189 case to be an error.
3190
7a7d8fab
BE
31912009-01-02 Ben Elliston <bje@au.ibm.com>
3192
3193 * config/fp-bit.h (pack_d): Constify argument.
3194 * config/fp-bit.c (makenan): Constify return type. Remove casts.
3195 (isnan): Constify argument.
3196 (isinf): Likewise.
3197 (iszero): Likewise.
3198 (pack_d): Likewise.
3199 (_fpadd_parts): Constify return type.
3200 (_fpmul_parts): Likewise.
3201 (_fpdiv_parts): Likewise.
3202
b295aee2
JJ
32032009-01-01 Jakub Jelinek <jakub@redhat.com>
3204
3205 PR c/36489
3206 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
3207 warn about overwriting initializer with side-effects or
3208 -Woverride-init if !IMPLICIT.
3209 (output_init_element): Likewise. Pass IMPLICIT down to
3210 add_pending_init.
3211 (process_init_element): Add IMPLICIT argument. Pass it down
3212 to output_init_element.
3213 (push_init_element, pop_init_level, set_designator): Adjust
3214 process_init_element callers.
3215 (set_nonincremental_init, set_nonincremental_init_from_string):
3216 Adjust add_pending_init callers.
3217 (output_pending_init_elements): Adjust output_init_element callers.
3218 * c-tree.h (process_init_element): Adjust prototype.
3219 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
3220 process_init_element callers.