[Mesa-dev] [PATCH 0/7] i965: Preserve the CFG (first pass)

Matt Turner mattst88 at gmail.com
Thu Jul 17 15:26:00 PDT 2014


We'd like to avoid regenerating the control flow graph for every
pass that uses it. This series adds a cfg pointer to the backend
visitor class that we use to save the CFG across optimization
passes. It's invalidated and recreated by invalidate/calculate_cfg
and these functions are called by the similarly named live intervals
functions.

Just by doing this, we reduce the number of times we calculate the
CFG in a shader-db run by 55%.

Ultimately I'd like the CFG to be a fundamental data structure in our
backend, where each basic block contains its own list of instructions
rather than basic blocks containing pointers into a large list.

My WIP branch is getting a bit big, so here's a digestable chunk
that's ready for master.



More information about the mesa-dev mailing list