[FFmpeg-devel] fate : clang x86
Fri Sep 3 10:24:33 CEST 2010
Eli Friedman <eli.friedman at gmail.com> writes:
> 2010/8/21 M?ns Rullg?rd <mans at mansr.com>:
>> Eli Friedman <eli.friedman at gmail.com> writes:
>>> 2010/8/21 M?ns Rullg?rd <mans at mansr.com>:
>>>> castet.matthieu at free.fr writes:
>>>>> on freebsd "-mllvm -regalloc=fast" cflags are used to make clang/llvm accept
>>>>> some inline asm.
>>>>> May be we should do the same on linux ?
>>>> I tried and failed to figure out what that flag does. ?I assume it
>>>> does something with the register allocator, but I'd like to know what.
>>> It's a workaround of sorts for
>>> http://llvm.org/bugs/show_bug.cgi?id=4668 . ?LLVM essentially has two
>>> register allocator implementations: one is the "fast" allocator, which
>>> is a local register allocator used for -O0, and the other is the
>>> "linear scan" allocator, which is the slower global register allocator
>>> used for -O1+. ?"-mllvm -regalloc=fast" forces the use of the "fast"
>>> allocator, which leads to slower generated code, but isn't affected by
>>> the bug in question.
>> Sounds like it's not suitable for production use. ?Any chance they'll
>> fix the bug?
> In the near future? Not very likely... from what I understand, it's a
> relatively difficult issue to solve, and bugs rejecting valid inline
> asm are generally considered low priority for the people who know the
> register allocator well enough to fix this.
Adding -mllvm -stack-alignment=16 to CFLAGS magically fixed this as
well as the alignment problems. Now we're only waiting for
mans at mansr.com
More information about the ffmpeg-devel