commits to ignore: - remove VMS stuff (not related to compiling) - misc cleanup (seems like a lot of debug removal) - remove g++ test cases (g++ doesn't exist anymore in agbcc) - remove static constuctors/destructors (some decorator) - remove more objc stuff (unrelated to C compilation) - remove live ranges (seems like non-default compiler flag, not documented in gcc 2.95.3 docs) - remove standalone preprocessor (cpp provided with modern gcc for compiling agbcc) - clean up limits.h (related to max value of something (e.g. maxint), doesn't seem related to compiling) - clean up standard headers (unrelated to arm compilation) - remove use of strings.h (refactoring via replacement of strings.h functions with library functions) - rely on configure less (refactoring some printing stuff which is probably tied to configure) - remove alternate versions of thumb files (!! check this out later) - clean up thumb code (!! check this out later) - clean up thumb.c more (!! check this out later, mostly looks like formatting fixes but thumb_exit was modified) - remove unneeded function (small commit, only removes some clearly unused code) - fix md (main change seems to be https://github.com/pret/agbcc/commit/ee6378488b6ef2654dcbffaaf1319c415c552f27#diff-1cff883ac32be6938d71c9a7da05004fL1101 , everything else looks like exit code replacements) - remove unused files (seems like they weren't used at all) - remove unused simple return code (removed code only defined through undefined cpp flags) - remove delay slot and stack reg code (unused by arm?) - remove epilogue delay list (! current_function_epilogue_delay_list is actually used in arm.c, look at this later) - remove PIC (non-working and disabled) (non-working and disabled) - remove macros for old compilers (removes undefined cpp flags, very small commit) - remove insn scheduling (not supported with thumb) (!!! supported with arm, need to re-add) - remove more unused files (removes some c compiler tests) - remove old version of loop.c (removes old version (loop_[date].c)) - remove some hard reg ifdefs (!!! removed REG_ALLOC_ORDER, and CONDITIONAL_REGISTER_USAGE) - clean up more reg ifdefs (!!! removed HARD_FRAME_POINTER_REGNUM, PUSH_ROUNDING, hard_frame_pointer_rtx) - remove exit_ignore_stack ifdefs (!!! removed EXIT_IGNORE_STACK, clear_pending_stack_adjust) - kill libiberty (only touches gcc stuff irrelevant to arm compilation) - trim makefile (unrelated to arm compilation) - remove more files (replace assert.h with , doprint.c, dostage2, dostage3, remove some dwarf debugging stuff) - get rid of PROTO macros (only removes PROTO macros (I hope)) - remove ANSI_PROTOTYPES ifdefs (ANSI_PROTOTYPES is defined by default) - get rid of VA_START macro (VA_START -> va_start) - get rid of PTR macros (NULL_PTR -> NULL, GENERIC_PTR -> void *) - stop using configure script to generate header files (configure related) - delete xm-i386.h (build/Makefile related) * evaluates to true for thumb and arm - evaluates to false for thumb and arm unused/ignore flags for arm: - PCC_STATIC_STRUCT_RETURN - LEAF_REGISTERS - DELAY_SLOTS - STACK_REGS - ADJUST_INSN_LENGTH - CASE_VECTOR_SHORTEN_MODE - NON_SAVING_SETJMP - LEAF_REG_REMAP - ASM_OUTPUT_MAX_SKIP_ALIGN * REAL_ARITHMETIC - BUFSIZ - HAVE_return (special user defined flag?) - HARD_REG_SET (FIRST_PSEUDO_REG starts at 27, 32 bits in unsigned int) - RELOAD_ALLOC_ORDER * WORD_REGISTER_OPERATIONS * ARG_POINTER_REGNUM = 26 * FRAME_POINTER_REGNUM = 25 * FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM - SECONDARY_MEMORY_NEEDED * ELIMINABLE_REGS - EPILOGUE_USES - INSN_REFERENCES_ARE_DELAYED used keywords: - INSN_SCHEDULING - REG_ALLOC_ORDER - CONDITIONAL_REGISTER_USAGE - HARD_FRAME_POINTER_REGNUM - PUSH_ROUNDING - hard_frame_pointer_rtx - EXIT_IGNORE_STACK - clear_pending_stack_adjust don't need to re-add FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM thumb: HARD_FRAME_POINTER_REGNUM = 7 FRAME_POINTER_REGNUM = 7 ARG_POINTER_REGNUM = 16 arm: HARD_FRAME_POINTER_REGNUM = 11 FRAME_POINTER_REGNUM = 25 ARG_POINTER_REGNUM = 26 attrs in arm.md: - prog_mode = "prog32" - is_strongarm = "no" - fpu = "yes" - ldsched = "no" - model_wbuf = "no" - core? defined function units: - fpa undefined function units: - write_buf - write_blockage used flags: - INSN_SCHEDULING (for floating point) -