]>
gcc.gnu.org Git - gcc.git/log
Jeff Law [Wed, 17 Mar 1993 21:01:25 +0000 (14:01 -0700)]
pa.h (SECONDARY_MEMORY_NEEDED): Define.
* pa.h (SECONDARY_MEMORY_NEEDED): Define.
(SECONDARY_MEMORY_NEEDED_RTX): Define.
From-SVN: r3766
Torbjorn Granlund [Wed, 17 Mar 1993 20:57:22 +0000 (20:57 +0000)]
(pc_or_label_operand): New predicate.
From-SVN: r3765
Torbjorn Granlund [Wed, 17 Mar 1993 20:56:40 +0000 (20:56 +0000)]
(branch-on-bit): New patterns.
From-SVN: r3764
Richard Stallman [Wed, 17 Mar 1993 19:59:45 +0000 (19:59 +0000)]
(STRUCT_VALUE): Defined.
(STRUCT_VALUE_REGNUM): Add #undef.
From-SVN: r3763
Richard Kenner [Tue, 16 Mar 1993 22:41:57 +0000 (17:41 -0500)]
(FIXED_REGNO_P): Remove previous change; all callers but one already check.
(CHEAP_REG): Only call FIXED_REGNO_P for hard regs.
(fold_rtx): Clarify comments.
From-SVN: r3762
Jim Wilson [Tue, 16 Mar 1993 20:15:00 +0000 (12:15 -0800)]
(CFLAGS, LIBGCC2_CFLAGS): Delete overrides and comment why they were wrong.
From-SVN: r3761
Jim Wilson [Tue, 16 Mar 1993 20:11:12 +0000 (12:11 -0800)]
(grokdeclarator, ARRARY_REF): If exern, then end
temporary allocation before building type.
From-SVN: r3760
Jim Wilson [Tue, 16 Mar 1993 19:54:08 +0000 (11:54 -0800)]
(SECONDARY_MEMORY_NEEDED_RTX): Define.
From-SVN: r3759
Jim Wilson [Tue, 16 Mar 1993 19:52:45 +0000 (11:52 -0800)]
(get_secondary_mem): Use macro SECONDARY_MEMORY_NEEDED_RTX.
From-SVN: r3758
James Van Artsdalen [Tue, 16 Mar 1993 09:54:12 +0000 (09:54 +0000)]
(FIXED_REGNO_P): Pseudos can't be fixed regs.
From-SVN: r3757
Richard Stallman [Tue, 16 Mar 1993 06:07:43 +0000 (06:07 +0000)]
Follow whitespace conventions near parens.
From-SVN: r3756
Richard Stallman [Tue, 16 Mar 1993 06:04:33 +0000 (06:04 +0000)]
(main): Report errors in output to pcp_outfile.
(write_output): Use pfatal_with_name for errors.
From-SVN: r3755
Richard Stallman [Tue, 16 Mar 1993 04:54:43 +0000 (04:54 +0000)]
(expand_binop): For doubleword int addition,
clobber the whole register at the start.
From-SVN: r3754
Richard Stallman [Tue, 16 Mar 1993 04:53:55 +0000 (04:53 +0000)]
(grokdeclarator): Error for div by 0 in array size.
From-SVN: r3753
Richard Stallman [Tue, 16 Mar 1993 02:44:04 +0000 (02:44 +0000)]
(write_output): Test value of `write'; report errors.
(out_fname): Var now file-scope.
From-SVN: r3752
Jeff Law [Tue, 16 Mar 1993 01:50:54 +0000 (18:50 -0700)]
pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANTP if TARGET_LONG_CALLS.
* pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANTP
if TARGET_LONG_CALLS.
* pa.h (EXTRA_CONSTRAINT): Merge strict and non-strict variants.
Delete 'R' constraint.
From-SVN: r3751
Richard Kenner [Mon, 15 Mar 1993 23:38:07 +0000 (18:38 -0500)]
(lea_max_mul): Delete.
(init_expmed): Delete unused variable I.
(enum alg_code): New tag alg_shift. Document it.
(synth_mult): Delete unused variable N. Handle new trivial case
first, for T <= 1. Generalize shifting code to shift whenever a
number is even; use alg_shift for this. Set best_alg->ops only in
trivial case. Clean up cost calculation code for the `simple case' at
the end; use shiftadd_cost when appropriate. Combine declarations of
Q and move to top of function. Eliminate use of Q in factoring cases.
If we are getting too long a sequence for `struct algorithm' to
record, fail.
(expand_mult): Handle alg_shift instead of alg_add_t_m2 as first
operation. In RLT emit loop, handle alg_shift; special case LOG == 0
for alg_add_t_m2 and alg_sub_t_m2.
From-SVN: r3750
Richard Kenner [Mon, 15 Mar 1993 22:40:29 +0000 (17:40 -0500)]
(ASM_OUTPUT_SHORT): Fix typo in previous change.
From-SVN: r3749
Richard Kenner [Mon, 15 Mar 1993 22:38:40 +0000 (17:38 -0500)]
(simplify_plus_minus): Remove last change.
(simplify_plus_minus): Remove last change. Instead, count initial
operands and test against that count to see if we did anything.
From-SVN: r3748
Doug Evans [Mon, 15 Mar 1993 21:43:27 +0000 (21:43 +0000)]
* (assign_parms): Remove unnecessary #ifdef.
From-SVN: r3747
Jim Wilson [Mon, 15 Mar 1993 19:48:38 +0000 (11:48 -0800)]
(reg_known_equiv_p): New variable.
(init_alias_analysis): Allocate and compute reg_known_equiv_p.
(sched_analyze_1): Reenable code for REG_EQUIV notes, using
reg_known_equiv_p so that it is only used on REG_EQUIV notes.
(sched_analyze_2): Likewise. Only pass memory addresses to the
sched_analyze_2 call.
From-SVN: r3746
Jim Wilson [Mon, 15 Mar 1993 19:45:11 +0000 (11:45 -0800)]
(NO_SYS_SIGLIST): Define.
From-SVN: r3745
Jim Wilson [Mon, 15 Mar 1993 19:42:23 +0000 (11:42 -0800)]
(print_operand_address): For MULT, set ireg not breg.
From-SVN: r3744
Jim Wilson [Mon, 15 Mar 1993 19:40:34 +0000 (11:40 -0800)]
(zero_extendqisi2+4,+5): Add new patterns for combining a SI->QI mode truncate...
(zero_extendqisi2+4,+5): Add new patterns for combining
a SI->QI mode truncate with an insn that sets the condition codes.
From-SVN: r3743
Jim Wilson [Mon, 15 Mar 1993 19:39:03 +0000 (11:39 -0800)]
New file.
From-SVN: r3742
Jim Wilson [Mon, 15 Mar 1993 19:36:54 +0000 (11:36 -0800)]
(sparclite, sparclite-*): New configuration.
From-SVN: r3741
Jim Wilson [Mon, 15 Mar 1993 19:33:21 +0000 (11:33 -0800)]
(adjust_priority): Comment unreachable code.
(memrefs_conflict_p): Add comment about Fortran aliasing.
From-SVN: r3740
Richard Kenner [Mon, 15 Mar 1993 18:53:41 +0000 (13:53 -0500)]
(ASM_OUTPUT_{INT,SHORT,CHAR,BYTE}): Truncate constant to maximum range
permitted in order to avoid assembler error.
From-SVN: r3739
Jeff Law [Mon, 15 Mar 1993 18:36:57 +0000 (11:36 -0700)]
* pa.c (shadd_operand): Delete.
From-SVN: r3738
Jeff Law [Mon, 15 Mar 1993 18:36:21 +0000 (11:36 -0700)]
pa.md (sh[123]add patterns): Use register_operand, not shadd_operand.
* pa.md (sh[123]add patterns): Use register_operand, not
shadd_operand.
(sh[123]add patterns for reload): Special patterns to avoid
lossage due to reload problems.
From-SVN: r3737
Jeff Law [Mon, 15 Mar 1993 03:53:37 +0000 (20:53 -0700)]
reorg.c (find_end_label): Update unfilled_slots if the return insn we make has a delay slot.
* reorg.c (find_end_label): Update unfilled_slots if the return
insn we make has a delay slot.
From-SVN: r3736
Richard Kenner [Mon, 15 Mar 1993 02:26:55 +0000 (21:26 -0500)]
(shift_cost): Now a vector.
(shiftadd_cost): New vector for cost of (N * a + b) instructions.
(shiftsub_cost): New vector for cost of (N * a - b) instructions.
(lea_cost): Removed.
(init_expmed): Initialize new vectors. Use ASHIFT, not LSHIFT.
Remove code initializing lea_cost.
(enum alg_code): New definition.
(synth_mult): Rewrite for better algorithms and faster operation.
(expand_mult): Rewrite code for constant multiplication.
From-SVN: r3735
Richard Kenner [Sun, 14 Mar 1993 22:21:33 +0000 (17:21 -0500)]
(build_objc_method_call, get_class_reference):
Call assemble_external on anything we are about to generate a call to.
(get_super_receiver): Likewise.
(handle_class_ref): Put constant in readonly-data section, not text.
(build_objc_symtab_template): Correctly build index type for 0-length array.
From-SVN: r3734
Richard Kenner [Sun, 14 Mar 1993 14:37:43 +0000 (09:37 -0500)]
(simplify_plus_minus): Reject "simplifications" that are too complex
in form.
From-SVN: r3733
Richard Kenner [Sun, 14 Mar 1993 11:32:20 +0000 (06:32 -0500)]
(simplify_plus_minus): Correct sign error in expanding NOT.
From-SVN: r3732
Richard Stallman [Sun, 14 Mar 1993 05:02:30 +0000 (05:02 +0000)]
(choose_reload_regs): Verify reload_out[j != 0
before comparing with relaod_earlyclobber elements.
From-SVN: r3731
Richard Stallman [Sun, 14 Mar 1993 02:08:37 +0000 (02:08 +0000)]
(emit_call_1): Restore inhibit_defer_pop before popping args
so that pops really do get deferred if appropriate.
From-SVN: r3730
Richard Kenner [Sun, 14 Mar 1993 01:45:44 +0000 (20:45 -0500)]
(simplify_plus_minus): When seeing if we have reduced the number of operands...
(simplify_plus_minus): When seeing if we have reduced the number of
operands, ensure we count a CONST result as two operands.
From-SVN: r3729
Richard Kenner [Sat, 13 Mar 1993 23:13:22 +0000 (18:13 -0500)]
Correctly define PUSH_ARGS_REVERSED.
From-SVN: r3728
Jeff Law [Sat, 13 Mar 1993 21:47:54 +0000 (14:47 -0700)]
pa.c (eligible_for_epilogue_delay): Insns which access %r2 can not be used to...
* pa.c eligible_for_epilogue_delay): Insns which access
%r2 can not be used to fill the epilogue's delay slot.
From-SVN: r3727
James Van Artsdalen [Sat, 13 Mar 1993 21:33:23 +0000 (21:33 +0000)]
(emit_swap_insn): If emitting after a cc0 setter, link the cc0 insns.
From-SVN: r3726
Richard Kenner [Sat, 13 Mar 1993 03:06:14 +0000 (22:06 -0500)]
Add prototypes for static functions.
(struct move_by_pieces): Move definition before function forward decls.
From-SVN: r3725
Richard Stallman [Fri, 12 Mar 1993 23:43:25 +0000 (23:43 +0000)]
(USE_C_ALLOCA): Define if not __GNUC__.
From-SVN: r3724
Roland McGrath [Fri, 12 Mar 1993 23:42:05 +0000 (23:42 +0000)]
entered into RCS
From-SVN: r3723
Richard Stallman [Fri, 12 Mar 1993 23:17:41 +0000 (23:17 +0000)]
(variable_size): Better error for div by 0 in size.
From-SVN: r3722
Richard Stallman [Fri, 12 Mar 1993 23:07:38 +0000 (23:07 +0000)]
(emit_push_insn): Handle failure of gen_movstr...
From-SVN: r3721
Richard Kenner [Fri, 12 Mar 1993 22:48:08 +0000 (17:48 -0500)]
(PROMOTE_MODE): Fix typo.
From-SVN: r3720
Richard Kenner [Fri, 12 Mar 1993 22:43:28 +0000 (17:43 -0500)]
(refers_to_mem_p): Use rtx_equal_p to see if bases are equal.
From-SVN: r3719
Richard Kenner [Fri, 12 Mar 1993 22:39:19 +0000 (17:39 -0500)]
(set_nonvarying_address_components): Fix type mismatch with caller.
(refers_to_mem_p): Call properly in second call.
From-SVN: r3718
Richard Kenner [Fri, 12 Mar 1993 22:25:25 +0000 (17:25 -0500)]
(jump_optimize): Fix bug in last change.
From-SVN: r3717
James Van Artsdalen [Fri, 12 Mar 1993 09:34:38 +0000 (09:34 +0000)]
(truncdfsf2): Rewrite to allow FLOAT_REGS in constraints for better register preferences.
(truncdfsf2): Rewrite to allow FLOAT_REGS in constraints
for better register preferences.
(movM): If REG_WAS_0, make sure the reg hasn't changed since then.
(cmpM expanders): Don't allow both operands to be MEM.
Use VOIDmode for the COMPARE rtx instead of CCmode.
(cmpM recognizers): Likewise.
Remove constraints for constants from operand 0.
(cmpdf,cmpsf recognizers): When using VOIDmode as mode of the COMPARE rtx,
require that the mode be exactly VOIDmode.
From-SVN: r3716
James Van Artsdalen [Fri, 12 Mar 1993 09:27:29 +0000 (09:27 +0000)]
(get_true_reg): Don't ignore FLOAT_TRUNCATE.
(subst_stack_regs_pat): Substitute in FLOAT_TRUNCATE insns.
(compare_for_stack_reg): Reset insn code after swapping operands.
From-SVN: r3715
James Van Artsdalen [Fri, 12 Mar 1993 09:26:43 +0000 (09:26 +0000)]
(VOIDmode_compare_op): New operand predicate function.
From-SVN: r3714
James Van Artsdalen [Fri, 12 Mar 1993 09:22:53 +0000 (09:22 +0000)]
(FLOAT_CLASS_P): New macro.
(REGISTER_MOVE_COST): Use it instead of comparing to FLOAT_REGS.
(PREFERRED_RELOAD_CLASS): Likewise.
(SECONDARY_MEMORY_NEEDED): Likewise.
(CLASS_MAX_NREGS): Likewise.
(SELECT_CC_MODE): Use VOIDmode for non-FP-equality comparisons.
From-SVN: r3713
James Van Artsdalen [Fri, 12 Mar 1993 09:18:56 +0000 (09:18 +0000)]
(movM): If REG_WAS_0, make sure the reg hasn't changed since then.
From-SVN: r3712
Doug Evans [Fri, 12 Mar 1993 00:11:19 +0000 (00:11 +0000)]
* (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3711
Richard Kenner [Fri, 12 Mar 1993 00:10:28 +0000 (19:10 -0500)]
(RTX_COST, case MULT): Handle s8addx and s4addx.
(RTX_COST, case MULT): Correctly assign cost to multiplies by a power of two.
(RTX_COST, case ASHIFT, ASHIFTRT, LSHIFTRT, IF_THEN_ELSE): New cases.
From-SVN: r3710
Doug Evans [Fri, 12 Mar 1993 00:10:21 +0000 (00:10 +0000)]
* (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3709
Richard Kenner [Fri, 12 Mar 1993 00:02:37 +0000 (19:02 -0500)]
(CHEAP_REG): New macro; makes virtual regs cheap too.
(COST): Use CHEAP_REG.
(rtx_cost, case REG): Use CHEAP_REG to return zero for some REGs.
From-SVN: r3708
Doug Evans [Thu, 11 Mar 1993 23:55:44 +0000 (23:55 +0000)]
* (aggregate_value_p): RETURN_IN_MEMORY handles BLKmode values.
From-SVN: r3707
Jeff Law [Thu, 11 Mar 1993 14:13:07 +0000 (07:13 -0700)]
pa.md (FP sCC insn): Delete.
* pa.md (FP sCC insn): Delete.
(sCC define_expands): FAIL instead of generating FP sCC insns.
From-SVN: r3706
Jeff Law [Thu, 11 Mar 1993 14:12:53 +0000 (07:12 -0700)]
* pa.c (gen_scond_fp): Delete.
From-SVN: r3705
Jeff Law [Thu, 11 Mar 1993 14:12:39 +0000 (07:12 -0700)]
* pa.h (toplevel): Delete declaration of gen_scond_fp.
From-SVN: r3704
Jeff Law [Thu, 11 Mar 1993 12:46:36 +0000 (05:46 -0700)]
cse.c (set_nonvarying_address_components): New function.
* cse.c (set_nonvarying_address_components): New function.
(invalidate): Use set_nonvarying_address_components instead of
computing them.
(refers_to_mem_p): Likewise. Simplify checks for conflicting
memory accesses. Make static.
From-SVN: r3703
Jeff Law [Thu, 11 Mar 1993 12:45:54 +0000 (05:45 -0700)]
* loop.c (addr_overlap_p): Delete.
From-SVN: r3702
Richard Stallman [Thu, 11 Mar 1993 08:19:03 +0000 (08:19 +0000)]
(define_label): Use current line number in error msg.
From-SVN: r3701
Richard Stallman [Thu, 11 Mar 1993 08:18:16 +0000 (08:18 +0000)]
(const_binop): When evaluating a shift, ignore
overflows generated by force_fit_type.
From-SVN: r3700
Richard Stallman [Thu, 11 Mar 1993 04:53:06 +0000 (04:53 +0000)]
Delete ${LIB}/DONE just before exit.
From-SVN: r3699
Jeff Law [Wed, 10 Mar 1993 17:53:17 +0000 (10:53 -0700)]
Fix typo in last revision (/2 --> >> 1)
From-SVN: r3698
Jeff Law [Wed, 10 Mar 1993 17:45:14 +0000 (10:45 -0700)]
* pa.c (reg_or_cint_move_operand): Use cint_ok_for_move.
From-SVN: r3697
Jeff Law [Wed, 10 Mar 1993 17:31:38 +0000 (10:31 -0700)]
pa.c (cint_ok_for_move): New function.
* pa.c (cint_ok_for_move): New function. Returns 1 iff the given
CONST_INT can be loaded into a register in a single instruction.
(move_operand): Use cink_ok_for_move.
From-SVN: r3696
Jeff Law [Wed, 10 Mar 1993 17:31:14 +0000 (10:31 -0700)]
* pa.md (add reg and large int): New define_splits for the combiner.
From-SVN: r3695
Jeff Law [Wed, 10 Mar 1993 17:26:53 +0000 (10:26 -0700)]
jump.c (jump_optimize, [...]): Do this regardless of BRANCH_COST if HAVE_incscc or HAVE_decscc is defined.
* jump.c (jump_optimize, clause for `if (foo) b++'):
Do this regardless of BRANCH_COST if HAVE_incscc or
HAVE_decscc is defined.
From-SVN: r3694
Torbjorn Granlund [Wed, 10 Mar 1993 16:57:05 +0000 (16:57 +0000)]
(reg_or_cint_move_operand): New function.
(move_operand): Add header comment.
From-SVN: r3693
Torbjorn Granlund [Wed, 10 Mar 1993 16:56:43 +0000 (16:56 +0000)]
(conditional move): Use %B for output when appropriate.
(conditional move with second operand == 0): New pattern.
From-SVN: r3692
Richard Stallman [Wed, 10 Mar 1993 07:19:29 +0000 (07:19 +0000)]
(OBJC_GEN_METHOD_LABEL): Convert colons to _'s.
Don't use the category name or the number.
From-SVN: r3691
Richard Stallman [Wed, 10 Mar 1993 07:11:33 +0000 (07:11 +0000)]
(link_command_spec): New option -nostartfiles.
From-SVN: r3690
Richard Stallman [Tue, 9 Mar 1993 23:57:34 +0000 (23:57 +0000)]
Minor fix in last change.
From-SVN: r3689
Richard Stallman [Tue, 9 Mar 1993 23:55:57 +0000 (23:55 +0000)]
(convert_to_complex): Avoid using comptypes.
From-SVN: r3688
Michael Meissner [Tue, 9 Mar 1993 16:32:42 +0000 (16:32 +0000)]
Close #ifdef NEXT_OBJC_RUNTIME properly.
From-SVN: r3687
Richard Stallman [Tue, 9 Mar 1993 05:47:14 +0000 (05:47 +0000)]
Handle long options by translation to old-style ones.
(translate_options): New function.
(option_map): New table.
From-SVN: r3686
Richard Stallman [Tue, 9 Mar 1993 05:15:15 +0000 (05:15 +0000)]
Comment change.
From-SVN: r3685
Richard Stallman [Tue, 9 Mar 1993 05:15:02 +0000 (05:15 +0000)]
(flag_volatile_global): Declared.
From-SVN: r3684
Richard Stallman [Tue, 9 Mar 1993 00:14:51 +0000 (00:14 +0000)]
(HARD_REGNO_MODE_OK): Add some casts.
From-SVN: r3683
Richard Stallman [Tue, 9 Mar 1993 00:11:33 +0000 (00:11 +0000)]
(record_asm_reg_life): Cast class to int for indexing.
From-SVN: r3682
Richard Stallman [Tue, 9 Mar 1993 00:10:48 +0000 (00:10 +0000)]
(PUSH_DERIVED_LEVEL): Cast enumm constants to int.
From-SVN: r3681
Richard Kenner [Mon, 8 Mar 1993 21:57:16 +0000 (16:57 -0500)]
(cse_gen_binary, simplify_plus_minus): New functions.
(find_best_addr): Use cse_gen_binary.
(simplify_binary_operation, fold_rtx): Likewise.
Remove most special-cases for PLUS and MINUS and call
simplify_plus_minus instead.
Clean up some tests for FP.
From-SVN: r3680
Richard Stallman [Mon, 8 Mar 1993 21:31:07 +0000 (21:31 +0000)]
(make_decl_rtl): Handle flag_volatile_global.
From-SVN: r3679
Richard Stallman [Mon, 8 Mar 1993 21:29:49 +0000 (21:29 +0000)]
(flag_volatile_global): New variable.
(f_options): Add option for it.
From-SVN: r3678
Richard Stallman [Mon, 8 Mar 1993 21:17:33 +0000 (21:17 +0000)]
(really_start_method): Always use OBJC_GEN_METHOD_LABEL.
Pass method_slot as additional arg.
(OBJC_GEN_METHOD_LABEL): Add default definition.
From-SVN: r3677
Richard Stallman [Mon, 8 Mar 1993 21:13:00 +0000 (21:13 +0000)]
(OBJC_GEN_METHOD_LABEL): Accept additional arg.
From-SVN: r3676
Richard Kenner [Mon, 8 Mar 1993 12:24:14 +0000 (07:24 -0500)]
Add prototypes for static functions.
(struct cse_basic_block_data): Move to front of file since it constains
struct used in a prototype.
(refers_to_p, find_best_addr): Now static.
From-SVN: r3675
Richard Kenner [Mon, 8 Mar 1993 12:23:19 +0000 (07:23 -0500)]
Add prototypes for static functions.
(init_libfuncs): Put args in proper order.
From-SVN: r3674
Richard Kenner [Mon, 8 Mar 1993 12:22:39 +0000 (07:22 -0500)]
Clean up prototypes for functions in expr.c and optabs.c and add some
missing ones.
From-SVN: r3673
Richard Kenner [Sun, 7 Mar 1993 12:59:21 +0000 (07:59 -0500)]
Add prototypes for static functions.
(fill_simple_delay_slots): Add missing declaration of arg.
From-SVN: r3672
Richard Kenner [Sat, 6 Mar 1993 22:52:30 +0000 (17:52 -0500)]
(write_test_expr): Use INSN_CODE == -2, not 0, for constant
attributes.
From-SVN: r3671
Richard Stallman [Sat, 6 Mar 1993 20:09:57 +0000 (20:09 +0000)]
(choose_reload_regs): Handle SUBREG in reload_earlyclobber
when matching output reloads for setting reload_when_needed.
From-SVN: r3670
Richard Kenner [Sat, 6 Mar 1993 13:42:58 +0000 (08:42 -0500)]
Add prototypes in forward declarations.
Add some missing parameters to a few calls.
From-SVN: r3669
Richard Kenner [Sat, 6 Mar 1993 12:42:54 +0000 (07:42 -0500)]
(expand_call): Fix typo in unaligned code.
From-SVN: r3668
Roland McGrath [Sat, 6 Mar 1993 08:19:15 +0000 (08:19 +0000)]
Initial revision
From-SVN: r3667
This page took 0.093936 seconds and 5 git commands to generate.