https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102513

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org,
                   |                            |amacleod at redhat dot com

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 4
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 3
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 2
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 1
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 0
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 4294967295
+  Creating a specialized node of encode_block/0.
+    replacing param #0 block2 with const &block2
+    replacing param #1 level with const 4294967294

Maybe the IPA transformation should just use VRP info to guide it.
We don't have anything that says level is [0, 5], that is there purely from the
fact that the caller calls it with 5, but we know that it isn't -1U:
  # RANGE [0, 4294967294]
  _9 = level_19(D) + 4294967295;
  _23 = encode_block (block2_21(D), _9);
  _26 = encode_block (block2_21(D), _9);
so we shouldn't create that specialized node and those that are needed just
because we've created them.

Reply via email to