forked from decompals/mips-gcc-2.7.2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
5684 lines (3973 loc) · 210 KB
/
ChangeLog
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
Sun Nov 26 14:47:42 1995 Richard Kenner <[email protected]>
* Version 2.7.2 released.
* function.c (fixup_var_refs_1): Make pseudo for DEST
in PROMOTED_MODE unless in a SUBREG.
* cse.c (insert): Don't put a REG into qty_const.
* msdos/top.sed: Change version to 2.7.2.
* winnt/config-nt.sed: Likewise.
Sun Nov 26 14:41:49 1995 Douglas Rupp ([email protected])
* Makefile.in (stamp-objlist): Change .o to $objext.
* alpha/win-nt.h (CPP_PREDEFINES): Set __unaligned and __stdcall
to null.
(ASM_SPEC): Add a translation for -g to -Zi.
* winnt/ld.c (main): Don't pass -g to link.
* winnt/oldnames.c: Reformat and add some new functions for gnat1.
* winnt/win-nt.h (LINK_SPEC): Pass -g to ld.exe.
Increase default stack size.
* configure ({alpha-dec,i386-ibm}-winnt3.5): Add oldnames.o
to extra_objs.
* libgcc2.c (trampoline): Add getpagesize and mprotect for WINNT.
Sun Nov 26 14:25:26 1995 Uwe Seimet ([email protected])
* atari.h (FUNCTION_VALUE): Deleted; incorrect.
Sun Nov 26 14:23:03 1995 Philippe De Muyter ([email protected])
* fixincludes (curses.h): Allow space or tab after bool keyword,
instead of tab or tab.
Sun Nov 26 14:14:11 1995 Oliver Kellogg ([email protected])
* 1750a.md (pattern for HImode PSHM): Corrected.
(trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected.
(pattern for movhi of CONST_INT to REG): Corrected.
(divmodqi pattern for DISN): Corrected.
(all shift patterns): Corrected.
* 1750a.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected.
(ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation
for output of arrays.
Sun Nov 26 14:08:57 1995 Dave Love <[email protected]>
* mips/iris5.h (NO_IMPLICIT_EXTERN_C): Define this again so
that unistd.h doesn't get badly `fixed' for C++. libg++ will now
build with this definition.
Sun Nov 26 14:02:43 1995 Robert E. Brown ([email protected])
* configure: Better workaround for Nextstep bug.
Sun Nov 26 13:55:07 1995 Torbjorn Granlund <[email protected]>
* rs6000.md (load_multiple matcher): Fix typo in opcode.
Sun Nov 26 13:51:08 1995 Lee Iverson <[email protected]>
* final.c (final_start_function): Move call to sdbout_begin_function
back to final_scan_insn on MIPS systems so parameter descriptions are
recognized.
Sun Nov 26 13:43:06 1995 DJ Delorie ([email protected])m
* msdos/top.sed: Don't insert "go32".
Sun Nov 26 12:08:23 1995 Jim Wilson <[email protected]>
* combine.c (nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED
code before stack pointer code. Return nonzero at end of stack
pointer code.
* sparc.h (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.
* Makefile.in (cppalloc.o): Add a rule to build it.
* alpha.c (alpha_emit_set_const): Don't output SImode sequences
that rely on invisible overflow. Sign extend new when SImode.
Don't recur if new == c. Don't allow shift outside mode. Make
logical right shift be unsigned.
Sun Nov 26 11:37:50 1995 Arne H. Juul ([email protected])
* Makefile.in (compare*): Add "|| true" to avoid spurious
failure messages from some versions of make.
Sun Nov 26 11:20:09 1995 Dmitry K. Butskoy ([email protected])
* expr.c (truthvalue_conversion): Add declaration.
Sun Nov 12 18:09:35 1995 Richard Kenner ([email protected])
* Version 2.7.1 released.
* function.c (put_reg_into_stack): New arg volatile_p.
(put_var_into_stack): Call with new arg.
Sat Nov 11 08:25:34 1995 Jim Wilson <[email protected]>
* reload.c (output.h): Include it.
* Makefile.in (reload.o): Add dependence on output.h.
Thu Nov 9 11:24:20 1995 Jim Wilson <[email protected]>
* mips.h (HARD_REGNO_NREGS): If FP_REG_P, always use UNITS_PER_FPREG
to calculate number of words needed.
Thu Nov 9 11:04:50 1995 Oliver Kellogg ([email protected])
* 1750a.md (cmphf): Addd Base Reg with Offset address mode (LB,STB,..)
(movqi,movhi,movhf,addqi3,addhf3,subqi3,subhf3,mulqihi3): Likewise.
(mulhf3,divhf3,andqi3,iorqi3): Likewise.
(define_peephole): Remove the Base mode peepholes. Replace the
special addqi define_insn for "LIM Ra,sym,Rb" by a define_peephole.
(ashlqi3): Took out futile 0th alternative.
(lshrqi3, lshrhi3, ashrqi3, ahsrhi3): Correct case of non-constant
shift count.
* 1750a.h (REG_ALLOC_ORDER): Define.
(REGNO_OK_FOR_BASE_P): Include stack pointer in test against
reg_renumber[REGNO].
(ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment.
Thu Nov 9 11:01:33 1995 Richard Kenner ([email protected])
* expr.c (expand_expr, case ARRAY_REF): Properly convert types
of index, size, and multiplication.
Wed Nov 8 09:00:22 1995 Richard Earnshaw ([email protected])
* arm.md (mov*cc_{,soft_}insn): Use match_operator to test the
comparison and check that the condition code register is used.
Wed Nov 8 08:49:35 1995 Michael Meissner <[email protected]>
* rs6000/sysv4.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Undef before
including svr4.h.
Tue Nov 7 10:58:12 1995 Torbjorn Granlund <[email protected]>
* m68k.md (subxf3): Properly name pattern.
Tue Nov 7 10:53:09 1995 Michael Meissner <[email protected]>
* libgcc2.c (__{C,D}TOR_LIST): For AIX, initialize these arrays to
0,0, just like NeXT to avoid a warning message from the AIX 4.1
linker.
Tue Nov 7 09:58:34 1995 John F. Carr <[email protected]>
* cppexp.c (cpp_lex): Correctly parse character constants.
Tue Nov 7 09:52:15 1995 Jason Merrill <[email protected]>
* rs6000.h (ASM_OUTPUT_{DES,CONS}TRUCTOR): Define.
Mon Nov 6 10:27:15 1995 Doug Evans <[email protected]>
* combine.c (force_to_mode): Fix typo.
Sun Nov 5 18:37:02 1995 Torbjorn Granlund <[email protected]>
* m68k.md (cmpxf): Don't call force_const_mem, it looses for PIC;
get predicates right instead. Get rid of separate DEFINE_EXPAND.
(addxf3, subxf3, mulxf3, divxf3): Likewise.
(All XFmode patterns): Delete `F' and `G' constraints.
(absxf2, negxf2): Delete spurious condition on TARGET_FPA.
Sun Nov 5 11:05:44 1995 Philippe De Muyter ([email protected])
* fixincludes (malloc.h): Fix return type of {m,re}alloc.
Sun Nov 5 11:02:26 1995 J"orn Rennecke ([email protected])
* cse.c (invalidate): For a pseudo register, do a loop to
invalidate all table entries, irrespective of mode.
Sun Nov 5 10:57:43 1995 Richard Kenner <[email protected]>
* combine.c (force_to_mode): Put in last change properly.
Sun Nov 5 10:53:49 1995 Jeffrey A Law ([email protected])
* pa.h (CONDITIONAL_REGISTER_USAGE): Make sure FP regs
get disabled regardless of PA1.0 vs PA1.1 code generation
when TARGET_SOFT_FLOAT or TARGET_DISABLE_FPREGS is on.
Sun Nov 5 10:49:43 1995 Doug Evans <[email protected]>
* i960.c (emit_move_sequence): Add a scratch register to
multi-reg stores.
(i960_output_move_{double,quad}): New functions.
(i960_print_operand): Handle new operand types E, F.
* i960.md (movdi matchers): Rewrite.
(store_unaligned_di_reg): New pattern.
(movti matchers): Rewrite.
(store_unaligned_ti_reg): New pattern.
Sun Nov 5 10:45:24 1995 Ian Lance Taylor ([email protected])
* mips.h (MULTILIB_DEFAULTS): Define.
* mips/elf64.h, mips/iris6.h (MULTILIB_DEFAULTS): Define.
Sun Nov 5 10:41:48 1995 Jim Wilson <[email protected]>
* reload.c (push_reload): Delete abort for RELOAD_OTHER case added
in last change.
* reload1.c (emit_reload_insns): For RELOAD_OTHER output reloads,
output the reload insns in descending order of reloads.
* sh.md (mulsidi3-1, mulsidi3, umulsidi3-1, umulsidi3): Enable.
(smulsi3_highpart-1, smulsi3_highpart): New patterns.
(umulsi3_highpart-1, umulsi3_highpart): Likewise.
(movdi-1): Add r/x constraint.
* t-sh (MULTILIB_OPTIONS): Add m2.
(MULTILIB_DIRNAMES): Add m2.
(MULTILIB_MATCHES): Define.
* sparc.h (RTX_COSTS, case MULT): Check for TARGET_SPARCLITE.
* abi64.h, elf64.h (CPP_SPEC): Add -EB and -EL support.
Sat Nov 4 10:36:26 1995 Jim Wilson <[email protected]>
* sh.md (casesi_worker): Change constraint from = to +.
* svr4.h (ASM_IDENTIFY_GCC_AFTER_SOURCE): Delete.
(ASM_IDENTIFY_GCC): Output stab here.
Sat Nov 4 10:32:37 1995 John Carr <[email protected]>
* cpplib.c (finclude): Set current input pointer when input
is not a regular file.
* cppmain.c: Define progname, required by cpplib.
Sun Oct 29 07:48:36 1995 Michael Meissner <[email protected]>
* xcoffout.h (DBX_FINISH_SYMBOL): Deal with names created via
the __asm__ construct that start with a leading '*'.
* xcoffout.c (xcoff_declare_function): Likewise.
Sun Oct 29 07:45:41 1995 Jim Wilson <[email protected]>
* stupid.c (stupid_mark_refs): Handle SUBREG of pseudo-reg in a
SET_DEST same as we handle a pseudo-reg in a SET_DEST.
Sun Oct 29 07:43:15 1995 Pat Rankin <[email protected]>
* libgcc2.c (L_eh: __unwind_function): Implement for VAX.
* vax.h (RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define.
Sun Oct 29 12:39:08 1995 Richard Kenner <[email protected]>a
* i386/sol2.h (CPP_PREDEFINES): Add -D__SVR4.
Sun Oct 29 07:14:36 1995 J"orn Rennecke ([email protected])
* reload.c (find_equiv_reg): Check for nonsaving setjmp.
Fri Oct 27 15:15:56 1995 Jim Wilson <[email protected]>
* Makefile.in (out_object_file): Depend on TREE_H.
Fri Oct 27 06:42:36 1995 Richard Kenner ([email protected])
* alpha.c (call_operand): Only allow reg 27 on NT too.
* alpha.md (call_value_nt, call_nt): Force non-SYMBOL_REF
into reg 27, just like for OSF.
* rs6000.c (struct asm_option): Changed from struct option.
(expand_block_move_mem): Remove erroneously-added line.
* expr.c (clear_storage): SIZE is now rtx, not int.
(store_constructor): Call clear_storage with rtx.
(get_inner_reference): Convert index to precision of
sizetype, not POINTER_SIZE.
(expand_expr, case ARRAY_REF): Likewise.
* expr.h (clear_storage): Second arg is rtx, not int.
Fri Oct 27 05:45:58 1995 J"orn Rennecke ([email protected])
* combine.c (force_to_mode, case ASHIFTRT): Properly handle
mask wider than HOST_WIDE_INT.
* c-decl.c (pushdecl): Don't test TREE_PUBLIC when deciding whether
to register a duplicate decl in the current block.
Thu Oct 26 21:55:39 1995 Jason Merrill <[email protected]>
* calls.c (expand_call): Don't trust the callee to copy a
TREE_ADDRESSABLE type.
* function.c (assign_parms): Likewise.
Thu Oct 26 19:25:05 1995 Mike Stump <[email protected]>
* libgcc2.c (__unwind_function): Provide a default definition for
implementations that don't yet have a function unwinder.
Thu Oct 26 18:08:19 1995 Paul Eggert <[email protected]>
* cccp.c (handle_directive): Don't treat newline as white
space when coalescing white space around a backslash-newline.
Thu Oct 26 17:57:34 1995 Ian Lance Taylor <[email protected]>
* mips-tdump.c (enum st): Define st_Struct, st_Union, and st_Enum.
(st_to_string): Handle them.
(type_to_string): Add fdp argument; pass it to emit_aggregate.
(print_symbol): Add fdp argument; pass it to type_to_string.
Handle st_Struct, st_Union, and st_Enum.
(emit_aggregate): Add fdp argument. Handle opaque types. Map
through RFD entries.
(print_file_desc): Pass FDR to print_symbol.
(main): Pass null FDR to type_to_string.
Thu Oct 26 08:07:10 1995 Michael Meissner <[email protected]>
* configure (powerpc-ibm-aix[456789]*): Use rs6000/t-newas,
not rs6000/t-rs6000.
(rs6000-ibm-aix3.2.[456789]*): Likewise.
(rs6000-ibm-aix[456789]*): Likewise.
* rs6000/t-newas: Copy from t-rs6000.
* t-rs6000: Don't build -mcpu=common multilib variants of libgcc.a.
* rs6000.md (load_multiple insn): If address register is among regs,
don't load it with a lwsi instruction, which is undefined on PowerPC.
Thu Oct 26 08:01:32 1995 Jim Wilson <[email protected]>
* dwarfout.c (output_compile_unit_die): Handle language_string
of "GNU F77".
* reload.c (find_reloads_address): When check for out of range constant
plus register, accept any hard register instead of just fp, ap, sp.
* combine.c (distribute_notes): For Oct 19 change, add additional
check to verify that place has a valid INSN_CUID.
* sparc/t-vxsparc (LIBGCC1_TEST): Define.
* sh.md (negdi2): Use TARGET_LITTLE_ENDIAN.
* combine.c (force_to_mode, case ASHIFTRT): Verify mode bitsize is
within HOST_BITS_PER_WIDE_INT before shifting by it.
* final.c (final_scan_insn): When recur for instruction in delay slot,
add loop around recursive call in case the instruction gets split.
Thu Oct 26 07:28:45 1995 J"orn Rennecke ([email protected])
* genrecog.c (write_tree_1): Avoid emitting '-2147483648'.
* jump.c (duplicate_loop_exit_test): Return 0 if found
a NOTE_INSN_LOOP_CONT.
Tue Oct 24 15:30:14 1995 Jeffrey A Law <[email protected]>
* calls.c (expand_call): Make sure valreg is at least
a full word.
Sun Oct 22 19:35:41 1995 Jim Wilson <[email protected]>
* sh.h (INIT_SECTION_ASM_OP): Delete.
(HAVE_ATEXIT): Define.
Sun Oct 22 07:46:04 1995 Richard Kenner ([email protected])
* libgcc2.c (__fixuns[xds]fsi): #undef MIN and MAX before #include
of limits.h.
* pa.c (pa_adjust_cost): Use pa_cpu, not pa_cpu_attr.
Sun Oct 22 07:38:58 1995 J"orn Rennecke ([email protected])
* alpha.h (CONST_OK_FOR_LETTER_P): Use 'U' for unsigned constants.
* alpha.c (alpha_emit_set_const): Likewise.
* mips.c (gen_int_relational): Likewise.
Sun Oct 22 07:14:35 1995 Douglas Rupp ([email protected])
* i386.c (i386_return_pops_args): Don't need a FUNDECL to
check for type attributes in FUNTYPE.
Sat Oct 21 18:17:42 1995 Jim Wilson <[email protected]>
* sh.md (define_delay): Don't accept any instruction for an annulled
slot, only accept those for which in_delay_slot is yes.
* sh.c (find_barrier): When hi_const returns true, increment count_si
by two if found_si is true.
Always use get_attr_length to compute length of instructions.
If count_hi or count_si out of range at end, need two PREV_INSN calls
not one.
When create new label, set LABEL_NUSES to 1.
(reg_unused_after): Ifdef out code for handling labels.
(prepare_scc_operands): New local variable mode. Set it from
sh_compare_op0 or sh_compare_op1. Use it instead of SImode in
force_reg calls.
* optabs.c (expand_float): Emit missing barrier after unconditional
jump.
Sat Oct 21 14:16:46 1995 Torbjorn Granlund <[email protected]>
* alpha.md (cmpdf): Make conditional on TARGET_FP.
Fri Oct 20 19:11:12 1995 J"orn Rennecke ([email protected])
* combine.c (distribute_notes): Delete instructions without
side effect that set a subreg of an unused register.
* m68k.h (PREFERRED_RELOAD_CLASS): Check for !G constants
for DATA_OR_FP_REGS also.
Fri Oct 20 18:57:10 1995 Ian Lance Taylor <[email protected]>
* genmultilib: Output negations of unused alternatives, even if
one of the alternatives is selected.
Fri Oct 20 18:48:50 1995 Jeff Law ([email protected])
* integrate.c (output_inline_function): Turn on flag_no_inline
to avoid function integration once we begin writing deferred
output functions.
Fri Oct 20 18:46:33 1995 Michael Meissner <[email protected]>
* rs6000.c (float_conv_temp): Delete global variable.
(stack_temps): New static array to hold stack temps.
(offsettable_mem_operand): Delete function.
(offsettable_addr_operand, rs6000_stack_temp): New functions.
(output_epilog): Zero stack_temps.
* rs6000.h (offsettable_addr_operand): Declare instead of
offsettable_mem_operand.
(PREDICATE_CODES): Use offsettable_addr_operand.
(float_conv_temp): Delete variable.
* rs6000.md (move_to_float insns): Change move_to_float so
that it doesn't have a clobber of the memory address, and instead
passes the stack temp's memory address as one of the unspec args.
(fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp.
(multiply, shift insns): Fix all cases of multiply and shift insns so
that the right mnemonics are used for -mcpu=common with both
-m{old,new}-mnemonics.
Fri Oct 20 17:58:19 1995 Jim Wilson <[email protected]>
* expr.c (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE
exists. Delete code to return 0 if exp_rtl is zero.
* function.c (init_function_start): Don't call init_insn_lengths here.
* toplev.c (rest_of_compilation): Call it here.
Thu Oct 19 19:19:06 1995 Richard Kenner ([email protected])
* c-common.c (check_format_info): Make test for null pointer
more general.
Thu Oct 19 18:56:16 1995 Satoshi Adachi ([email protected])
* fixincludes (stdlib.h): Be more general in edit to change
declaration of {c,m,re}alloc.
Thu Oct 19 18:48:53 1995 Torbjorn Granlund <[email protected]>
* libgcc2.c (__udiv_w_sdiv): If we don't have sdiv_qrnnd, define
dummy variant of __udiv_w_sdiv.
Thu Oct 19 18:45:21 1995 Jim Wilson <[email protected]>
* alpha.h (ASM_SPEC): If GNU as is the default, then pass -g to
the assembler if -malpha-as. If GNU as is not the default, then pass
-g to the assembler is not -mgas.
* combine.c (distribute_notes): When search for new place to put
REG_DEAD note, call distribute_links if this new place is between
i2 and i3, and i2 uses the register.
Thu Oct 19 18:41:36 1995 Michael Meissner <[email protected]>
* rs6000.md (float{,uns}sidf2): Rewrite to break the conversion
process into several general insns.
(move_to_float): New insns to move 2 integer regs into a float register
through memory, taking endianess into account. Make sure that the
floating temporary is a valid address. Use one temporary for all
floats converted.
(fix_truncdfsi2): Take endianess into account.
* rs6000.c ({low_32_bit,offsettable_mem}_operand): The function
low_32_bit_operand is now unused, delete it. New function
offsettable_mem_operand to determine if a memory address is
offsettable.
* rs6000.h ({low_32_bit,offsettable_mem}_operand): Ditto.
(PREDICATE_CODES): Ditto.
* rs6000.{c,h} (float_conv_temp): New global.
* rs6000.c (output_epilog): Zero out float_conv_temp.
* Makefile.in (libgcc{1,2}.a): Allow LIB{1,2}FUNCS_EXTRA files to
end in .S as well as .c and .asm.
Wed Oct 18 17:56:45 1995 Jose Alonso ([email protected])
* c-typeck.c (parser_build_binary_op): Warn about x^y==z, etc.
Mon Oct 9 12:38:06 1995 Michael Meissner <[email protected]>
* protoize.c (reverse_def_dec_list): Silence compiler warnings.
Mon Oct 9 12:35:54 1995 Andrew Cagney <[email protected]>
* ginclude/va-ppc.h (va_arg): Deal with long longs that would be
passed in the 7th register, and are passed in the stack instead.
Fri Oct 6 13:47:10 1995 Jim Wilson <[email protected]>
* alpha.h (ASM_SPEC): Add -g.
Fri Oct 6 13:42:50 1995 Richard Kenner <[email protected]>
* alpha.h (alpha_{arg,auto}_offset): Make extern.
Fri Oct 6 13:24:43 1995 Michael Meissner <[email protected]>
* rs6000.h (RETURN_ADDRESS_OFFSET): Correct previous change.
Fri Oct 6 13:14:43 1995 Doug Evans <[email protected]>
* rtlanal.c (reg_set_last): Fix call to reg_set_between_p.
Tue Oct 3 12:31:38 1995 Richard Kenner ([email protected])
* stor-layout.c (layout_type, case ARRAY_TYPE): Strip MAX_EXPR
from upper bound when computing length if it just protects against
negative length.
* expr.c (emit_move_insn_1): When doing multi-word move, show
output is clobbered.
Tue Oct 3 12:26:07 1995 Jim Wilson <[email protected]>
* cse.c (set_nonvarying_address_components, case AND): Add *pend to
end. Add constant to start instead of subtracting it.
Tue Oct 3 12:23:28 1995 Torbjorn Granlund <[email protected]>
* combine.c (simplify_rtx): In code that attempts to simplify
conditional expressions, if the result is an NE around another
comparison, return the original expression.
* longlong.h (mips umul_ppmm): Use `l' and `h' constraints;
remove mflo and mfhi instructions.
Tue Oct 3 12:21:29 1995 Michael Meissner <[email protected]>
* ginclude/va-ppc.h (va_start, stdarg case): Call
__builtin_next_arg, and ignore the result, so that the compiler
can report the proper error, if the second argument is not the
last argument.
Tue Oct 3 12:02:51 1995 Kohtala Marko <[email protected]>
* function.c (assign_stack_temp): Adjust full_size field of
temp_slot when splitting an unused slot.
Tue Oct 3 11:51:59 1995 Mike Stump <[email protected]>
* expr.c (expand_builtin_return_addr): Break out functionality
from expand_builtin.
(expand_builtin): Call expand_builtin_return_addr.
* rs6000.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
Offset to return address is 4 when !TARGET_64BIT and v4_call_p,
8 otherwise.
* sparc.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
* alpha.h (RETURN_ADDR_RTX): New definition.
Sun Oct 1 21:23:30 1995 Richard Kenner ([email protected])
* tree.c (staticp, case INDIRECT_EXPR): Disable case.
* expr.c (expand_expr, case COMPONENT_REF): If getting component
of union of variable size, propagate TARGET.
Fri Sep 29 07:48:09 1995 Richard Kenner ([email protected])
* expr.c (store_expr): When storing promoted value, don't return
MEM if address contains target.
Thu Sep 28 14:30:03 1995 Paul Eggert <[email protected]>
* cccp.c (rescan): Expand `#if foo && #bar' without a bogus
complaint about preprocessor directives within macro args.
Expand `foo' in `foo#bar' without requiring a space before `#'.
Thu Sep 28 14:24:26 1995 Philippe De Muyter ([email protected])
* m68k.md (anonymous DImode shift patterns setting cc0): Turned
off due to reload problems.
Thu Sep 28 14:05:22 1995 Niklas Hallqvist ([email protected])
* Makefile.in (USER_H): Move up so can override.
(INSTALL_ASSERT_H): New definition.
(install-headers): Use it.
(stmp-int-hdrs): Handle USER_H being empty.
* config/x-netbsd (INSTALL_ASSERT_H): Define as empty.
* i386/netbsd.h (WCHAR_{TYPE,UNSIGNED,TYPE_SIZE}): Now int.
* m68k/netbsd.h, ns32k/netbsd.h, sparc/netbsd.h: Likewise.
* vax/netbsd.h: Likewise.
(SIZE_TYPE): Use unsigned int.
* m68k.c (output_scc_di): Swap operands when needed.
* m68k.h (LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref.
* m68k.md: Make both assembler syntaxes do the same for PIC calls.
Tue Sep 26 16:51:44 1995 Michael Meissner <[email protected]>
* mips.c (override_options): Don't allow anything but integers to
go in the HI/LO registers.
Tue Sep 26 16:36:18 1995 John F. Carr <[email protected]>
* c-common.c (check_format_info): Don't warn about format type
mismatch if the argument is an ERROR_MARK.
Mon Sep 25 17:50:50 1995 Craig Burley ([email protected])
* stor-layout.c (put_pending_sizes): New function.
* tree.h (put_pending_sizes): Add declaration.
* tree.c (save_expr): Return original for ERROR_MARK.
Fri Sep 22 19:20:01 1995 Jeff Law ([email protected])
* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Strip off
all NOP exprs from the source and destination nodes, then
set MEM_IN_STRUCT_P.
Fri Sep 22 18:50:31 1995 Michael Meissner <[email protected]>
* rs6000/eabi.h (ASM_OUTPUT_INT): Test for whether the integer
being output is also a constant so &sym - &sym2 is not fixed up.
Fri Sep 22 18:49:07 1995 Peter Flass ([email protected])
* i370.md (cmpsi): Add missing constraints to operand 1.
Fri Sep 22 18:27:33 1995 Torbjorn Granlund <[email protected]>
* i386.h (CONST_OK_FOR_LETTER_P): Make `N' match range 0..255
for `outb' instruction.
* pyr.h (PRINT_OPERAND): Handle code `R' for REG.
* longlong.h (pyr umul_ppmm): Use it.
Fri Sep 22 18:24:38 1995 Richard Kenner ([email protected])
* c-parse.in (enumlist): Propagate error_mark_node.
* c-aux-info.c (gen_type): Handle ERROR_MARK.
* alpha.md (movdi): Avoid memory sharing problem when in reload.
Wed Sep 20 14:27:09 1995 Peter Flass <[email protected]>
* mvs.h (FUNCTION_PROLOGUE): Maintain savearea forward chain
per MVS standards.
Wed Sep 20 14:20:52 1995 Torbjorn Granlund <[email protected]>
* pyr.md (cmphi recognizer): Make condition match constraints.
(cmpqi recognizer): Likewise.
Wed Sep 20 12:42:59 1995 Richard Kenner ([email protected])
* integrate.c (expand_inline_function): Do copy something setting
the result register if it is setting it to itself and has a REG_NOTE.
* integrate.c (set_decl_{origin_self,abstract_flags}): Treat
a DECL_INITIAL of error_mark_node the same as one of NULL_TREE.
Tue Sep 19 19:30:18 1995 Dave Pitts ([email protected])
* i370.md (cmphi, movhi, movstricthi, extendhisi2): Correct generation
of short integer (Halfword)
({add,sub,mul,and,ior,xor}hi3): Likewise.
* i370/mvs.h (MACROPROLOGUE): New macro.
(FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function
prologue macros.
(FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment
problems.
(ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord.
(ASM_OUTPUT_{SHORT,ASCII}): Reworked.
Tue Sep 19 19:22:15 1995 Douglas Rupp ([email protected])
* winnt/win-nt.h: Renamed from winnt/win-nt.h.
(LINK_SPEC): Add -noinhibit-exec.
* {alpha,i386}/win-nt.h: Renamed from {alpha,i386}/winnt.h.
Include winnt/win-nt.h, not winnt/winnt.h.
* winnt/oldnames.c: New file.
* winnt/headers.mak (fixinc-nt.obj): Fix typo.
* winnt/config-nt.bat: Change winnt.h to win-nt.h.
* i386/config-nt.sed: Likewise.
* configure ({alpha,i386}-*-winnt3*): Likewise.
Mon Sep 18 14:00:45 1995 Oliver Kellogg ([email protected])
* 1750a.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
Added R2 and R0_1.
(REG_CLASS_FROM_LETTER): New letters 't' and 'z'.
(EXTRA_CONSTRAINT): New letter 'Q'.
Sun Sep 17 12:39:22 1995 Jeff Law ([email protected])
* pa.h (ASM_DECLARE_FUNCTION_NAME): If a parameter's type
has TYPE_NEEDS_CONSTRUCTING on, then it's passed by invisible
reference.
Sat Sep 16 17:42:33 1995 Jim Wilson <[email protected]>
* loop.c (find_and_verify_loops): Fix error in last change.
Sat Sep 16 08:38:22 1995 Richard Kenner ([email protected])
* alpha.h (GO_IF_LEGITIMATE_ADDRESS): Disallow SYMBOL_REF for
current function.
* cse.c (recorded_label_ref): New variable.
(insert): Set instead of cse_jumps_altered.
(cse_main): Initialize it and return 1 if nonzero at end.
Fri Sep 15 18:26:49 1995 Torbjorn Granlund ([email protected])
* fold-const (div_and_round_double): Change `carry', `quo_est',
and `scale' from plain int to `unsigned HOST_WIDE_INT'.
Fri Sep 15 18:24:24 1995 Richard Kenner ([email protected])
* cse.c (insert): Set cse_jumps_altered when inserting a LABEL_REF.
Fri Sep 15 17:29:41 1995 Oliver Kellogg ([email protected])
* 1750a.c (b_mode_operand): New function.
(print_operand): Added code 'Q'.
Fri Sep 15 17:27:23 1995 Jim Wilson <[email protected]>
* loop.c (find_and_verify_loops): When moving exit blocks out of
the loop, verify that the target of P is within the current loop.
* reorg.c (fill_slots_from_thread): Update thread if it is split.
Fri Sep 15 17:06:51 1995 Michael Meissner <[email protected]>
* rs6000.md (decrement_and_branchsi and related insns): Don't use
a "2" to select a register preference for operand 1 if operand 2
hasn't been seen yet.
Add appropriate clobbers in decrement_and_branchsi.
Add patterns where the pc/label_ref are interchanged.
* Makefile.in (gnucompare, stmp-multilib-sub): Remove extra . in
front of $(objext).
* rs6000.c (output_toc): Align DF constants if STRICT_ALIGNMENT.
* config/fp-bit.c (FLO_union_type): Add words field if double
precision to get at the separate words.
(FLO_union_type, pack_d, unpack_d): Use FLOAT_BIT_ORDER_MISMATCH
to determine when the bitfields need to be reversed, and
FLOAT_WORD_ORDER_MISMATCH when the words need to be reversed.
Fri Sep 15 16:41:43 1995 Jeff Law ([email protected])
* reorg.c (fill_simple_delay_slots): When filling insn's delay slot
with JUMP_INSN, don't assume it immediately follows insn on
unfilled slots obstack.
* Makefile.in (caller-save.o): Depend on insn-codes.h.
Thu Sep 14 17:41:49 1995 Jim Meyering ([email protected])
* protoize.c (do_cleaning): Don't blank out backslash-escaped
newlines in double quoted strings.
Thu Sep 14 16:20:35 1995 Richard Kenner ([email protected])
* emit-rtl.c (gen_lowpart): If gen_lowpart_common fails
for a REG, load it into a pseudo and try again.
Thu Sep 14 14:15:16 1995 Stan Cox ([email protected])
* m88k.h (VERSION_INFO1): Removed BCS reference.
* m88k/dgux.h (ASM_SPEC, *_LEGEND):
Added -mno-legend option. -mstandard no longer implies that legend
legend information not be produced.
(LINK_SPEC): Removed -z text
Tue Sep 12 19:05:39 1995 Jim Wilson <[email protected]>
* cccp.c (is_system_include): Call skip_redundant_dir_prefix.
Tue Sep 12 18:58:21 1995 John Carr <[email protected]>
* sparc.md: Change `*return "string"' to "string" in patterns.
Tue Sep 12 18:48:47 1995 Craig Burley ([email protected])
* function.c (put_var_into_stack): For CONCAT case, order of
placement depends on FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD.
Tue Sep 12 18:34:10 1995 Doug Evans <[email protected]>
* va-sparc.h (v9 varargs va_start): Handle __builtin_va_alist
being stack argument.
* sparc.h (STATIC_CHAIN_REGNUM): Use %g5 for sparc64.
(TRAMPOLINE_TEMPLATE): Rewrite for sparc64.
(TRAMPOLINE_SIZE): Is 40 for sparc64.
* sparc.c (sparc64_initialize_trampoline): Rewrite.
Tue Sep 12 18:30:22 1995 Douglas Rupp ([email protected])
* cp/Make-lang.in (cc1plus) : Removed unnecessary $(exeext).
* configure: Added code to handle gcc_extra_objs.
(alpha-winnt): Changed xmake_file to winnt/x-winnt.
Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
(i386-winnt): Changed xmake_file to winnt/x-winnt.
Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
* configure.bat: Changed to used common winnt/config-nt.bat.
* Makefile.in: Changed various .o's to .$(objext)'s
(specs): Removed unnecessary $(exeext).
(EXTRA_GCC_OBJS): New variable.
(clean): Removed $(LIB2FUNCS_EXTRA)
* objc/Makefile: Changed archive command for libobjc.a to use $?
for objects.
* alpha/x-winnt, i386/x-winnt: Deleted.
* alpha/config-nt.bat, i386/config-nt.bat: Deleted.
* alpha/config-nt.sed, i386/config-nt.sed: Moved architecture
independent commands to config/winnt/config-nt.sed.
* alpha/winnt.h: Added -D_M_ALPHA to CPP_PREDEFINES.
Changed LIB_SPEC to be compatible with Gnu ld for NT.
* i386/winnt.h: Added -D_cdecl=__attribute__((__cdecl__)).
Change LIB_SPEC to be compatible with Gnu ld for NT.
* winnt/config-nt.bat, winnt/config-nt.sed: New files.
* winnt/dirent.{c,h}, winnt/fixinc-nt.c, winnt/headers.mak: New files.
* winnt/ld.c: Changed precedence of libraries to look for
libfoo.lib before libfoo.a
Changed to work like Gnu ld for NT.
* winnt/libgcc.mak, winnt/mklibgcc.c: New files.
* winnt/spawnv.c: Changed spawn function entry points to __spawn*
instead of spawn*.
* winnt/x-winnt: New file.
* fixinc-nt.sed: New file.
* fixinc.winnt: Rewritten to use fixinc-nt.sed.
* gcc.c: Remove fix_argv kludge.
Tue Sep 12 13:24:17 1995 Michael Meissner <[email protected]>
* rs6000.md (power subdi3 pattern): Fix pattern to have 5
alternatives, and correct 4th alternative to match reality.
* rs6000.md (adddi3, subdi3, negdi2): Add constraints so output reg
does not overlap one reg with one of the inputs.
Tue Sep 12 13:09:48 1995 Philippe De Muyter ([email protected])
* m68k.c (output_scc_di): Fixed for non-SGS_CMP_ORDER syntax.
* collect2.c (scan_libraries): Cast lsyms' alloca to LDSYM*.
Tue Sep 12 13:04:12 1995 Niklas Hallqvist ([email protected])
* stmt.c (expand_start_stmt_expr): Do stack adjust in right place.
* stdarg.h (__gnuc_va_list): Make char * for NetBSD.
Tue Sep 12 12:44:46 1995 Jason Merrill <[email protected]>
* ginclude/va-ppc.h (va_arg): Reorganize to avoid BIND_EXPRs of
aggregate or array type.
Tue Sep 12 12:42:27 1995 Ian Lance Taylor <[email protected]>
* fixincludes: Fix HP/UX <sys/file.h> for g++ -pedantic-errors.
* fixincludes (curses.h): typedef bool need not take up entire line.
Mon Sep 11 19:05:42 1995 Stan Cox ([email protected])
* c-typeck.c (digest_init): Don't recursively call digest_init
when in traditional mode if the type is invalid.
Mon Sep 11 18:58:26 1995 Oliver Kellogg ([email protected])
* 1750a.md: Added DLB/DSTB peepholes for HFmode.
Corrected mnemonics for HImode DSTB peephole.
Mon Sep 11 18:48:06 1995 Michael Meissner <[email protected]>
* config/fp-bit.c (FLO_union_type): Remove bitfields to set sign,
exponent, and mantissa, and add value_raw field, which is an
integer of the appropriate type. If _DEBUG_BITFLOAT is defined,
provide little and big endian bitfields. If the macro
FLOAT_BIT_ORDER_MISMATCH is defined, use explicit bitfields.
(pack_d, unpack_d): Switch to use value_raw and explicit shifts
and masks so that we don't have to worry about whether the target
is big or little endian unless FLOAT_BIT_ORDER_MISMATCH is
defined. If single precision floating point, rename to pack_f and
unpack_f, so there is no confusion in the debugger.
* rs6000.h (rs6000_abi): New enumeration to describe which
ABI we're conforming to.
(rs6000_stack): Use abi enum, not AIX vs. V.4 boolean.
(ASM_OUTPUT_OPTIONS): New macro to print output options in .s file.
(ASM_FILE_START): Use it.
(output_options,rs6000_float_const): Declare new functions.
* rs6000.c (output_option{,s}): New functions to write -f, -m,
and -W options to the asm file.
(rs6000_float_const): New function to generate floating point
constants portably used in signed,unsigned -> double conversions.
(rs6000_stack_info,debug_stack_info): Use ABI enumeration instead
of AIX vs. V.4 boolean.
* rs6000.md (float{,uns}sidf2): Call rs6000_float_const to
portably build the proper floating point constant for conversions.
(movdi): Properly handle movdi of CONST_{INT,DOUBLE} on little
endian systems.
* rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Define to be 0/1
depending on the target endianess.
(ASM_FILE_START): Define, to call output_options in addition to
output_file_directive.
(TRAMPOLINE_SIZE): Correct size to match code.
* rs6000/eabi{,le}sim.h (CPP_SPEC): Define the correct endian
macro for varargs/stdargs use.
Mon Sep 11 18:41:58 1995 Jim Wilson <[email protected]>
* c-decl.c (redeclaration_error_message): For TYPE_DECLs, return 0
if TYPE_MAIN_VARIANT of old type is same as new type.
Mon Sep 11 17:39:35 1995 Rob Ryan ([email protected])
* xcoffout.c (xcoff_inlining): New variable, used in place of
xcoff_current_include_file when determining whether to use
absolute line numbers.
(xcoffout_source_file): Switched to using xcoff_inlining to
determine when to emit .bi/.ei directives.
Mon Sep 11 16:55:06 1995 Torbjorn Granlund <[email protected]>
* m68k.md (cmpdi): Change patterns to allocate scratch register at
RTL generation time.
(tstdi): Likewise.
Sun Sep 3 09:03:50 1995 Richard Kenner ([email protected])
* fold-const.c (size_binop): Don't pass 1 to NOTRUNC.
Thu Aug 31 19:27:00 1995 Roland McGrath <[email protected]>
* libgcc2.c: Include longlong.h.
[L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4):
Define this `static inline' when defining these, so they all
remain leaf functions.
Thu Aug 31 18:38:21 1995 Paul Eggert <[email protected]>
* c-parse.in (ends_in_label): New %union member.
(stmts, stmt_or_label): Use new member to avoid lexical lookahead hack.
(lineno_stmt_or_labels): New rule.
(lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends
in a label.
Thu Aug 31 08:31:40 1995 Richard Kenner ([email protected])
* cse.c (canon_hash, CONST_DOUBLE): Hash integer and real
differently.
* varasm.c (struct rtx_const): Add new field DI to union.
(decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
representing an integer.
* va-alpha.h (__gnuc_va_list): Make __offset an int.
* alpha.c (alpha_builtin_saveregs): Properly compute address
of __offset both both OSF and WINNT.