                let (statements, reference, write_back) = if im == InputModifier::In {
                    (vec![], load, WriteBack::Fail)
                } else {
                    let init = if im == InputModifier::InOut {
                        Some(hir::Initializer::Expression(load))
                    } else {
                        None
                    };
                    let id = try!(allocate_local("tex", ty.clone(), context));