intel/compiler: Move base IR definitions into a separate header file
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 7 Mar 2016 02:13:59 +0000 (18:13 -0800)
committerMatt Turner <mattst88@gmail.com>
Fri, 6 Mar 2020 18:20:11 +0000 (10:20 -0800)
commitd46fb2126d9fdd52386b001a140c1b70fec83f9e
treeed9f15e4d1751f5e76019f8b3adbfcfa32e95efc
parent74e4cda64b9d114321216eefe536f80644b0f0fd
intel/compiler: Move base IR definitions into a separate header file

This pulls out the i965 IR definitions into a separate file and leaves
the top-level backend_shader structure and back-end compiler entry
points in brw_shader.h.  The purpose is to keep things tidy and
prevent a nasty circular dependency between brw_cfg.h and
brw_shader.h.  The logical dependency between these data structures
looks like:

 backend_shader (brw_shader.h) -> cfg_t (brw_cfg.h)
    -> bblock_t (brw_cfg.h) -> backend_instruction (brw_shader.h)

This circular header dependency is currently resolved by using forward
declarations of cfg_t/bblock_t in brw_shader.h and having brw_cfg.h
include brw_shader.h, which seems backwards and won't work at all when
the forward declarations of cfg_t/bblock_t are no longer sufficient in
a future commit.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4012>
src/intel/compiler/brw_ir.h [new file with mode: 0644]
src/intel/compiler/brw_shader.h
src/intel/compiler/meson.build