aco: improve check for moving temporaries out of fixed definitions

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245>
This commit is contained in:
Rhys Perry 2020-06-11 14:22:13 +01:00 committed by Marge Bot
parent e9578e3033
commit 82c265a514

View file

@ -2085,7 +2085,7 @@ void register_allocation(Program *program, std::vector<TempSet>& live_out_per_bl
adjust_max_used_regs(ctx, definition.regClass(), definition.physReg());
/* check if the target register is blocked */
if (register_file[definition.physReg().reg()] != 0) {
if (register_file.test(definition.physReg(), definition.bytes())) {
/* create parallelcopy pair to move blocking vars */
std::set<std::pair<unsigned, unsigned>> vars = collect_vars(ctx, register_file, definition.physReg(), definition.size());