]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
expmed.c (expand_mult_highpart): Make static.
[gcc.git] / gcc / ChangeLog
CommitLineData
0d282692
RS
12005-01-23 Roger Sayle <roger@eyesopen.com>
2
3 * expmed.c (expand_mult_highpart): Make static. Change type of
4 constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
5 (expand_divmod): Updates calls to expand_mult_highpart by using
6 gen_int_mode to pass a CONST_INT rtx.
7 * rtl.h (expand_mult_highpart): Remove prototype.
8
edd517b1
KH
92005-01-23 Kazu Hirata <kazu@cs.umass.edu>
10
11 * flow.c (regset_bytes, regset_size): Remove.
12
708bde14
KH
13 * cfganal.c: Fix a reference to Harvey's paper.
14
85840349
SB
152005-01-23 Steven Bosscher <stevenb@suse.de>
16
17 PR rtl-optimization/19464
18 * tree-optimize.c (init_tree_optimization_passes): Add one more
19 copyrename pass just before out-of-ssa.
20
9fcdd891
JM
212005-01-23 Joseph S. Myers <joseph@codesourcery.com>
22
23 PR bootstrap/18058
24 * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
25 * ggc-none.c (ggc_free): Define.
26
d0754bc6
KH
272005-01-23 Kazu Hirata <kazu@cs.umass.edu>
28
29 * cse.c (max_reg, max_insn_uid): Remove.
30 (cse_main): Don't access max_reg or max_insn_uid.
31
f3b303fd
KH
32 * c-common.c (explicit_flag_signed_bitfields,
33 lang_statement_code_p, lang_expand_function_end): Remove.
34 * c-common.h: Remove the corresponding declarations.
35 * c-opts.c (c_common_handle_option): Remove all write access
36 to explicit_flag_signed_bitfields.
37
15f0d971
KH
38 * cgraph.c (cgraph_varpool_n_nodes): Remove.
39 (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
40 * cgraph.h: Remove the corresponding declaration.
41
6d77cdc3
KH
42 * gcse.c (null_pointer_info): Remove.
43
b9750434
RS
442005-01-23 Roger Sayle <roger@eyesopen.com>
45 Eric Botcazou <ebotcazou@libertysurf.fr>
46
47 * combine.c (simplify_logical): Only simplify logical expressions
48 of the form ior(and(x,y),z) by the inverse distributive law if the
49 result is cheaper than the original.
50
35fd3193
KH
512005-01-23 Kazu Hirata <kazu@cs.umass.edu>
52
53 * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
54 fold-const.c, gimplify.c, params.h, tree-data-ref.c,
55 tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
56 tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
57 config/freebsd-spec.h, config/arm/arm.h,
58 config/h8300/h8300.md, config/i386/i386.md,
59 config/i386/predicates.md, config/i386/sse.md,
60 config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
61 config/vax/vax.md: Fix comment typos. Follow spelling
62 conventions.
63
a62a0172
SB
642005-01-23 Steven Bosscher <stevenb@suse.de>
65
66 * gengtype.c (walk_type): Produce `not equal to' compares for loop
67 tests, instead of `less than'.
68
a561d88b
RS
692005-01-23 Richard Sandiford <rsandifo@redhat.com>
70
71 * function.c (assign_parm_setup_block): When creating a new stack slot
72 for a parameter, get its alignment from the parameter's DECL_ALIGN
73 rather than the type's TYPE_ALIGN. Make sure that the parameter
74 is at least word aligned.
75
d2ebe27c
RS
762005-01-22 Roger Sayle <roger@eyesopen.com>
77
78 PR middle-end/19378
79 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
80
a059cdb8
RH
812005-01-22 Richard Henderson <rth@redhat.com>
82
83 PR target/19506
84 * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
85 in both compare operands.
86 (movdfcc_1_sse_max): Likewise.
87 (movsfcc_1_sse): Likewise. Add earlyclobber for scratch.
88 (movdfcc_1_sse): Likewise.
89 * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
90 scratch register as needed.
91
eabd294f
RH
922005-01-22 Richard Henderson <rth@redhat.com>
93
b8f06586
RH
94 * config/i386/i386.md (smaxsf3): Fix mnemonic typo.
95
eabd294f
RH
96 * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
97
5ccbd309
RH
982005-01-22 Richard Henderson <rth@redhat.com>
99
100 * genopinit.c (optabs): Use smin/smax for floating point too.
101 * doc/md.texi: Update to match. Clarify that floating point
102 results are undefined for +0/-0 and NaN.
103 * doc/rtl.texi: Likewise.
104 * rtl.def (SMIN, SMAX): Likewise
105 * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
106
107 * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
108 leading 's' to the name.
109 * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
110 smaxxf3, sminxf3): Likewise.
111 * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
112 Likewise.
113
b4b2332c
PB
1142005-01-22 Paul Brook <paul@codesourcery.com>
115
116 * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
117
6fa5b390
MD
1182005-01-21 Mark Dettinger <dettinge@de.ibm.com>
119
120 * config/s390/s390.c (struct processor_costs): New fields
121 dlgr, dlr, dr, dsgfr, dsgr.
122 (z900_cost, z990_cost): Values for new fields.
123 (s390_rtx_costs): New cases MEM und COMPARE in switch
124 statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
125 DIV, MOD, UDIV, UMOD.
126
eb862a88
UW
1272005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
128
129 * config/s390/s390.md ("doloop_si64"): Reload input value directly
130 into the register being decremented.
131 ("doloop_si31", "doloop_di"): Likewise.
132 ("*doloop_si_long"): Adapt pattern.
133
3776ada0
UW
1342005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
135
136 * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
137 access registers.
138 (CLASS_MAX_NREGS): Likewise.
139
d7c71ee3
DB
1402005-01-21 Daniel Berlin <dberlin@dberlin.org>
141
142 * doc/tree-ssa.texi (Statement Operands): Add example for new
143 must-def macro. Note deprecation of old operands interface.
144
d7f3fc19
RS
1452005-01-22 Richard Sandiford <rsandifo@redhat.com>
146
147 PR tree-optimization/19484
148 * tree-cfg.c (remove_fallthru_edge): New function.
149 (cleanup_control_flow): Remove fallthru edges from calls that are
150 now known not to return.
151
111e0c9f
DB
1522005-01-20 Daniel Berlin <dberlin@dberlin.org>
153
154 Fix PR tree-optimization/19038
155 * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
156 copies with loop variant ones.
157
1e052c19
KH
1582005-01-22 Kazu Hirata <kazu@cs.umass.edu>
159
160 * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
161 config/alpha/alpha-protos.h, config/alpha/alpha.h,
162 config/alpha/alpha.md, config/alpha/predicates.md,
163 config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
164 config/sparc/sol2.h: Update copyright.
165
28773f15
KH
166 * tree-cfg.c (remove_forwarder_block_with_phi): Look at the
167 first label to see if it is a nonlocal label.
168
1e052c19 1692005-01-22 David Edelsohn <edelsohn@gnu.org>
987732e0
DE
170 Andrew Pinski <pinskia@physics.uc.edu>
171
172 PR target/19491
173 * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
174 maximum number of GPRs. Saturate n_fpr at maximum number of FPRs.
175
80d15bce
RC
1762005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
177
178 * config/rs6000/rtems.h: Update copyright.
179
b9d13999
RC
1802005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
181
182 PR target/19548
183 * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
184 (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
185 (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
186
20913689
VR
1872005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
188
189 PR c/18809
190 * c-typeck.c (convert_arguments): Check for error_mark_node.
191
1e052c19 1922005-01-21 Ian Lance Taylor <ian@airs.com>
089efaa4
ILT
193
194 PR tree-optimization/13000
195 * tree-inline.c: Include "tree-flow.h".
196 (expand_call_inline): If warn_return_type, warn if non-void inline
197 function falls through.
198 * tree-cfg.c (execute_warn_function_return): Don't warn about
199 control reaching end if TREE_NO_WARNING is set. Set
200 TREE_NO_WARNING.
201 * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
202 has been lowered.
203 * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
204 branch if we don't need one.
205 * c-typeck.c: Include "tree-flow.h"
206 (c_finish_bc_stmt): Don't add a goto if the current statement
207 list doesn't fall through to the current point.
208
d284eb28
RS
2092005-01-21 Roger Sayle <roger@eyesopen.com>
210
211 PR rtl-optimization/576
212 * real.c (real_arithmetic): Change return type from void to bool
213 to return an indication that the result may be inexact.
214 * real.h (real_arithmeric): Update prototype.
215 * fold-const.c (const_binop): Don't constant fold floating
216 point expressions when the user specifies -frounding-math and
217 the result may depend upon the run-time rounding mode.
218 (fold_convert_const_real_from_real): Clean-up.
219 (fold_initializer): Ignore flag_rounding_math for initializers.
220 * simplify-rtx.c (simplify_binary_operation): Likewise, don't
221 constant fold FP operations with flag_rounding_math if the
222 result may depend upon the run-time rounding mode.
223
a101957b
TT
2242005-01-21 Tom Tromey <tromey@redhat.com>
225
226 * c-cppbuiltin.c (define__GNUC__): Correct assertion.
227
a85ba5a8
KH
2282005-01-21 Kazu Hirata <kazu@cs.umass.edu>
229
230 * tree-cfg.c: Fix comment typos.
231
5b5e3a31
R
2322005-01-21 J"orn Rennecke <joern.rennecke@st.com>
233
234 * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
235 around the call to rest_of_handle_branch_target_load_optimize.
236
0b85af22
EB
2372005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
238
239 * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
240 (sparc64-*-openbsd*): Likewise.
241 (sparclite-*-elf*): Include tm-dwarf2.h.
242 (sparc86x-*-elf*): Likewise.
243 (sparc64-*-elf*): Likewise.
244 * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
245 (DBX_DEBUGGING_INFO): Likewise.
246 * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
247 (PREFERRED_DEBUGGING_TYPE): Likewise.
248 * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
249 * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
250 (PREFERRED_DEBUGGING_TYPE): Likewise.
ac11d73b 251 * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
0b85af22
EB
252 (PREFERRED_DEBUGGING_TYPE): Likewise.
253 * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
254
3eacd71f
HPN
2552005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
256
257 PR target/18701
258 * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
259
eacf8912
PB
2602005-01-20 Paul Brook <paul@codesourcery.com>
261
262 * doc/rtl.texi: Document value extension requirements for CONST_INT.
263
548414c6
KH
2642005-01-20 Kazu Hirata <kazu@cs.umass.edu>
265
266 * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
267 label is first in a sequence of labels.
268
cde68236
KH
269 * tree-cfg.c (tree_verify_flow_info): Fix a typo.
270
35fdf04e
JJ
2712005-01-20 Janis Johnson <janis187@us.ibm.com>
272 Giovanni Bajo <giovannibajo@gcc.gnu.org>
273
274 * doc/sourcebuild.texi (Test Directives): New.
275
8ffeac67
RS
2762005-01-20 Roger Sayle <roger@eyesopen.com>
277
278 * real.c (real_floor): Don't leave the result uninitialized when
279 mode is VOIDMode, but return the unrounded intermediate value.
280 (real_ceil): Likewise.
281
07ff6dac 2822005-01-20 Paul Brook <paul@codesourcery.com>
b65e6318
PB
283
284 * config/arm/arm.md (insv): Use gen_int_mode.
285
62da8647
EB
2862005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
287
288 * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
289 * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
290 * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
291 * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
292 * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
293
3c46c513
DB
2942005-01-20 Daniel Berlin <dberlin@dberlin.org>
295
296 Fix PR debug/19124
297 * dwarf2out.c (concat_loc_descriptor): We don't know we can use
298 fbreg, so we have to assume we can't.
299 (loc_descriptor_from_tree_1): Ditto.
300 (containing_function_has_frame_base): New function.
301 (add_location_or_const_value_attribute): Use it.
302 Also try to generate a frame_base from a single element location
303 list.
304
23ab2e4e
KH
3052005-01-20 Kazu Hirata <kazu@cs.umass.edu>
306
307 PR tree-optimization/15349
308 * timevar.def (TV_TREE_MERGE_PHI): New.
309 * tree-cfg.c (tree_forwarder_block_p): Add a new argument
310 PHI_WANTED.
311 (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
312 calls to tree_forwarder_block_p.
313 (remove_forwarder_block_with_phi, merge_phi_nodes,
314 gate_merge_phi, pass_merge_phi): New.
315 * tree-optimize.c (init_tree_optimization_passes): Add
316 pass_merge_phi.
317 * tree-pass.h: Add an extern for pass_merge_phi;
318
edd5b7da
RH
3192005-01-20 Richard Henderson <rth@redhat.com>
320
321 PR target/19418
322 * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
323 (_mm_castps_pd, _mm_castps_si128): New.
324 (_mm_castsi128_ps, _mm_castsi128_pd): New.
325
0f2698d0
RH
3262005-01-20 Richard Henderson <rth@redhat.com>
327
328 PR target/19530
329 * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
330 __builtin_ia32_vec_init_v2si.
331 (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
332 * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
333 (ix86_init_mmx_sse_builtins): Create it.
334 (ix86_expand_builtin): Expand it.
335 (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
336 * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
337 (vec_extractv2si_0, vec_extractv2si_1): New.
338
6b79c03c
RH
3392005-01-20 Richard Henderson <rth@redhat.com>
340
58b03a2d 341 PR target/16533
6b79c03c
RH
342 * config/i386/i386.c (ix86_expand_push): New.
343 * config/i386/mmx.md (push<MMXMODE>1): New.
344 * config/i386/sse.md (push<SSEMODE>1): New.
345 * config/i386/i386-protos.h: Update.
346
e42febca
KH
3472005-01-20 Kazu Hirata <kazu@cs.umass.edu>
348
349 * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
350 copyright.
351
f4770271
RH
3522005-01-20 Richard Henderson <rth@redhat.com>
353
354 * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
355 * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
356
b4bb3199
RH
3572005-01-19 Richard Henderson <rth@redhat.com>
358
359 PR target/19350
360 * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
361 to V4SFmode in SSE1 fallback load path.
362
ceda96fc
RH
3632005-01-19 Richard Henderson <rth@redhat.com>
364
365 * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
366 in QImode expansion to ix86_expand_vector_set.
367 (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
368
f75959a6
RH
3692005-01-19 Richard Henderson <rth@redhat.com>
370
371 PR target/19511
372 * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
373 subclass of the input class.
374 (ix86_secondary_memory_needed): Always true for cross-MMX classes.
375 Always true for cross-SSE1 classes. Rationalize conditionals.
376 * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
377 * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives
378 for SSE1. Don't check TARGET_INTER_UNIT_MOVES.
379 (movdi_2): Add MMX/SSE zeros.
380 (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES.
381 (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
382 (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
383 (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
384 (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
385 (zero_extendsidi2_rex64_1): Remove.
386 (MOV0 peephole): Check GENERAL_REG_P.
387
b100079f
RH
3882005-01-19 Richard Henderson <rth@redhat.com>
389
390 PR target/19427
391 * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
392 shufps elements.
393 (ix86_expand_vector_extract): Likewise.
394
539eaa3a
RH
3952005-01-19 Richard Henderson <rth@redhat.com>
396
397 PR middle-end/19304
398 * expr.c (emit_move_change_mode): New argument force; use
399 simplify_gen_subreg if true.
400 (emit_move_via_alt_mode): Merge into ...
401 (emit_move_via_integer): ... here.
402 (emit_move_ccmode): Use emit_move_change_mode directly.
403
72910a0b
RH
4042005-01-19 Richard Henderson <rth@redhat.com>
405
406 PR target/19518
407 * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
408 (alpha_preferred_reload_class): Handle CONST_VECTOR.
409 (alpha_emit_set_const_1): Add no_output parameter; don't emit
410 rtl if true.
411 (alpha_emit_set_const): Likewise. Make static.
412 (alpha_emit_set_long_const): Make static.
413 (alpha_extract_integer): Split out from alpha_expand_mov.
414 (alpha_split_const_mov): Likewise.
415 (alpha_expand_mov): Use them. Handle CONST_VECTOR.
416 (alpha_legitimate_constant_p): New.
417 * config/alpha/alpha-protos.h: Update.
418 * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
419 (LEGITIMATE_CONSTANT_P): Re-implement with a function.
420 * config/alpha/alpha.md (movsi): Add n alternative.
421 (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
422 (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
423 (splitters for all of the above): Use alpha_split_const_mov.
424 * config/alpha/predicates.md (non_add_const_operand): New.
425 (non_zero_const_operand): New.
426 (input_operand): Use alpha_legitimate_constant_p after reload.
427
4366cf6d
ZD
4282005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
429
430 PR tree-optimization/19038
431 * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
432 (add_candidate): Add ivs with increment in latch only if
433 allow_ip_end_pos_p is true.
434 (determine_iv_cost): Use empty_block_p.
435
4c7f5fea
DB
4362005-01-19 Daniel Berlin <dberlin@dberlin.org>
437
438 * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
439 (compute_dominance_frontiers): Ditto.
440
be33b729
RC
4412005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org>
442
443 PR target/19529
444 * config/sh/t-rtems: New.
445 * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
446
53dba802
ZD
4472005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
448
449 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
450 the offset of the selected field.
451
04d38c3b
KH
4522005-01-19 Kazu Hirata <kazu@cs.umass.edu>
453
454 * tree-cfg.c (remove_forwarder_block): Fix the check to
455 prevent a nonlocal label from appearing in the middle of a
456 basic block.
457
09f9e288
HPN
4582005-01-19 Hans-Peter Nilsson <hp@axis.com>
459
460 PR rtl-optimization/19462
461 * reorg.c (find_end_label): Create return insn only if
462 current_function_epilogue_delay_list is empty.
463
625d4524
PB
4642005-01-19 Paolo Bonzini <bonzini@gnu.org>
465
466 * doc/passes.texi: Remove paragraph mentioning new-ra.
467
e89be13b
JJ
4682005-01-19 Jakub Jelinek <jakub@redhat.com>
469
49c3b9a8
JJ
470 PR rtl-optimization/15139
471 * combine.c: Include params.h.
472 (count_rtxs): New function.
473 (record_value_for_reg): If replace_rtx would replace at least
474 2 occurrences of REG in VALUE and TEM is really large, replace REG with
475 (clobber (const_int 0)) instead of TEM.
476 * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
477 * params.h (MAX_LAST_VALUE_RTL): New.
478 * Makefile.in (combine.o): Depend on $(PARAMS_H).
479 * doc/invoke.texi (--param max-last-value-rtl=N): Document.
480
e89be13b
JJ
481 PR c/17297
482 * c-typeck.c (digest_init): Only call build_vector if all constructor
483 elements are *_CST nodes.
484 * gimplify.c (gimplify_init_constructor): Likewise.
485
486 PR middle-end/19164
487 * c-typeck.c (digest_init): Only call build_vector if inside_init
488 is a CONSTRUCTOR.
489
d74e09c6
TS
4902005-01-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
491
492 * toplev.c (init_asm_output): Remove dead #ifdef.
493
e35b30c7
KK
4942005-01-18 Kaz Kojima <kkojima@gcc.gnu.org>
495
496 * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
497
8c96cd51
EB
4982005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
499
500 * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
501 accessing DECL_FUNCTION_CODE.
502 * dojump.c (do_jump): Likewise.
503 * gimplify.c (gimplify_call_expr): Likewise.
504 * predict.c (expr_expected_value): Likewise.
505 (strip_builtin_expect): Likewise.
506 * tree-inline.c (estimate_num_insns_1): Likewise.
507 * tree-ssa-loop-im.c (stmt_cost): Likewise
508 * fold-const.c (fold): Test for BUILT_IN_NORMAL.
509 (tree_expr_nonnegative_p): Likewise.
510
eb7a7903
EB
5112005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
512
513 * config/sparc/sparc.c (load_pic_register): Emit the appropriate
514 variant of the load_pcrel_sym pattern.
515 * config/sparc/sparc.md (P macro): Move to the top.
516 (load_pcrel_sym): Macroize using P.
517 (save_register_window): Likewise.
518
7836a61f
AH
5192005-01-18 Aldy Hernandez <aldyh@redhat.com>
520
521 * config/rs6000/rs6000.md ("sunordered"): Disable for e500.
522 ("sordered"): Same.
523
b4c33883
AP
5242005-01-18 Andrew Pinski <pinskia@physics.uc.edu>
525
526 PR C/19472
527 * c-typeck.c (build_asm_expr): Strip nops off
528 input memory operands.
529
56015cee
DE
5302005-01-18 David Edelsohn <edelsohn@gnu.org>
531
532 * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
533 _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
534 * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
535 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
536
de004e6d
JS
5372005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
538
539 PR target/19379
540 * config/i386/i386.c (override_options): If the 80387 is disabled,
541 then do not return FP values using FP registers.
542
ad616de1
KH
5432005-01-18 Kazu Hirata <kazu@cs.umass.edu>
544
545 * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
546 c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
547 combine.c, config.gcc, coverage.h, cse.c, cselib.c,
548 defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
549 flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
550 gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
551 output.h, postreload-gcse.c, postreload.c, recog.c,
552 resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
553 targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
554 tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
555 tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
556 tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
557 tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
558 tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
559 unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
560
5b86a469
KH
561 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
562 config/alpha/alpha.c, config/arm/vfp.md,
563 config/i386/emmintrin.h, config/i386/i386-modes.def,
564 config/i386/i386-protos.h, config/i386/i386.h,
565 config/i386/pmmintrin.h, config/i386/ppro.md,
566 config/i386/predicates.md, config/i386/xmmintrin.h,
567 config/i860/i860.c, config/ia64/ia64-modes.def,
568 config/ia64/ia64-protos.h, config/ia64/ia64.h,
569 config/ia64/ia64.md, config/ia64/itanium1.md,
570 config/ia64/itanium2.md, config/ia64/predicates.md,
571 config/iq2000/iq2000.h, config/mips/linux64.h,
572 config/rs6000/aix41.h, config/rs6000/aix43.h,
573 config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
574 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
575 config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
576 config/sparc/linux64.h, config/sparc/litecoff.h,
577 config/sparc/sp64-elf.h, config/sparc/sparc.c,
578 config/sparc/sparc.h, config/sparc/sparc.md,
579 config/sparc/sysv4-only.h: Update copyright.
580
51d7bae6
RH
5812005-01-18 Richard Henderson <rth@redhat.com>
582
583 PR target/19496
584 * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
585
f5975bd5
ME
5862005-01-18 Marc Espie <espie@openbsd.org>
587 * config/i386/openbsdelf.h: Typo.
588
9f61886e
RH
5892005-01-18 Richard Henderson <rth@redhat.com>
590
591 * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
592 special case for sse.
593 * config/i386/predicates.md (sse_comparison_operator): Likewise.
594
16630a2c
DN
5952005-01-18 Dorit Naishlos <dorit@il.ibm.com>
596
597 * tree-inline.c (estimate_num_insns_1): Added cases for
598 ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
599
f917ae96
EB
6002005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
601
602 PR rtl-optimization/19296
603 * combine.c (simplify_comparison): Rewrite the condition under
604 which a non-paradoxical SUBREG of a PLUS can be lifted when
605 compared against a constant.
606
06da3c24
AK
6072005-01-18 Andi Kleen <ak@muc.de>
608
609 * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
610 * c.opt (-Wpointer-sign): Add.
611 * doc/invoke.texi: (-Wpointer-sign): Add.
612
ded1c605
UB
6132005-01-18 Uros Bizjak <uros@kss-loka.si>
614
615 * config/i386/i386.c (override_options): Revert 2004-11-24 change.
616 * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
617 *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
618 logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
619 exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
620 nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled
621 for TARGET_MIX_SSE_I387.
622 (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
623 sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
624 atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
625 log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
626 floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
627 (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for
628 TARGET_MIX_SSE_I387.
629 (atan2sf3, atan2df3, atan2xf3): Remove register constraints
630 from expander.
631
d0405259
UB
6322005-01-18 Uros Bizjak <uros@kss-loka.si>
633
634 PR target/19424
635 * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
636 Add movaps alternative for xmm reg->reg move.
637
0bd65483
JL
6382005-01-17 Jeff Law <law@redhat.com>
639
640 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
641 at the end of the main DOM loop rather than just before DOM exits.
642
e03a46f5
DN
6432005-01-17 Diego Novillo <dnovillo@redhat.com>
644
645 PR tree-optimization/19121
646 * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
647 adding aliases to a name tag, also add them to the pointer's
648 type tag.
649 * tree-ssa-copy.c (merge_alias_info): Do not merge flow
650 sensitive alias info at all. Only check that the two pointers
651 have compatible pointed-to sets.
652 * tree-ssa.c (verify_name_tags): Verify that the alias set of
653 a pointer's type tag is a superset of the alias set of the
654 pointer's name tag.
655
696a2ca1
JW
6562005-01-17 James E Wilson <wilson@specifixinc.com>
657
658 PR target/19357
659 * config/ia64/ia64.md (movxf): Handle general register source. Adjust
660 comment to document why.
661
115a33c2
RH
6622005-01-17 Richard Henderson <rth@redhat.com>
663
664 * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
665 sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
666 sse2_vmsmaxv2df3_finite, sminv2df3_finite,
667 sse2_vmsminv2df3_finite): New.
668 (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
669 sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
670 Force op1 into register.
671
ded73657
KC
6722005-01-17 Kelley Cook <kcook@gcc.gnu.org>
673
674 * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
675 bubblestrap from always rebuilding build directory.
676
d4f52f0e
UW
6772005-01-17 Ulrich Weigand <uweigand@de.ibm.com>
678
679 * config/s390/s390.md ("*clc"): Remove incorrect '='.
680 ("*cmpmem_short"): Likewise.
681
740ce53d
SB
6822005-01-17 Steven Bosscher <stevenb@suse.de>
683
684 * basic-block.h: Document BB_* flags.
685 * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
686 use an sbitmap instead.
687 * sched-rgn.c (compute_trg_info): Likewise.
688
2184a120
RS
6892005-01-17 Richard Sandiford <rsandifo@redhat.com>
690
691 * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove
692 redundant target_cpu_default and extra_parts lines. Use the default
693 "from-abi" ISA.
694 * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
695 (SUBTARGET_EXTRA_SPECS): Delete.
696 (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly.
697 (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
698 * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
699 and "n32" for -mabi=n32.
700
812ad338
ILT
7012005-01-17 Ian Lance Taylor <ian@airs.com>
702
703 PR c/5675
704 * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
705 fold constant variables into initial values.
706
26e75214
KH
7072005-01-17 Kazu Hirata <kazu@cs.umass.edu>
708
709 * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
710
f8ef82ea
KH
711 * tree-cfg.c (tree_forwarder_block_p): Speed up by walking
712 through the statements backward.
713
81bafd36
ILT
7142005-01-17 Ian Lance Taylor <ian@airs.com>
715
716 PR middle-end/13127:
717 * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
718 a variable set to the return value of the inlined function.
719
edb81165
MD
7202005-01-17 Mark Dettinger <dettinge@de.ibm.com>
721
722 * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
723 when modes are tieable.
724
658acbb2
RM
7252005-01-17 Ranjit Mathew <rmathew@hotmail.com>
726
727 * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
728 of pthread_create to find out if threads are enabled.
729 * gthr-posix95.h (__gthread_active_p): Likewise.
730
cd280abb
PB
7312005-01-17 Paolo Bonzini <bonzini@gnu.org>
732
733 * common.opt (-fnew-ra): Remove.
734 * ra*.*: Remove.
735 * toplev.h (flag_new_regalloc): Remove.
736 * Makefile.in (ra*.*): Don't mention.
737 * passes.c (rest_of_handle_new_regalloc): Remove.
738 (rest_of_handle_combine, rest_of_compilation): Always consider
739 flag_new_regalloc as false.
740 * doc/invoke.texi: Don't document -fnew-ra.
741
7422005-01-17 Paolo Bonzini <bonzini@gnu.org>
c80a0f26
PB
743
744 * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
745 last parameter to reg_scan.
746 * loop.c (loop_optimize): Likewise.
747 * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
748 rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
749 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
750 rest_of_handle_gcse, rest_of_handle_loop_optimize,
751 rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
752 * regclass.c (reg_scan): Likewise, for the declaration.
753 * rtl.h (reg_scan): Likewise, for the prototype.
754
724e4d44
KH
7552005-01-17 Kazu Hirata <kazu@cs.umass.edu>
756
757 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
758 mark_dfs_back_edges.
759
7f233d9f
DB
7602005-01-16 Daniel Berlin <dberlin@dberlin.org>
761
762 * tree-ssa-pre.c (add_to_sets): s1 may be NULL.
763 (compute_avail): Uses don't go in tmp_gen.
764
6f0947e4
SB
7652005-01-16 Steven Bosscher <stevenb@suse.de>
766
767 * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
768 loop to look for a free slot in a page entry.
769
083b6717
JDA
7702005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
771
772 PR target/16304
773 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
774 * toplev.c (compile_file): Call process_pending_assemble_output_defs
775 just before targetm.asm_out.file_end.
776 * tree.h (process_pending_assemble_output_defs): Declare.
777 * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
778 New functions.
779 (assemble_alias): Defer generation of assembly code for defines when
780 TARGET_DEFERRED_OUTPUT_DEFS is true.
781 * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
782 * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
783 * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
784
2d5ca9a0
JDA
7852005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
786
83c32f2e
JDA
787 PR target/19336
788 * pa.c (pa_scalar_mode_supported_p): New function.
789 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
790 * pa.h (MIN_UNITS_PER_WORD): Add comment.
791
2d5ca9a0
JDA
792 * pa-protos.h (prefetch_operand): Delete.
793 (prefetch_cc_operand, prefetch_nocc_operand): New declations.
794 * pa.c (prefetch_operand): Delete.
795 (prefetch_cc_operand, prefetch_nocc_operand): New functions.
796 * pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
797 (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand
798 and prefetch_nocc_operand.
799 * pa.md (prefetch): Rework to avoid reload problems handling short
800 displacements when a cache control completer needs to be provided.
801 (prefetch_32, prefetch_64): Delete.
802 (prefetch_cc, prefetch_nocc): New patterns.
803
6a9836b1
DE
8042005-01-15 David Edelsohn <edelsohn@gnu.org>
805
806 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
807
22f549fd
JDA
8082005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
809
810 PR ada/19388
811 * pa.c (pa_asm_output_aligned_common): Warn if specified alignment
812 exceeds maximum alignment for global common data.
813 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
814 * som.h (MAX_OFILE_ALIGNMENT): Likewise.
815
19e1af6e
RS
8162004-01-15 Roger Sayle <roger@eyesopen.com>
817
818 * tree-ssa-dom.c (extract_range_from_cond): Correct condition.
819
778f72f2
RS
8202004-01-15 Roger Sayle <roger@eyesopen.com>
821
822 * harg-reg-set.h (reg_class_names): Prototype global array.
823 * regclass.c (reg_class_names): Declare here and initialize to
824 REG_CLASS_NAMES.
825 (dump_regclass): Remove local declaration of reg_class_names.
826 (regclass): Likewise.
827 * cfg.c (dump_flow_info): Likewise.
828 * ra-debug.c (reg_class_names): Likewise.
829 * regrename.c (reg_class_names): Likewise.
830 * reload.c (reg_class_names): Likewise.
831 * reload1.c (spill_failure): Likewise.
832 * config/m68hc11/m68hc11.c (reg_class_names): Likewise.
833
9c3c3dcc
UW
8342005-01-15 Ulrich Weigand <uweigand@de.ibm.com>
835
836 * config/s390/s390.md ("reload_outti"): Remove predicate for
837 output operand. Abort if operand is not a MEM.
838 ("reload_outdi", "reload_outdf"): Likewise.
839
378b66d4
ME
8402005-01-15 Marc Espie <espie@openbsd.org>
841
842 * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
843 (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
844 * config/openbsd.h: Fix C++ includes for native configurations.
845 Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD.
846 Add trampoline support.
847 * config/i386/openbsdelf.h: New.
848
60828cbd
ME
8492005-01-15 Marc Espie <espie@openbsd.org>
850
851 * collect2.c (main): Explicitly parse -dynamic-linker option.
852
75b9aa9f
JJ
8532005-01-15 Jakub Jelinek <jakub@redhat.com>
854
855 PR tree-optimization/19060
856 * tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
857 Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
858 (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
859 and handle extract_range_from_cond returning false.
860 * fold-const.c (fold): Optimize comparisons with min/max even for
861 width > HOST_BITS_PER_WIDE_INT.
862
4ba9f2a1
RC
8632005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org>
864
865 * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
866 * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
867 Remove little endian multilib variants.
868 Add mips32 multilib variant.
869
bbc8fb00
KH
8702005-01-15 Kazu Hirata <kazu@cs.umass.edu>
871
872 * explow.c (copy_all_reg, stabilize): Remove.
873 * expr.h: Remove the corresponding prototypes.
874
6a29dc8b
KH
875 * rtlanal.c (regs_set_between_p): Remove.
876 * rtl.h: Remove the corresponding prototype.
877
165a5bad
DE
8782005-01-14 David Edelsohn <edelsohn@gnu.org>
879
880 * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
881 to rs6000_nonimmediate_operand.
882 * config/rs6000/rs6000.h (PREDICATE_CODES): Rename
883 rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
884 * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
885 rs6000_nonimmediate_operand.
886 * config/rs6000/spe.md (movdf_e500_double): Rename predicate to
887 rs6000_nonimmediate_operand.
888
7f9e6d2a
AP
8892005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
890
891 * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
892
54b695e7
AH
8932005-01-14 Aldy Hernandez <aldyh@redhat.com>
894
895 * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
896 on e500v2.
897 (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
898 (PREDICATE_CODES): Add rs6k_nonimmediate_operand.
899
900 * config/rs6000/rs6000.c (invalid_e500_subreg): New.
901 (rs6k_nonimmediate_operand): New.
902 (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
903 correctly.
904 (legitimate_lo_sum_address_p): Same.
905 (rs6000_legitimize_address): Same.
906 (rs6000_legitimize_reload_address): Same.
907 (rs6000_legitimate_address): Same.
908 (spe_build_register_parallel): Pass DF and DC modes in a DI
909 register.
910
911 * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
912 to rs6k_nonimmediate_operand.
913
914 * config/rs6000/spe.md ("*frob_df_di"): New.
915 ("*frob_di_df"): New.
916 ("*frob_di_df_2"): New.
917 ("*mov_sidf_e500_subreg0"): New.
918 ("*mov_sidf_e500_subreg4"): New.
919 ("*movdf_e500_double"): Change predicate to
920 rs6k_nonimmediate_operand.
921
05075d4e
AH
9222005-01-14 Aldy Hernandez <aldyh@redhat.com>
923
924 * postreload.c (move2add_note_store): Only call
925 trunc_int_for_mode on scalar integers.
926
a28fee03
SB
9272005-01-14 Steven Bosscher <stevenb@suse.de>
928
929 * tree-ssa-dce.c (visited_control_parents): New sbitmap to
930 replace BB_VISITED uses.
931 (find_obviously_necessary_stmts): Don't clear BB_VISITED.
932 (propagate_necessity): Check the bitmap instead of BB_VISITED.
933 (tree_dce_done): Free visited_control_parents.
934 (perform_tree_ssa_dce): Allocate and clear it.
935 * tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
936 (compute_antic): Iterate from here using a DFS. Use an sbitmap
937 instead of BB_VISITED.
938
103a83e0
KH
9392005-01-14 Kazu Hirata <kazu@cs.umass.edu>
940
941 * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
942 rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
943 Remove unused prototypes.
944
b5a5beb9
AH
9452005-01-14 Aldy Hernandez <aldyh@redhat.com>
946
947 * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
948 64-bit register usage.
949 (spe_func_has_64bit_regs_p): Add FIXME note.
950
5ca18999
AH
9512005-01-14 Aldy Hernandez <aldyh@redhat.com>
952
953 * config/rs6000/rs6000.c (rs6000_generate_compare): Replace
954 flag_finite_math_only with flag_unsafe_math_optimizations.
955
783d2650
J
9562005-01-14 J. D. Johnston <jjohnst@us.ibm.com>
957
958 * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
959 end-of-stack check.
960 (__tpf_eh_return): Copy TPF private stack area from the module
961 boundary stack frame. Add check for when module addresses are
962 equal, but no stub address is found.
963
b12a00f1
RE
9642005-01-14 Richard Earnshaw <rearnsha@arm.com>
965
966 PR target/7525
967 * arm.h (struct machine_function): Add call_via field.
968 (thumb_call_via_label): Declare.
969 * arm.c (thumb_call_via_label): New variable.
970 (thumb_call_reg_needed): New variable.
971 (arm_output_function_epilogue): For Thumb code, output any per-function
972 call-indirect trampolines.
973 (thumb_call_via_reg): New function.
974 (arm_file_end): New function.
975 (TARGET_ASM_FILE_END): Call arm_file_end.
976 (aof_file_end): Likewise.
977 * arm-protos.h (thumb_call_via_reg): Declare.
978 * arm.md (call_reg_thumb, call_value_reg_thumb): Call
979 thumb_call_via_reg in normal case.
980
08a0c536
JJ
9812005-01-14 Jakub Jelinek <jakub@redhat.com>
982
983 PR middle-end/19084
984 PR rtl-optimization/19348
985 * recog.c (peephole2_optimize): Do global life update if some peephole
986 decides it doesn't need at least one of its inputs and that change
987 influences liveness at the start of the basic block.
988
989 * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
990 arguments instead of 1.
991
eebeecac
EB
9922005-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
993
994 PR middle-end/18820
995 * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
996 zero for nested functions needing a static chain or functions
997 with a non-constant address.
998
a0ee8b5f
RS
9992005-01-13 Roger Sayle <roger@eyesopen.com>
1000
1001 * simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
1002 (and (sign_extend X) C) into (zero_extend (and X C)).
1003
92018897
DB
10042005-01-13 David O'Brien <obrien@FreeBSD.org>
1005
1006 * config/freebsd-spec.h: Make KSE pthread lib logic the default.
1007
eaa49b49
RH
10082005-01-13 Richard Henderson <rth@redhat.com>
1009
2d1d3cb2 1010 PR target/19009
eaa49b49
RH
1011 PR target/19250
1012 PR target/19252
1013 * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
1014 bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
1015 not just TARGET_SSE.
1016 (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns.
1017 (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
1018 (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
1019 (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
1020 (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
1021 (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
1022 (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
1023 fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
1024 (movdicc_c_rex64): Rename with '*'.
1025 (movsfcc, movdfcc): Add checks for 387 and sse math to condition.
1026 (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
1027 (movsfcc_1_387): Rename from movsfcc_1.
1028 (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
1029 (movdfcc_1, movdfcc_1_rex64): Add check for 387.
1030 (sminsf3, smaxsf3, smindf3, smaxdf3): New.
1031 (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
1032 mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
1033 maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
1034 sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
1035 sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
1036 sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
1037 sse_movdfcc_const0_4): Remove.
1038 * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
1039 recognize min/max early. Update for changed sse cmove patterns.
1040 (ix86_split_sse_movcc): New.
1041 * config/i386/i386-protos.h: Update.
1042
1dff80c0
SB
10432005-01-13 Steven Bosscher <stevenb@suse.de>
1044
1045 * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
1046 (fix_stmt_v_may_defs): Likewise.
1047
bb129a4f
RH
10482005-01-13 Richard Henderson <rth@redhat.com>
1049
1050 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
1051 for converting the mask.
1052
2cba2c8b
DE
10532005-01-13 David Edelsohn <edelsohn@gnu.org>
1054
1055 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
1056 definition to 600.
1057
ed9b5396
RH
10582005-01-13 Richard Henderson <rth@redhat.com>
1059
1060 * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
1061 IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
1062 IX86_BUILTIN_MOVDQ2Q): Remove.
1063 (IX86_BUILTIN_VEC_EXT_V4SI): New.
1064 (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
1065 (ix86_expand_vector_extract): For V4S[FI], extract element 0 after
1066 shuffling.
1067 * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
1068 (sse2_pextrw): Fix immediate constraint.
1069 (sse2_loadq, sse2_loadq_rex64): Remove.
1070 * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
1071 Use __builtin_ia32_vec_ext_<size>.
1072 (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
1073
17284759
AH
10742005-01-13 Aldy Hernandez <aldyh@redhat.com>
1075
1076 * function.c (assign_parm_setup_block): Look inside original
1077 entry_parm when inspecting PARALLEL.
1078
5d58d2f8
RC
10792005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
1080 Joel Sherrill <joel@oarcorp.com>
1081
1082 PR target/19399
1083 * gthr-rtems.h (__gthread_recursive_mutex_t): New type.
1084 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
1085 rtems_gxx_recursive_mutex_init.
1086 (__gthread_recursive_mutex_lock): New function.
1087 (__gthread_recursive_mutex_trylock): Likewise.
1088 (__gthread_recursive_mutex_unlock): Likewise.
1089
52786878
RC
10902005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
1091
1092 * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
1093
16d8386b
JB
10942005-01-13 Jan Beulich <jbeulich@novell.com>
1095
1096 * config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
1097 (ashrti3_internal): Indicate output is early clobber. Generate result
1098 into output rather than first input. Use move for low word of output
1099 if shift count is exactly 64.
1100 (lshrti3_internal): Likewise.
1101
0149f412
HPN
11022005-01-13 Hans-Peter Nilsson <hp@bitrange.com>
1103
1104 PR target/18329
1105 PR target/18330
1106 * reload1.c (delete_output_reload): Don't delete an output reload
1107 if the pseudo lives longer than a single basic block. Adjust and
1108 improve wording of comment.
1109
e1e04267
AP
11102005-01-12 Andrew Pinski <pinskia@physics.uc.edu>
1111
1112 PR target/19334
1113 * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
1114 of TYPE_SIZE where we mean the number of bytes.
1115
640019aa
AH
11162005-01-12 Aldy Hernandez <aldyh@redhat.com>
1117
1118 * function.c (assign_parm_setup_block): Relax condition on
1119 multi-register optimization.
1120
98e20ffd
NC
11212005-01-12 Nick Clifton <nickc@redhat.com>
1122
1123 * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
1124 an "in_delay_slot" attribute of "no" to prevent them being used in
1125 delay slots. This is forbidden because they might generate
1126 exceptions.
1127
409f61cd
AM
11282005-01-12 Alan Modra <amodra@bigpond.net.au>
1129
1130 PR target/19389
1131 * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
1132 with r->Y and Y->r.
1133
ef6f5655
NC
11342005-01-12 Nick Clifton <nickc@redhat.com>
1135
1136 * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
1137 passed on to GAS) but do not define, as GAS no longer supports or
1138 needs the -m2000 option.
1139
157b3890
RS
11402005-01-11 Roger Sayle <roger@eyesopen.com>
1141
1142 * builtins.c (fold_builtin_fabs): Convert argument to the appropriate
1143 type as args of unprototyped builtins aren't automatically promoted.
1144 (fold_builtin_abs): Likewise.
1145
9a43b902
KG
11462005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1147
1148 * Makefile.in: Set a `build-warn' variable.
1149
0a915e3d
ZD
11502005-01-11 Zdenek Dvorak <dvorakz@suse.cz>
1151
1152 PR tree-optimization/17949
1153 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
1154 (find_interesting_uses_address): Use it.
1155
f351bfed
AH
11562005-01-11 Aldy Hernandez <aldyh@redhat.com>
1157
1158 * regrename.c (kill_value): Handle subreg's that won't simplify.
1159
eb701deb
RH
11602005-01-11 Richard Henderson <rth@redhat.com>
1161
1162 PR target/13366
1163 * config/i386/i386.h (enum ix86_builtins): Move ...
1164 * config/i386/i386.c: ... here.
1165 (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
1166 IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
1167 IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
1168 IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
1169 IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD,
1170 IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
1171 IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
1172 IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
1173 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
1174 IX86_BUILTIN_LOADDDUP): Remove.
1175 (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
1176 IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
1177 IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
1178 IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
1179 IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
1180 (ix86_init_builtins): Make static.
1181 (ix86_init_mmx_sse_builtins): Update for changed builtins.
1182 (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
1183 if all the modes match. Otherwise, fake it.
1184 (get_element_number, ix86_expand_vec_init_builtin,
1185 ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
1186 (ix86_expand_builtin): Make static. Update for changed builtins.
1187 (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
1188 operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode.
1189 (ix86_expand_vector_init_duplicate): New.
1190 (ix86_expand_vector_init_low_nonzero): New.
1191 (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
1192 Split out from ix86_expand_vector_init; handle integer modes.
1193 (ix86_expand_vector_init): Use them.
1194 (ix86_expand_vector_set, ix86_expand_vector_extract): New.
1195 * config/i386/i386-protos.h: Update.
1196 * config/i386/predicates.md (reg_or_0_operand): New.
1197 * config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
1198 (movv2sf_internal): Likewise. And a splitter to match them all.
1199 (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
1200 vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
1201 vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
1202 vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
1203 (mmx_pinsrw): Fix operand ordering.
1204 * config/i386/sse.md (movv4sf splitter): Use direct pattern,
1205 rather than sse_loadss expander.
1206 (movv2df splitter): Similarly.
1207 (sse_loadss, sse_loadlss): Remove.
1208 (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
1209 (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
1210 (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
1211 (sse3_movddup): Rename with '*'.
1212 (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
1213 (sse2_loadsd): Remove.
1214 (vec_dupv2df_sse3): Rename from sse3_loadddup.
1215 (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
1216 (sse2_pinsrw): Fix argument ordering.
1217 (sse2_loadld, sse2_loadq): Add sse1 alternatives.
1218 (sse2_stored): Remove 'r' destination.
1219 (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
1220 vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
1221 vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
1222 vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
1223 vec_extractv16qi, vec_initv16qi): New.
1224
1225 * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
1226 (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
1227 _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
1228 constructor form.
1229 (_mm_load_pd, _mm_store_pd): Use plain dereference.
1230 (_mm_load_si128, _mm_store_si128): Likewise.
1231 (_mm_load1_pd): Use _mm_set1_pd.
1232 (_mm_load_sd): Use _mm_set_sd.
1233 (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
1234 (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
1235 (_mm_set_epi64): Use _mm_set_epi64x.
1236 (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
1237 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
1238 _mm_setr_epi8): Use _mm_set_foo form.
1239 (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
1240 (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
1241 (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
1242 (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
1243 * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
1244 (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
1245 (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
1246 (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
1247 (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
1248 * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
1249 (_mm_movedup_pd): Use _mm_shuffle_pd.
1250 * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
1251 _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
1252 (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
1253 _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
1254 Use _mm_setzero_ps.
1255 (_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
1256 (_mm_load_ps, _mm_loadr_ps): Use raw dereference.
1257 (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
1258 (_mm_store_ps): Use raw dereference.
1259 (_mm_store1_ps): Use _mm_storeu_ps.
1260 (_mm_storer_ps): Use _mm_store_ps.
1261 (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
1262 (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
1263
d9e4e4f5
SS
12642005-01-11 Stan Shebs <shebs@apple.com>
1265
1266 * config/rs6000/rs6000.c (machopic_output_stub): Issue
1267 ldu instead of lwzu if 64-bit -mdynamic-no-pic.
1268
85962ac8
AP
12692005-01-11 Andrew Pinski <pinskia@physics.uc.edu>
1270
1271 PR target/18761
1272 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
1273 Skip all DECLs except for FIELD_DECLs.
1274
6b78f6be
AK
12752005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
1276
1277 * config/s390/s390.c (override_options): Return error if
1278 -mbackchain, -mpacked-stack and -mhard-float are used together.
1279 (s390_va_start): Remove the backchain && packed-stack special case.
1280 (s390_gimplify_va_arg): Likewise.
1281 * doc/invoke.texi: Remove the ABI incompatibility note.
1282
66480e91
AK
12832005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
1284
1285 * config/s390/s390.c (struct s390_frame_layout): Remove
1286 save_backchain_p.
1287 (s390_frame_info, s390_emit_prologue): Replace occurrences of
1288 save_backchain_p with TARGET_BACKCHAIN.
1289
bfc45551
AM
12902005-01-11 Alan Modra <amodra@bigpond.net.au>
1291
1292 PR target/18916
1293 * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
1294 * expr.h (struct locate_and_pad_arg_data): Add "boundary".
1295 * function.c (locate_and_pad_parm): Set new field.
1296 (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
1297 Tweak where_pad test to include "none". Always set mem align for
1298 stack_parm.
1299 (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
1300 not sufficient for type.
1301 (assign_parm_setup_block): If stack_parm is zero on entry, always
1302 make a new stack local. Block move old stack parm if necessary
1303 to new aligned stack local.
1304 (assign_parm_setup_stack): Use a block move to handle
1305 potentially misaligned entry_parm.
1306 (assign_parms_unsplit_complex): Specify required alignment when
1307 creating stack local.
1308 * calls.c (compute_argument_addresses): Override alignment of stack
1309 arg calculated from its type with the alignment given by
1310 FUNCTION_ARG_BOUNDARY.
1311 (store_one_arg): Likewise.
1312
d3f6e07b 13132005-01-11 Jan Beulich <jbeulich@novell.com>
bfc45551 1314
d3f6e07b
JB
1315 * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
1316 Change respective itanium_class attribute to ialu.
1317 (shladdp4_internal): New.
1318 * config/ia64/predicates.md (shladd_log2_operand): New.
1319
201dd46b
RH
13202005-01-11 Richard Henderson <rth@redhat.com>
1321
1322 * expr.c (store_constructor): Use rtvec_alloc instead of
1323 alloca+gen_rtvec_v, and an incorrect number passed to alloca.
1324
35c0104b
KH
13252005-01-11 Kazu Hirata <kazu@cs.umass.edu>
1326
1327 * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
1328
abb8b19a
AM
13292005-01-11 Alan Modra <amodra@bigpond.net.au>
1330
1331 * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
1332 * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
1333 (TARGET_RWRELOC): Define.
1334 (ia64_rwreloc_section_type_flags): Delete.
1335 (ia64_section_type_flags): New function.
1336 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
1337 (TARGET_RWRELOC): Define.
1338
b1eae416
DM
13392005-01-10 David Mosberger <davidm@hpl.hp.com>
1340
1341 PR target/18987
1342 * config/ia64/ia64.c (process_set): For alloc insn, only call
1343 process_epilogue is !frame_pointer_needed.
1344
18d00205
RS
13452005-01-10 Roger Sayle <roger@eyesopen.com>
1346
1347 PR c++/19355
1348 * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
1349 unary operator and can't be treated as a binary/comparison operator.
1350
b3a1ca49
RH
13512005-01-10 Richard Henderson <rth@redhat.com>
1352
1353 * config/i386/i386.c (ix86_function_value): Use type_natural_mode.
1354 (ix86_return_in_memory): Likewise.
1355 (function_arg_advance): Likewise. Mirror structure in function_arg
1356 for choosing register to advance.
1357
1618f948
KH
13582005-01-10 Kazu Hirata <kazu@cs.umass.edu>
1359
1360 * tree-vectorizer.c, tree.def: Fix comment typos.
1361
98fd0d70
MD
13622005-01-10 Mark Dettinger <dettinge@de.ibm.com>
1363
1364 * config/s390/s390.c (struct processor_costs): 4 new fields:
1365 ddbr, ddr, debr, der.
1366 (s390_rtx_costs): More precise handling of divide instructions.
1367
99757961
DE
13682005-01-10 David Edelsohn <edelsohn@gnu.org>
1369
1370 * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
1371
826eb7ed
JB
13722005-01-10 Jan Beulich <jbeulich@novell.com>
1373
1374 * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
1375 names resulting from -ffunction-sections/-fdata-sections and linkonce
1376 ones.
1377 * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
1378 based on the section name. Rearrange the section name comparison logic
1379 slightly so that each section name is compared against at most once.
1380
068d4f38
BE
13812005-01-10 Ben Elliston <bje@au.ibm.com>
1382
1383 * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
1384 targets for which -fPIC reduces limitations on the GOT size.
1385
351bae3d
FH
13862005-01-09 Falk Hueffner <falk@debian.org>
1387
1388 * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
1389 X/C1 cmpop C2.
1390
7142ae77
DE
13912005-01-09 David Edelsohn <edelsohn@gnu.org>
1392
1393 PR target/18720
1394 * collect2.c (main): Set aixrtl_flag for -brtl option.
1395 (resolve_lib_name): Search for .so file extension before .a
1396 if aixrtl_flag set.
1397
5a3ed97a
DN
13982005-01-09 Dorit Naishlos <dorit@il.ibm.com>
1399
1400 * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
1401 (vect_analyze_data_refs_alignment): Add dump prints.
1402
db5dc63d
IR
14032005-01-09 Ira Rosen <irar@il.ibm.com>
1404
1405 * tree-vectorizer.c (vect_analyze_offset_expr): Use
1406 expr_invariant_in_loop_p.
1407 Initialize outputs first thing in the function.
1408 (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
1409 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
1410 (vect_analyze_pointer_ref_access): Check that the initial condition of
1411 the access function is loop invariant.
1412
80e8bb90
RH
14132005-01-09 Richard Henderson <rth@redhat.com>
1414
1415 * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
1416 (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem
1417 just like MASKMOVDQU. Return plain zero for MMX_ZERO.
1418 * config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
1419 mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
1420 movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
1421 movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
1422 sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
1423 ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
1424 mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
1425 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
1426 sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
1427 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
1428 mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
1429 gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
1430 ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
1431 mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
1432 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
1433 mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
1434 eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
1435 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
1436 pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
1437 pswapdv2sf2): Move to mmx.md; rename as necessary with leading
1438 mmx_ prefix.
1439 (mmx_clrdi, pavgusb): Remove.
1440 (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
1441 with leading sse_ prefix.
1442 * config/i386/sse.md: Receive them.
1443 * config/i386/mmx.md: New file.
1444 (MMXMODE12, MMXMODE24, mmxvecsize): New.
1445 (subrv2sf3): Turn into expander for normal subtraction.
1446 (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
1447 mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
1448 mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
1449 mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
1450 commutative; use ix86_binary_operator_ok.
1451 (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
1452 mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
1453 mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
1454 mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
1455 mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
1456 Macroize from existing patterns; use ix86_binary_operator_ok.
1457 (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
1458 (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
1459 mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model
1460 with vec_select+vec_concat.
1461 (mmx_pshufw, mmx_pshufw_1): Likewise.
1462 (mmx_uavgv8qi3): Merge pavgusb. Model correcty.
1463 (mmx_uavgv4hi3): Model correctly.
1464 * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
1465 _mm_xor_si64): Remove casts.
1466
eb0bc7af
ZD
14672005-01-09 Zdenek Dvorak <dvorakz@suse.cz>
1468
1469 PR tree-optimization/19224
1470 * tree-scalar-evolution.c (get_instantiated_value,
1471 set_instantiated_value): New functions.
1472 (instantiate_parameters_1): Cache the results.
1473 (instantiate_parameters, resolve_mixers): Initialize and free
1474 the cache.
1475
d1c9ce9f
DE
14762005-01-08 David Edelsohn <edelsohn@gnu.org>
1477
1478 * config/i386/i386.md (addhi_4): Correct reference in comment.
1479 (addqi_4): Same.
1480
ef719a44
RH
14812005-01-08 Richard Henderson <rth@redhat.com>
1482
1483 * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
1484 (_mm_cvtsi128_si64x): Likewise.
1485 (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
1486 _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
1487 the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
1488 * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
1489 * config/i386/i386-protos.h: Update.
1490 * config/i386/i386.c (print_operand): Add 'H'.
1491 (ix86_fixup_binary_operands): Split out from ...
1492 (ix86_expand_binary_operator): ... here.
1493 (ix86_fixup_binary_operands_no_copy): New.
1494 (ix86_expand_fp_absneg_operator): Handle vector mode results.
1495 (bdesc_2arg): Update names for sse{,2,3}_ prefixes.
1496 (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
1497 (safe_vector_operand): Use CONST0_RTX.
1498 (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
1499 (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
1500 CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU
1501 expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp*
1502 special cases.
1503 * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
1504 (IX86_BUILTIN_CMPNGESS): New.
1505 * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
1506 (attr type): Add sselog1.
1507 (attr unit, attr memory): Handle it.
1508 (movti, movti_internal, movti_rex64): Move near other integer moves.
1509 (movtf, movtf_internal): Move near other fp moves.
1510 (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
1511 vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
1512 movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
1513 movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
1514 sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
1515 sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
1516 sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
1517 mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
1518 rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
1519 sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
1520 sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
1521 sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
1522 vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
1523 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
1524 cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
1525 cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
1526 vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
1527 vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
1528 sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
1529 sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
1530 cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
1531 cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
1532 cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
1533 cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
1534 ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
1535 subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
1536 smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
1537 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
1538 sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
1539 sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
1540 gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
1541 ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
1542 ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
1543 sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
1544 sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
1545 sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
1546 sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
1547 sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
1548 sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
1549 sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
1550 mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
1551 addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
1552 movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with
1553 non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
1554 same time.
1555 (SSEPUSH, push<SSEPUSH>): Remove.
1556 (MMXPUSH, push<MMXPUSH>): Remove.
1557 (sse_movaps, sse_movaps_1, sse_movups): Remove.
1558 (sse2_movapd, sse2_movdqa, sse2_movq): Remove.
1559 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
1560 (sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
1561 (maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
1562 (maskncmpv2df3, vmmaskncmpv2df3): Remove.
1563 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
1564 (lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
1565 * config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
1566 (athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
1567 * config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
1568 (ppro_sse_log_V4SF_load): Similarly. Handle sselog1.
1569 (ppro_sse_log_V4SF): Handle sselog1.
1570 * config/i386/predicates.md (const_0_to_1_operand): New.
1571 (const_0_to_255_mul_8_operand): New.
1572 (const_1_to_31_operand): Rename from const_int_1_31_operand.
1573 (const_2_to_3_operand, const_4_to_7_operand): New.
1574 * config/i386/sse.md: New file.
1575 (SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
1576 (sse_movups): Rename from sse_movups_1.
1577 (sse_loadlss): Rename from sse_loadss_1.
1578 (andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
1579 from the name.
1580 (negv4sf2): Use ix86_expand_fp_absneg_operator.
1581 (absv4sf2, negv2df, absv2df): New.
1582 (addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
1583 (subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
1584 iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
1585 smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
1586 umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
1587 (sse3_addsubv4sf3): Model correctly.
1588 sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
1589 sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
1590 (sse_movhlps): Model with vec_select+vec_concat.
1591 (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
1592 sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
1593 sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
1594 sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
1595 sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
1596 sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
1597 sse2_pshufhw_1): Likewise.
1598 (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
1599 (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
1600 sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
1601 ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
1602 sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
1603 ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
1604 (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
1605 sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
1606 mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
1607 sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
1608 sminv8hi3): Mark commutative
1609 operands. Use ix86_binary_operator_ok.
1610 (sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
1611 sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
1612 sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
1613 sse2_punpcklqdq): Allow operand2 in memory.
1614 (sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
1615 sse2_movsd): Add memory alternatives.
1616 (sse_storelps): Turn expander into an insn; split after reload.
1617 (sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
1618 (sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
1619
080a5bb0
EB
16202005-01-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1621
1622 * configure.ac (DWARF-2 debug_line): Use objdump.
1623 * configure: Regenerate.
1624
e79b60a7
DN
16252005-01-08 Jeff Law <law@redhat.com>
1626 Diego Novillo <dnovillo@redhat.com>
1627
a6331d85 1628 PR tree-optimization/18241
e79b60a7
DN
1629 * tree-nrv.c (tree_nrv): Ignore volatile return values.
1630 * tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
1631 statements with volatile operands.
1632 * tree-ssa-operands.c (add_stmt_operand): Do add volatile
1633 operands after marking a statement with has_volatile_ops.
1634
4634cf7e
RS
16352005-01-08 Roger Sayle <roger@eyesopen.com>
1636
1637 * tree.c (int_fits_type_p): Always honor integer constant
1638 TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
1639
88c0f1c6
RS
16402005-01-08 Roger Sayle <roger@eyesopen.com>
1641
1642 * ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
1643 the latent bug in rtl_delete_block has been resolved.
1644
37e30acc
RS
16452005-01-08 Richard Sandiford <rsandifo@redhat.com>
1646
1647 * config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
1648 (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
1649
943cb1d0
RS
16502005-01-08 Richard Sandiford <rsandifo@redhat.com>
1651
1652 * config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
1653 library as @multilib_dir@/$(SHLIB_SONAME).
1654
1b5c0152
EB
16552005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1656
1657 * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
1658 * configure: Regenerate.
1659
b827788f
JJ
16602005-01-07 Jakub Jelinek <jakub@redhat.com>
1661
1662 * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
1663 TYPE_MODE.
1664
4937d02d
DE
16652005-01-07 David Edelsohn <edelsohn@gnu.org>
1666
1667 PR target/13674
1668 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
1669 Convert non-word aligned offset address using ld/std into
1670 indirect address.
1671
db396999
RH
16722005-01-07 Richard Henderson <rth@redhat.com>
1673
1674 * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
1675
4600cc14
RS
16762005-01-07 Richard SAndiford <rsandifo@redhat.com>
1677
1678 * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
1679
8870e212
JJ
16802005-01-07 Jakub Jelinek <jakub@redhat.com>
1681
2a0958c5
JJ
1682 PR tree-optimization/19283
1683 * fold-const.c (fold_widened_comparison): Return NULL if shorter_type
1684 is not shorter than the original type.
1685
ebc0c8bb
JJ
1686 PR rtl-optimization/19012
1687 * config/i386/i386.md (addqi_1_slp): Set memory attribute.
1688
0210ae14
JJ
1689 PR rtl-optimization/18861
1690 * cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
1691 (FULL_STATE): Define.
1692 (mark_tablejump_edge): New function.
1693 (purge_dead_tablejump_edges): New function.
1694 (find_bb_boundaries): Use it.
1695
8870e212
JJ
1696 PR tree-optimization/18828
1697 * builtins.c (expand_builtin_next_arg): Remove argument and all
1698 the argument checking.
1699 (expand_builtin): Adjust caller.
1700 (expand_builtin_va_start): Likewise. Remove error for too many
1701 arguments.
1702 (fold_builtin_next_arg): Issue error for too many arguments.
1703 After checking arguments, replace them with magic arguments that
1704 prevent further checking of the args.
1705
9fb29c46
JDA
17062005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1707
1708 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
1709
9a3bf943
RS
17102005-01-06 Roger Sayle <roger@eyesopen.com>
1711
1712 PR target/6077
1713 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
1714 and %{.S:...} (and their negative variants) to test whether the
1715 input file is assembler or pre-processed-assembler independent of
1716 the actual filename extension.
1717
c79fc296
RS
17182005-01-06 Roger Sayle <roger@eyesopen.com>
1719
1720 * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
1721 of sign or zero extended values.
1722
59d7d767
GK
17232005-01-06 Geoffrey Keating <geoffk@apple.com>
1724
1725 * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
1726 for IBM long double format correctly.
1727
1f24dd47
DB
17282005-01-06 Daniel Berlin <dberlin@dberlin.org>
1729
1730 Fix PR tree-optimization/18792
1731
1732 * tree-data-ref.c (build_classic_dist_vector): Change first_loop
1733 to first_loop_depth, and use loop depth instead of loop number.
1734 (build_classic_dir_vector): Ditto.
1735 (compute_data_dependences_for_loop): Use depth, not loop number.
1736 * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
1737 number. Pass in loops, instead of loop numbers.
1738 (gather_interchange_stats): Ditto.
1739 (linear_transform_loops): Ditto.
1740
27916b83
RS
17412005-01-06 Richard Sandiford <rsandifo@redhat.com>
1742
1743 PR rtl-opt/13299
1744 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
1745 biv_fits_mode_p, extension_within_bounds_p): New functions.
1746 (check_ext_dependent_givs): Use them.
1747
4ab80063
RS
17482005-01-06 Roger Sayle <roger@eyesopen.com>
1749
1750 * cfgrtl.c (rtl_delete_block): A basic block may be followed by
1751 more than one barrier, in which case we should delete them all.
1752
12d3e34b
TS
17532005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1754
1755 * gcc.c (process_command): Change year in 'gcc --version' to 2005.
1756
9acf766f
DB
17572005-01-05 Daniel Berlin <dberlin@dberlin.org>
1758
1759 Fix PR middle-end/19286
1760 Fix PR debug/19267
1761 * dwarf2out.c (gen_subprogram_die): If we've already tried to
1762 output this subprogram, simply ignore this attempt to do it again.
1763 (add_abstract_origin_attribute): Don't abort trying to add the abstract
1764 origin attribute if it's not possible.
1765 (gen_block_die): Don't ignore subblocks of "unused" blocks.
1766 (decls_for_scope): Ditto.
1767 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
1768 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
1769
e358acde
RH
17702005-01-05 Richard Henderson <rth@redhat.com>
1771
1772 PR target/11327
1773 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
1774 (bdesc_2arg): Use it.
1775 (ix86_expand_binop_builtin): Force operands into registers
1776 when optimizing.
1777 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
1778 ix86_expand_sse_compare, ix86_expand_sse_comi,
1779 ix86_expand_builtin): Likewise.
1780
051d8245
RH
17812005-01-05 Richard Henderson <rth@redhat.com>
1782
1783 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
1784 and VEC_SELECT.
1785 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
1786 (mulv4hi3): Set itanium_class mmmul.
1787 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
1788 (fpack): Rename from fpack_sfsf.
1789
19f17bb9
RH
17902005-01-05 Richard Henderson <rth@redhat.com>
1791
1792 PR rtl-opt/10692
1793 * reload1.c (do_input_reload): Restrict the optimization deleteing
1794 a previous output reload to RELOAD_FOR_INPUT.
1795
46d096a3
SB
17962005-01-05 Steven Bosscher <stevenb@suse.de>
1797
1798 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
1799 comment that we fall through after case.
1800 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
1801 (distribute_links): Likewise.
1802 * cse.c (cse_insn): Likewise.
1803 * cselib.c (cselib_invalidate_mem): Likewise.
1804 * df.c: Update comments at the top of the file.
1805 (read_modify_subreg_p): Update comments here too.
1806 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
1807 * flow.c (mark_set_1): Likewise.
1808 (mark_used_regs): Likewise.
1809 * gcse.c (mems_conflict_for_gcse_p): Likewise.
1810 (canon_list_insert): Likewise.
1811 (mark_set): Likewise.
1812 (try_replace_reg): Likewise.
1813 (store_killed_in_insn): Likewise.
1814 * loop.c (count_one_set): Likewise.
1815 (basic_induction_var): Likewise.
1816 * postreload-gcse.c (find_mem_conflicts): Likewise.
1817 * postreload.c (reload_combine_note_store): Likewise.
1818 (move2add_note_store): Likewise.
1819 * reload.c (find_equiv_reg): Likewise.
1820 (mark_referenced_resources): Likewise.
1821 * rtlanal.c (set_noop_p): Likewise.
1822 (note_stores): Likewise.
1823 (note_uses): Likewise.
1824 * sched-deps.c (sched_analyze_1): Likewise.
1825 * sched-rgn.c (check_live_1): Likewise.
1826 (update_live_1): Likewise.
1827 * config/i860/i860.c: Likewise.
1828
1829 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
1830 an lvalue.
1831 (ZERO_EXTRACT): Mention that this one can be an lvalue.
1832
1833 * doc/rtl.texi: Update documentation for bit-fields and SET.
1834
65a878f5
RS
18352005-01-05 Roger Sayle <roger@eyesopen.com>
1836
1837 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
1838
d2ad2c8a
JH
18392005-01-05 Jan Hubicka <jh@suse.cz>
1840 Richard Henderson <rth@redhat.com>
1841
1842 PR target/18910
1843 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
1844 with an offset.
1845
2cdb3148
RH
18462005-01-05 Richard Henderson <rth@redhat.com>
1847
1848 PR target/12902
1849 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
1850 (sse_shufps): Change operand 3 to const_int_operand.
1851 (sse2_storelps): Fix typo in template.
1852 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
1853 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
1854 (ix86_expand_builtin): Likewise.
1855
18562005-01-05 Julian Brown <julian@codesourcery.com>
3dd7ab65
JB
1857
1858 * config/arm/arm.c (arm_return_in_memory): Treat complex types
1859 as aggregates for AAPCS ABIs.
1860
59d8fe27
SS
18612005-01-05 Stan Shebs <shebs@apple.com>
1862
1863 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
1864 Mach-O getters if ppc64.
1865 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
1866 size argument.
1867 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
1868 signed four-byte field for global code case.
1869 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
1870
010c4d9c
RS
18712005-01-05 Roger Sayle <roger@eyesopen.com>
1872
1873 PR middle-end/19100
1874 * c-common.c: Include real.h.
1875 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
1876 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
1877 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
1878 * Makefile.in (c-common.o): Update dependencies.
1879
9368fb8f
JM
18802005-01-05 Joseph S. Myers <joseph@codesourcery.com>
1881
1882 * c-parse.in (asm_string): Add trailing semicolon.
1883
9143de5c
JM
18842005-01-05 Joseph S. Myers <joseph@codesourcery.com>
1885
1886 * c-parse.in (asm_string): New. Don't allow wide strings in
1887 'asm'.
1888 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
1889 asm_string instead of STRING.
1890
0953878d
JM
18912005-01-05 Joseph S. Myers <joseph@codesourcery.com>
1892
1893 * c-typeck.c (constructor_no_implicit): Remove.
1894 (set_designator, process_init_element): Don't check
1895 constructor_no_implicit.
1896
cf99f196
R
18972005-01-05 J"orn Rennecke <joern.rennecke@st.com>
1898 Kaz Kojima <kkojima@gcc.gnu.org>
1899
1900 PR target/16482
1901 * lcm.c (create_pre_exit): New.
1902 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
1903 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
1904
712ecf4d
RE
19052004-01-05 Richard Earnshaw <rearnsha@arm.com>
1906
1907 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
1908 -msoft-float in target_float_switch.
1909 * arm.c (arm_override_options): Fix processing of target_float_switch.
1910
082cca25
RE
19112004-01-05 Richard Earnshaw <rearnsha@arm.com>
1912
1913 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
1914 preferencing.
1915
c2b43d7a
UB
19162004-01-05 Uros Bizjak <uros@kss-loka.si>
1917
1918 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
1919 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
1920
e82f5749
RS
19212005-01-04 Roger Sayle <roger@eyesopen.com>
1922
1923 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
1924 if deleting the then-block allows the test-block to fallthru to the
1925 else-block.
1926
f8f5c4b3
AP
19272005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
1928
1929 PR c/19152
1930 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
1931 after the full declaration if the are in two different TUs.
1932
19332005-01-04 Richard Henderson <rth@redhat.com>
fa588429
RH
1934
1935 PR tree-opt/19158
1936 * tree-sra.c (generate_one_element_init): Just
1937 call gimplify_and_add.
1938 (generate_element_init): Record the
1939 new referenced variables and mark them for renaming
1940 and split out to ...
1941 (generate_element_init_1): This.
1942 (scalarize_init): Don't call push_gimplify_context/
1943 pop_gimplify_context.
1944
5f0c48ed
GK
19452005-01-04 Geoffrey Keating <geoffk@apple.com>
1946
1947 * toplev.c (get_src_pwd): Handle failure of getpwd().
1948
e3523f56
RS
19492005-01-04 Roger Sayle <roger@eyesopen.com>
1950
1951 * fold-const.c (fold_single_bit_test): Delete unreachable handling
1952 of TRUTH_NOT_EXPR.
1953 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
1954 all the cases handled by it are inverted by invert_truthvalue.
1955
9746bb27
EB
19562005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1957
1958 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
1959 (save_register_windowsi): Likewise.
1960
bfee926b
RH
19612005-01-04 Richard Henderson <rth@redhat.com>
1962
1963 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
1964
21e5076a
UB
19652005-01-04 Uros Bizjak <uros@kss-loka.si>
1966
1967 PR middle-end/17767
1968 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
1969 any simplifications of vector mode comparison operators.
1970 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
1971
8ea9d0c7
PB
19722005-01-04 Paolo Bonzini <bonzini@gnu.org>
1973 Devang Patel <dpatel@apple.com>
1974
1975 PR tree-optimization/18308
8ea9d0c7
PB
1976 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
1977 the operands before creating a new expression.
1978 * dojump.c (do_jump): Make drop_through_label available
1979 for all cases. Add expansion of COND_EXPR.
1980
8c427b58
IR
19812005-01-04 Ira Rosen <irar@il.ibm.com>
1982
1983 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
1984 INTEGER_CST instead of TREE_CONSTANT.
1985 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
1986 instead of TREE_CONSTANT.
1987 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
1988 instead of TREE_CONSTANT.
1989
8287d24a
EB
19902005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1991
1992 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
1993
9e4ae64b
UB
19942005-01-04 Uros Bizjak <uros@kss-loka.si>
1995
1996 PR target/19240
1997 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
1998 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
1999
c756af79
RH
20002005-01-03 Richard Henderson <rth@redhat.com>
2001
2002 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
2003 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
2004 fold_convert_const_real_from_real): Split out from ...
2005 (fold_convert_const): ... here.
2006
d30c9461
RH
20072005-01-03 Richard Henderson <rth@redhat.com>
2008
2009 PR target/19235
2010 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
2011 (mov<MMXMODEI>_internal): Likewise.
2012 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
2013 Add V2SF case; use it for SSE1; don't use TI.
2014 (movdf_integer): Likewise.
2015 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
2016
7d23434b
IR
20172005-01-03 Ira Rosen <irar@il.ibm.com>
2018
2019 * tree-vectorizer.c (vect_strip_conversions): New function.
2020 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
2021 check for binary class.
2022
1eb3331e
DB
20232005-01-03 Daniel Berlin <dberlin@dberlin.org>
2024
2025 Fix PR debug/17924
2026 Fix PR debug/19191
2027 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
2028 is a decl.
2029 * gimple-low.c (mark_blocks_with_used_vars): New function.
2030 (mark_blocks_with_used_subblocks): Ditto.
2031 (mark_used_blocks): Ditto.
2032 (pass_mark_used_blocks): New pass.
2033 * tree-inline.c: Include debug.h.
2034 (expand_call_inline): Call outlining_inline_function here.
2035 * tree-optimize.c (init_tree_optimization_passes): Add
2036 pass_mark_used_blocks.
2037 * tree-pass.h (pass_mark_used_blocks): New.
2038 * Makefile.in (tree-inline.o): Add debug.h dependency.
2039
a035080c
GK
20402005-01-03 Geoffrey Keating <geoffk@apple.com>
2041
d7001ae5
GK
2042 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
2043 VAR_DECLs to have weak_import attribute.
2044
a035080c
GK
2045 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
2046 'struct ucontext'.
2047
1ab219d3
SB
20482004-01-03 Steven Bosscher <stevenb@suse.de>
2049
2050 * passes.c (rest_of_compilation): Don't run regmove if only
2051 flag_expensive_optimizations, require flag_regmove instead.
2052
e6abef61
EB
20532005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2054
2055 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
2056 register "sparc".
2057 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
2058 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2059 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
2060 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2061
f61134e8
RH
20622005-01-03 Richard Henderson <rth@redhat.com>
2063
2064 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
2065 (ia64_const_ok_for_letter_p): New.
2066 (ia64_const_double_ok_for_letter_p): New.
2067 (ia64_extra_constraint): New.
2068 (ia64_expand_vecint_compare): New.
2069 (ia64_expand_vcondu_v2si): New.
2070 (ia64_expand_vecint_cmov): New.
2071 (ia64_expand_vecint_minmax): New.
2072 (ia64_print_operand): Add 'v'.
2073 (ia64_preferred_reload_class): New.
2074 (ia64_vector_mode_supported_p): New.
2075 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
2076 (PREFERRED_RELOAD_CLASS): Move to function.
2077 (CONST_OK_FOR_LETTER_P): Move to function.
2078 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
2079 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
2080 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
2081 (EXTRA_CONSTRAINT): Move to function.
2082 * config/ia64/ia64.md: Include vect.md.
2083 (itanium_class): Add mmalua.
2084 (type): Handle it.
2085 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
2086 (1b_mmalua): New.
2087 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
2088 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
2089 CONST0_RTX.
2090 (const_int_2bit_operand): New.
2091 (fr_reg_or_0_operand): New.
2092 * config/ia64/ia64-modes.def: Add vector modes.
2093 * config/ia64/ia64-protos.h: Update.
2094 * config/ia64/vect.md: New file.
2095
3198b947
RH
20962005-01-03 Richard Henderson <rth@redhat.com>
2097
2098 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
2099
088df4c2
UB
21002005-01-03 Uros Bizjak <uros@kss-loka.si>
2101
2102 PR target/19236
2103 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
2104 to SFmode.
2105 (log1pdf2): Change mode of operands[0,1] to DFmode.
2106
548a6c4f
EB
21072005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2108
2109 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
2110 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
2111 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
2112 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
2113 SPARC_RELAXED_ORDERING.
2114
0703dceb
RH
21152005-01-03 Richard Henderson <rth@redhat.com>
2116 Uros Bizjak <uros@kss-loka.si>
2117
2118 PR target/14631
2119 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
2120 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
2121 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
2122 handling.
2123 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
2124 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
2125 const_pow2_1_to_128_operand): New predicates.
2126
97236777
GM
21272005-01-02 Greg McGary <greg@mcgary.org>
2128
2129 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
2130 anonymous decls.
2131 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
2132 object. [ptr_type]: Remove unused variable.
2133 Remember nearest addressable array-element or record-component
2134 when checking bitfield components. Tolerate empty BIND_EXPR.
2135
155a8213
RH
21362005-01-01 Richard Henderson <rth@redhat.com>
2137
2138 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
2139 that don't narrow the value. Fail for other conversions.
2140
bedb9fc0
RH
21412005-01-01 Richard Henderson <rth@redhat.com>
2142
2143 PR c/19031
2144 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
2145 * c-lang.c (finish_file): Don't do it here.
2146 * objc/objc-act.c (objc_finish_file): Likewise.
2147
2148 * cgraph.c (decl_assembler_name_equal): New.
2149 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
2150 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
2151 * cgraph.h (struct cgraph_varpool_node): Add next.
2152 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
2153 * varasm.c (assemble_alias): Mark the target as needed.
2154
1cb2fc7b
AP
21552005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
2156
2157 PR middle-end/19221
2158 * function.c (get_arg_pointer_save_area): Use entry_of_function
2159 instead of get_insns.
2160
0ca5fbc0
RS
21612005-01-01 Roger Sayle <roger@eyesopen.com>
2162 Andrew Pinski <pinskia@physics.uc.edu>
2163 James E. Wilson <wilson@specifixinc.com>
2164
2165 PR rtl-optimization/12092
2166 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
2167 is zero.
2168
91c537b7
RS
21692005-01-01 Roger Sayle <roger@eyesopen.com>
2170 Olivier Hainque <hainque@act-europe.fr>
2171
2172 * tree.c (int_fits_type_p): A narrower type always fits in a
2173 wider one, except for negative values into unsigned types.
2174
69618c49
RS
21752005-01-01 Roger Sayle <roger@eyesopen.com>
2176
2177 * tree.c (int_fits_type_p): Compare the result of force_fit_type
2178 with the original constant rather than require TREE_OVERFLOW.
2179
43e05e45
SB
21802005-01-01 Steven Bosscher <stevenb@suse.de>
2181
2182 PR middle-end/17544
2183 * c-decl.c (finish_function): If compiling C99, annotate the
2184 compiler generated return with the current file name and line 0.
2185 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
2186 the source line is greater than 0.
2187 (remove_bb): Likewise.
2188
7a4515d7 2189See ChangeLog.12 for earlier changes.
This page took 0.290419 seconds and 5 git commands to generate.