[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lilypond miscompiled on Fedora 17
From: |
David Kastrup |
Subject: |
Re: Lilypond miscompiled on Fedora 17 |
Date: |
Fri, 04 May 2012 16:43:28 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Pavel Roskin <address@hidden> writes:
>
>> Quoting David Kastrup <address@hidden>:
>>
>>> Pavel Roskin <address@hidden> writes:
>>>
>>>> Quoting Pavel Roskin <address@hidden>:
>>
>>>> I'll try to identify the function tomorrow.
>>>
>>> That would be welcome. I looked through the function right now and saw
>>> no obvious problematic candidate.
>>
>> It's Simultaneous_music_iterator::pending_moment()
>
> That would have been my most likely guess. Probably the "min" function
> call.
>
>>> simultanous-music-iterator.cc is short enough to look through the
>>> generated code manually. If you compile it (of course with all other
>>> relevant options) and options -S (for generating assembly source) and
>>> -fverbose-asm then I should have a reasonable chance of finding problems
>>> in the generated code by manual inspection.
>>
>> I moved everything but the problematic function to another file. I'm
>> attaching the files. simultaneous-music-iterator-O1.s is compiled
>> with -O1, simultaneous-music-iterator-O2.s is compiled with -O2.
>>
>> That's x64_64 assembly. Please let me know if you want i386 assembly.
>
> Would definitely help with my limited vocabulary. This is enough of a
> headacher without secondguessing the instruction set.
Well, secondguess or not, look here:
movq %rsp, %rsi #,
movq %rbx, %rdi # <retval>,
call address@hidden #
.LVL8:
.LBE71:
.LBE70:
.LBE69:
.LBB72:
.LBB73:
.LBB74:
.LBB75:
.file 5 "../flower/include/rational.hh"
.loc 5 107 0
movl (%rsp), %eax # MEM[(const struct Rational &)&D.34963].sign_,
MEM[(const struct Rational &)&D.34963].sign_
movl %eax, (%rbx) # MEM[(const struct Rational &)&D.34963].sign_,
MEM[(struct Rational *)<retval>_2(D)].sign_
.loc 5 108 0
movq 8(%rsp), %rax # MEM[(const struct Rational &)&D.34963].num_,
MEM[(const struct Rational &)&D.34963].num_
movq %rax, 8(%rbx) # MEM[(const struct Rational &)&D.34963].num_,
MEM[(struct Rational *)<retval>_2(D)].num_
.loc 5 109 0
movq 16(%rsp), %rax # MEM[(const struct Rational &)&D.34963].den_,
MEM[(const struct Rational &)&D.34963].den_
movq %rax, 16(%rbx) # MEM[(const struct Rational &)&D.34963].den_,
MEM[(struct Rational *)<retval>_2(D)].den_
.LVL9:
.LBE75:
.LBE74:
.LBE73:
.LBB76:
.LBB77:
.LBB78:
.loc 5 107 0
movl 24(%rsp), %eax # MEM[(const struct Rational &)&D.34963 +
24].sign_, MEM[(const struct Rational &)&D.34963 + 24].sign_
movl %eax, 24(%rbx) # MEM[(const struct Rational &)&D.34963 +
24].sign_, MEM[(struct Rational *)<retval>_2(D) + 24B].sign_
.loc 5 108 0
movq 32(%rsp), %rax # MEM[(const struct Rational &)&D.34963 +
24].num_, MEM[(const struct Rational &)&D.34963 + 24].num_
movq %rax, 32(%rbx) # MEM[(const struct Rational &)&D.34963 +
24].num_, MEM[(struct Rational *)<retval>_2(D) + 24B].num_
.loc 5 109 0
movq 40(%rsp), %rax # MEM[(const struct Rational &)&D.34963 +
24].den_, MEM[(const struct Rational &)&D.34963 + 24].den_
movq %rax, 40(%rbx) # MEM[(const struct Rational &)&D.34963 +
24].den_, MEM[(struct Rational *)<retval>_2(D) + 24B].den_
.LVL10:
.LBE78:
.LBE77:
.LBE76:
.LBE72:
.LBE63:
.LBB80:
.LBB81:
The optimizer does not appear interested in the result of the comparison
when calculating the minimum value! There is no conditional path
entered. That does not make all too much sense.
--
David Kastrup
- Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/02
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/03
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/03
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/03
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/03
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17,
David Kastrup <=
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/05
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/05
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/06
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, Pavel Roskin, 2012/05/04
- Re: Lilypond miscompiled on Fedora 17, David Kastrup, 2012/05/05