Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplication in util.assume.int with repeated ranges #19011

Open
kuhar opened this issue Nov 4, 2024 · 1 comment
Open

Duplication in util.assume.int with repeated ranges #19011

kuhar opened this issue Nov 4, 2024 · 1 comment
Assignees
Labels
codegen Shared code generation infrastructure and dialects

Comments

@kuhar
Copy link
Member

kuhar commented Nov 4, 2024

We generate util.assume.int ops that can be very verbose / repetitive when there's more than one set of repeated ranges. For example:

        %4:2 = util.assume.int 
            %2[<umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 51174912, umax = 51174912, udiv = 51174912>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 90826752, umax = 90826752, udiv = 90826752>], 
            %3[<umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 127526912, umax = 127526912, udiv = 127526912>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 122284032, umax = 122284032, udiv = 122284032>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 90826752, umax = 90826752, udiv = 90826752>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>, <umin = 106555392, umax = 106555392, udiv = 106555392>, <umin = 111798272, umax = 111798272, udiv = 111798272>, <umin = 117041152, umax = 117041152, udiv = 117041152>, <umin = 48553472, umax = 48553472, udiv = 48553472>] : index, index

We should consider updating the folder and make the subranges unique to reduce duplication.

@kuhar kuhar added the codegen Shared code generation infrastructure and dialects label Nov 4, 2024
@kuhar kuhar self-assigned this Nov 4, 2024
@benvanik
Copy link
Collaborator

benvanik commented Nov 4, 2024

We can also combine contiguous ranges (<umin = 32, umax = 64, udiv = 16>, <umin = 64, umax = 128, udiv = 16> -> <umin = 32, umax = 128, udiv = 16>).

Note that there may be uses for correlation between operands here - knowing that %2 is always 2x %3 when made with a particular invocation, etc. An assembly format simplification may be enough to make this op readable without losing that information, or we may want another op that we derive from the same analysis for correlation so that this one could be folded aggressively (this becoming just bounds).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
codegen Shared code generation infrastructure and dialects
Projects
None yet
Development

No branches or pull requests

2 participants