m68k bootstrap problem

Kenneth Zadeck zadeck@naturalbridge.com
Thu Jun 21 13:16:00 GMT 2007


Roman Zippel wrote:
> Hi,
>
> On Wed, 20 Jun 2007, Kenneth Zadeck wrote:
>
>   
>> If we add the dead note there we are asserting that the value is
>> modified by the caller. however it might not be and someone could write
>> a piece of asm right after the call to use that reg if the person knew
>> that the reg was not modified by that particular call.
>>     
>
> I have big problems to see this as a valid example, this sounds just 
> broken. First off the user had to know the register was alive before and 
> then the user had to magically know the register isn't clobbered by the 
> call (e.g. loading the address of the function into that register).
> You could declare the variable as asm register variable, then it might 
> work, but then the register wouldn't be available for allocation anyway 
> and the whole problem changes.
>
>   
>> having the dead note there is asserting to the register allocator that
>> they are free to use that reg after the calll in any way that it wants
>> and there is a (small) possibility that is wrong.
>>     
>
> IMO there is nothing wrong with this.
>
> bye, Roman
>   

This patch fixes a problem with creating reg_dead notes.  The code for
actually creating the note for an insn was correct, but the code to
actually propagate the liveness info thru the block in order to create
the notes was defective.  This patch fixes that. 

OK to commit?

2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>

        * df-problems.c (df_note_bb_compute): Made computation of live
    info consistent with df_lr.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: notes1.diff
Type: text/x-patch
Size: 1212 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20070621/b9d6cfdd/attachment.bin>


More information about the Gcc mailing list