Commit Graph

156 Commits

Author SHA1 Message Date
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Jeffrey A Law
3a598fbeb4 1750a.md, [...]: Use GEN_INT consistently.
* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
        * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
        * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
        * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
        * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
        * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
        * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
        * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
        * md.texi: Likewise.

From-SVN: r18927
1998-03-31 22:20:26 -07:00
Joel Sherrill
fe0714d3f3 go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
* config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
       * config/i386/rtems.h: Likewise.
       * config/i960/rtems.h: Likewise.
       * config/m68k/rtems.h: Likewise.
       * config/mips/rtems64.h: Likewise.
       * config/pa/rtems.h: Likewise.
       * config/rs6000/rtems.h: Likewise.
       * config/sh/rtems.h: Likewise.
       * config/sparc/rtems.h: Likewise.

From-SVN: r18813
1998-03-24 17:03:19 -07:00
Joern Rennecke
33f7f35385 rtl.h (addr_diff_vec_flags): New typedef.
* rtl.h (addr_diff_vec_flags): New typedef.
	(union rtunion_def): New member rt_addr_diff_vec_flags.
	(ADDR_DIFF_VEC_FLAGS): New macro.
	* sh.c (output_branch): Fix offset overflow problems.
	* final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
	(final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
	* rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
	* stmt.c (expand_end_case): Supply new arguments to
	gen_rtx_ADDR_DIFF_VEC.
	* 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
	* alpha.h, arc.h, clipper.h, convex.h : Likewise.
	* dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
	* i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
	* mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
	* rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
	* vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
	* i386/386bsd.h, i386/freebsd-elf.h : Likewise.
	* i386/freebsd.h, i386/linux.h : Likewise.
	* i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
	* i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
	* m68k/mot3300.h, m68k/sgs.h : Likewise.
	* m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
	* sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
	(CASE_VECTOR_SHORTEN_MODE): Define.
	(short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
	(med_branch_p, braf_branch_p): Don't declare.
	(mdep_reorg_phase, barrier_align): Declare.
	(ADJUST_INSN_LENGTH): Remove alignment handling.
	* sh.c (uid_align, uid_align_max): Deleted.
	(max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
	(short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
	(cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
	(output_far_jump): Don't use braf_branch_p.
	(output_branchy_insn): Don't use branch_offset.
	(find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
	Remove paired barrier stuff.
	Don't use cache_align_p.
	Take alignment insns into account.
	(fixup_addr_diff_vecs): Reduce to only fixing up the base label of
	the addr_diff_vec.
	(barrier_align, branch_dest): New function.
	(machine_dependent_reorg, split_branches): Remove infrastructure
	for branch shortening that is now provided in the backend.
	* sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
	(braf_branch_p, braf_cbranch_p): Likewise.
	(attribute length): Use new attributes.
	(casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
	(addr_diff_vec_adjust): Delete.
	(align_2): Now a define_expand.
	(align_log): Now length 0.

From-SVN: r18433
1998-03-06 14:54:07 +00:00
J"orn Rennecke
fc470718ac final.c (insn_last_address, [...]): New variables.
* final.c (insn_last_address, insn_current_align, uid_align):
	New variables.
	(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
	(insn_current_reference_address): Likewise.
	(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
	LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
	(label_to_alignment): New function.
	* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
	LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
	insn_current_reference_address instead of insn_current_address.
	(or_attr_value, write_length_unit_log): New functions.
	(main): Call write_length_unit_log.
	(write_const_num_delay_slots): Output extra '\n'.
	* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
	replace with:
	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
	* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
	* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
	(LOOP_ALIGN).
	* i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
	(LABEL_ALIGN_AFTER_BARRIER).
	* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
	* ns32k/tek6000.h: Likewise.
	* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
	* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
	ASM_OUTPUT_ALIGN_CODE.

From-SVN: r18357
1998-03-02 11:54:35 +00:00
Anthony Green
c6aded7c2b flags.h: New flag (optimize_size).
* flags.h: New flag (optimize_size).
        * toplev.c (main): Parse -Os option and set optimize_space
        accordingly.
        * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
        __OPTIMIZE_SIZE__ when compiling with -Os.
        * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
        config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
        config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
        to macro.
        * config/i386/i386.c (optimization_options): Accept new SIZE argument.

From-SVN: r17497
1998-01-26 16:00:04 -07:00
Ian Lance Taylor
18543a2208 expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an expression.
* expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
        expression.
        * stmt.c (expand_end_case): Likewise.
        * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
        * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
        * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.

From-SVN: r17155
1997-12-19 09:43:29 -07:00
Jeff Law
956d69504d Merge from gcc-2.8
From-SVN: r16987
1997-12-06 17:31:01 -07:00
Jeff Law
e9a25f70a0 Update mainline egcs to gcc2 snapshot 971021.
From-SVN: r16278
1997-11-02 14:19:36 -07:00
Joel Sherrill
02d7a56981 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
From-SVN: r15077
1997-09-04 09:59:54 -06:00
Joel Sherrill
8aa4e786fb go32-rtems.h, [...] (subtarget_switches): Removed SUBTARGET_SWITCHES definitions.
* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
          mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
          sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
          definitions.  Use -qrtems instead of -mrtems.

From-SVN: r15058
1997-09-03 09:42:45 -06:00
Stephen Williams
f3e0ca6c2d * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
From-SVN: r15013
1997-09-01 11:27:19 -06:00
Joel Sherrill
5d84b57e6f go32-rtems.h, [...] (subtarget_switches): Added -mrtems as a switch.
* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
        m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
        sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
        * i960/i960.h: Added SUBTARGET_SWITCHES macro.
        * rs6000/sysv4.h (extra_subtarget_switches): Added new
        macro EXTRA_SUBTARGET_SWITCHES.
        * configure.in (sh*-*-rtems*): New target.
        * sh/rtems.h: New file.
        * sh/sh.h: Added SUBTARGET_SWITCHES macro.
        * configure: Rebuilt.

From-SVN: r15006
1997-09-01 08:14:30 -06:00
Bob Manson
d995a6dc49 t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
* t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
        * t-mn10200: Ditto.
        * t-vxsparc: Ditto.
        * t-vxworks68: Ditto.
        * t-vxworks960: Ditto.
        * t-vx29k: Ditto.

From-SVN: r14984
1997-08-27 18:18:03 -06:00
Jason Merrill
0ce200e50c x
From-SVN: r14465
1997-07-17 06:40:52 +00:00
Jason Merrill
3e8d8d4bc7 x
From-SVN: r14446
1997-07-15 02:12:38 +00:00
Brendan Kehoe
67de45a8dd vx960-coff.h (CPP_SPEC): Always define CPU, even if they use -ansi...
* i960/vx960-coff.h (CPP_SPEC): Always define CPU, even if they
	use -ansi; the VxWorks headers assume it's always present.

From-SVN: r14158
1997-06-05 22:20:14 -04:00
Brendan Kehoe
69ce75dc0d i960.c (process_pragma): Call ungetc on the last character that was read by the while loop...
* i960/i960.c (process_pragma): Call ungetc on the last character
	that was read by the while loop, to make sure the parser sees it.

From-SVN: r13546
1997-01-22 16:30:20 -05:00
Richard Kenner
555d459c79 Add specification for -Jx types.
From-SVN: r13050
1996-10-28 13:05:22 -05:00
Richard Kenner
023ea387ab Include multilib support for Jx types.
From-SVN: r13049
1996-10-28 13:05:00 -05:00
Richard Kenner
4e0c8ad2e7 (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
From-SVN: r12750
1996-09-21 06:53:37 -04:00
Jim Wilson
2ebb804445 (LIB_SPEC): Undef.
From-SVN: r12634
1996-08-13 14:28:50 -07:00
Jim Wilson
292099cc67 (subsi3+1): Handle case where first operand is constant
but second operand is not.

From-SVN: r12589
1996-08-03 18:20:26 -07:00
Torbjorn Granlund
ef64fa154d (eq reg (const_int 0)): New pattern.
From-SVN: r12575
1996-07-30 19:03:29 +00:00
Mike Stump
5bcff23f54 * i960/i960.c: Include except.h for function.h.
From-SVN: r12553
1996-07-23 23:56:56 +00:00
Doug Evans
ae40770430 Initial revision
From-SVN: r12511
1996-07-16 16:44:43 +00:00
Jim Wilson
6321d910e2 (EXTENDED_SDB_BASIC_TYPES): Define.
(PUT_SDB_TYPE): Delete now unnecessary shifting and masking.

From-SVN: r12224
1996-06-07 17:15:54 -07:00
Jim Wilson
75694d3866 (i960_output_move_{double,quad}): Declare.
From-SVN: r12221
1996-06-07 17:03:53 -07:00
Jim Wilson
3ddf29dea4 (ROUND_TYPE_ALIGN): Add check for TYPE_PACKED.
From-SVN: r12173
1996-06-05 17:44:38 -07:00
Richard Kenner
d918868e2b No longer include i960.h.
From-SVN: r12032
1996-05-18 14:17:25 -04:00
Richard Kenner
6d4497f135 No longer include i960-coff.h.
From-SVN: r12031
1996-05-18 14:14:11 -04:00
Richard Kenner
554411b4d6 No longer include i960.h and dbxcoff.h.
From-SVN: r12030
1996-05-18 14:13:47 -04:00
Michael Meissner
d0981662f8 Add soft-float multilib directory
From-SVN: r11895
1996-04-26 19:03:12 +00:00
Jim Wilson
119d0c36a6 (process_pragma): Take the IDENTIFIER_POINTER tree
node instead of a character.

From-SVN: r11840
1996-04-17 12:11:28 -07:00
Jim Wilson
86d086ba04 (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
From-SVN: r11839
1996-04-17 12:10:02 -07:00
Jim Wilson
2830ec16fe (xp-bit.c): Fix typo in source file name.
From-SVN: r11831
1996-04-16 15:51:51 -07:00
Michael Meissner
b9b7c94c41 Add support for EXTENDED_FLOAT_STUBS
From-SVN: r11659
1996-04-04 16:45:26 +00:00
Jeff Law
2c7ee1a641 calls.c (expand_call): Remove current_call_is_indirect nonsense.
* calls.c (expand_call): Remove current_call_is_indirect nonsense.
	Add additional argument to INIT_CUMULATIVE_ARGS.
	(emit_library_call): Likewise.
	(emit_library_call_value): Likewise.
	* expr.c (expand_builtin): Likewise.
	* function.c (assign_parms): Likewise.
	* cp/method.c (emit_thunk): Likewise.
	* config/pa/pa.h (hppa_args): New field "indirect".
	(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
	(FUNCTION_ARG): Check "indirect" field, rather than
	"current_call_is_indirect".
	* All other backends updated with new argument to
	INIT_CUMULATIVE_ARGS

From-SVN: r11641
1996-03-29 07:37:11 -07:00
Jim Wilson
d3debd4b78 (ROUND_TPE_SIZE): Return round_up result instead of
COMPUTED.

From-SVN: r11522
1996-03-12 15:51:01 -08:00
Doug Evans
7ec6d4d920 (HANDLE_PRAGMA): Change to expression with terminating character as result.
From-SVN: r11154
1996-02-01 22:47:21 +00:00
Ian Lance Taylor
1c940b476e Update copyright
From-SVN: r11028
1996-01-16 16:49:43 +00:00
Ian Lance Taylor
9480420717 Use dbxcoff.h
From-SVN: r11027
1996-01-16 16:44:22 +00:00
Doug Evans
8e20a7c25c Update copyright.
From-SVN: r11001
1996-01-15 22:27:41 +00:00
Doug Evans
24462b5c6a Updatee copyright.
From-SVN: r11000
1996-01-15 22:26:22 +00:00
Doug Evans
05a81fe58a c-lex.c (check_newline): Pass character after `#pragma' to HANDLE_PRAGMA.
* c-lex.c (check_newline): Pass character after `#pragma' to
	HANDLE_PRAGMA.  Don't call get_directive_line if at end of line.
	* c-common.c (get_directive_line): Watch for EOF.
	* h8300/h8300.h (HANDLE_PRAGMA): New argument `c'.
	Must issue `return' now.
	* i960/i960.h (HANDLE_PRAGMA): Likewise.
	* sh/sh.h (HANDLE_PRAGMA): Likewise.
	* nextstep.h (HANDLE_PRAGMA): Likewise.
	* h8300/h8300.c (handle_pragma): New argument `ch'.
	Simplify pragma processing.  Delete support for `#pragma section'.
	* i960/i960.c (process_pragma): New argument `c'.  Change result to
	terminating character.
	* nextstep.c (handle_pragma): Likewise.
	* sh/sh.c (handle_pragma): Likewise.  Also simplified.

From-SVN: r10999
1996-01-15 22:25:24 +00:00
Torbjorn Granlund
f20200f4bc (logic_operand): New function.
(i960_print_operand): Handle code `C'.

From-SVN: r10726
1995-12-14 23:16:23 +00:00
Torbjorn Granlund
82eaec4ab0 (PREDICATE_CODES): Add logic_operand.
(CONST_OK_FOR_LETTER_P): Handle `M'.
(SHIFT_COUNT_TRUNCATED): Define as 0 as appropriate.

From-SVN: r10725
1995-12-14 23:15:26 +00:00
Torbjorn Granlund
5d17176fdc (andsi3): Match op2 with logic_operand, change constraint accordingly.
(andsi3): Match op2 with logic_operand, change constraint
accordingly.  Output andnot for negative op2.
(iorsi3, xorsi3): Analogous changes.
Move all plain logical patterns together.

From-SVN: r10724
1995-12-14 23:14:22 +00:00
Richard Kenner
e5e1552a7f (movdi matchers): Rewrite.
(store_unaligned_di_reg): New pattern.
(movti matchers): Rewrite.
(store_unaligned_ti_reg): New pattern.

From-SVN: r10553
1995-11-05 10:49:36 -05:00
Richard Kenner
3a89bbcbfa (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.

From-SVN: r10552
1995-11-05 10:49:06 -05:00