On 12/03/13 06:27, Bernd Edlinger wrote:
This comment is completely out of sync: There is no longer any force_reg in 
that if-block,
and a constant address in TO_RTX has SImode or DImode in GET_MODE (XEXP 
(to_rtx, 0))
I do not know how to make it a VOIDmode, therefore the comment does not help 
either.
I thought that comment looked familiar...  That's because it was mine...

The way that was triggered in the past can be found in this ancient posting:

http://gcc.gnu.org/ml/gcc-patches/1999-03n/msg00654.html

The code went through a major revamp in 2002 which removed the force_reg calls without updating/removing the comment.

Additionally, the way we represent and thus ultimately expand the memory reference has changed in ways that make it harder, if not impossible to have a constant address at these points. Even if were to hack up the expanders to force a constant address rather than a REG it's still nontrivial to get into that code with a constant address.

I wouldn't be terribly surprised to find all kinds of dead code in the expanders.

So the comment clearly needs to get zapped.

As for the consistency of bitregion_start/bitregion_end, I'm just not
familiar enough with this code or the issues for the C++ memory model to comment.

jeff

Reply via email to