diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-31 13:45:46 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-31 13:45:46 +0000 |
commit | c49b29ef5d4071cc4679d5560855f446f95919fc (patch) | |
tree | 05467ba198eafc2c05ec42aefee52b4fbeb769db /docs/LangRef.html | |
parent | 177cf1e1a3685209ab805f82897902a8d2b61661 (diff) | |
download | external_llvm-c49b29ef5d4071cc4679d5560855f446f95919fc.zip external_llvm-c49b29ef5d4071cc4679d5560855f446f95919fc.tar.gz external_llvm-c49b29ef5d4071cc4679d5560855f446f95919fc.tar.bz2 |
Require intervals in the range metadata to be in a canonical form: They must
be non contiguous, non overlapping and sorted by the lower end.
While this is technically a backward incompatibility, every frontent currently
produces range metadata with a single interval and we don't have any pass
that merges intervals yet, so no existing bitcode files should be rejected by
this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157741 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/LangRef.html')
-rw-r--r-- | docs/LangRef.html | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index 14589b4..45ee424 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -3054,6 +3054,8 @@ call void @llvm.dbg.value(metadata !24, i64 0, metadata !25) <li>The range should not represent the full or empty set. That is, <tt>a!=b</tt>. </li> </ul> +<p> In addiion, the pairs must be in signed order of the lower bound and + they must be non contigous.</p> <p>Examples:</p> <div class="doc_code"> @@ -3061,10 +3063,12 @@ call void @llvm.dbg.value(metadata !24, i64 0, metadata !25) %a = load i8* %x, align 1, !range !0 ; Can only be 0 or 1 %b = load i8* %y, align 1, !range !1 ; Can only be 255 (-1), 0 or 1 %c = load i8* %z, align 1, !range !2 ; Can only be 0, 1, 3, 4 or 5 + %d = load i8* %z, align 1, !range !3 ; Can only be -2, -1, 3, 4 or 5 ... !0 = metadata !{ i8 0, i8 2 } !1 = metadata !{ i8 255, i8 2 } !2 = metadata !{ i8 0, i8 2, i8 3, i8 6 } +!3 = metadata !{ i8 -2, i8 0, i8 3, i8 6 } </pre> </div> </div> |