Bug 115648 - [15 Regression] GCN: [-PASS:-]{+FAIL:+} gcc.dg/hoist-register-pressure-{2,3}.c scan-rtl-dump hoist "PRE/HOIST: end of bb .* copying expression"
Summary: [15 Regression] GCN: [-PASS:-]{+FAIL:+} gcc.dg/hoist-register-pressure-{2,3}....
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 15.0
: P3 normal
Target Milestone: 15.0
Assignee: Not yet assigned to anyone
URL:
Keywords: testsuite-fail
Depends on:
Blocks:
 
Reported: 2024-06-25 14:14 UTC by Thomas Schwinge
Modified: 2024-06-26 06:58 UTC (History)
2 users (show)

See Also:
Host:
Target: gcn
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Schwinge 2024-06-25 14:14:36 UTC
Yesterday's commit r15-1575-gea8061f46a301797e7ba33b52e3b4713fb8e6b48 "fwprop: invoke change_is_worthwhile to judge if a replacement is worthwhile" regresses GCN target (tested '-march=gfx908'):

    PASS: gcc.dg/hoist-register-pressure-1.c (test for excess errors)
    PASS: gcc.dg/hoist-register-pressure-2.c (test for excess errors)
    [-PASS:-]{+FAIL:+} gcc.dg/hoist-register-pressure-2.c scan-rtl-dump hoist "PRE/HOIST: end of bb .* copying expression"
    PASS: gcc.dg/hoist-register-pressure-3.c (test for excess errors)
    [-PASS:-]{+FAIL:+} gcc.dg/hoist-register-pressure-3.c scan-rtl-dump hoist "PRE/HOIST: end of bb .* copying expression"

There is moderate code generation difference; I can't tell whether before vs. after is better.  Does the compiler or the test cases or the compiler flags need to be adjusted?  Re the latter, with '-fno-forward-propagate', we're back to PASSing.
Comment 1 HaoChen Gui 2024-06-26 01:01:28 UTC
The patch replaced rtx cost comparison with insn cost comparison. Some replacements can be done before but can't now. Or vice versa. Please check the fwprop dump log via -fdump-rtl-fwprop1-details and judge if the replacements are benefits or not.