[Mesa-dev] [Bug 109810] nir_opt_copy_prop_vars.c:454: error: unknown field ‘ssa’ specified in initializer

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Mar 2 06:53:15 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=109810

            Bug ID: 109810
           Summary: nir_opt_copy_prop_vars.c:454: error: unknown field
                    ‘ssa’ specified in initializer
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Keywords: bisected, regression
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: vlee at freedesktop.org
        QA Contact: mesa-dev at lists.freedesktop.org
                CC: caio.oliveira at intel.com

GCC 4.4 build error

  CC     nir/nir_opt_copy_prop_vars.lo
nir/nir_opt_copy_prop_vars.c: In function ‘load_element_from_ssa_entry_value’:
nir/nir_opt_copy_prop_vars.c:454: error: unknown field ‘ssa’ specified in
initializer
nir/nir_opt_copy_prop_vars.c:455: error: unknown field ‘def’ specified in
initializer
nir/nir_opt_copy_prop_vars.c:456: error: unknown field ‘component’ specified in
initializer
nir/nir_opt_copy_prop_vars.c:456: error: extra brace group at end of
initializer
nir/nir_opt_copy_prop_vars.c:456: error: (near initialization for
‘(anonymous).<anonymous>’)


commit 96c32d77763c4b561f751ca360e6539a3c5e7f4d
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Mon Jan 14 15:28:33 2019 -0800

    nir/copy_prop_vars: handle load/store of vector elements

    When direct array deref is used on a vector type (for loads and
    stores), copy_prop_vars is now smart to propagate values it knows
    about.

    Given a 'vec4 v', storing to v[3] will update the copy entry for v and
    it is equivalent to a write to v.w.  Loading from v[1] will try first
    to see if there's a known value for v.y -- and drop the load in that
    case.

    The copy entries still always refer to the entire vectors, so the
    operations happen on the parent deref (the 'vector') and the values
    are fixed accordingly.

    It might be the case now that certain entries have not only different
    SSA defs in each element but also those come from different components
    than they are set to, because stores to individual elements always
    come from a SSA definition with a single component.

    Tests related to these cases are now enabled.

    v2: Instead of asserting on invalid indices, "load" an undef and
        remove the store.  (Jason)

    v3: Merge code path for the cases of is_array_deref_of_vector into the
        regular code path.  Add a base_index parameter to
        value_set_from_value.  (code changes by Jason)

    v4: Removed the get_entry_for_deref helper, now being used only once.

    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190302/60519b2e/attachment.html>


More information about the mesa-dev mailing list