[Bug target/13722] [3.4/3.5 regression] [ia64] ICE in push_secondary_reload

2004-01-22 Thread rth at redhat dot com

--- Additional Comments From rth at redhat dot com  2004-01-22 22:05 ---
Subject: Re: PR 13722 candidate fix

On Thu, Jan 22, 2004 at 12:20:10PM -0800, Zack Weinberg wrote:
> Okay, what is the form of a post_modify expression supposed to be?

My eyes weren't awake, sorry.  It's addr = addr + c, not +=.

> (Still looking for a clue about the differences among change_address,
> adjust_address, offset_address, etc.)

change_address can make arbitrary changes to a memory.  About
all we assume is that we're pointing to the same object.  But
we lose track of offset within the object, and all alignment
not inferrable from the mode of the memory.

adjust_address modifies a memory by adding a HWI to the address.
We get to keep a lot of data about alignment, offset within an
object.

offset_address is similar, except that it takes an rtx.

adjust_automodify_address is like adjust_address in that it
computes new MEM_ATTRS as if adding a HWI to a base address,
except that it allows you to give a completely new rtx for
the address at the same time.  The assumption being that the
new rtx is some automodify, but that's not actually checked.

This last is the one you want.


r~


-- 


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


[Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file

2004-12-01 Thread rth at redhat dot com

--- Additional Comments From rth at redhat dot com  2004-12-01 18:32 ---
Subject: Re:  [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file

On Wed, Dec 01, 2004 at 11:05:43AM -0700, Jeffrey A Law wrote:
> I'm not checking in this change at the current time to give folks
> (particularly Richard & Jason) a chance to comment.

If you get that much improvement out of it, sure.  Might want to
put a comment before the static variables discussing this issue.


r~


-- 


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


[Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file

2004-12-01 Thread rth at redhat dot com

--- Additional Comments From rth at redhat dot com  2004-12-02 06:08 ---
Subject: Re:  [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file

On Wed, Dec 01, 2004 at 09:56:51PM -0700, Jeffrey A Law wrote:
> * tree.h (save_eptr, save_filt): Now file scoped statics.
> (honor_protect_cleanup_actions): Only create save_eptr and
> save_filt if they do not already exist.
> (lower_eh_constructs): Wipe all knowledge of save_eptr and
> save_filt before returning.

As I just discovered while working through the existance of these
saves for DannyB, this transformation is incorrect and indeed
invalidates the entire reason for this save/restore.

The best that we could do is a stack of variable pairs so that
nested eh regions are handled properly.

Sorry for my earlier misdiagnosis.


r~


-- 


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