Commit Graph

11717 Commits

Author SHA1 Message Date
Doug Evans
0821c881a2 function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
* function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
	* pa/pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.

From-SVN: r11958
1996-05-09 01:04:34 +00:00
Doug Evans
49a2e5b2f7 * function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
From-SVN: r11957
1996-05-09 01:04:06 +00:00
Mike Stump
4dabb3791d 86th Cygnus<->FSF quick merge
From-SVN: r11956
1996-05-08 18:18:35 +00:00
Jeff Law
887a8bd9fa h8300.c: Include obstack.h.
* h8300/h8300.c: Include obstack.h.
        (bit_memory_operand): New function.
        (print_operand): Append ":16" to a memory reference to
        the tiny data area.
        (h8300_tiny_data_p): New function.
        (h8300_valid_machine_decl_attribute): Accept "tiny_data".  Fix
        typo.
        (h8300_encode_label): New function.
        (h8300_adjust_insn_length): References to the tiny data section
        are two bytes shorter than normal accesses on the H8/300H.
        * h8300/h8300.h (OK_FOR_U): Fix thinko.
        (ENCODE_SECTION_INFO): Encode info for tiny data variables.
        (STRIP_NAME_ENCODING): Define.
        * h8300/h8300.md (movqi insn): Fix length for a constant load.
        (movstrictqi): Likewise.
        (movhi, movstricthi): Likewise.
        (memory btst patterns): Add register to the constraints to keep
        reload happy.

From-SVN: r11955
1996-05-07 20:36:19 -06:00
Jeff Law
3fb9e74979 h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int))) is a valid U operand if...
* h8300/h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
        is a valid U operand if SYMBOL_REF_FLAG is set on the
        SYMBOL_REF.
        * h8300/h8300.md (memory btst patterns): New patterns.

From-SVN: r11954
1996-05-07 15:11:47 -06:00
Jeff Law
fabdc32d07 h8300.c (h8300_eightbit_data_p): Renamed from h8300_tiny_data_p.
* h8300/h8300.c (h8300_eightbit_data_p): Renamed from
        h8300_tiny_data_p.
        (h8300_eightbit_data_p): Check for the "eightbit_data"
        attribute instead of "tiny_data".
        (h8300_valid_machine_decl_attribute): Likewise.
        * h8300/h8300.h (ENCODE_SECTION_INFO): Call h8300_eightbit_data_p
        instead of h8300_tiny_data_p.

From-SVN: r11953
1996-05-07 13:58:32 -06:00
Mike Stump
a50f091815 86th Cygnus<->FSF quick merge
From-SVN: r11952
1996-05-07 18:54:10 +00:00
Jeff Law
637dec4188 h8300.h (READONLY_DATA_SECTION): Define.
* h8300/h8300.h (READONLY_DATA_SECTION): Define.
        (EXTRA_SECTIONS): Add in_readonly_data.
        (READONLY_DATA_SECTION_ASM_OP): Define.
        (EXTRA_SECTION_FUNCTINOS): Add readonly_data.

From-SVN: r11951
1996-05-07 11:42:26 -06:00
Jason Merrill
d51602543d (make_decl_rtl): Update DECL_ASSEMBLER_NAME for local
|       statics.

From-SVN: r11950
1996-05-07 16:26:09 +00:00
Richard Kenner
ff91ad086a (expand_decl): Don't deduce alignment of SIZE from DECL_ALIGN; use
TYPE_ALIGN instead.

From-SVN: r11949
1996-05-06 22:04:13 -04:00
Paul Eggert
d1b680c63b (skip_comment, handle_directive): Don't use uninitialized vars.
From-SVN: r11948
1996-05-07 01:37:49 +00:00
Jim Wilson
cff3d762dc (gen_shifty_op): Truncate VALUE to avoid out of bounds array access.
From-SVN: r11947
1996-05-06 16:39:46 -07:00
Doug Evans
d2cba896e1 dbxout.c (dbxout_function): When deciding to call dbxout_function_end change test from...
* dbxout.c (dbxout_function): When deciding to call dbxout_function_end
	change test from flag_function_sections to DECL_SECTION_NAME != NULL.

From-SVN: r11946
1996-05-06 22:51:59 +00:00
Doug Evans
6f2f3db7d0 (named_section): Accept any decl.
From-SVN: r11945
1996-05-06 22:47:20 +00:00
Richard Kenner
a00285d035 (assign_parms): Set RTX_UNCHANGING_P in stack_parm if parm is
read-only.

From-SVN: r11944
1996-05-06 18:45:05 -04:00
Stan Cox
462da2af3d (final_scan_insn): Modify conditional moves whose cc is nonstandard.
From-SVN: r11943
1996-05-06 21:01:51 +00:00
Stan Cox
17c1a44f75 (decl_attributes): Chain multiple attributes correctly.
From-SVN: r11942
1996-05-06 20:58:44 +00:00
Richard Kenner
fc0c675f04 (truthvalue_conversion, case ADDR_EXPR): Don't treat address of
external decl as always nonzero.

From-SVN: r11941
1996-05-06 15:41:35 -04:00
Jason Merrill
2786cbadc7 -fno-common change
From-SVN: r11940
1996-05-06 18:36:48 +00:00
Mike Stump
7b8b9722a4 expr.c (expand_increment): Add third parameter to know when to ignore the result value.
* expr.c (expand_increment): Add third parameter to know when to
        ignore the result value.
        (store_constructor): Ditto.
        (expand_expr, case PREINCREMENT_EXPR): Ditto.
        (expand_expr, case PREDECREMENT_EXPR): Ditto.
        (expand_expr, case POSTINCREMENT_EXPR): Ditto.
        (expand_expr, case POSTDECREMENT_EXPR): Ditto.
        * tree.c (stabilize_reference): Always ignore the first operand of
        COMPOUND_EXPRs.

From-SVN: r11939
1996-05-06 18:07:22 +00:00
Jim Wilson
405f0da64e (expand_expr, case INDIRECT_REF): Delete obsolete code
to special case a SAVE_EXPR operand.

