文档章节

七天LLVM零基础入门(Linux版本)------总结

snsn1984
 snsn1984
发布于 2014/02/10 09:25
字数 1050
阅读 404
收藏 7

七天LLVM零基础入门这系列文章,为了让刚接触LLVM的人在最短的时间内快速的熟悉LLVM。这系列文章,现在经过将近一年的时间的使用,有了不少反馈的意见,现在将这些情况总结一下。

1. 在按照这个七天的学习计划进行的学习过程中,不少人出现了延误现象,主要体现在读文档的时候,读的过于仔细,然后感觉时间不够用。虽然在文档上花了很长时 间,但是到最后该用文档中的东西的时候,反而无从下手。出现这个问题,主要还是不会把握文档的重点,这个系列中列出来的文档,在日后接触LLVM的过程 中,需要不断的去读,反复的去读。不是读一遍就可以完全掌握的,在最开始读的时候首先要熟悉文档的主要结构,了解文档里都覆盖了哪些内容,然后在用的时候 可以知道在哪里能找到,这就达到了目的。

       特别是针对刚毕业的学生,特别容易对文档抠的太仔细,全是新东西,花了很长时间看完了,回头发现什么也没记住。这就导致既花费了时间,又没有效果,不是在 公司实际工作中该出现的,在工作中学习东西就是为了更快的使用,不是为了考试,所以如果读完了没有收获,那么等于就是白读了。

2. 这个系列中第五天布置了一个练习,在第六天的时候给出了一个官方的例子。这个最初在刚开始的时候,是我每天一篇写出来,所以不存在什么问题。现在把整个系 列都发布了,有些让学习这个系列的人就延续了在学校时候的做法,如果有答案是完全不动脑子的。导致第五天的练习基本上都是抄袭第六天的LLVM的官方例子 的。这样的情况实在是懒得费心去避免了,在工作中学到的东西就是自己的,学不会,完不成工作任务,公司自然有公司的办法。如果跟在学校跟老师玩猫捉老鼠的 游戏,实在是得不偿失了。

3. 学习过程中思考太少。学习了这些内容之后,应该可以正常的使用LLVM,并且应该对LLVM的IR有了一个基本的认识,可以阅读简单的LLVM IR程序,可以写简单的优化的PASS,可以写一些测试用例,并且应该是对LLVM有了一个整体的基本认识。但是有一些人学习完了之后,除非给他一个跟练 习一模一样的任务,否则还是做不了,该读的文档都读了,该做的练习都做了,问题出在哪?没有自己去思考,没有自己去探索。编译器的领域在计算机领域里不是 最难的,但是也算不上是简单的领域,如果自己不用心思考,不用心去探索,根本不可能搞精通。

4.学习完成之后,以为自己就完全精通LLVM了,之前的文档也不看了,平时也不在这个的学习上面花时间了。这种情况一般出现在前面学习的还行,入 了一点门,然后就觉的自己好像忽然都明白了,其实从这系列文章的题目上就能看出来,这只是入门。这系列学的再好,也就是刚刚入门。所以,后面需要学习的东 西还很多,所谓活到老学到老。后续会写一系列的LLVM进阶的文章,方便进一步探索LLVM的人,也会按照天数进行划分。


后续一系列进阶的博文名称暂定:LLVM零基础进阶


© 著作权归作者所有

snsn1984
粉丝 94
博文 32
码字总数 45245
作品 0
长春
项目经理
私信 提问
七天LLVM零基础入门(Linux版本)------第七天

作者:snsn1984 这是这一次零基础入门的最后一天,这次的主要任务是实战一个Pass。 任务描述: 实现一个Pass,该Pass可以读取一个程序中所有的for循环的循环头的名字并输出。...

snsn1984
2013/02/28
1K
6
七天LLVM零基础入门(Linux版本)------第二天

作者:snsn1984 在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。 第一步:学会如何查找LLVM的文档

snsn1984
2013/02/22
2.2K
5
七天LLVM零基础入门(Linux版本)------第三天

作者:snsn1984 第二天的任务中的LLVM IR的文档( http://llvm.org/docs/LangRef.html) 对于初学者来说,看起来一定很费劲,内容繁杂,找不到头绪,看了后边的忘记了前面的,这些都是很正常...

snsn1984
2013/02/22
1K
0
七天LLVM零基础入门(Linux版本)------第六天

作者:snsn1984 第一步:对优化代码的pass继续进行深入的分析 首先检查一下第五天中的Pass练习,什么情况下可以进行优化,什么情况下不可以进行优化。 可以参照系统自带的Pass: http://llvm...

snsn1984
2013/02/28
812
0
七天LLVM零基础入门(Linux版本)------第四天

作者:snsn1984 第一步:复习 http://llvm.org/docs/LangRef.html) 编程指引文档 (http://llvm.org/docs/ProgrammersManual.html) 这两篇文档是LLVM的重中之重,希望学习的时候认真一点,...

snsn1984
2013/02/27
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

java 三元表达式

例子:C=A>B ? 100 :200; 这条语句的意思是,如果A>B的话,就将100赋给C,否则就将200赋给C;

无名氏的程序员
21分钟前
3
0
针对回流和重绘的渲染优化--公司分享

如果是你,你会如何实现浏览器内核,你认为的浏览器渲染的流程是怎么样的 工作开发中,你有做过哪些关于性能优化的工作(代码),或者目前的业务中有哪些是可以做优化的 浏览器渲染机制 什么...

莫西摩西
33分钟前
3
0
html:常见行内标签,常见块级标签,常见自闭合标签

本文转载于:专业的前端网站▷html:常见行内标签,常见块级标签,常见自闭合标签 本文内容: 常见行内标签 常见块级标签 常见自闭合标签 首发日期:2018-02-12 修改: 2018-04-25:删除了不常用...

前端老手
41分钟前
3
0
终日乾乾,含章可贞@20191017

工龄7年,7年里换了两家公司,一次被动,一次主动。一次被动只有暖,一次主动冷暖皆有。第一次,只有遗憾,没有珍惜那段时光。第二次细说一下: 一、老公司 1、离职前,甲方三种态度:恭喜、...

sunny小喵
今天
4
0
zk中leader和follower启动时信息交互

QuorumPeer中读取节点状态信息,不同状态下设置不同角色 1 Leader启动Follower接收器LearnerCnxAcceptor LearnerCnxAcceptor负责接收非leader连接请求,线程中创建LearnerHandler处理器 2 Le...

writeademo
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部