projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7f57530
)
r300/compiler: Don't continue copy propagation inside loops.
author
Tom Stellard
<tstellar@gmail.com>
Sat, 19 Jun 2010 03:42:33 +0000
(20:42 -0700)
committer
Marek Olšák
<maraeo@gmail.com>
Sat, 3 Jul 2010 02:27:09 +0000
(
04:27
+0200)
src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
index e760b59bd41432e8972040bd43b7d0e557f27c42..eca065153678f7e58c174ae33ecba82c3c2fd7cc 100644
(file)
--- a/
src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
+++ b/
src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
@@
-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)