DFA state and arc explosion

Jim Wilson wilson@tuliptree.org
Mon Mar 17 17:55:00 GMT 2008


Bingfeng Mei wrote:
> However, if I also want to model the resource for writing back register
> file, the number of states and arcs just explodes. It is especially true
> for long pipeline instruction.

The usual solution is to have two DFAs, one used for most instructions, 
and one used just for the long pipeline instructions.  See for instance 
the gcc/config/mips/sb1.md file which has the sb1_cpu_div automaton 
which is only used for divide instructions.

DFA stands for deterministic finite automaton, which is a type of finite 
state machine.  NDFA is non-deterministic finite automaton.  Any good 
book on the theory of computing should cover this.

Jim



More information about the Gcc mailing list