[LLVMdev] Clarification on the backward compatibility promises

Anton Korobeynikov anton at korobeynikov.info
Tue Jun 17 13:07:36 PDT 2014


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.

There are two more points here:

1. Actually we had much stronger policies wrt the bitcode
compatibility in minor releases. Something like x.y should be able to
read stuff from x.y-1, but x.y+2 is allowed not to read stuff there,
so the proper path is transition x.y-1 => x.y => x.y+2. Am I right?
2. Metadata compatibility. We already had precedence of introducing
incompatible changes into metadata format in the past within release.
Should we use relaxes rules for metadata compatibility?

> In any case, we should probably document whatever we decide. Where
> should that go? Sean suggested docs/DeveloperPolicy.html. Is everyone
> OK with that?
+1

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list