[llvm-dev] Backward compatibility with llvm bitcode files

Tim Northover via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 21 00:15:48 PDT 2016


Hi Sandeep,

On 21 September 2016 at 07:46, Sandeep Dasgupta via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Because of some requirements, I have to use tools (like llvm-dis, opt,
> clang) from the latest llvm version  on *.bc files obtained from a previous
> version of llvm (version 3.5) and am able to do that without any visible
> problems. Is this backward compatibility guaranteed or are there any
> cases/constructs of llvm 3.5 which are not supported by the latest tools?

This should be fine. We make sure newer LLVM tools can read older
files (currently anything produced by 3.x) and produce correct code
from them. We're allowed to drop metadata that only helps performance,
but anything correctness-related we have to convert to the newer style
when reading.

There are no real plans to change this (even 4.x will be able to read
3.x), but we have discussed a hypothetical compatibility break in the
future -- we'd give warning (at least a release) if that was going to
happen though.

Tim.


More information about the llvm-dev mailing list