zt知乎:方舟编译器的开源达到各位的预期了吗? 324回复/ 50349311 浏览

全部回帖

收起
引用 @maur 发表的:
只看此人
b乎那种地方喷国产正向技术是最积极的。真的关心开源的都知道开源是个漫长的过程,华为的开源时间表一半都没过就开始喷了,还自诩开发者。 黑子喷的再多也没用,实际如何过两年就知道了。
b乎那种地方喷国产正向技术是最积极的。真的关心开源的都知道开源是个漫长的过程,华为的开源时间表一半都没过就开始喷了,还自诩开发者。

黑子喷的再多也没用,实际如何过两年就知道了。
是啊 时间表方舟8月开源 然后8月31号开了这些

开发者按时间表开喷有问题?
是啊 时间表方舟8月开源 然后8月31号开了这些

开发者按时间表开喷有问题?
亮了(2)
回复
查看评论(1)
引用 @薛茗之 发表的:
只看此人

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler

作者:小乖他爹链接:https://www.zhihu.com/question/343667346/answer/829971679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID

三、方舟开源目录简介此次开源所放出来的一级目录主要六个:1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。3、license目录:许可文件。4、samples目录:示例程序目录,本次发布共公开了六个示例程序。5、src目录:本次发布所公开的源码目录。6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。2、third_party目录:该目录之下存放了第三方库zlib。3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










干货顶上去
干货顶上去
亮了(0)
回复
引用 @macrohuge 发表的:
只看此人
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
开源日程计划发布会上说的一清二楚,线下跟开发者们的交流活动更是接连不断,就你看的知乎回答里都有去切实交流还发系列文章跟感想的回复,有用的真正参与方舟开发的回答不看,专挑这些一蹦三尺高猴子一样瞎跳的回复陪着一起狒疼
是沸腾
是沸腾
亮了(0)
回复
引用 @格策反_D 发表的:
只看此人
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。
论阴阳怪气是我输了,鸿蒙用在华为智慧屏上了。
你瞧不起华为我没意见,不要扭曲事实装瞎,有能耐根据我的论点正面反驳我。
论阴阳怪气是我输了,鸿蒙用在华为智慧屏上了。
你瞧不起华为我没意见,不要扭曲事实装瞎,有能耐根据我的论点正面反驳我。
亮了(0)
回复
引用 @zhangsl8397 发表的:
只看此人
我承认,我自己不懂这方面的东西 但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧 那我没话说。我也没有黑华为的意思。随便你咯
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯
你这逻辑,实际上只不过从业人士多一点而已,方舟编译器那么多干货,你也就盯着这一个问题,去看看别的问题下面的干货行吗?https://www.zhihu.com/answer/808727474
你这逻辑,实际上只不过从业人士多一点而已,方舟编译器那么多干货,你也就盯着这一个问题,去看看别的问题下面的干货行吗?https://www.zhihu.com/answer/808727474
亮了(3)
回复
引用 @格策反_D 发表的:
只看此人
gt太恶心了,脚踢835,不虚845。搞笑一比。
gt太恶心了,脚踢835,不虚845。搞笑一比。
跟gt970差不多同时期发布的是小米8,用的是845,当时数码区的论调可是秒杀845,战平855的
还有一些“gt是从底层改写了安卓系统”这种评论都有
跟gt970差不多同时期发布的是小米8,用的是845,当时数码区的论调可是秒杀845,战平855的
还有一些“gt是从底层改写了安卓系统”这种评论都有
亮了(15)
回复
查看评论(2)
引用 @贰号科怀伦纳德 发表的:
只看此人
就像是这个帖子,有的人跟着帖子的主题内容煽风点火说两句废话也可以获得很多点亮。
就像是这个帖子,有的人跟着帖子的主题内容煽风点火说两句废话也可以获得很多点亮。
看到有人说华为粉丝的水平不行我就笑了,你自己几斤几两心里没b数?
看到有人说华为粉丝的水平不行我就笑了,你自己几斤几两心里没b数?
亮了(4)
回复
引用 @华丽阁楼 发表的:
只看此人
要感恩 还让你澄清。 再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?
要感恩 还让你澄清。



再过几年华为竞争者统统被人设成联想第二 再敢澄清一个试试?
哈哈哈,你挺适合当皇帝身边跟班那种人。
哈哈哈,你挺适合当皇帝身边跟班那种人。
亮了(2)
回复
查看评论(1)
逼乎装的水货多,懂的人极少。 没什么看头的。 那边很适合文明观球倒是。。。
逼乎装的水货多,懂的人极少。 没什么看头的。 那边很适合文明观球倒是。。。
亮了(0)
回复
查看评论(1)
引用 @格策反_D 发表的:
只看此人
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。
老美吓趴了,华为不可战胜。鸿蒙手机在哪呢。
回错人了,另外,我不该和你争论,我投降。
回错人了,另外,我不该和你争论,我投降。
亮了(0)
回复
查看评论(1)

引用内容由于违规已被删除

那么现在是怎么火起来的呢?
那么现在是怎么火起来的呢?
亮了(6)
回复
查看评论(1)
引用 @薛茗之 发表的:
只看此人

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler

作者:小乖他爹链接:https://www.zhihu.com/question/343667346/answer/829971679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID

三、方舟开源目录简介此次开源所放出来的一级目录主要六个:1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。3、license目录:许可文件。4、samples目录:示例程序目录,本次发布共公开了六个示例程序。5、src目录:本次发布所公开的源码目录。6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。2、third_party目录:该目录之下存放了第三方库zlib。3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










为啥发个不相关的华为东西都能高赞啊。。
真有水军吗
为啥发个不相关的华为东西都能高赞啊。。
真有水军吗
亮了(6)
回复
查看评论(1)
引用 @曼联名宿范佩西 发表的:
只看此人
那看来支付宝团队是太闲了才出来辟谣的
那看来支付宝团队是太闲了才出来辟谣的
别装死,回答我啊,去看看支付宝的知乎号闲不闲?
别装死,回答我啊,去看看支付宝的知乎号闲不闲?
亮了(3)
回复
查看评论(1)
呵呵,开发者说华为不够开源也被围攻?呵呵,精神股东上纲上线够可以的
呵呵,开发者说华为不够开源也被围攻?呵呵,精神股东上纲上线够可以的
亮了(1)
回复
意思是还没有开源是吧。今年的华为倒是一拖再拖,不知道是有前史还是就今年这样,也可能有美国封锁的关系强行秀一下,结果还是个架子
意思是还没有开源是吧。今年的华为倒是一拖再拖,不知道是有前史还是就今年这样,也可能有美国封锁的关系强行秀一下,结果还是个架子
亮了(0)
回复
查看评论(1)
引用 @曼联名宿范佩西 发表的:
只看此人

[图片]

你真是个带预言家

查看更多

你真是个带预言家

我都可以预见十一前我的声望会成为负值
我都可以预见十一前我的声望会成为负值
亮了(0)
回复
引用 @zhangsl8397 发表的:
只看此人
我承认,我自己不懂这方面的东西 但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧 那我没话说。我也没有黑华为的意思。随便你咯
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯
知乎很多用户是上手就喷的,而且极为不客观,好像自己天下第一一样,过程稍微不顺就喷天喷地往死里黑。龙芯宇航芯片上天之前,一个用户在知乎上喷了好几个月,还扬言那玩意永远没法上天,下面一堆跟着赞。卫星上天之后他自己把帖子改了。
作为路人,不懂就等别人项目做完了再来评价,跟着所谓高手来黑是最没意思的。
知乎很多用户是上手就喷的,而且极为不客观,好像自己天下第一一样,过程稍微不顺就喷天喷地往死里黑。龙芯宇航芯片上天之前,一个用户在知乎上喷了好几个月,还扬言那玩意永远没法上天,下面一堆跟着赞。卫星上天之后他自己把帖子改了。
作为路人,不懂就等别人项目做完了再来评价,跟着所谓高手来黑是最没意思的。
亮了(18)
回复
查看评论(2)
引用 @zhangsl8397 发表的:
只看此人
我承认,我自己不懂这方面的东西 但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧 那我没话说。我也没有黑华为的意思。随便你咯
我承认,我自己不懂这方面的东西
但你的意思是,我发的知乎上这些批评者都是废物,就那一个人是专家,是吧
那我没话说。我也没有黑华为的意思。随便你咯
恕我直言,如果知乎那些是真正的专家,看出有问题了,部分代码已经开源了,就应该去提交修改issue,这才是对待开源的正确做法
恕我直言,如果知乎那些是真正的专家,看出有问题了,部分代码已经开源了,就应该去提交修改issue,这才是对待开源的正确做法
亮了(11)
回复
引用 @BeatLA415 发表的:
只看此人
回错人了,另外,我不该和你争论,我投降。
回错人了,另外,我不该和你争论,我投降。
歪曲什么事实了,鸿蒙是啥,分布式全场景微内核低能耗,从移动端到桌面,重嵌入式到服务端,这不都是他宣传的么。怎么手机还是敌人的安卓。你说的智慧屏就是那个有adb和安卓webview的电视嘛。
歪曲什么事实了,鸿蒙是啥,分布式全场景微内核低能耗,从移动端到桌面,重嵌入式到服务端,这不都是他宣传的么。怎么手机还是敌人的安卓。你说的智慧屏就是那个有adb和安卓webview的电视嘛。
亮了(1)
回复
查看评论(1)
引用 @薛茗之 发表的:
只看此人

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler

