[LLVMdev] Clarification on the backward compatibility promises

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Jun 18 09:21:02 PDT 2014


> On Tue, Jun 17, 2014 at 2:07 PM, Anton Korobeynikov
> <anton at korobeynikov.info> wrote:
>>
>> Hi Rafael,
>>
>> > Do others agree that this is the case or at least that this would be a
>> > reasonable balance?
>> IMO it's easier to be compatible on .ll level, no? In case of binary
>> IR it's really easy to make incompatible changes. After all there are
>> no tests on IR binary compatibility, however the whole regression
>> testsuite can be viewed as a big test for .ll compatibility.
>
>
> This is a really good point. Theoretically (and to a good approximation in
> practice), every feature of the IR is tested in the test suite in .ll form,
> which means that a compatibility break at the .ll level will cause visible
> churn. The same cannot be said for the bitcode.

But we are also very liberal in changing the tests. I don't think we
should change that.

The main point is that it is probably not reasonable to ask users to
use old-llvm-dis  | new-llvm-as when they upgrade. If we are to
provide backwords compatibility, it is far more user friendly to do it
at the bitcode level. Once we have that the .ll becomes the human
interface to LLVM only and we can make it as clean as possible.

Cheers,
Rafael



More information about the llvm-dev mailing list