>>Directory of blogs about the front end is here
1. Overview
2. Tool of genconditions
2.1. Preparation for Code Emission
2.1.1. Read in definitions inrtx
2.1.2. Overview ofDEFINE_INSN pattern
2.2. Output conditionpart of instruction defining patterns
3. Tool of genrecog
3.1. Preparation for Code Emission
3.2. Read in Rtl Definitions
3.2.1. Select Right Patterns
3.2.2. Validate RTL Templateof Patterns
3.2.3. Add RTL Templateof Patterns into Decision Sequence
3.3. BuildRecognition Tree
3.3.1. Create RecognitionTree
3.3.2. ReorgnizeRecongnition Tree
3.3.3. Assign Nodes intoSubroutines
3.4. Outputinsn-recog.c
4. Tool of genemit
4.1. Preparation for Code Generation
4.2. Generate Code for define_insn
4.3. Generate Codefor define_split
4.4. Generate Code for define_peephole2
5. Tool ofgenoutput
5.1. Preparation for Code Generation
5.2. Generate Code for define_insn
5.3. Generate Codefor define_split
5.4. Generate Code for define_peephole
5.4.1. Overview – aboutdefine_peephole
5.5. Generate Code for define_peephole2
5.5.1. Overview ofdefine_peephole2
5.6. Output the Data
6. Tool ofgenextract
7. Tool of genpreds
8. Tool of genattr
8.1. Overview
8.1.1. Overview ofDEFINE_DELAY pattern
8.1.2. Overview of DEFINE_FUNCTION_UNITpattern
8.1.3. Overview ofDEFINE_INSN_RESERVATION pattern
8.2. Program Entry
9. Tool of genattrtab
9.1. Overview
9.2. Program Entry
9.3. Preparation
9.3.1. Variable Length ArrayPointer
9.3.2. Read in DEFINE_INSNpattern
9.3.3 Read in DEFINE_ATTRpattern
9.3.4. Read inDEFINE_DELAY pattern
9.3.5. Read inDEFINE_FUNCTION_UNIT pattern
9.3.6. Read in DEFINE_CPU_UNITpattern
9.3.7. Read inDEFINE_BYPASS pattern
9.3.8. Read in EXCLUSION_SETpattern
9.3.9. Read inDEFINE_AUTOMATON pattern
9.3.10. Read in AUTOMATA_OPTIONpattern
9.3.11. Read inDEFINE_RESERVATION pattern
9.3.12. Read inDEFINE_INSN_RESERVATION pattern
9.4. Construct oldstyle pipeline hazards recognizer
9.4.1. Handling DEFINE_DELAYpattern
9.4.2 Handling DEFINE_FUNCTION_UNITpattern (continue)
9.5. ConstructDFA-based pipeline hazards recognizer
9.5.1. Decl created forDEFINE_AUTOMATON pattern
9.5.2. Decl created forDEFINE_CPU_UNIT pattern
9.5.3. Decl created forDEFINE_BYPASS pattern
9.5.4. Decl created forEXCULSION_SET pattern
9.5.5. Decl created forDEFINE_RESERVATION pattern
9.5.6. Decl created forDEFINE_INSN_RESERVATION pattern
9.5.7. Handling of decls
9.5.7.1. 1st Loop of Processing Decls – DECL_AUTOMATON
9.5.7.2. 2nd Loop of Processing Decls – DECL_UNIT
9.5.7.3. 3rd Loop of Processing Decls – DECL_BYPASS
9.5.7.4. 4th Loop of Processing Decls –DECL_EXCL
9.5.7.5. 5th,6th Loops of Processing Decls – DECL_PRESENCE/_ABSENCE
9.5.7.6. Validating Decls
9.5.7.7. Handle DECL_RESERV & DECL_INSN_RESERV
9.5.8. Automatageneration
9.5.8.1. Transform units usage expression
9.5.8.2. Datainitialization
9.8.5.3. Build bitmap and prepare data for state
9.8.5.4. Buildfinite state automaton (continue)
9.8.5.5. Minimizefinite state automaton
9.5.9. Miscellaneous
9.6. Outputgeneration file
9.6.1. Handle attributes
9.6.1.1. Attributes unification
9.6.1.2. Complete attributes
9.6.1.3. Optimizationfor attributes (continue)
9.6.1.4. Outputattributes
9.6.2. Output data fordelay
9.6.3. Output data fordelay
9.6.4. Output data forautomaton
9.6.4.1. Output tables
9.6.4.1.1. Output table for instruction equivalent set
9.6.4.1.2. Output table(s) for state transition
9.6.4.1.3. Output table(s)for state alternatives
9.6.4.1.4. Output table for issue delay
9.6.4.1.5. Output table for locked states
9.6.4.2. Outputfunctions for interface
9.6.4.2.1. Pseudo chip definition
9.6.4.2.2. Output function internal_min_issue_delay
9.6.4.2.3. Output function internal_state_transition
9.6.4.2.4. Output functions dfa_insn_code_enlarge & dfa_insn_code
9.6.4.2.5. Output function state_transition
9.6.4.2.6. Output functions internal_state_alts & state_alts
9.6.4.2.7. Output function min_issue_delay
9.6.4.2.8. Output functionsinternal_state_dead_lock_p & state_dead_lock_p
9.6.4.2.9. Outputfunctions state_size & internal_reset & state_reset
9.6.4.2.10. Outputfunction min_insn_conflict_delay
9.6.4.2.11. Outputfunctions internal_insn_latency & insn_latency
9.6.4.2.12. Outputfunction print_reservation
9.6.4.2.13. Output functions get_cpu_unit_code &cpu_unit_reseravtion_p
9.6.4.2.14. Output functions dfa_clean_insn_cache & dfa_start &dfa_finish
9.6.4.3. Miscellaneous
9.7. Finish
10. Tool ofgenopinit
10.1. Overview
10.2. Program Entry
11. Tool of genmodes
11.1. Overview
11.2. Program Entry
11.3. Creating modes
11.3.1. Creating int modes
11.3.1.1. Creating float modes
11.3.1.2. Creating CC modes
11.3.1.3. Creating modes for BLK & Void
11.3.1.4. Creating data for adjustable format
11.3.1.5. Creating complex modes
11.3.1.6. Creating vector modes
11.4. Validating modescreated
11.5. Outputting Data
11.5.1. Preparation
11.5.2. Output insn-modes.h file
11.5.3. Output insn-modes.c file
12. Tool of genflags
13. Tool of genconfig
14. Tool of gencodes
15. Tool of genpeep
16. Tool of gengenrtl
16.1. Overview
16.2. Output genrtl.h
16.3. Output genrtl.c
17. Tool of gencheck
18. Tool of genconstants