diff --git a/llvm/docs/Passes.rst b/llvm/docs/Passes.rst index 49f633e98d16f..5e436db62be3a 100644 --- a/llvm/docs/Passes.rst +++ b/llvm/docs/Passes.rst @@ -543,6 +543,14 @@ variables with initializers are marked as internal. An interprocedural variant of :ref:`Sparse Conditional Constant Propagation `. +``ir-normalizer``: Transforms IR into a normal form that's easier to diff +---------------------------------------------------------------------------- + +This pass aims to transform LLVM Modules into a normal form by reordering and +renaming instructions while preserving the same semantics. The normalizer makes +it easier to spot semantic differences while diffing two modules which have +undergone two different passes. + ``jump-threading``: Jump Threading ---------------------------------- diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md index 5252ae5aadcf6..7699c46668a88 100644 --- a/llvm/docs/ReleaseNotes.md +++ b/llvm/docs/ReleaseNotes.md @@ -42,6 +42,11 @@ point (e.g. maybe you would like to give an example of the functionality, or simply have a lot to talk about), see the comment below for adding a new subsection. --> +* Added a new IRNormalizer pass which aims to transform LLVM modules into + a normal form by reordering and renaming instructions while preserving the + same semantics. The normalizer makes it easier to spot semantic differences + when diffing two modules which have undergone different passes. + * ...