summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.html
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-05-31 13:45:46 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-05-31 13:45:46 +0000
commit97d7787788eb4b479a5a077e8d71692fdebee8e9 (patch)
tree2f5f27db4e4bb3aac35188c9a091f5b26c9f1fca /llvm/docs/LangRef.html
parentc5bea20e2e3a3dd3b11ce8739b7cdef5e10aa611 (diff)
downloadbcm5719-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/LangRef.html')
-rw-r--r--llvm/docs/LangRef.html4
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>
OpenPOWER on IntegriCloud