EE pass mishandles subregs of promoted variables

Bug #728315 reported by Richard Sandiford
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Fix Released
Undecided
Richard Sandiford
Linaro GCC Tracking
Invalid
Undecided
Richard Sandiford

Bug Description

The bug reported here:

    https://lists.openwrt.org/pipermail/openwrt-devel/2011-March/009847.html

is caused by a mishandling of subregs of promoted variables in the Linaro/CS-specific extension-elimination pass. These subregs record that the inner register is known to be sign- or zero-extended beyond the outer mode, so the pass should should either remove the promoted flag or treat these subregs as referring to the whole of the inner register. the former would pessimise combine (which makes good use of these notes) and the latter seems more in keeping with this style of pass.

Related branches

Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

I've just merged Richard's patch into lp:gcc-linaro/4.5

Changed in gcc-linaro:
milestone: none → 4.5-2011.04-0
status: In Progress → Fix Committed
Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

Assigning Richard to submit this upstream (or mark it "Invalid", if that's not appropriate).

Related: lp:gcc-linaro/4.5,revno=99488

Changed in gcc-linaro-tracking:
assignee: nobody → Richard Sandiford (rsandifo)
milestone: none → 4.7.0
Changed in gcc-linaro-tracking:
status: New → Invalid
Michael Hope (michaelh1)
Changed in gcc-linaro:
status: Fix Committed → Fix Released
tags: added: 46merge
tags: removed: 46merge
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.