nv50/ir: use unordered_set instead of list to keep track of var uses
authorTobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Tue, 8 Jul 2014 02:19:13 +0000 (04:19 +0200)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 8 Jul 2014 23:41:00 +0000 (19:41 -0400)
commita9b21015f5e3a6a37e53a8b3c755519f7b70479e
tree8d8534a6853c03d67c08cdcffc4fe20f831a48dc
parent503391b46f753e1f8c0bc771776a51719d0507e4
nv50/ir: use unordered_set instead of list to keep track of var uses

The set of variable uses does not need to be ordered in any way, and
removing/adding elements is a fairly common operation in various
optimization passes.

This shortens runtime of piglit test fp-long-alu to ~22s from ~4h

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir.h
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp