From: Karol Herbst Date: Wed, 27 Jan 2016 17:25:07 +0000 (+0100) Subject: nv50/ir: run DCE backwards X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3aa681449ed030ba8b9c56f0a6f2b08bd1fb15a6;p=mesa.git nv50/ir: run DCE backwards Reduces calls up to 50% Signed-off-by: Karol Herbst Reviewed-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index b2c9fdfc7a4..bda9c7d0c52 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -3187,10 +3187,10 @@ DeadCodeElim::buryAll(Program *prog) bool DeadCodeElim::visit(BasicBlock *bb) { - Instruction *next; + Instruction *prev; - for (Instruction *i = bb->getFirst(); i; i = next) { - next = i->next; + for (Instruction *i = bb->getExit(); i; i = prev) { + prev = i->prev; if (i->isDead()) { ++deadCount; delete_Instruction(prog, i);