[FFmpeg-devel] fate : clang x86

Måns Rullgård mans
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:
>>>>
>>>>> Hi,
>>>>>
>>>>> 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
http://llvm.org/bugs/show_bug.cgi?id=8044

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list