# 8. SDCC Technical Data

Subsections

- 8.1 Optimizations
  - 8.1.1 Sub-expression Elimination
  - 8.1.2 Dead-Code Elimination
  - 8.1.3 Copy-Propagation
  - 8.1.4 Loop Optimizations
  - 8.1.5 Loop Reversing
  - 8.1.6 Algebraic Simplifications
  - 8.1.7 'switch' Statements
  - 8.1.8 Bit-shifting Operations.
  - 8.1.9 Bit-rotation
  - 8.1.10 Nibble and Byte Swapping
  - 8.1.11 Getting a Bit
  - 8.1.12 Higher Order Byte / Higher Order Word
  - 8.1.13 Placement of Bank-Selection Instructions
  - 8.1.14 Lifetime-Optimal Speculative Partial Redundancy Elimination
  - 8.1.15 Register Allocation
  - 8.1.16 Peephole Optimizer
- 8.2 Cyclomatic Complexity
- 8.3 Retargetting for other Processors