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