]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[PR rtl-optimization/115877][2/n] Improve liveness computation for constant initializ...
authorJeff Law <jlaw@ventanamicro.com>
Sun, 21 Jul 2024 14:41:28 +0000 (08:41 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Sun, 21 Jul 2024 14:41:28 +0000 (08:41 -0600)
While debugging pr115877, I noticed we were failing to remove the destination
register from LIVENOW bitmap when it was set to a constant value.  ie  (set
(dest) (const_int)).  This was a trivial oversight in
safe_for_live_propagation.

I don't have an example of this affecting code generation, but it certainly
could.  More importantly, by making LIVENOW more accurate it's easier to debug
when LIVENOW differs from expectations.

As with the prior patch this has been tested as part of a larger patchset with
the crosses as well as individually on x86_64.

Pushing to the trunk,

PR rtl-optimization/115877
gcc/
* ext-dce.cc (safe_for_live_propagation): Handle RTX_CONST_OBJ.

gcc/ext-dce.cc

index b4450e42ed1681b4e1e9975f63c3385a147ddf22..cbecfc53dba7b62209aa103592d546910cd4881c 100644 (file)
@@ -69,6 +69,7 @@ safe_for_live_propagation (rtx_code code)
   switch (GET_RTX_CLASS (code))
     {
       case RTX_OBJ:
+      case RTX_CONST_OBJ:
        return true;
 
       case RTX_COMPARE: