[PATCH] [ValueTracking] Extend range metadata to call/invoke

hfinkel at anl.gov hfinkel at anl.gov
Wed Jun 18 07:55:17 PDT 2014


================
Comment at: lib/Analysis/ValueTracking.cpp:741
@@ -736,2 +740,3 @@
+    }
     if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I)) {
       switch (II->getIntrinsicID()) {
----------------
Eli Bendersky wrote:
> Does this mean that for known intrinsics, even if their invocations have range metadata it will be overridden by fixed limits? I wonder if this is the right thing to do. Maybe for a specific intrinsic call we have "insider information" knowing that its return value is even more limited than usual - it would be nice to be able to express this with range metadata, no?
I agree; it looks like you should change the below from KnownZero = to KnownZero |= (or something like that).

http://reviews.llvm.org/D4187






More information about the llvm-commits mailing list