This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/35292] Missing Const Prop -- union fields



------- Comment #4 from pinskia at gcc dot gnu dot org  2009-01-01 21:48 -------
RTL DSE does this optimization ...

(insn 8 7 11 2 t.c:12 (set (mem/s/c:SI (reg/f:SI 60) [0 u.ii+0 S4 A32])
        (const_int 20 [0x14])) 47 {*movsi_1} (expr_list:REG_DEAD (reg/f:SI 60)
        (nil)))

(insn 11 8 14 2 t.c:12 (set (reg:SI 63 [ u.cc.c+1 ])
        (sign_extend:SI (mem/s/j:QI (plus:SI (reg/f:SI 60)
                    (const_int 1 [0x1])) [0 u.cc.c+1 S1 A8]))) 132
{extendqisi2} (expr_list:REG_DEAD (reg/f:SI 62)
        (nil)))

(insn 14 11 15 2 t.c:12 (set (reg:SI 65 [ u.cc.c ])
        (sign_extend:SI (mem/s/j:QI (reg/f:SI 60) [0 u.cc.c+0 S1 A32]))) 132
{extendqisi2} (expr_list:REG_DEAD (reg/f:SI 64)
        (nil)))

Into:

(insn 30 7 31 2 t.c:12 (set (reg:QI 66)
        (const_int 0 [0x0])) -1 (nil))

(insn 31 30 8 2 t.c:12 (set (reg:QI 67)
        (const_int 20 [0x14])) -1 (nil))

(insn 8 31 11 2 t.c:12 (set (mem/s/c:SI (reg/f:SI 60) [0 u.ii+0 S4 A32])
        (const_int 20 [0x14])) 47 {*movsi_1} (nil))

(insn 11 8 14 2 t.c:12 (set (reg:SI 63 [ u.cc.c+1 ])
        (sign_extend:SI (reg:QI 66))) 132 {extendqisi2} (nil))

(insn 14 11 15 2 t.c:12 (set (reg:SI 65 [ u.cc.c ])
        (sign_extend:SI (reg:QI 67))) 132 {extendqisi2} (expr_list:REG_DEAD
(reg/f:SI 60)
        (nil)))

And then combine simplifies it into just return 20 with the memory store still


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|middle-end                  |tree-optimization
           Keywords|                            |TREE
   Last reconfirmed|2008-02-22 10:46:25         |2009-01-01 21:48:16
               date|                            |
            Version|unknown                     |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35292


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]