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 | 97d7787788eb4b479a5a077e8d71692fdebee8e9 (patch) | |
tree | 2f5f27db4e4bb3aac35188c9a091f5b26c9f1fca /llvm/docs | |
parent | c5bea20e2e3a3dd3b11ce8739b7cdef5e10aa611 (diff) | |
download | bcm5719-llvm-97d7787788eb4b479a5a077e8d71692fdebee8e9.tar.gz bcm5719-llvm-97d7787788eb4b479a5a077e8d71692fdebee8e9.zip |
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.
llvm-svn: 157741
Diffstat (limited to 'llvm/docs')
-rw-r--r-- | llvm/docs/LangRef.html | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 14589b425db..45ee424aedb 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/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> |