aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
blob: 659885e4d7d0f4e9754682aecf512bb2e75456c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
2004-07-07  Richard Henderson  <rth@redhat.com>

	* tree-flow-inline.h (may_propagate_copy): Move...
	* tree-ssa-copy.c (may_propagate_copy): ... here.  Fail if we
	attempt to copy between types requiring conversion.
	* tree-flow.h (may_propagate_copy): Update decl.
	* tree-ssa-dom.c (cprop_operand): Tidy redundant tests.

2004-07-07  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
	from -mtune= option.

2004-07-07  Alexandre Oliva  <aoliva@redhat.com>

	* builtins.c: Rename movstr*, except for movstrict*, to
	movmem* and clrstr* to clrmem*.
	* expr.c: Likewise.
	* expr.h: Likewise.
	* genopinit.c: Likewise.
	* integrate.c: Likewise.
	* local-alloc.c: Likewise.
	* optabs.c: Likewise.
	* optabs.h: Likewise.
	* config/alpha/alpha.h: Likewise.
	* config/alpha/alpha.md: Likewise.
	* config/arm/arm-protos.h: Likewise.
	* config/arm/arm.c: Likewise.
	* config/arm/arm.md: Likewise.
	* config/avr/avr.md: Likewise.
	* config/c4x/c4x.c: Likewise.
	* config/c4x/c4x.md: Likewise.
	* config/frv/frv.md: Likewise.
	* config/i386/i386-protos.h: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/i386.h: Likewise.
	* config/i386/i386.md: Likewise.
	* config/i860/i860.c: Likewise.
	* config/i860/i860.md: Likewise.
	* config/ip2k/ip2k.md: Likewise.
	* config/ip2k/libgcc.S: Likewise.
	* config/ip2k/t-ip2k: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/m32r/m32r.md: Likewise.
	* config/mcore/mcore.md: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mips/mips.md: Likewise.
	* config/ns32k/ns32k.c: Likewise.
	* config/ns32k/ns32k.h: Likewise.
	* config/ns32k/ns32k.md: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pa/pa.md: Likewise.
	* config/pdp11/pdp11.h: Likewise.
	* config/pdp11/pdp11.md: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rs6000/rs6000.md: Likewise.
	* config/s390/s390-protos.h: Likewise.
	* config/s390/s390.c: Likewise.
	* config/s390/s390.md: Likewise.
	* config/sh/lib1funcs.asm: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/sh.md: Likewise.
	* config/sh/t-sh: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/vax/vax.md: Likewise.
	* config/xtensa/xtensa.c: Likewise.
	* config/xtensa/xtensa.md: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/rtl.texi: Likewise.

2004-07-07  Richard Sandiford  <rsandifo@redhat.com>

	PR target/16407
	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
	* config/mips/mips.c (mips_declare_common_object): New function,
	mostly split out from...
	(mips_output_aligned_decl_common): ...here.
	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.

2004-07-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR c/16392
	* function.c (assign_parms): Fix typo from previous change.

2004-07-07  Jason Merrill  <jason@redhat.com>

	PR c++/15815
	* doc/extend.texi (C++ Interface): Correct information and
	discourage use.

2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/16130
	PR target/16142
	PR target/16143
	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
	insn.
	
2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>

	PR target/1679.
	* config/m32r/m32r.c (m32r_function_symbol): New function:
	Generate a symbol name RTX with the correct m32r specific flags
	set. 
	(block_move_call): Use new function to generate correct symbol.
	* config/m32r/m32r-protos.h: Add prototype for new funcion.
	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
	function.

2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>

	* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
	TYPE_BINFO_BASETYPE): Remove.
	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
	to ...
	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
	here.
	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
	(struct tree_binfo): Rename base_types to base_binfos.
	* alias.c (record_component_aliases): Adjust BINFO macros.
	* dbxout.c (dbxout_type): Likewise.
	* dwarf2out.c (gen_member_die): Likewise.
	* sdbout.c (sdbout_one_type): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* config/i386/i386.c (classify_argument,
	contains_128bit_aligned_vector_p): Likewise.

2004-07-07  Nick Clifton  <nickc@redhat.com>

	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Change
	arguments to match TARGET_SETUP_INCOMING_VARARGS prototype. 

2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>

	* vec.h: Fix the example use.

2004-07-06  Richard Henderson  <rth@redhat.com>

	* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
	* langhooks.h (struct lang_hooks): Remove gimple_before_inlining.
	* tree-inline.c (copy_body_r, setup_one_parameter,
	initialize_inlined_parameters, expand_call_inline,
	declare_inline_vars): Don't check it.
	(expand_calls_inline): Remove old version, rename new version
	from gimple_expand_calls_inline.
	* tree-optimize.c (execute_gimple): Remove.
	(pass_gimple): Don't run anything.

2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/sourcebuild.texi: Use semicolons instead of commas in
	section title.

2004-07-06  Richard Henderson  <rth@redhat.com>

	* tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
	(sra_walk_modify_expr, scan_init): Likewise.
	(generate_element_zero): Check visited before scanning children.
	(generate_element_init): Set visited on error.
	(scalarize_init): Handle generate_element_init failure similar
	to use_block_copy.

