mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
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! llvm-svn: 243779
This commit is contained in:
parent
72b2ac666f
commit
b87fbd089e
@ -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,
|
* The textual format is not backwards compatible. We don't change it too often,
|
||||||
but there are no specific promises.
|
but there are no specific promises.
|
||||||
|
|
||||||
* The bitcode format produced by a X.Y release will be readable by all following
|
* Additions and changes to the IR should be reflected in
|
||||||
X.Z releases and the (X+1).0 release.
|
``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
|
* Newer releases can ignore features from older releases, but they cannot
|
||||||
miscompile them. For example, if nsw is ever replaced with something else,
|
miscompile them. For example, if nsw is ever replaced with something else,
|
||||||
|
1195
test/Bitcode/compatibility-3.6.ll
Normal file
1195
test/Bitcode/compatibility-3.6.ll
Normal file
File diff suppressed because it is too large
Load Diff
BIN
test/Bitcode/compatibility-3.6.ll.bc
Normal file
BIN
test/Bitcode/compatibility-3.6.ll.bc
Normal file
Binary file not shown.
1280
test/Bitcode/compatibility.ll
Normal file
1280
test/Bitcode/compatibility.ll
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user