Mesa (master): freedreno/ir3: fix crash in RA
Rob Clark
robclark at kemper.freedesktop.org
Tue Jun 30 16:20:41 UTC 2015
Module: Mesa
Branch: master
Commit: 1370fde8af1b0b5c5e6204c0dea6ebffb85dce0a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1370fde8af1b0b5c5e6204c0dea6ebffb85dce0a
Author: Rob Clark <robclark at freedesktop.org>
Date: Fri Jun 26 14:32:08 2015 -0400
freedreno/ir3: fix crash in RA
Signed-off-by: Rob Clark <robclark at freedesktop.org>
---
src/gallium/drivers/freedreno/ir3/ir3_ra.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_ra.c b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
index 0436e01..ee610c7 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_ra.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
@@ -403,6 +403,7 @@ get_definer(struct ir3_instruction *instr, int *sz, int *off)
* the phi, so we don't need to chase definers
*/
struct ir3_register *src;
+ struct ir3_instruction *dd = d;
/* note: don't use foreach_ssa_src as this gets called once
* while assigning regs (which clears SSA flag)
@@ -410,9 +411,11 @@ get_definer(struct ir3_instruction *instr, int *sz, int *off)
foreach_src(src, d) {
if (!src->instr)
continue;
- if (src->instr->ip < d->ip)
- d = src->instr;
+ if (src->instr->ip < dd->ip)
+ dd = src->instr;
}
+
+ d = dd;
}
if (is_meta(d) && (d->opc == OPC_META_FO)) {
More information about the mesa-commit
mailing list