mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-28 22:20:43 +00:00
Document what backwards compatibility we provide for bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213813 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a25114b902
commit
b74b9541ac
@ -436,6 +436,29 @@ list, development list, or LLVM bug tracker component. If someone sends you
|
||||
a patch privately, encourage them to submit it to the appropriate list first.
|
||||
|
||||
|
||||
IR Backwards Compatibility
|
||||
--------------------------
|
||||
|
||||
When the IR format has to be changed, keep in mind that we try to maintain some
|
||||
backwards compatibility. The rules are intended as a balance between convenience
|
||||
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.
|
||||
|
||||
* Newer releases can ignore features from older releases, but they cannot
|
||||
miscompile them. For example, if nsw is ever replaced with something else,
|
||||
dropping it would be a valid way to upgrade the IR.
|
||||
|
||||
* Debug metadata is special in that it is currently dropped during upgrades.
|
||||
|
||||
* Non-debug metadata is defined to be safe to drop, so a valid way to upgrade
|
||||
it is to drop it. That is not very user friendly and a bit more effort is
|
||||
expected, but no promises are made.
|
||||
|
||||
.. _copyright-license-patents:
|
||||
|
||||
Copyright, License, and Patents
|
||||
|
Loading…
Reference in New Issue
Block a user