作者:小乖他爹链接:https://www.zhihu.com/question/343667346/answer/829971679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID

三、方舟开源目录简介此次开源所放出来的一级目录主要六个:1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。3、license目录:许可文件。4、samples目录:示例程序目录,本次发布共公开了六个示例程序。5、src目录:本次发布所公开的源码目录。6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。2、third_party目录:该目录之下存放了第三方库zlib。3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。

一、部分视频研讨

方舟编译器源码初探

[media]url=https://www.bilibili.com/video/av66296736/;[/media]

方舟编译器源码深探之一

[media]url=https://www.bilibili.com/video/av66760612/;[/media]

二、专栏:方舟编译器学习笔记

https://zhuanlan.zhihu.com/openarkcompiler


作者:小乖他爹
链接:https://www.zhihu.com/question/343667346/answer/829971679
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

小乖他爹:方舟编译器学习笔记1:方舟相关资料

小乖他爹:方舟编译器学习笔记2:源码编译

小乖他爹:方舟编译器学习笔记3 方舟可执行文件简介

小乖他爹:方舟编译器学习笔记4 文档导读

小乖他爹:方舟编译器学习笔记5 方舟开始接受代码合并请求

小乖他爹:方舟编译器学习笔记6 方舟开源目录简介

小乖他爹:方舟编译器学习笔记7 对java2jar及方舟工具链的进一步分析

小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

小乖他爹:方舟编译器学习笔记9 测试用例编译过程的试优化

小乖他爹:[方舟动态]方舟编译器开源技术沙龙见闻

小乖他爹:[方舟动态]上海方舟编译器开源代码学习讨论会成功举办

小乖他爹:方舟编译器学习笔记10 线下活动交流后的思考

小乖他爹:方舟编译器学习笔记11 IR设计文档中的IR总体设计思想

小乖他爹:方舟编译器学习笔记12 方舟编译器的phase

小乖他爹:方舟编译器学习笔记13 方舟编译器phase相关类的关系辨析

小乖他爹:方舟编译器学习笔记14 DriverRunner源码分析

小乖他爹:方舟编译器学习笔记15 DriverRunner的调用关系分析与编译工具链的反思

小乖他爹:方舟编译器学习笔记16 MapleCombCompiler与phase体系的代码对照

小乖他爹:方舟编译器学习笔记17 phase的实现和使用

小乖他爹:方舟编译器学习笔记18 Compiler及其子类

小乖他爹:方舟编译器学习笔记19 方舟编译器IR基本类型与LLVM IR基本类型的对比

小乖他爹:方舟编译器学习笔记20 方舟编译器的IR结构和LLVM的IR结构对比

小乖他爹:方舟编译器学习笔记21 MAPLE IR设计的指导论文——Fred Chow论文阅读

小乖他爹:方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

小乖他爹:方舟编译器学习笔记23 虚函数表和接口函数表的分析和验证

小乖他爹:方舟编译器学习笔记24 以一维数组为例看MAPLE IR中存储访问

小乖他爹:方舟编译器学习笔记25 MAPLE IR中的field-ID




三、方舟开源目录简介
此次开源所放出来的一级目录主要六个:

1、build目录:该目录下主要是环境设置脚本,和一些build所用的Makefile。

2、doc目录:本次发布的几个文档,具体内容介绍见 文档导读 。

3、license目录:许可文件。

4、samples目录:示例程序目录,本次发布共公开了六个示例程序。

5、src目录:本次发布所公开的源码目录。

6、tools目录:为编译和使用过程中所用到的其他工具所预留的目录,该目录后续将存放llvm、gn、ninja。

我们所关注的源码,是位于src目录之下。src目录之下又有12个文件夹:

