optimization/7409: loop optimization

hpenner@de.ibm.com hpenner@de.ibm.com
Thu Jul 25 10:36:00 GMT 2002


>Number:         7409
>Category:       optimization
>Synopsis:       loop optimization
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 25 10:36:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     hpenner@de.ibm.com
>Release:        3.1.1 20020725 (prerelease)
>Organization:
>Environment:
s390x-linux-gnu 
>Description:
loop_optimize deletes an insn, which should not be deleted.
This leads to a abort of an application (tcl).

Scenario:

(set (reg 128) (plus (reg fp) (const_int 176)))

(set (reg 6) (reg 128))

(set (reg 2) call ()
    (expr_list (use (reg 6))))

(set (reg 96) (reg 6))

Loop optimizer thinks register 6 is in single usage, and hence delete the insn which sets register 6. This is done,
since register 6 is call-saved and a parameter.
Delete code in loop.c:876-909.
 

    
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list