-
Notifications
You must be signed in to change notification settings - Fork 145
Open
Description
https://fwd.gymni.ch/IpbFyC
-passes=print-type-analysis -type-analysis-func=foo
%21 = getelementptr i8, ptr null, i64 %3
error: <unknown>:0:0: in function _ZN5alloc7raw_vec20RawVecInner$LT$A$GT$15try_allocate_in17h82dcfe5f2e73ad7dE void (ptr, i64, i1, i64, i64): Enzyme: <analysis>
i64 1: {[-1]:Integer}, intvals: {1,}
ptr null: {[-1]:Pointer, [-1,-1]:Anything}, intvals: {0,}
i64 0: {[-1]:Anything}, intvals: {0,}
i64 -1: {[-1]:Anything}, intvals: {-1,}
i64 -9223372036854775808: {[-1]:Integer}, intvals: {-9223372036854775808,}
ptr %0: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Pointer}, intvals: {}
i64 %1: {[-1]:Integer}, intvals: {}
i1 %2: {[-1]:Integer}, intvals: {0,}
i64 %3: {[-1]:Integer}, intvals: {8,}
i64 %4: {[-1]:Integer}, intvals: {8,}
%6 = add i64 %3, -1: {[-1]:Integer}, intvals: {7,}
%7 = add nuw i64 %6, %4: {[-1]:Integer}, intvals: {15,}
%8 = sub i64 0, %3: {[-1]:Anything}, intvals: {-8,}
%9 = and i64 %7, %8: {[-1]:Integer}, intvals: {}
%10 = tail call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %9, i64 %1): {[-1]:Integer}, intvals: {}
%11 = extractvalue { i64, i1 } %10, 0: {[-1]:Integer}, intvals: {}
%12 = extractvalue { i64, i1 } %10, 1: {}, intvals: {}
%13 = sub nuw i64 -9223372036854775808, %3: {[-1]:Integer}, intvals: {9223372036854775800,}
%14 = icmp ugt i64 %11, %13: {[-1]:Integer}, intvals: {}
%15 = select i1 %12, i1 true, i1 %14: {[-1]:Integer}, intvals: {}
%17 = getelementptr inbounds nuw i8, ptr %0, i64 8: {[-1]:Pointer, [-1,8]:Pointer}, intvals: {}
%19 = icmp eq i64 %11, 0: {[-1]:Integer}, intvals: {}
%21 = getelementptr i8, ptr null, i64 %3: {[-1]:Pointer, [-1,-1]:Anything}, intvals: {}
%22 = getelementptr inbounds nuw i8, ptr %0, i64 8: {[-1]:Pointer, [-1,8]:Pointer}, intvals: {}
%23 = getelementptr inbounds nuw i8, ptr %0, i64 16: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {}
%26 = phi i64 [ 1, %34 ], [ 1, %16 ], [ 0, %37 ], [ 0, %20 ]: {[-1]:Integer}, intvals: {0,1,}
%28 = tail call noundef ptr @_RNvCs1QLEhZ2QfLZ_7___rustc19___rust_alloc_zeroed(i64 noundef range(i64 1, 0) %11, i64 noundef range(i64 1, -9223372036854775807) %3) #39: {[-1]:Pointer}, intvals: {}
%30 = tail call noundef ptr @_RNvCs1QLEhZ2QfLZ_7___rustc12___rust_alloc(i64 noundef %11, i64 noundef range(i64 1, -9223372036854775807) %3) #39: {[-1]:Pointer}, intvals: {}
%32 = phi ptr [ %28, %27 ], [ %30, %29 ]: {[-1]:Pointer}, intvals: {}
%33 = icmp eq ptr %32, null: {[-1]:Integer}, intvals: {}
%35 = getelementptr inbounds nuw i8, ptr %0, i64 8: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Pointer}, intvals: {}
%36 = getelementptr inbounds nuw i8, ptr %0, i64 16: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {}
%38 = icmp sgt i64 %1, -1: {[-1]:Integer}, intvals: {}
%39 = getelementptr inbounds nuw i8, ptr %0, i64 8: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {}
%40 = getelementptr inbounds nuw i8, ptr %0, i64 16: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {}
</analysis>
Illegal updateAnalysis prev:{[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer} new: {[-1]:Pointer, [-1,0]:Pointer}
val: %36 = getelementptr inbounds nuw i8, ptr %0, i64 16 origin= %36 = getelementptr inbounds nuw i8, ptr %0, i64 16
Metadata
Metadata
Assignees
Labels
No labels