Too slow when lowering `strided_slice+strided_set` pairs

import numpy as np
import tvm
import tvm.topi.testing
from tvm import relay, te, topi
from tvm.topi.utils import const_vector

c0 = const_vector(np.array([0], dtype="int32"))
c4 = const_vector(np.array([4], dtype="int32"))
c1 = const_vector(np.array([1], dtype="int32"))

a = te.placeholder((9,), name="a")
b = te.placeholder((4,), name="b")
v1 = topi.strided_slice(a, [0], [4], [1])
v2 = topi.strided_slice(v1, [0], [4], [1])
v3 = topi.strided_slice(v2, [0], [4], [1])
v4 = topi.strided_slice(v3, [0], [4], [1])
v5 = topi.strided_set(v4, b, c0, c4, c1)
v6 = topi.strided_set(v3, v5, c0, c4, c1)
v7 = topi.strided_set(v2, v6, c0, c4, c1)
v8 = topi.strided_set(v1, v7, c0, c4, c1)
v9 = topi.strided_set(a, v8, c0, c4, c1)

target = tvm.target.Target("llvm")

with tvm.target.Target(target):
    s = tvm.topi.testing.get_injective_schedule(target)(v9)
foo = tvm.build(s, [a, b, v1, v2, v3, v4, v5, v6, v7, v8, v9], target)

It takes ~8min. If more pairs, it seems hanging.