Commit Graph

9475 Commits

Author SHA1 Message Date
Richard Kenner
c276186e8e Initial revision
From-SVN: r9503
1995-04-27 08:05:51 -04:00
Richard Kenner
c926344618 (collect_expansion): Assume leading white space already removed.
Don't allocate unnecessary space for expansion.

From-SVN: r9502
1995-04-27 07:08:53 -04:00
Richard Kenner
ba6aa38e3d (deps_output): Don't generate overly long output lines.
Do not invoke self recursively with spacer == 0; this simplifies the code a
bit.

From-SVN: r9501
1995-04-27 07:03:46 -04:00
Richard Kenner
4cb8c14b60 (OBJC_VERSION): Version 7.
(build_objc_string_object): Build a full declaration if not using the next
runtime.
(objc_add_static_instance): New function.
(init_module_descriptor): Add reference to static instances table.
(build_module_descriptor): Add field for static instances table.
(get_objc_string_decl): New function.
(generate_static_references): New function.
(finish_objc): Call generate_static_references if needed.

From-SVN: r9500
1995-04-26 19:18:37 -04:00
Richard Kenner
0df0f84cb5 (finish_decl_top_level): New function.
From-SVN: r9499
1995-04-26 19:17:42 -04:00
Richard Kenner
73e53112f8 (finish_decl_top): New declaration.
From-SVN: r9498
1995-04-26 19:17:07 -04:00
Richard Kenner
0994488a6b Changed Class * to Class in order to match NEXTSTEP and OpenStep
runtime.

From-SVN: r9497
1995-04-26 19:16:05 -04:00
Richard Kenner
bc1f3f7791 (OBJC_O): Added bare-bones implementation of NXConstantString.
From-SVN: r9496
1995-04-26 19:08:38 -04:00
Richard Kenner
f76bab0219 Initial revision
From-SVN: r9495
1995-04-26 19:08:15 -04:00
Richard Kenner
4426bf3fe6 Changed Class * to Class in order to match NEXTSTEP and OpenStep runtime.
Changed Class * to Class in order to match NEXTSTEP and OpenStep
runtime.
(OBJC_VERSION): Version 7.
(objc_init_statics): New function.
(__objc_exec_class): Invoke objc_init_statics if needed.

From-SVN: r9494
1995-04-26 19:07:00 -04:00
Richard Kenner
e35ec8520b Changed Class * to Class in order to match NEXTSTEP and OpenStep runtime.
Changed Class * to Class in order to match NEXTSTEP and OpenStep
runtime.
(objc_static_instances): New struct to record static instances of a certain
class.
(objc_module): New tag STATICS to point to the table of objc_statics_instances.

From-SVN: r9493
1995-04-26 19:05:45 -04:00
Richard Kenner
89f0bef317 (ashrsi2_31): Don't use dead_or_set_p after reload.
From-SVN: r9492
1995-04-26 18:19:38 -04:00
Richard Kenner
d8ddc751ee Remove bad peepholes that improperly use dead_or_set_p.
From-SVN: r9491
1995-04-26 18:16:50 -04:00
Richard Kenner
b095754a73 Treat _MACHINE_ANSI_H_ like _ANSI_H_.
From-SVN: r9490
1995-04-26 18:04:28 -04:00
Richard Kenner
db8717d93b (expand_function_end): Warn about unused parms if both -Wunused and -W.
From-SVN: r9489
1995-04-26 17:56:19 -04:00
Richard Kenner
3fc341ac09 (print_node): Print TYPE_PACKED.
From-SVN: r9488
1995-04-26 17:25:21 -04:00
Richard Kenner
41ddaaa4d5 Update number of shift/reduce conflicts.
(structsp): Pass attribute arg to finish_struct.
Support attributes on enums and pass to finish_enum.

From-SVN: r9487
1995-04-26 17:24:51 -04:00
Richard Kenner
10861e9a23 (finish_struct): Add ATTRIBUTES argument, call decl_attributes and set DECL_PACKED from TYPE_PACKED.
(finish_struct): Add ATTRIBUTES argument, call decl_attributes and set
DECL_PACKED from TYPE_PACKED.
(finish_enum): Add ATTRIBUTES argument, call decl_attributes, and make enum
narrow if TYPE_PACKED.

From-SVN: r9486
1995-04-26 17:24:01 -04:00
Richard Kenner
a89ca5c67e (init_attributes): Don't require decl for A_PACKED.
(decl_attributes, case A_PACKED): Set TYPE_PACKED for type.

From-SVN: r9485
1995-04-26 17:23:10 -04:00
Richard Kenner
a0053f2b87 (finish_enum, finish_struct): Add ATTRIBUTES argument.
From-SVN: r9484
1995-04-26 17:22:41 -04:00
Richard Kenner
9e357cd843 (TYPE_PARSE_INFO): Delete unused field.
(TYPE_PACKED): Add new macro.
(struct tree_type): Delete unused field `parse_info'.
Add new field `packed_flag'.

From-SVN: r9483
1995-04-26 17:22:19 -04:00
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