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