Question on gcc RTL and scheduling step.
Segher Boessenkool
segher@kernel.crashing.org
Wed Feb 26 22:00:00 GMT 2020
[ Top-post do please not. ]
On Wed, Feb 26, 2020 at 04:11:06PM +0100, Henri Cloetens wrote:
> - On the issue of the restore of R18 in mode DI, it seems from
> Â analysing the log file that the compiler does not understand this
> Â also affects R19. This looks a bug to me ??. Anyway, I have resolved
> Â this, by adding a 'clobber' statement to R19 when R18 is written
> Â in mode 'DI'.
You haven't showed any evidence like this, so it's hard for use to help
you with this at all. *Is* DImode a two register mode in your backend?
> - The other issue, I have changed ((set) (pc) (return)) to (return),
> Â but, as far as I understand the logfiles, and the documentation,
> Â both forms are equivalent. Anyway, after fixing the first issue, I do
> Â not see the second issue any more.
The docs say
Note that an insn pattern of @code{(return)} is logically equivalent to
@code{(set (pc) (return))}, but the latter form is never used.
If something is never used, then not everything might expect that form,
that's all.
Segher
More information about the Gcc-help
mailing list