intel/compiler: generalize the combine constants pass
authorIago Toral Quiroga <itoral@igalia.com>
Tue, 29 Jan 2019 09:58:49 +0000 (10:58 +0100)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 18 Apr 2019 09:05:18 +0000 (11:05 +0200)
commite64be391dd065b6a0eabee17ada038db7a28c112
treebbee79ba9708ed972ca92c3ffbf3137d46195b5d
parentfb990bd76eb02425d1982d682716ebe766b536b8
intel/compiler: generalize the combine constants pass

At the very least we need it to handle HF too, since we are doing
constant propagation for MAD and LRP, which relies on this pass
to promote the immediates to GRF in the end, but ideally
we want it to support even more types so we can take advantage
of it to improve register pressure in some scenarios.

v2 (Jason):
 - Support 64-bit types too.
 - Check if we need to set the half-float flag if the immediate already
   existed.
 - Multiply the size of the immediate by the width of the copy

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs_combine_constants.cpp