From-SVN: r11938
1996-05-06 10:13:55 -07:00
Richard Kenner
0140d3ee3a (ASM_OUTPUT_MI_THUNK): Define.
From-SVN: r11937
1996-05-06 10:00:02 -04:00
Richard Kenner
31fa03e54d Use the new trampoline definition.
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Deleted.
(INITIALIZE_TRAMPOLINE): Changed.
(FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.

From-SVN: r11936
1996-05-06 09:49:05 -04:00
Richard Kenner
833c0b26ac (rtx_addr_varies_p): Scan operands of type `E'.
From-SVN: r11935
1996-05-06 09:43:48 -04:00
Richard Kenner
233fdd10bf (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): Deleted.
From-SVN: r11934
1996-05-06 09:04:35 -04:00
Richard Kenner
00cd3feb80 Initial revision
From-SVN: r11933
1996-05-06 09:04:01 -04:00
Richard Kenner
010d2c10bd (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): New, moved from x-linux.
From-SVN: r11932
1996-05-06 09:03:48 -04:00
Richard Kenner
9c906e8127 (default_include): For C++, also search OLD_GPLUSPLUS_INCLUDE_DIR.
From-SVN: r11931
1996-05-05 22:12:23 -04:00
Richard Kenner
b039b61b5f (include_defaults_array): For C++, also search
OLD_GPLUSPLUS_INCLUDE_DIR.

From-SVN: r11930
1996-05-05 22:11:01 -04:00
Richard Kenner
5d6be9c866 (gxx_include_dir): Change to $(prefix)/include/g++.
(old_gxx_include_dir): New - defined as $(libdir)/g++-include.
(cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set from
$(old_gxx_include_dir)).

From-SVN: r11929
1996-05-05 22:10:03 -04:00
Richard Kenner
a8767945fe (check_newline): Fix #pragma parsing; issue error message for
directive that starts with `p' but isn't `pragma'.

From-SVN: r11928
1996-05-05 21:59:45 -04:00
Richard Kenner
373e7d695e Fix typo in comment.
From-SVN: r11927
1996-05-05 13:18:02 -04:00
Richard Kenner
1139608504 (hash_value_for_key): Prevent endless loop when 0 was stored in a
hashtable.

From-SVN: r11926
1996-05-05 13:13:21 -04:00
Richard Kenner
ff858cdf99 (SET_ASM_OP, ASM_WEAKEN_LABEL): Define.
From-SVN: r11925
1996-05-05 13:09:49 -04:00
Richard Kenner
fef854565e (build_real_from_int_cst): Remove spurious test for
REAL_IS_NOT_DOUBLE.

From-SVN: r11924
1996-05-05 12:47:58 -04:00
Richard Earnshaw
c9d9bc85c8 aout.h (ASM_OUTPUT_MI_THUNK): Delete.
* aout.h (ASM_OUTPUT_MI_THUNK): Delete.
(ASM_OUTPUT_OPTIONS): Define.
(ASM_FILE_START): Call ASM_OUTPUT_OPTIONS.
(BSS_SECTION_OP): Define.
(ASM_OUTPUT_ALIGN): Don't output anything if byte alignment is wanted.
(ASM_OUTPUT_ALIGNED_BSS): Define.

From-SVN: r11923
1996-05-04 16:13:28 +00:00
Richard Earnshaw
4e574e82bb (PROCESSOR_DEFAULT): Default to PROCESSOR_ARM6.
From-SVN: r11922
1996-05-04 16:13:28 +00:00
Richard Earnshaw
bd9c7e2388 (arm_select): Declare and initialize.
(all_procs): Add arm7100.
(arm_override_options): Parse arm_select structure to determine selected
architecture and tuning parameters.
(output_option, output_options): New functions.
(arm_canonicalize_comparison): New function.
(arm_gen_movstrqi): Don't add a writeback of the index registers for the
last instructions.
(arm_select_cc_mode): Detect case where mode is carry out of unsigned
arithmetic.
(output_lcomm_directive): Use bss_section (), and use alignment rather than
rounding.
(get_arm_condition_code): Handle CC_Cmode.
(final_prescan_insn): Avoid boundary case where we would occasionally
inline MAX_INSNS_SKIPPED+1 insns.  Allow call_insns to be inlined in APCS_32
mode if they are the last insn in the block.

From-SVN: r11921
1996-05-04 16:13:28 +00:00
Richard Earnshaw
a0b632ecd1 (*addsi3_compareneg): Delete potentially unsafe insn.
(*addsi3_compare_op[12]): New insns.
(*compare_addsi2_op[01]): New insns.
(*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
(*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.

From-SVN: r11920
1996-05-04 16:13:28 +00:00
Richard Earnshaw
62dd06ea77 (ASM_OUTPUT_MI_THUNK): Moved here from aout.h.
(ASM_OUTPUT_MI_THUNK): Moved here from aout.h.  Rewrite to be
independent of the selected assembler, and to use optimal number of
instructions.
(target_cpu_name): Delete.
(TARGET_SWITCHES): Delete "be" and "le".
(TARGET_OPTIONS): Delete "cpu-", add "tune=".
(struct arm_cpu_select): New struct.
(PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
(EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
(CANONICALIZE_COMPARISON): Define.

From-SVN: r11919
1996-05-04 16:13:28 +00:00
Stan Cox
07d4d67db4 (ASM_OUTPUT_MI_THUNK): Define.
From-SVN: r11918
1996-05-03 17:47:15 +00:00
Stan Cox
926b3fae1f (movesicc, movehicc) Pentium Pro conditional move insns
From-SVN: r11917
1996-05-03 17:18:07 +00:00
Stan Cox
3a0433fd4d (TARGET_PENTIUMPRO, TARGET_CMOVE, BRANCH_COST,
From-SVN: r11916
1996-05-03 17:17:42 +00:00
Stan Cox
e5cb57e8b5 (asm_output_function_prefix, function_prologue): Setup
From-SVN: r11915
1996-05-03 17:15:40 +00:00
Jason Merrill
809c8c30be 86th Cygnus<->FSF quick merge
From-SVN: r11914
1996-05-02 16:31:04 +00:00
Jason Merrill
1df8f58faf (ASM_OUTPUT_MI_THUNK): Fix for sparc64, optimize.
From-SVN: r11913
1996-05-02 00:57:29 +00:00
Jeff Law
dd4fd0a0fd h8300.c (h8300_adjust_insn_length): Adjust the cost of shifts by small constant values.
* h8300/h8300.c (h8300_adjust_insn_length): Adjust the cost of
        shifts by small constant values.
        * h8300/h8300.md: Refine comments.  Remove names from many
        patterns which don't need them.
        (compare insns): Don't underestimate lengths.
        (andqi3 expander): Remove constrains.
        (andhi3): Don't underestimate length.
        (andsi3): Don't underestimate length.  Improve code when upper
        or lower half of destination is being cleared.
        (indirect_jump_h8300, indirect_jump_h8300h): Simplify.
        (shift insns): Remove useless "I" constraint.

From-SVN: r11912
1996-05-01 16:41:55 -06:00
Jason Merrill
17d6fedc57 (ASM_OUTPUT_ALIGNED_BSS): Define.
From-SVN: r11911
1996-05-01 21:18:50 +00:00
Jeff Law
e1aa1a6c6e h8300.md (bcs type): Remove "bcs" type attribute and all references.
* h8300/h8300.md (bcs type): Remove "bcs" type attribute and
        all references.
        (bcs insns): Delete.  No longer needed.
        (setcc from bitfield): Rewrite to use zero_extract.  Provide
        QImode, HImode and SImode variants.

From-SVN: r11910
1996-04-30 23:49:58 -06:00
Jason Merrill
df37d0faf5 (SELECT_SECTION): If RELOC is true, put it in data.
From-SVN: r11909
1996-05-01 04:49:53 +00:00