1、bin目录:该目录之下是四个可执行文件,其中除了maple之外的三个可执行文件,都要在build的时候copy到out/bin目录之下。

2、third_party目录:该目录之下存放了第三方库zlib。

3、deplibs目录:该目录之下存放了四个库,应该是编译的时候需要依赖的。

其中的libmempool.a、libmplphase.a和libmaple_driverutil.a是编译maple所需要的,但是src目录之下的mempool目录、mpl_phase目录、mpl_util目录都只有头文件,所以直接在源码里附上这几个库。

4、mempool目录:推测应该是内存池相关的代码,但是只有头文件,没有源文件。

5、mpl_phase目录:推测是maple的phase的基本框架的代码,不包含具体的phase的代码。该目录只有头文件,没有源文件。关于phase,doc目录有两个关于phase的文档,可以从文档中获取一部分信息。

6、mpl_util目录:推测是maple需要的一些util,字符串、log、计时器、版本等内容。

7、huawei_secure_c目录:是一些安全代码,主要字符串操作、输入输出等,具体到函数就是str_cat_s、str_cpy_s等。

8、maple_driver目录:这是maple可执行程序的主要源码所在的位置,它会调用其他的maple_开头的目录的部分内容。从其BUILD.gn中可以看到:

另外,该目录之下的src/maple.cpp中的main函数,是maple可执行程序的入口。我们前文也提到过maple是out/bin目录下面的四个可执行程序中唯一一个根据源码编译出来的,所以我们要分析方舟的程序,绕不开这个目录以及这个入口点。

9、maple_ipa目录:该目录是interleaved_manager和module_phase_manager的相关代码。phase的文档中对这块都有介绍:“PhaseManager负责phase的创建、管理和运行。与phase对应,有ModulePhaseManager和MeFuncPhaseManager两类。InterleavedManager负责phase manager的创建、管理和运行。通过调用AddPhases接口,它将创建一个对应类型的phase manager并添加进MapleVector中, 同时该phase manager相应的phase注册、添加也会自动被触发。”可以理解为ModulePhase类的phase的运行框架部分。

10、maple_ir目录:该目录是针对maple的ir的基本操作的相关代码,与LLVM针对ir的基本操作类似。主要是对IR进行基本的分析,获取ir所要表达的信息。为之后的优化作准备。

11、maple_me目录:该目录包含了有关MeFuncPhase类别的phase的框架及其具体内容,这是phase相关的一部分。所有的具体的MeFuncPhase的子类,实现都在该目录之下。

12、mpl2mpl目录:该目录包含了一些从maple ir到maple ir的转换,这种转换都是为了后续的me做准备。该目录下的主题内容是ModulePhase类别的phase的具体实现。










这个我都看了,作者确实很认真的在研究,修修补补终于把sample跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里
这个我都看了,作者确实很认真的在研究,修修补补终于把sample跑出来了,能确定的一点是目前的开源程度,离华为当初宣传的进度差九万八千里
亮了(67)
回复
查看评论(2)
Re:zt知乎:方舟编译器的开源达到各位的预期了吗?
虎扑游戏中心
数码综合讨论最热帖
敢不敢发出你手机里的第五张照片
一支独放不是春的时代又要来了?
华为新款matepad11.5S ,已下单,香吗?
机械硬盘推荐
【数码实用技巧】电脑应该怎么设置?200个小时良心整理Windows调教指南
隔着屏幕都感觉到绝望啊
华为这也太离谱了吧
如何评价小白成为现在的测评一哥,播放量遥遥领先
好哥哥们,有便宜宽带推荐吗
苹果产品那些让我感觉非常恶心的地方
数码综合讨论最新帖
华为11.5S发布了,谁来劝劝我
好哥哥们,有便宜宽带推荐吗
以下哪个人最恶心
又给大嘴送钱了,这两年哇为为所不多有性价比的数码产品,真香!
4000块左右的16+512,选magic6还是其他什么机型?
DXO本来是测拍照的,这几年生意不好做,顺带着连屏幕也测了,现在又开始接电池的生意了!太难了!
华为用户真的太忠诚了
现在的人撞了人还抱有侥幸心理逃跑,也不想想现在到处都是摄像头,只要想抓你,就不可能抓不到,所以不要以
湖北6部门联合启动医保专项整治
哥耍手机
热门游戏-即点即玩
无需下载,足球经理模式一键即玩
《NBA英雄》教练系统上线啦!我选好了,看看你的