X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=docs%2FDeveloperPolicy.rst;h=508a04fd2d59f9cc7fbf55b33a5a9abad31fed93;hb=0498d072551c38feb7b9f3f38dad3d20ac7b056a;hp=b9ac57629e30330d33afb94de8b7e0682a51faa0;hpb=7a8ca279cde02a44bf8c77e20eac1bd5bdbf582b;p=oota-llvm.git diff --git a/docs/DeveloperPolicy.rst b/docs/DeveloperPolicy.rst index b9ac57629e3..508a04fd2d5 100644 --- a/docs/DeveloperPolicy.rst +++ b/docs/DeveloperPolicy.rst @@ -336,7 +336,7 @@ Making a Major Change --------------------- When a developer begins a major new project with the aim of contributing it back -to LLVM, s/he should inform the community with an email to the `llvmdev +to LLVM, they should inform the community with an email to the `llvmdev `_ email list, to the extent possible. The reason for this is to: @@ -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