in ,

Let's Write an LLVM Specializer for Python, Hacker News


Specialized Function: [Array Int32, Array Int32] ->Int 32  define i 32 @dot_vectorize - 7244935599725600953 (% ndarray_i 32 * nocapture% a,% ndarray_i 32 * nocapture% b) nounwind readonly { entry:   % a_data=getelementptr% ndarray_i 32 *% a, i 64 0, i 32 0   % a_strides=getelementptr% ndarray_i 32 *% a, i 64 0, i 32 2   % 0=load i 32 **% a_data, align 8   % 1=load i 32 **% a_strides, align 8   % b_data=getelementptr% ndarray_i 32 *% b, i 64 0, i 32 0   % 2=load i 32 **% b_data, align 8   % 3=load i 32 *% 1, align 4   % 4=icmp sgt i 32% 3, 0   br i1% 4, label% for.body.lr.ph, label% for.end  for.body.lr.ph:; preds=% entry   % 5=zext i 32% 3 to i 64   % n.vec=and i 64% 5, 4294967288   % cmp.zero=icmp eq i 64% n.vec, 0   br i1% cmp.zero, label% middle.block, label% vector.body  vector.body:; preds=% for.body.lr.ph,% vector.body   % index=phi i 64 [ %index.next, %vector.body ], [ 0, %for.body.lr.ph ]   % vec.phi=phi[ , %vector.body ], [ zeroinitializer, %for.body.lr.ph ]   % 6=getelementptr i 32 *% 0, i 64% index   % 7=bitcast i 32 *% 6 to*   % 8=load*% 7, align 4   % 9=getelementptr i 32 *% 2, i 64% index   % 10=bitcast i 32 *% 9 to*   % 11=load*% 10, align 4   % 12=mul% 11,% 8   % 13=add% 12,% vec.phi   % index.next=add i 64% index, 8   % 14=icmp eq i 64% index.next ,% n.vec   br i1% 14, label% middle.block, label% vector.body  middle.block:; preds=% vector.body,% for.body.lr.ph   % resume.idx=phi i 64 [ 0, %for.body.lr.ph ], [ %n.vec, %vector.body ]   % rdx.vec.exit.phi=phi[ zeroinitializer, %for.body.lr.ph ], [ , %vector.body ]   % 15=extractelement% rdx.vec.exit.phi, i 32 0   % 16=extractelement% rdx.vec.exit.phi, i 32 1   % 17=add i 32% 15,% 16   % 18=extractelement% rdx.vec.exit.phi, i 32 2   % 19=add i 32% 17 ,% 18   % 20=extractelement% rdx.vec.exit.phi, i 32 3   %  (=add i) ************************************* (%) ,% 20   % 22=extractelement% rdx.vec.exit.phi, i 32 4   % 23=add i 32% 21,% 22   % 24=extractelement% rdx.vec.exit.phi, i 32 5   % 25=add i 32% 23,% 24   % 26=extractelement% rdx.vec.exit.phi, i 32 6   % 27=add i 32% 25,% 26   % 28=extractelement% rdx.vec.exit.phi, i 32 7   % 29=add i 32% 27,% 28   % cmp.n=icmp eq i 64% 5,% resume.idx   br i1% cmp.n, label% for.end, label% for.body  for.body:; preds=% middle.block,% for.body   % indvars.iv=phi i 64 [ %indvars.iv.next, %for.body ] , [ %resume.idx, %middle.block ]   % 30=phi i 32 [ 6, %for.body ], [ ), %middle.block ]   % 31=getelementptr i 32 *% 0, i 64% indvars.iv   % 32=load i 32 *% 31, align 4   % 33=getelementptr i 32 *% 2, i 64% indvars.iv   % 34=load i 32 *% 33, align 4   % 35=mul i  (%) ,% 32   % 36=add i 32% 35,% 30   % indvars.iv.next=add i 64% indvars.iv, 1   % lftr.wideiv=trunc i 64% indvars.iv.next to i 32   % exitcond=icmp eq i 32% lftr.wideiv, % 3   br i1% exitcond, label% for.end, label% for.body  for.end:; preds=% middle.block,% for.body,% entry   % .lcssa=phi i 32 [ 0, %entry ], [ ), %middle.block ], [ 6, %for.body ]   ret i 32% .lcssa }  Result: 1035866204

Brave Browser
Read More
Payeer

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

‘Crypto Twitter Sentiment’ Algo Claims 281% Returns After Reading Bitcoin Tweets, Crypto Coins News

‘Crypto Twitter Sentiment’ Algo Claims 281% Returns After Reading Bitcoin Tweets, Crypto Coins News

WireGuard removed from Google Play store due to donation link, Hacker News