r300/compiler: Don't continue copy propagation inside loops.

This commit is contained in:
Tom Stellard 2010-06-18 20:42:33 -07:00 committed by Marek Olšák
parent 7f57530943
commit 0dbdcb4321
1 changed files with 5 additions and 0 deletions

View File

@ -162,6 +162,11 @@ static void peephole(struct radeon_compiler * c, struct rc_instruction * inst_mo
for(struct rc_instruction * inst = inst_mov->Next;
inst != &c->Program.Instructions;
inst = inst->Next) {
/* XXX In the future we might be able to make the optimizer
* smart enough to handle loops. */
if(inst->U.I.Opcode == RC_OPCODE_BGNLOOP){
return;
}
rc_for_all_reads_mask(inst, peephole_scan_read, &s);
rc_for_all_writes_mask(inst, peephole_scan_write, &s);
if (s.Conflict)