[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