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

作者:snsn1984

这是这一次零基础入门的最后一天,这次的主要任务是实战一个Pass。

任务描述:

实现一个Pass,该Pass可以读取一个程序中所有的for循环的循环头的名字并输出。

同时,实现一个测试用例去测试输出的结果是否正确。该Pass的输入应该包含嵌套

循环。

在这个任务完成之后,应该已经达到可以达到可以分析和实现LLVM的Pass,查找和

分析LLVM的源码,查找需要使用的文档,并且可以知道下一步该如何自己学习LLVM。

-------------------------------------转载请注明出处----------------------------------------------------

时间: 2024-09-19 23:56:22

七天LLVM零基础入门(Linux版本)------第七天的相关文章

七天LLVM零基础入门(Linux版本)------第一天

作者:snsn1984 开篇语: 学习LLVM的过程是一个漫长而艰巨的过程,需要大量的时间和精力.不仅仅如此,开始的过程也不轻松.一个好的开始就是成功的一半.我结合了自己学习的过程,以及给别人推荐学习的过程,整理出了这个七天LLVM零基础入门的系列博客.主要的目标是让没有LLVM基础的人,经过这一系列的学习,可以完成一些Pass的工作,并且可以成功的自己去自主学习,知道自己该怎么学习,知道自己该去学些什么.如果你有什么建议,欢迎反馈,欢迎探讨. 第一步,要对LLVM有一个初步的印象 这里,htt

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

七天LLVM零基础入门这系列文章,为了让刚接触LLVM的人在最短的时间内快速的熟悉LLVM.这系列文章,现在经过将近一年的时间的使用,有了不少反馈的意见,现在将这些情况总结一下. 1. 在按照这个七天的学习计划进行的学习过程中,不少人出现了延误现象,主要体现在读文档的时候,读的过于仔细,然后感觉时间不够用.虽然在文档上花了很长时间,但是到最后该用文档中的东西的时候,反而无从下手.出现这个问题,主要还是不会把握文档的重点,这个系列中列出来的文档,在日后接触LLVM的过程中,需要不断的去读,反复的去

七天LLVM零基础入门(Linux版本)------第三天

作者:snsn1984                第二天的任务中的LLVM IR的文档(http://llvm.org/docs/LangRef.html)对于初学者来说,看起来一定很费劲,内容繁杂,找不到头绪,看了后边的忘记了前面的,这些都是很正常的.但是,这里需要注意的是,不管多烦躁,一定要硬着头皮先把这个文档通读一遍,在读的同时,可以自己写一个小程序,根据前面学习的使用clang的命令将该程序转换成.ll格式的,然后在阅读文档的同时,对照.ll格式的文件,去实际的看一看,到底说的是什么

七天LLVM零基础入门(Linux版本)------第四天

作者:snsn1984 第一步:复习 第三天的时候,我们学习了LLVM的编程指引.在开始第四天的学习之前,需要复习之前学习过的两篇文档: LLVM IR的文档(http://llvm.org/docs/LangRef.html) 编程指引文档 (http://llvm.org/docs/ProgrammersManual.html) 这两篇文档是LLVM的重中之重,希望学习的时候认真一点,能掌握这些文档的核心. 第二步:阅读文档 Write an LLVM passhttp://llvm.org

七天LLVM零基础入门(Linux版本)------第二天

作者:snsn1984 在第一天的时候,我们简单了解了llvm和clang.今天我们继续对LLVM进行学习. 第一步:学会如何查找LLVM的文档 LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细致的,这是很难得的一个事情.所以只要和LLVM打交道,就一定要学会并且善于去使用这些LLVM的文档. 因为LLVM文档比较多,初学者可能不太容易搞清楚,我之前写过一个关于LLVM的文档的博文,可以参考: http://blog.csdn.net/snsn1984/article/detai

七天LLVM零基础入门(Linux版本)------第五天

作者:snsn1984 第一步:复习文档 Write an LLVM pass http://llvm.org/docs/WritingAnLLVMPass.html 第二步:阅读LLVM编程规范http://llvm.org/docs/CodingStandards.html 编程规范是编程中需要注意的基础点,代码风格符合不符合规范,将会直接影响整个代码的可读性和代码质量. 所以一定要认真阅读,并且在自己编写代码的过程中要遵守规范.最容易犯错误的两点就是缩进和空格.不同 的编程规范的缩进是不同

移动交互小白零基础入门学习笔记之:手势篇

此贴为零基础入门学习贴,总结和积累些基础知识~ 1.基本手势 触屏设备中多样的手势操作,都是由这10种基本手势组合演变而来. 2.常用动作 基本动作是触屏界面中最常用的动作,如打开.选择等. 与对象有关的动作是对屏幕上某一目标对象的操作,如调整图片的位置大小,选择.删除或移动一个文件等. 导览动作是对屏幕视图的操作,如切换屏幕.滚动屏幕.缩放网页等. 画图示意动作是用画图的方式来示意某些操作,这些图形最好是常见易画的图形,符合用户心理预期,如画勾表示确认,画叉表示取消. 以上都是触屏设备中常用的

Bootstrap零基础入门教程(三)_javascript技巧

什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的.Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品. 写到这里,这篇从零开始学Bootstrap(3)我想写以下几个内容: 1. 基于我对Bootstrap的理解,做一个小小的总结.

Bootstrap零基础入门教程(二)_javascript技巧

什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的.Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品. 本文重点给大家介绍Bootstrap零基础入门教程(二),具体详情如下所示: 过程中会频繁查阅资料的网站: http://www.