This is an archive of the discontinued LLVM Phabricator instance.

[MLIR][Shape] Fold `shape.size_eq`
AbandonedPublic

Authored by frgossen on Jun 25 2020, 2:02 AM.

Details

Summary

Fold shape.size_eq.

Depends On D82628

Diff Detail

Event Timeline

frgossen created this revision.Jun 25 2020, 2:02 AM
Herald added a reviewer: jpienaar. · View Herald Transcript
Herald added a reviewer: silvas. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
frgossen updated this revision to Diff 273386.Jun 25 2020, 8:31 AM

Remove CHECK-DAGs

silvas accepted this revision.Jun 25 2020, 10:02 AM

LGTM modulo splitting into two separate ops.

mlir/lib/Dialect/Shape/IR/Shape.cpp
541

This will be much cleaner with two separate ops.

rriddle added inline comments.Jun 25 2020, 12:30 PM
mlir/include/mlir/IR/Builders.h
112 ↗(On Diff #273386)

I would rather use bool here. This method also isn't strictly necessary given that it does exactly the same thing as getBoolAttr.

mlir/lib/Dialect/Shape/IR/Shape.cpp
544

This looks much longer than just doing:

BoolAttr::get(eq, getContext());

frgossen updated this revision to Diff 273616.Jun 26 2020, 1:42 AM
frgossen marked 3 inline comments as done.

Address comments

frgossen retitled this revision from [MLIR][Shape] Fold `shape.eq` for sizes to [MLIR][Shape] Fold `shape.size_eq`.Jun 26 2020, 1:44 AM
frgossen edited the summary of this revision. (Show Details)
jpienaar accepted this revision.Jun 28 2020, 7:53 AM
This revision is now accepted and ready to land.Jun 28 2020, 7:53 AM
rriddle accepted this revision.Aug 26 2020, 3:23 AM
rriddle added inline comments.
mlir/test/Dialect/Shape/canonicalize.mlir
755

Can you simplify this to just checking something like:

// CHECK: %[[RESULT:.*]] = shape.size_eq
// CHECK: return %[[RESULT]]

?

frgossen updated this revision to Diff 287905.Aug 26 2020, 3:43 AM
frgossen marked an inline comment as done.

Address comment

frgossen abandoned this revision.Nov 24 2020, 5:08 AM