nv50/ir: allow load propagation when flags are defined
The old condition disallowed load propagation any time flags were defined, even with e.g. set and a constbuf reference. The new condition disallows it only with immediate propagation. (There are no opcodes that set the condition flag and have an immediate argument.) Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
@@ -275,9 +275,10 @@ TargetNV50::insnCanLoad(const Instruction *i, int s,
|
||||
return false;
|
||||
|
||||
// NOTE: don't rely on flagsDef
|
||||
for (int d = 0; i->defExists(d); ++d)
|
||||
if (i->def(d).getFile() == FILE_FLAGS)
|
||||
return false;
|
||||
if (sf == FILE_IMMEDIATE)
|
||||
for (int d = 0; i->defExists(d); ++d)
|
||||
if (i->def(d).getFile() == FILE_FLAGS)
|
||||
return false;
|
||||
|
||||
unsigned mode = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user