- 博客(13)
- 资源 (11)
- 收藏
- 关注
原创 memset llvm定义及作用说明
llvm官方定义memset函数的作用:以dest为起始位置的n个字节的内存区域用整数set来进行填充,len为要填充的字节数,返回值为目标dest内存的起始地址特别说明:len表示的是字节数,函数是以字节的形式每次赋值给目标地址例子另一个casellvm对memmove定义原型:extern void *memmove(void *dest, const void *sr...
2020-03-23 17:46:11 352
原创 run.tcl
这个tcl是跑rm_struct pass用的tcl。set design structset out_dir output# Set device, which will load the specific *.tclset_device Virtex7 #set_parameter CLOCK_PERIOD 10set_clock_period 10#source legup.t...
2020-03-23 09:00:06 1422
原创 利用ESL pass出现的问题和make相关问题
1、没有ESL_pass中的hw_flow.cc没有inline,修改后的代码为:/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil -*- *//* vim: set tabstop=2 softtabstop=2 shiftwidth=2 expandtab: *///==============================...
2020-03-22 16:52:08 255
原创 当处理Function时,函参为arraystruct,需将其分解为下一层的arraystructType
函数Function *RemoveStruct::CreateMidFunction(Function *F, StructType *val_st, const int argNo) 通过val_num将所有的array记录,再利用createArrayStructType函数根据sub_struct type创建相应的sub array struct typeelse if (IsA...
2020-03-20 10:01:48 147
原创 3.16~~~4.1工作报告
3.16:将之前的总结的22个struct case全部测试完毕,部分细节问题已完善code,不支持情况是memcpy内存拼接、指针、external结构体变量的问题。code中function_map_边界处理callinst存在漏洞,待以后讨论。目前完善后的rm_struct pass可以加入ESL。...
2020-03-16 19:40:35 151
原创 MemcpyInstrProcess()处理算法说明
memcpy定义说明吴老师解决方案:Memcpy(A,B)将A和B同时将其分解为子变量,将两者变为同类型的type,进行memcpy。1:{i8,i8,i8,i8} {i32} -> {i8,i8,i8,i8} {i8,i8,i8,i8}2:{i8,i16,i16} {i16,i8,i16} -> {i8,i8,i8,i16} {i8,i8...
2020-03-11 21:29:12 214
原创 GetElementPtrInstProcess()算法处理
GetElementPtrInst定义说明get一条GetElementPtrInst,将instr->getOperand(0)分struct和ArrayStruct处理。 Value *inst_op_0 = instr->getOperand(0); //resloved the structure value if (IsStructVal(inst_op_0-&...
2020-03-10 21:28:43 343 3
原创 2-16~3.13工作报告
3.2—3.6:1、主要对代码做修改,一对不支持的情况做说明,二对代码简洁化,有些分支过多,找些规律把精简code,getelementptr和bitcast提高可读性和健壮性。store,memcpy指令,全部归于同一个处理函数,将参数A、B边界情况尽可能完善。本周就是在公司多跑写例子debug,检测能否满足预期情况,最后对rm_struct做个文档功能说明,确定这个pass。...
2020-03-10 16:44:10 113
原创 CallInstProcess处理算法说明
ps.目前的return为struct的不支持对于返回值为struct时:struct A = B(…) ----->B(…,struct A)callInst指令处理CallInstProcess(CallInst *inst, int argNo, vector<Value*> sub_value)inst为需要处理的callInst,argNo是struct在c...
2020-03-08 15:05:24 176
原创 rm_struct pass question!
1、LoadiNAsFunctionArg()中,将函数参数改完的MidF,内部进行修改时,(1)先看看iN的user是不是为StoreInst指令,有的话,直接将x,y给它,不用拼接(2)再看看iN的user是不是CallInst的参数,是的话,调用callInst对应的process函数处理(3)看还有其他情况否?2、结论:C++ map中key不要使用指针,请直接使用对象。为什么我一...
2020-03-07 21:20:07 124
原创 store <ty> <value> A, <ty>* <pointer> B 处理算法
1、当A为structType,未见过,assert(0)2、当A不为structType,为iN时(2.1)ps.目前的return为struct的不支持callInst指令处理CallInstProcess(CallInst *inst, int argNo, vector<Value*> sub_value)inst为需要处理的callInst,argNo是stru...
2020-03-06 23:36:08 142
原创 bitcast 内存指令表算法
一:开会讨论,修正处理移位操作指令方案,先对所有指令建表,在对表中单个变量进行指令替换提取,保证表中信息完全体现CPU内存信息存储。吴老师讨论结果:(1)每个指令对应一张表,表内存在i64中存储信息,存str.x也存%1(2)先造表,把每个表对应的东西表示出来,第二遍再处理表,提取表中的单个变量(3)表就是将concat出的变量split开(4)先把trunc等指令全部处理完二:只...
2020-03-05 15:02:56 969
computing convolutions using a neural network processor
2018-12-14
batch processing in a neural network processor
2018-12-14
rotating data for neural network computations
2018-12-14
vector computation unit in a neural network processor
2018-12-14
深鉴科技、韩松的相关论文
2018-12-12
对caffe的训练model和prototxt文件进行layer参数读取,主要对conv、pool和inner里面参数读取
2018-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人