[FFmpeg-devel] fate : clang x86

Måns Rullgård mans
Tue Aug 24 00:57:28 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.

That leaves two options:

1. Declare clang officially unsupported for x86_32.
2. Fix our code.

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



More information about the ffmpeg-devel mailing list