1. [MLIR][Shape] Merge `shape` to `std`/`scf` lowerings. (details)
  2. [InstCombine] erase instructions leading up to unreachable (details)
Commit a70f2eb3e39a42a71ba077247f9deafbdf1e8092 by frgossen
[MLIR][Shape] Merge `shape` to `std`/`scf` lowerings.

Merge the two lowering passes because they are not useful by themselves. The new
pass lowers to `std` and `scf` is considered an auxiliary dialect.

See also

Differential Revision:
The file was removedmlir/test/Conversion/ShapeToSCF/shape-to-scf.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.h (diff)
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir (diff)
The file was removedmlir/include/mlir/Conversion/ShapeToSCF/ShapeToSCF.h
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp (diff)
The file was removedmlir/lib/Conversion/ShapeToSCF/CMakeLists.txt
The file was removedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
The file was modifiedmlir/include/mlir/Conversion/ (diff)
The file was modifiedmlir/lib/Conversion/CMakeLists.txt (diff)
Commit b22910daab95be1ebc6ab8a74190e38130b0e6ef by spatel
[InstCombine] erase instructions leading up to unreachable

Normal dead code elimination ignores assume intrinsics, so we fail to
delete assumes that are not meaningful (and potentially worse if they
cause conflicts with other assumptions).

The motivating example in suggests that we
might have problems upstream from here (difference between C and C++),
but this should be a cheap way to make sure we remove more dead code.

Differential Revision:
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/pr33689_same_bitwidth.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/assume.ll (diff)