2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>

	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define.
	(warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG.

2004-07-06  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (legitimize_pic_address): Make static.
	(legitimize_address): Handle CONST with TLS operand.
	(ix86_expand_move): Don't call legitimize_pic_address directly.
	* config/i386/i386-protos.h (legitimize_pic_address): Remove.

2004-07-06  Roger Sayle  <roger@eyesopen.com>

	* ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
	(noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway.
	(noce_process_if_block): Initialize if_info.b_unconditional if insn_b
	is currently executed unconditionally, i.e. not in "else_bb".

2004-07-06  Steven Bosscher  <stevenb@suse.de>

	* config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
	* config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.

2004-07-06  Daniel Berlin  <dberlin@dberlin.org>

	* dojump.c (do_jump): REFERENCE_EXPR is dead.
	* expr.c (expand_expr_real_1): Ditto.
	* tree-inline.c (estimate_num_insns_1): Ditto.
	* tree-pretty-print.c (dump_generic_node): Ditto.
	(op_symbol): Ditto.
	* tree.def: Ditto.

2004-07-06  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (reference_node_pool): New pool.
	(find_or_generate_expression): Class 'r' is okay too.
	(create_value_expr_from): Ditto.
	(add_to_sets): LHS should not include vuses.
	(eliminate): Ditto.
	(compute_avail): Reverse ordering of tests.
	Valuize INDIRECT_REF as well.

2004-07-06  Richard Sandiford  <rsandifo@redhat.com>

	PR rtl-optimization/16380
	* loop.c (check_dbra_loop): Sink comparison instructions if they
	do something other than set cc0.

2004-07-06  James E Wilson  <wilson@specifixinc.com>

	* doc/interface.texi (longjmp and automatic variables): Delete
	paragraph recommending taking the address of a variable.

2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>

	* vec.h (VEC_embedded_alloc): Remove.
	(VEC_embedded_size, VEC_embedded_init): New.
	(VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add
	MEM_STAT_INFO.
	(VEC_truncate): New.
	(vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL.
	(vec_embedded_alloc): Remove.
	* vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust.
	(vec_embedded_alloc): Remove.

2004-07-06  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
	(gt-langhooks.h): Remove.

2004-07-06  George Helffrich <george@gly.bris.ac.uk>

	* xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.

2004-07-06  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config/sparc/sparc.c (get_pc_symbol): Rename into
	add_pc_to_pic_symbol.
	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
	(load_pic_register): Account for previous changes.
	Use reg_names.  Don't create the label twice.
	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
	UNSPEC_LOAD_PCREL_SYM.
	(get_pc): Rename into load_pcrel_sym.  Add predicate to
	operands.  Remove condition.

2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>

	* dbxout.c (dbxout_type): Don't test whether the binfo slot of
	RECORD, UNION & QUAL_UNION is actually a binfo.

	* tree.h (TREE_VIA_VIRTUAL): Rename to ...
	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
	* dwarf2out.c (add_data_member_location_attribute): Likewise.
	(gen_inheritance_die): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* doc/c-tree.texi (Binfos): Add under reconstruction note.

2004-07-06  Steven Bosscher  <stevenb@suse.de>

	* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
	Define.
	* config/mcore/mcore.md: Model memory latency with a simple DFA
	pipeline description instead of a define_function_unit.

2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
	* langhooks.h (var_mod_type_p): Likewise.
	* c-decl.c (finish_decl): Add extra arg to variably_modified_type_p.
	* expr.c (count_type_elements): Properly handle return from
	array_type_nelts and properly test for overflow.
	* gimplify.c (gimplify_init_constructor): Properly handle return
	from array_type_nelts.
	(gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS.
	* integrate.c (copy_decl_for_inlining): Correct comments.
	* tree-inline.c (remap_decl): Update comments, remove dead code,
	and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist.
	(remap_type): Only remap if variably modified by vars in function
	being inlined.
	(copy_body_r): Use compatible_type langhooks to see when can fold.
	(setup_one_parameter): Don't remap type.
	(inline_forbidden_p_1): Add arg to variably_modified_type_p.
	* tree.c (recompute_tree_invarant_for_addr_expr): Properly
	compute TREE_INVARIANT for decl case.
	(find_var_from_fn): New function.
	(variably_modified_type_p): Add arg and call new function.
	* tree.h (variably_modified_type_p): Add extra arg.
	
2004-07-05  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
	(goto_handler_and_restore_v9): Delete disabled insn.
	(goto_handler_and_restore_v9_sp64): Likewise.

2004-07-05  Roger Sayle  <roger@eyesopen.com>

	* calls.c (load_register_parameters): Call expand_shift instead
	of expand_binop with ashl_optab (or other shift optab) directly.
	* expr.c (emit_group_load, emit_group_store): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* stmt.c (shift_return_value): Likewise.

2004-07-05  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (expand_assignment): Disable the bitfield += optimizations.

2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/sourcebuild.texi: Revert previous patch.

2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>

	* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
	TARGET_MEM_FUNCTIONS.
	* system.h: Poison TARGET_MEM_FUNCTIONS.
	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
	bcmp_libfunc, bzero_libfunc): Remove.
	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
	bzero_libfunc.
	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
	* doc/standards.texi: Don't mention calling BSD string functions.
	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
	* config/vax/t-memfuncs: New.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New.
	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
	vax/t-memfuncs.
	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.

2004-07-05  Richard Henderson  <rth@redhat.com>

	* function.c (assign_parm_setup_reg): Properly rename variables in
	FUNCTION_ARG_CALLEE_COPIES section.

2004-07-05  Zack Weinberg  <zack@codesourcery.com>

	* tree-mudflap.c: Include cgraph.h.
	(mf_init_extern_trees): Rename to mudflap_init.  Export.
	Rewrite to create synthetic declarations instead of looking
	up declarations from mf-runtime.h.
	(mf_make_builtin, mf_make_cache_struct_type): New functions.
	(mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl):
	Correct commentary.
	(execute_mudflap_function_decls, mudflap_register_call):
	Don't call mf_init_extern_trees.
	(mudflap_finish_file): Use cgraph_build_static_cdtor.

	* tree-mudflap.h: Update prototypes.
	* c-mudflap.c: Delete file.
	* c-common.c: Include tree-mudflap.h.
	(c_common_nodes_and_builtins): Call mudflap_init if appropriate.
	* Makefile.in: Remove all references to c-mudflap.o.
	Update dependencies.

2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* pa.md (prefetch, prefetch_32, prefetch_64): Only allow short
	displacements with the spatial-locality cache-control completer.

2004-07-05  Zack Weinberg  <zack@codesourcery.com>

	* langhooks.c: Don't include gt-langhooks.h.
	(var_labelno): Delete.
	(lhd_set_decl_assembler_name): Do not append a distinguishing
	number to file-scope internal-linkage declarations for the first
	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
	the declaration itself (if at block scope), or its containing
	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
	number.

	* opts.c (cur_in_fname): New global.
	* opts.h: Declare it.
	* tree.c: Include opts.h.
	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
	DECL_UID equal to cur_in_fname.
	(copy_node_stat): Do not change DECL_UID when copying a
	TRANSLATION_UNIT_DECL.
	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.

	* c-decl.c (c_static_assembler_name): Delete.
	* c-tree.h (c_static_assembler_name): Delete prototype.
	* c-lang.c, objc/objc-lang.c: Don't override
	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.

	* Makefile.in (tree.o): Update dependencies.
	(GTFILES): Remove langhooks.c.

2004-07-05  Roger Sayle  <roger@eyesopen.com>

	* fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus
	by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)".
	Normalize "X % C" as "X % -C" for signed modulus and negative C.
	Optimize "X % -Y" as "X % Y" for signed modulus.
	<EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0"
	into "((unsigned) X % Y) == 0".

2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>

	* sourcebuild.texi (Config Fragments): Use @comma{} in
	cross-reference to section title.

2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
	* gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it.
	(gimplify_target_expr, gimplify_expr): Likewise.
	(copy_if_shared_r): No longer need special case for BIND_EXPR.
	(unshare_body, unvisit_body): Only look at nested if BODY_P is
	whole function.
	(gimplify_compound_lval): See if we can strip any useless conversion.
	(gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size
	from RHS, not LHS.
	(gimplify_modify_expr_to_memset): Likewise.
	(gimplify_expr, case CONSTRUCTOR): Handle use as statement.
	* tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P.
	(declare_inline_vars): Likewise.
	(walk_type_fields): New function.
	(walk_tree): Use it.
	* tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR.

	* tree-sra.c (struct sra_walk_fns): Init function now returns bool.
	(sra_walk_modify_expr): Allow init function to fail.
	(scan_init): Now returns bool.
	(generate_element_init): If can't understand INIT, return false.
	(scalarize_init): Return false if generate_element_init does.

	* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly
	print bounds.

	* expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against
	bounds if bounds aren't constant.

	* tree-cfg.c (verify_expr): Use CHECK_OP in binary case.

	* function.c, langhooks-def.h, langhooks.h: Move max_size hook
	to type hooks; remove bogus PARAMS.

2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>

	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
	* dwarf2out.c (add_data_member_location_attribute): Check for
	TREE_BINFO.
	* tree.c (tree_node_kinds): Add "binfos".
	(binfo_lang_slots): New.
	(make_node_stat): Add TREE_BINFO.
	(make_tree_binfo_stat): New.
	(tree_node_structure): Add TREE_BINFO.
	* tree.def (TREE_BINFO): New.
	* tree.h (REC_OR_UNION_CHECK): Rename to ...
	(RECORD_OR_UNION_CHECK): ... here.
	(NOT_RECORD_OR_UNION_CHECK): New.
	(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
	(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
	RECORD_OR_UNION_CHECK.
	(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
	(TYPE_LANG_SLOT_1): New.
	(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
	BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
	BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
	(BINFO_ELTS): Remove.
	(BINFO_LANG_SLOT): New.
	(struct tree_binfo): New.
	(binfo_lang_slots): Declare.
	(enum tree_node_structure_enum): Add TS_BINFO.
	(union tree_node): Add binfo.
	(make_tree_binfo_stat): Declare.
	(make_tree_binfo): New.
	(enum tree_node_kind): Add binfo_kind.

	* objc/objc-act.c (start_class, objc_declare_protocols,
	start_protocols): Use TYPE_LANG_SLOT_1.
	* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
	to ...
	(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
	(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
	CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
	PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.

2004-07-05  Steven Bosscher  <stevenb@suse.de>

	* rtl.h (struct rtx_def): Remove the integrated flag.
	Use the return_val flag for MEM_SCALAR_P.
	Reshuffle and update flags in CLEAR_RTX_FLAGS.

2004-07-05  Richard Sandiford  <rsandifo@redhat.com>

	PR target/16357
	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
	move_by_pieces.

2004-07-05  Josef Zlomek  <zlomekj@suse.cz>

	* var-tracking.c: Fix some comments.
	(frame_stack_adjust): New.
	(vt_stack_adjustments): Init stack_adjust of entry block to
	minus stack adjustment of function prologue.
	(adjust_stack_reference): Do not adjust if adjustment == 0.
	(compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS.
	(emit_notes_in_bb): Likewise.
	(vt_add_function_parameters): Do not adjust locations of
	function arguments.
	(vt_initialize): Compute the stack adjustment of function
	prologue and offset the initial "location" of frame_base_decl
	from the stack pointer after prologue.

2004-07-04  Richard Henderson  <rth@redhat.com>

	* function.c (struct assign_parm_data_all): New.
	(struct assign_parm_data_one): New.
	(assign_parms_initialize_all, assign_parms_augmented_arg_list,
	assign_parm_find_data_types, assign_parms_setup_varargs,
	assign_parm_find_entry_rtl, assign_parm_is_stack_parm,
	assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl,
	assign_parm_adjust_stack_rtl, assign_parm_setup_block_p,
	assign_parm_setup_block, assign_parm_setup_reg,
	assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ...
	(assign_parms): ... here.

2004-07-04  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets
	now are bitmap_set_t's.
	(bitmap_insert_into_set): No point in inserting the value if
	it's invariant.
	(bitmap_set_contains): New function.
	(bitmap_set_replace_value): Add comment on why we do it
	this way.
	(set_contains): Removed.
	(bitmap_set_subtract_from_value_set): New name of
	set_subtract now that it's arguments are two different
	types of sets.
	Update callers.
	(bitmap_find_leader): Change algorithm used.
	(find_or_generate_expression): Update use of functions for new
	bitmap sets.
	(create_expression_by_pieces): Ditto.
	(insert_aux): Ditto.
	(insert): Ditto.
	(add_to_sets): Ditto.
	(init_pre): Ditto.
	(execute_pre): Ditto.
	(compute_avail): Ditto.
	Also ignore virtual phis.

2004-07-04  Richard Sandiford  <rsandifo@redhat.com>

	* combine.c (simplify_comparison): Fix comment typo.

2004-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename
	into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
	(eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P.
	(output_restore): Change parameter from 'insn' to 'pat'.
	(output_return): Adjust call to output_restore.
	(output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P.
	Adjust call to output_restore.

2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>

	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__
	and assert system is bsd.

2004-07-04  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete.
	(TARGET_SWITCHES): Remove -mdebugc.
	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
	(sltu, sleu): Remove TARGET_DEBUG_C_MODE handling.
	(seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i)
	(sle_[sd]i_reg): Delete.

2004-07-04  Steven Bosscher  <stevenb@suse.de>

	* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
	Define.
	* config/iq2000/iq2000.md: Translate old pipeline description to an
	equivalent new one.

2004-07-04  Roger Sayle  <roger@eyesopen.com>

	* tree-ssa-ccp.c (set_rhs): Change function to return a bool.
	Ensure the replacement rhs is valid gimple before performing
	the substitution.  Return false if these sanity checks fail.
	(fold_stmt): Only set changed to true, if set_rhs returns true.
	(execute_fold_all_builtins): Only call modify_stmt if set_rhs
	succeeds.

2004-07-04  Richard Henderson  <rth@redhat.com>

	PR c/16348
	* c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops.

2004-07-04  Mark Mitchell  <mark@codesourcery.com>

	* configure.ac (ranlib_flags): New variable.
	* Makefile.in (RANLIB_FLAGS): New variable.
	(libbackend.a): Use it.
	* configure: Regenerated.

2004-07-04  Roger Sayle  <roger@eyesopen.com>

	* ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate
	a "sign mask" instead of using ashr_optab directly.

2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>

	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
	* doc/cppopts.texi: Clarify processing of command-line defines.

2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.

2004-07-04  Richard Henderson  <rth@redhat.com>

	* rtl.def (ADDRESSOF): Remove.
	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
	(find_base_term, memrefs_conflict_p): Likewise.
	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
	(fold_rtx, cse_insn, set_live_p): Likewise.
	* dwarf2out.c (mem_loc_descriptor): Likewise.
	(add_location_or_const_value_attribute): Likewise.
	* emit-rtl.c (copy_insn_1): Likewise.
	* explow.c (memory_address): Likewise.
	* expmed.c (store_split_bit_field): Likewise.
	* expr.c (expand_expr_real_1): Likewise.
	* function.c (instantiate_decl
	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
	* genrecog.c (preds, validate_pattern): Likewise.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	* recog.c (general_operand, register_operand): Likewise.
	(memory_address_p): Likwise.
	* reload1.c (eliminate_regs, elimination_effects): Likewise.
	* rtl.c (copy_rtx): Likewise.
	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
	* rtlhooks.c (gen_lowpart_general): Likewise.
	* stmt.c (expand_asm_operands): Likewise.
	* web.c (entry_register, replace_ref, web_main): Likewise.
	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
	* config/arm/arm.c (thumb_rtx_costs): Likewise.
	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
	* config/frv/frv.c (move_destination_operand, move_source_operand,
	condexec_dest_operand, condexec_source_operand,
	condexec_memory_operand): Likewise.
	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
	(destination_xfmode_operand): Likewise.
	* config/mips/mips.h (PREDICATE_CODES): Likewise.
	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
	* config/s390/s390.c (general_s_operand): Likewise.
	* config/s390/s390.md (mov*): Likewise.
	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.

	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
	* expr.c (expand_expr_real_1): Likewise.
	* stmt.c (expand_decl): Likewise.
	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.

	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
	postponed_insns, put_var_into_stack, put_reg_into_stack,
	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
	purge_bitfield_addressof_replacements, purge_addressof_replacements,
	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
	struct insns_for_mem_walk_info, insns_for_mem_walk,
	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
	setjmp_protect_args): Remove.
	(push_function_context_to): Don't handle var_refs_queue.
	(pop_function_context_from, free_after_compilation): Likewise.
	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
	(assign_parms, allocate_struct_function): Likewise.
	(use_register_for_decl): New.
	(expand_function_end): Don't setjmp_protect.
	* function.h (struct emit_status): Update commentary.
	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
	(max_parm_reg, parm_reg_stack_loc): Remove.
	* passes.c (DFI_addressof): Remove.
	(dump_file_info): Remove addressof.
	(rest_of_handle_addressof): Remove.
	(rest_of_compilation): Don't call it.
	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
	* stmt.c (expand_decl): Use use_register_for_decl.
	* tree.h: Update decls.
	* web.c (mark_addressof): Remove.
	* doc/invoke.texi (-dF): Remove.

2004-07-03  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp
	instead of gen_mem_addressof.
	* config/ia64/ia64.md (movxf): Use assign_stack_temp to handle
	TImode output register.

2004-07-03  Richard Henderson  <rth@redhat.com>

	PR tree-optimization/16341
	* tree-sra.c (sra_walk_function): Increment to next stmt before
	processing the current stmt.
	(sra_insert_after): Always use BSI_SAME_STMT.

2004-07-03  Richard Henderson  <rth@redhat.com>

	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold
	fp plus with minus.

2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>

	* tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal
	with tree_int_cst_equal.

2004-07-03  Andreas Schwab  <schwab@suse.de>

	* config/ia64/ia64.md: Define new attribute "empty".
	(prologue_use, nop_x, insn_group_barrier): Set it.

	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
	skip over "empty" insns.

2004-07-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* tree-inline.c (initialize_inlined_parameters): Pass proper function
	context to gimplify_body.
	(walk_tree): Don't walk into types twice.
	(walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers.

	* tree-sra.c (generate_element_init): Remove any useless conversions.

	* gimplify.c (gimplify_conversion): Remove stripping useless
	conversions from here.
	(gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS.
	(gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare):
	Unshare before substituting PLACEHOLDER_EXPR.
	(gimplify_modify_expr_to_memset): Likewise.
	Pass address of TO to memset, not TO itself.
	(gimplify_init_constructor): Make copy of OBJECT so we have it each
	time we make an expression (to match a PLACEHOLDER_EXPR).

	* tree-ssa.c (tree_ssa_useless_type_conversion): Also look at
	VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
	* tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION.
	* tree-ssa-dom.c (local_fold): Likewise.

	* langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
	* langhooks.h (strct lang_hooks): New field type_max_size.
	* function.c (assign_temp): Call it.

2004-07-03  Steven Bosscher  <stevenb@suse.de>

	* config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1.
	* config/sh/sh.md: Convert the SH1 pipeline description to
	a DFA model.

2004-07-02  Zack Weinberg  <zack@codesourcery.com>

	* c-decl.c (struct c_binding): Remove contour field; add
	depth, invisible, nested fields.
	(B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE)
	(B_IN_EXTERNAL_SCOPE): New convenience macros.
	(bind): Add invisible and nested arguments. Initialize
	new fields of struct c_binding; adjust loop scanning for
	insertion point.
	(free_binding_and_advance): Clear structure with memset.
	(pop_scope): Adjust to match.  Set DECL_CONTEXT on everything
	in file scope, even if it's in external scope too.
	(pushdecl): Adjust to match.  Create invisible file-scope
	declarations for block-scope forward declarations of static functions.
	(pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare)
	(undeclared_variable, lookup_label, declare_label, define_label)
	(lookup_tag, lookup_name, lookup_name_in_scope, builtin_function)
	(c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value)
	(store_parm_decls_oldstyle): Adjust to match.
	(diagnose_mismatched_decls): Correct handling of linkage clashes.
	(merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE.

	* c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete.
	(C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one.

2004-07-02  Richard Henderson  <rth@redhat.com>

	* c-decl.c (grokdeclarator): Don't frob current_function_decl
	around variable_size.
	(set_decl_nonlocal): Remove.
	(store_parm_decls): Add stmts for pending sizes.
	* calls.c (calls_function, calls_function_1): Remove.
	(precompute_arguments): Don't call it.
	* cfgexpand.c (set_save_expr_context): Remove.
	(tree_expand_cfg): Don't call it.
	* dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
	(dwarf2out_finish): Likewise.
	* expr.c (emit_block_move): Adjust addresses to BLKmode.
	(store_constructor): Don't pre-evaluate SAVE_EXPR.
	(safe_from_p): Don't queue SAVE_EXPRs.
	(expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
	or build plain VAR_DECLs.
	* fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
	(fold): Likewise.
	(fold_checksum_tree): Don't special-case SAVE_EXPR.
	* function.c (free_after_compilation): Don't clear x_save_expr_regs.
	(put_var_into_stack): Don't handle SAVE_EXPR.
	(gen_mem_addressof): Likewise.
	* function.h (struct function): Remove x_save_expr_regs.
	(save_expr_regs): Remove.
	* gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
	* print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
	* stor-layout.c (variable_size): Don't set it.
	(force_type_save_exprs, force_type_save_exprs_1): Remove.
	* tree-inline.c (remap_save_expr): Remove fn argument.  Update
	all callers.  Don't set SAVE_EXPR_CONTEXT.
	* tree-inline.h (remap_save_expr): Update decl.
	* tree.c (save_expr): Update build size.
	(first_rtl_op): Don't handle SAVE_EXPR.
	(unsave_expr_1, contains_placeholder_p): Likewise.
	(decl_function_context): Likewise.
	* tree.def (SAVE_EXPR): Remove args 1 and 2.
	* tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
	(SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.

2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
	some first-person references and patronizing comments.  Based on
	printed manual.
	* doc/invoke.texi: Don't reference fortran@gnu.org.
	* doc/trouble.texi (Warning when a non-void function value is
	ignored): Rewrite.  From Russ Allbery and Chris Devers.

2004-07-02  Daniel Berlin  <dberlin@dberlin.org)

	* tree-ssa-pre.c (bitmap_set_t): New.
	(bb_value_sets): avail_out is now a bitmap_set_t.
	(bitmap_find_leader): New function.
	(bitmap_value_insert_into_set): Ditto.
	(bitmap_set_copy): Ditto.
	(bitmap_value_replace_in_set): Ditto.
	(bitmap_set_contains_value): Ditto.
	(bitmap_set_new): Ditto.
	(bitmap_set_pool): New pool.
	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
	(insert_aux): Ditto.
	(add_to_sets): Ditto.
	(compute_avail): Ditto
	(eliminate): Ditto.
	(init_pre): Ditto.
	(fini_pre): Ditto.
	(execute_pre): Ditto.

2004-07-02  Roger Sayle  <roger@eyesopen.com>

	* config/rs6000/rs6000.c (struct processor_costs): New structure
	used to hold instruction latencies/sizes for processor types.
	(rs6000_cost): New global variable pointing to current CPU's costs.
	(rs6000_override_options): Initialize rs6000_cost to point to the
	appropriate cost table based upon rs6000_cpu and optimize_size.
	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
	timings inline.

2004-07-02  Richard Henderson  <rth@redhat.com>

	* expmed.c (make_tree): Don't use SET_DECL_RTL.

2004-07-02  Steven Bosscher  <stevenb@suse.de>

	* tree-flow.h (bb_ann_d): Remove ephi_nodes field.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
	(alpha_gp_save_rtx): Use assign_stack_local instead of
	gen_mem_addressof.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
	(alpha_rtx_cost_data): Update to match.
	(alpha_rtx_cost_size): New.
	(alpha_rtx_costs): Honor optimize_size.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* gimple-low.c (lower_function_body): Don't reset_block_changes here.
	* cfgexpand.c (tree_expand_cfg): Do it here.
	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
	* config/ia64/ia64.c (ia64_output_mi_thunk): And here.
	* config/mips/mips.c (mips_output_mi_thunk): And here.
	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
	* config/sh/sh.c (sh_output_mi_thunk): And here.
	* config/sparc/sparc.c (sparc_output_mi_thunk): And here.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* tree.def (RTL_EXPR): Remove.
	* c-typeck.c (lvalue_p): Don't handle it.
	* expr.c (safe_from_p): Likewise.
	(expand_expr_real_1): Likewise.
	* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
	(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
	* gengtype.c (adjust_field_tree_exp): Likewise.
	* stmt.c (warn_if_unused_value): Likewise.
	* tree-gimple.c (recalculate_side_effects): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
	(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
	* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.

	* stmt.c (struct stmt_status): Remove x_last_expr_type,
	x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
	(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
	(expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
	all the bits that tracked last_expr.
	(expand_end_bindings): Don't track last_expr.
	(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
	(clear_last_expr): Remove.
	(expand_asm): Don't call it.
	(expand_asm_operands, expand_end_cond): Likewise.
	(expand_naked_return, expand_null_return_1): Likewise.
	* c-typeck.c (c_begin_compound_stmt): Likewise.
	* cfgexpand.c (expand_block): Use expand_expr_stmt.
	* expr.c (expand_expr_real_1): Likewise.
	* tree.h: Update prototypes.

	* function.h (struct sequence_stack): Remove sequence_rtl_expr.
	(struct emit_status): Remove sequence_rtl_expr.
	(struct function): Remove x_rtl_expr_chain.
	(seq_rtl_expr, rtl_expr_chain): Remove.
	* function.c (struct temp_slot): Remove rtl_expr.
	(assign_stack_temp_for_type): Don't set it.
	(free_temp_slots, pop_temp_slots): Don't check it.
	(free_after_compilation): Don't clear x_rtl_expr_chain.
	(fixup_var_refs): Don't search it.
	(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
	* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
	or seq_rtl_expr.
	(push_topmost_sequence): Likewise.
	(end_sequence, init_emit): Likewise.
	(start_sequence_for_rtl_expr): Remove.
	* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
	* rtl.h (preserve_rtl_expr_result): Remove.

2004-07-02  Kazu Hirata  <kazu@cs.umass.edu>

	* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
	typos.

2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>

	* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
	(STANDARD_STARTFILE_PREFIX_2): Define.
	(standard_startfile_prefix_1): Initialize to
	STANDARD_STARTFILE_PREFIX_1.
	(standard_startfile_prefix_2): Initialize to
	STANDARD_STARTFILE_PREFIX_2.
	* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
	(STANDARD_STARTFILE_PREFIX_1): Define.
	(STANDARD_STARTFILE_PREFIX_2): Define.
	* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
	(STANDARD_STARTFILE_PREFIX_2): Document.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
	in order to disable scalarization.  Instead set a flag and wait
	for a candidate decl.

2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
	Use terminology "testsuite" and "enumerated".

2004-07-01  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (reg_save): Use INVALID_REGNUM.
	(dwarf2out_reg_save, dwarf2out_return_save): Likewise.
	(initial_return_save): Likewise.
	(flush_queued_reg_saves): Remap register numbers.
	(dwarf2out_return_reg): Likewise.

2004-07-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.

	* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
	access functions for lower bound and element size and only output
	if lower bound nonzero or element size not same as that of type.
	(dump_generic_node, case COMPONENT_REF): Use access func. for offset.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.

2004-07-01  Per Bothner  <per@bothner.com>

	* final.c (final):  Fix typo reported by Aaron W. LaFramboise.

2004-07-01  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
	bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
	first operand.  Don't optimize if the bitfield is volatile.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* c-pretty-print.c (pp_c_postfix_expression): Handle
	floating-point comparison operators.
	(pp_c_expression): Pass floating-point comparison
	operators to pp_c_postfix_expression.

2004-07-01  Roger Sayle  <roger@eyesopen.com>

	* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
	rtx_cost instead of "had_mult" to determine whether the transformed
	expression is cheaper than the original.

2004-07-01  Jerry Quinn  <jlquinn@optonline.net>

	* alias.c (get_alias_set, canon_rtx, get_addr,
	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
	Use MEM_P.
	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
	expand_builtin): Likewise.
	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
	Likewise.
	* combine.c (can_combine_p, combinable_i3pat, try_combine,
	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
	record_dead_and_set_regs_1, get_last_value_validate,
	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
	* cse.c (check_dependence, canon_hash, equiv_constant,
	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
	count_reg_usage): Likewise.
	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
	cselib_record_sets): Likewise.
	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
	* df.c (df_uses_record): Likewise.
	* dojump (do_jump): Likewise.
	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
	decl_start_label): Likewise.
	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
	operand_subword, change_address_1, make_safe_from): Likewise.
	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
	stabilize, force_not_mem): Likewise.
	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
	* expr.c (convert_move, convert_modes, emit_block_move,
	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
	emit_move_insn_1, expand_assignment, store_expr,
	store_constructor_field, store_constructor, store_field,
	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
	Likewise.
	* final.c (cleanup_subreg_operands, alter_subreg,
	get_mem_expr_from_op): Likewise.
	* flow.c (notice_stack_pointer_modification_1,
	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
	Likewise.
	* function.c (mark_temp_addr_taken, preserve_temp_slots,
	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
	optimize_bit_field, flush_addressof, purge_addressof_1,
	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
	keep_stack_depressed): Likewise.
	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
	noce_process_if_block, find_memory): Likewise.
	* integrate.c (subst_constants, allocate_initial_values): Likewise.
	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
	update_equiv_regs): Likewise.
	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
	* optabs.c (expand_abs, emit_unop_insn): Likewise.
	* passes.c (rest_of_handle_final): Likewise.
	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
	move2add_note_store): Likewise.
	* ra-build.c (detect_remat_webs): Likewise.
	* ra-debug.c (dump_static_insn_cost): Likewise.
	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
	* recog.c (validate_change, apply_change_group, cancel_changes,
	validate_replace_rtx_1, general_operand, register_operand,
	nonmemory_operand, push_operand, pop_operand, memory_operand,
	indirect_operand, asm_operand_ok, offsettable_memref_p,
	offsettable_nonstrict_memref_p, constrain_operands,
	store_data_bypass_p): Likewise.
	* reg-stack.c (subst_stack_regs_pat): Likewise.
	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
	copy_cost, reg_scan_mark_refs): Likewise.
	* regmove.c (optimize_reg_copy_3, stack_memref_p,
	combine_stack_adjustments_for_block): Likewise.
	* regrename.c (copyprop_hardreg_forward_1): Likewise.
	* reload.c (can_reload_into, push_reload, decompose, immune_p,
	find_reloads, find_reloads_address, find_reloads_address_1,
	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
	find_equiv_reg): Likewise.
	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
	delete_address_reloads): Likewise.
	* resource.c (mark_referenced_resources): Likewise.
	* rtlanal.c (get_jump_table_offset, count_occurrences,
	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
	num_sign_bit_copies1): Likewise.
	* rtlhooks.c (gen_lowpart_general): Likewise.
	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
	sdbout_global_decl): Likewise.
	* simplify-rtx.c (simplify_subreg): Likewise.
	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
	expand_anon_union_decl, expand_end_case_type): Likewise.
	* unroll.c (calculate_giv_inc): Likewise.
	* var-tracking.c (stack_adjust_offset_pre_post,
	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
	vt_add_function_parameters): Likewise.
	* varasm.c (make_var_volatile, notice_global_symbol,
	assemble_external, decode_addr_const, mark_weak,
	default_encode_section_info): Likewise.

2004-07-01  Steven Bosscher  <stevenb@suse.de>

	* stmt.c (check_seenlabel): Remove.
	(pushcase, pushcase_range, expand_end_case_type): Don't call it.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* function.h (struct function): Remove x_function_call_count.
	(function_call_count): Remove.
	* calls.c (expand_call): Don't set it.
	* integrate.c (copy_rtx_and_substitute): Likewise.

	* function.h (struct function): Remove x_cleanup_label.
	(cleanup_label): Remove.
	* stmt.c (expand_value_return): Don't use it.
	* function.c (free_after_compilation): Don't set it.
	(expand_function_start): Likewise.  Remove parms_have_cleanups arg.
	* cfgexpand.c (tree_expand_cfg): Update call.
	* tree.h (expand_function_start): Update decl.

2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>

	PR c/1027
	* c-lang.c (c_initialize_diagnostics): Move from here ...
	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
	(c_tree_printer): Use pretty-printer to format %T.
	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
	before '*' if not C++.
	(pp_c_direct_abstract_declarator): Don't try to print array upper
	bound for flexible array members.
	* c-tree.h: Include "diagnostic.h".
	(c_initialize_diagnostics): Declare.
	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
	* c-format.c (format_type_warning): New function.  Improve
	diagnostics for incorrect format argument types.
	(check_format_types): Use it.  Add two parameters.  Use the
	TYPE_MAIN_VARIANT of wanted_type.
	(check_format_info_main): Pass new parameters to
	check_format_types.
	(struct format_wanted_type): Update comment.

2004-07-01  Nick Clifton  <nickc@redhat.com>

	* target.h (struct gcc_target): Add new field to struct cxx:
	import_export_class.
	* target-def.h (TARGET_CXX): Initialise the new field.
	(TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for
	the new field.
	* doc/tm.texi: Document the new target hook.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin_classify): Fix typo.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* function.c (identify_blocks, identify_blocks_1): Remove.
	* function.h (identify_blocks): Remove.
	* rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin_classify): New.
	(fold_builtin_unordered_cmp): Fix commentary.
	(fold_builtin): Use it.
	* builtins.def: Define builtins for isnan,
	isnanf, isnanl, finite, finitef, finitel,
	isinf, isinff, isinfl.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* function.h (struct function): Remove dont_emit_block_notes.
	* gimple-low.c (lower_function_body): Don't set it.
	* cfgexpand.c (expand_block): Don't check it.
	* cfglayout.c (insn_locators_initialize): Likewise.
	* expr.c (expand_expr_real, expand_expr_real_1): Likewise.
	* passes.c (rest_of_compilation): Likewise.
	* stmt.c (expand_start_bindings_and_block): Likewise.
	(expand_end_bindings): Likewise.

2004-07-01  Richard Henderson  <rth@redhat.com>

	* cgraph.h (cgraph_build_static_cdtor): Declare.
	* cgraphunit.c (cgraph_build_static_cdtor): New.
	* c-objc-common.c (build_cdtor): Use it.
	* coverage.c (create_coverage): Likewise.
	* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
	* optabs.c (init_optabs): Don't set gcov_init_libfunc.

See ChangeLog.11 for earlier changes.