IR: Add a broad bitcode compatibility test

Successive versions of LLVM should retain the ability to parse bitcode
generated by old releases of the compiler.  This adds a bitcode format
compatibility test, which is intended to provide good (albeit not
entirely exhaustive) coverage of the current LangRef.

This also includes compatibility tests for LLVM 3.6.  After every 3.X.0
release, the compatibility.ll file from the 3.X branch should be copied
to compatibility-3.X.ll on trunk, and the 3.X.0 release used to generate
a corresponding bitcode file.

Patch by Vedant Kumar!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243779 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2015-07-31 20:44:32 +00:00
parent 09e26a42d2
commit 82e3e48d52
4 changed files with 2482 additions and 2 deletions

View File

@ -505,8 +505,13 @@ for llvm users and not imposing a big burden on llvm developers:
* The textual format is not backwards compatible. We don't change it too often,
but there are no specific promises.
* The bitcode format produced by a X.Y release will be readable by all following
X.Z releases and the (X+1).0 release.
* Additions and changes to the IR should be reflected in
``test/Bitcode/compatibility.ll``.
* The bitcode format produced by a X.Y release will be readable by all
following X.Z releases and the (X+1).0 release. To help ensure this, an X.Y
version of ``test/Bitcode/compatibility.ll`` should be assembled and
committed after each release.
* Newer releases can ignore features from older releases, but they cannot
miscompile them. For example, if nsw is ever replaced with something else,

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff