tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] two fixes


From: grischka
Subject: Re: [Tinycc-devel] two fixes
Date: Fri, 26 Sep 2014 00:19:50 +0200
User-agent: Thunderbird 2.0.0.23 (Windows/20090812)

Thomas Preud'homme wrote:
http://repo.or.cz/w/tinycc.git/commitdiff/9d7fb3336049243a16ce20ba907946d1de

Wow, so short change. I'm not sure I understand. It seems before the destination would have lost its bitfield (since the gv_dup is done after). But you also changed gv_dup + vswap + vrott into vdup, is that just an improvement unrelated to the bug or it also matters?

Depends what "the bug" is.  Probably worth to note, there is a "parent bug"
actually,  which I was trying to fix first 9 years ago here
    http://landley.net/hg/tinycc/rev/025b81f7e70b
which patch jiang managed to remove with striking precision in order
to save one machine instruction, here
    
http://repo.or.cz/w/tinycc.git/commitdiff/e5e7f488e22190f893152c0b2f73e9ba499c4169
and added back here
    
http://repo.or.cz/w/tinycc.git/commitdiff/f26fdaefd8b35489f26462992010b9ecd76d8fe3

So really it's just another attempt to fix that old problem, somehow more
correctly, hopefully.

Using vdup() on lvalue assumes that if it's in a register (for example
a pointer such as with s->a_bitfield) then that vstore() does not change
that register.   If that's not true always or not on all platforms (arm?)
then, well, someone needs to have a better idea.

--- grischka

Cheers,

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]