mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 05:10:11 +01:00
aco/ra: Don't clear fixed operand sources if they were blocked
That would undo the blocking and allow for conflicting assignments. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37381>
This commit is contained in:
parent
d4013e7432
commit
75b89f233f
1 changed files with 5 additions and 2 deletions
|
|
@ -2367,8 +2367,11 @@ handle_fixed_operands(ra_ctx& ctx, RegisterFile& register_file,
|
|||
assert(std::none_of(parallelcopy.begin(), parallelcopy.end(),
|
||||
[&](auto copy) { return copy.def.physReg() == op.physReg(); }));
|
||||
|
||||
/* clear from register_file so fixed operands are not collected by collect_vars() */
|
||||
tmp_file.clear(src, op.regClass());
|
||||
/* clear from register_file so fixed operands are not collected by collect_vars(), but if src
|
||||
* has been blocked by a previous operand, don't undo the blocking
|
||||
*/
|
||||
if (!tmp_file.is_blocked(src))
|
||||
tmp_file.clear(src, op.regClass());
|
||||
|
||||
BITSET_SET(mask, i);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue