Commit Graph

9454 Commits

Author SHA1 Message Date
Michael Meissner
40a4b13fc1 Support Linux elf and a.out systems; Add parisc support
From-SVN: r9482
1995-04-26 20:45:43 +00:00
Jim Wilson
27da6752fc (NEGTF2_LIBCALL): Define.
(INIT_TARGET_OPTABS): Add support for all TFmode *_LIBCALL macros.

From-SVN: r9481
1995-04-26 12:16:21 -07:00
Jim Wilson
6a45faa72c (init_optabs): Delete all uses of undocumented TImode and
TFmode *_LIBCALL macros.

From-SVN: r9480
1995-04-26 12:13:00 -07:00
Jim Wilson
2ca9ae17a9 (simplify_rtx, case TRUNCATE): Add. Use force_to_mode.
(force_to_mode, case AND): Allow some simplifications when GET_MODE (x)
has more bits than HOST_BITS_PER_WIDE_INT.

From-SVN: r9479
1995-04-26 11:08:54 -07:00
Jim Wilson
99f762bff7 (truncdiqi2+[456]): Add patterns to simplify ZERO_EXTEND
of a TRUNCATE.

From-SVN: r9478
1995-04-26 11:06:52 -07:00
Doug Evans
6ac342776a (memop): Deleted.
(splittable_symbolic_memory_operand): New function.
(splittable_immediate_memory_operand): New function.

From-SVN: r9477
1995-04-26 17:01:05 +00:00
Doug Evans
d750d0def7 (memop define_splits): Rewrite to not use memop.
Preserve MEM_IN_STRUCT_P, MEM_VOLATILE_P, RTX_UNCHANGING_P bits.

From-SVN: r9476
1995-04-26 16:59:55 +00:00
Richard Kenner
33cf5823a5 (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string
constant is a constant.

From-SVN: r9475
1995-04-26 12:29:48 -04:00
Richard Kenner
ccafc85b7f (init_decl_processing): Don't give builtin__constant_p an argument
type.

From-SVN: r9474
1995-04-26 12:28:49 -04:00
Richard Kenner
c7db4570ac (CRAY*Y-MP:*:*:*): New entry.
From-SVN: r9473
1995-04-26 10:27:47 -04:00
Richard Kenner
4160009ff8 (output_init_element): Constructor is not simple if a bitfield is
being assigned a non-integer.

From-SVN: r9472
1995-04-26 08:35:12 -04:00
Richard Kenner
e4376e63ac (push_init_level): Update constructor_depth when we push spelling
level.

From-SVN: r9471
1995-04-26 08:04:28 -04:00
Richard Kenner
f5945faf82 (alpha_builtin_saveregs): Refine last change to work for both stdarg
and varargs.

From-SVN: r9470
1995-04-25 22:48:27 -04:00
Jeff Law
5eceed922a pa.c (emit_move_sequence): Handle function label arithmetic for PIC code generation too.
* pa.c (emit_move_sequence): Handle function label arithmetic for
	PIC code generation too.

From-SVN: r9469
1995-04-25 17:49:45 -06:00
Jim Wilson
e9cf6a9776 (struct move_by_pieces): Add to_struct and from_struct fields.
(move_by_pieces): Set to_struct and from_struct fields.
(move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1.
(expand_builtin, case BUILT_IN_MEMCPY): New variable type.
Set MEM_IN_STRUCT_P of src_mem and dest_mem.

From-SVN: r9468
1995-04-25 16:36:38 -07:00
Jim Wilson
8521c499ab (clean): Delete libgcc1-asm.a.
From-SVN: r9467
1995-04-25 16:21:32 -07:00
Jim Wilson
4cfd37163a (CPP_SPEC): Define.
From-SVN: r9466
1995-04-25 16:18:01 -07:00
Jim Wilson
be0f1cf296 (pushdecl): Don't test DECL_EXTERNAL when deciding whether
to register a duplicate decl in the current block.

From-SVN: r9465
1995-04-25 16:11:10 -07:00
Richard Kenner
d8b679b944 (untyped_call): Make it return a complex double.
From-SVN: r9464
1995-04-25 19:10:10 -04:00
Richard Kenner
3e4a14ef2e (gen_highpart): Add comment about broken implementation.
From-SVN: r9463
1995-04-25 19:09:34 -04:00
Richard Kenner
ee33823f45 (expand_builtin_apply_args): If STACK_REGS is defined...
(expand_builtin_apply_args): If STACK_REGS is defined, generate USE
insns before the function body, thus showing which registers are
filled with parameters.
Reverse order of saving registers, more compact code for i387.
(expand_builtin_apply): Likewise.

From-SVN: r9462
1995-04-25 19:09:01 -04:00
Richard Kenner
9dc0f53144 (assign_parms): If STACK_REGS is defined...
(assign_parms): If STACK_REGS is defined, generate USE insns before
the function body, thus showing which registers are filled with
parameters.

From-SVN: r9461
1995-04-25 19:08:04 -04:00
Richard Kenner
7d41fad55b Add copyright for 1995.
From-SVN: r9460
1995-04-25 19:07:43 -04:00
Richard Kenner
99a593103f (current_function_returns_real): Deleted (unused).
(FP_mode_reg): Trimmed to a smaller size, less overhead.
(FP_MODE_REG): New macro over which FP_mode_reg will be accessed.
(mark_regs_pat, straighten_stack): New functions.
(reg_to_stack): Amend initialisation of FP_mode_reg.
Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG.
(get_true_reg): Eliminate FP subreg accesses in favour of the actual FP
register in use.
(record_reg_life_pat): Make it work on SUBREGs as well.  Make use of the new
mark_regs_pat function.  Handle USE insns if called unnested.
(record_reg_life): Don't check for QImode again, we know that it is there.
Process CALL_INSNs like all other insns, they might `use' some FP argument
registers if register passing.
(stack_result_p): Changed in stack_result and returning an rtx.
(stack_reg_life_analysis): Take a new stackentry state argument.
Use stack_result and the rtx to mark using mark_regs_pat.  This ensures that
types that need multiple FP registers are handled correctly
Delete the no_live_regs shortcut to save space.
Use stackentry state to determine filled registers.
(replace_reg): Accept COMPLEX_FLOAT as well.
(move_for_stack_reg): Optimise away some pointer dereferencing.
(subst_stack_regs): Make sure the stack is in the right order and of the right
size for register passing.
(goto_block_pat): Make sure the stack is in the right order to return possible
multi-register values from the function.
(convert_regs): Fix comment about CALL_INSN, it's no longer valid.
Make sure the stack is of the right size and in the right order to return
possible multi-register values from the function.

From-SVN: r9459
1995-04-25 19:06:57 -04:00
Richard Kenner
f365e8f673 (attrib): Permit null-length argument list to attributes.
From-SVN: r9458
1995-04-25 18:57:39 -04:00
Richard Kenner
406c2af7ed (attribute_in_list): New declaration.
From-SVN: r9457
1995-04-25 18:52:37 -04:00
Richard Kenner
3e3d7e77cd (valid_machine_attribute): Use new function attribute_in_list...
(valid_machine_attribute): Use new function attribute_in_list, makes
sure type_attribute_variants are reused even when attributes have
parameters.
Assign any new type to TREE_TYPE (decl).
(attribute_in_list): New function.
(attribute_list_contained): Use it.

From-SVN: r9456
1995-04-25 18:52:18 -04:00
Jim Wilson
8faf4a6843 (main): Pass INIT_ENVIRONMENT to putenv.
From-SVN: r9455
1995-04-25 15:39:42 -07:00
Richard Kenner
33a79dfafb (chain_member_purpose): Make similar to chain_member_value.
From-SVN: r9454
1995-04-25 18:39:11 -04:00
Jim Wilson
713ff25294 (INIT_ENVIRONMENT): Define as string not putenv call.
From-SVN: r9453
1995-04-25 15:38:15 -07:00
Jim Wilson
3ffeb8f1c7 (expand_return): When returning BLKmode structure in
registers, copy it to a psuedo-reg instead of to hard registers.

From-SVN: r9452
1995-04-25 15:25:28 -07:00
Richard Kenner
91887f0bf6 Make-lang.in.
From-SVN: r9451
1995-04-25 18:08:27 -04:00
Richard Kenner
f1908d7025 Change "realclean" to "maintainer-clean".
From-SVN: r9450
1995-04-25 18:07:11 -04:00
Richard Kenner
209d691e03 Removed __NetBSD__ from conditional.
Declare strerror if HAVE_STRERROR is defined; otherwise declare
sys_errlist and sys_nerr.
(my_strerror): New function.
(errno): Don't define if already defined as a macro.

From-SVN: r9449
1995-04-25 17:47:34 -04:00
Richard Kenner
d14d353d13 (current_file_function_operand): Return false if profiling.
From-SVN: r9448
1995-04-25 17:43:07 -04:00
Richard Kenner
34aa3599f1 (convert_move): Don't access a hard reg in an invalid mode when doing
a truncation.

From-SVN: r9447
1995-04-25 17:05:37 -04:00
Richard Kenner
c89e8dc28f (CONST_OK_FOR_LETTER_P, case 'L'): Reject 0x80000000.
From-SVN: r9446
1995-04-25 16:36:31 -04:00
Richard Kenner
e6118f890d (add_operand): Test for exactly the constants allowed by the
constraints.

From-SVN: r9445
1995-04-25 16:36:05 -04:00
Richard Kenner
daa6d5ffc0 (start_decl): New args for attributes; call decl_attributes.
From-SVN: r9444
1995-04-25 16:06:42 -04:00
Richard Kenner
c15b1d4507 (start_decl): Two new tree parameters.
From-SVN: r9443
1995-04-25 16:06:19 -04:00
Richard Kenner
99ac47b5d2 (initdcl, notype_initdcl): Pass attributes to start_decl; delete call
to decl_attributes.

From-SVN: r9442
1995-04-25 16:06:00 -04:00
Michael Meissner
17ea663341 Do not allow DFs to use 2 register addressing if -msoft-float
From-SVN: r9441
1995-04-25 19:46:08 +00:00
Richard Kenner
2ac5334923 (divhi3, udivhi3, modhi3, umodhi3): Deleted these insns plus some surrounding trash.
(divhi3, udivhi3, modhi3, umodhi3): Deleted these insns plus some
surrounding trash.
(divmodhi4, udivmodhi4): Added these insns.

From-SVN: r9440
1995-04-25 15:45:30 -04:00
Richard Kenner
f5ec002697 (duplicate_decls): Don't look at TYPE_ACTUAL_ARG_TYPES if it is not
set.

From-SVN: r9439
1995-04-25 13:30:35 -04:00
Richard Kenner
007cac0f1a Initial revision
From-SVN: r9438
1995-04-25 12:42:00 -04:00
Richard Kenner
622ff7098e (alpha_builtin_saveregs): Add to incoming args addr if less than 6
named args, not less than or equal to.

From-SVN: r9437
1995-04-25 10:12:34 -04:00
Richard Kenner
e041d3e92b (fatal, error): Make first arg const to avoid warning.
From-SVN: r9436
1995-04-24 19:44:34 -04:00
Richard Kenner
a3fd7507da (expand_end_bindings): Write a BARRIER after call to abort in nonlocal
handler.

From-SVN: r9435
1995-04-24 19:22:18 -04:00
Richard Kenner
ae8c59c0a0 (expand_decl_init): Call preserve_temp_slots to keep around any temp
whose address was taken.

From-SVN: r9434
1995-04-24 15:25:06 -04:00
Mike Stump
e8abc66f60 67th Cygnus<->FSF merge
From-SVN: r9433
1995-04-24 17:27:46 +00:00