[mlir] Start splitting the `tensor` dialect out of `std`.

Authored by silvas on Dec 9 2020, 5:50 PM.


[mlir] Start splitting the tensor dialect out of std.

This starts by moving std.extract_element to tensor.extract (this
mirrors the naming of vector.extract).

Curiously, std.extract_element supposedly works on vectors as well,
and this patch removes that functionality. I would tend to do that in
separate patch, but I couldn't find any downstream users relying on
this, and the fact that we have vector.extract made it seem safe
enough to lump in here.

This also sets up the tensor dialect as a dependency of the std
dialect, as some ops that currently live in std depend on
tensor.extract via their canonicalization patterns.

Part of RFC: https://llvm.discourse.group/t/rfc-split-the-tensor-dialect-from-std/2347/2

Differential Revision: https://reviews.llvm.org/D92991