LLVM
文章平均质量分 61
Joe_yaoxiao
这个作者很懒,什么都没留下…
展开
-
MLIR Multi-Level Intermediate Representation Overview (多级中间表示概述)
多级中间表示概述MLIR项目是一种构建可重用和可扩展的编译器基础结构的新颖方法。MLIR旨在解决软件碎片问题,改善异构硬件的编译,显着降低构建特定于域的编译器的成本,并有助于将现有的编译器连接在一起。要引用MLIR,请使用此Arxiv出版物。更多资源有关MLIR的更多信息,请参见:LLVM论坛有任何问题关于MLIR的部分。 LLVM discord 服务器的MLIR通道的实时讨论。 以前的谈话。另请参阅TensorFlow MLIR SIG,该组织每周组织一次有关MLI...翻译 2020-09-09 11:35:25 · 594 阅读 · 0 评论 -
关于Flang
目标Flang是设计用于与LLVM集成的Fortran前端,具有与Clang C ++和LLVM一致的开源许可,并且适合在各种系统中与Clang / LLVM进行部署和互操作。Flang的目标是:确保Flang成为一个自我维持的开源项目 吸引(广泛)社区的其他开发人员来创建大量的贡献者 提供与gfortran相当或更好的单核CPU性能' 通过强大且高性能的OpenMP实现来实现多核CPU和GPU编程 创建一个可以轻松重新托管并重新定位到未来系统的源库,就像Clang和LLVM一样容易翻译 2020-08-13 10:11:38 · 2308 阅读 · 0 评论 -
Flang 和F18
Flang and F18Flang是一种Fortran语言前端,旨在与LLVM和LLVM优化器集成。Flang + LLVM是设计用于共同安装的,具有生产质量的Fortran解决方案,并且可以与Clang C ++完全互操作。Flang单核和OpenMP性能现在与GNU Fortran相当。 Flang已实现了Fortran 2003,并通过OpenMP4.5版 的实现了针对多核CPU全部实现。目前,在Flang框架下有两个与Fortran和LLVM相关的活动项目当前发布https..翻译 2020-08-13 09:46:43 · 781 阅读 · 0 评论 -
Walk-through flang – Part 8
In the last installment of this series we started to look at the AST and the symbol table by examining the compiler dumps of these two data structures. In this chapter we are going to explore a bit more the AST for the control flow statements.Statement d转载 2020-08-12 13:34:09 · 281 阅读 · 0 评论 -
Walk-through flang – Part 7
In previous chapters we saw how the input source was lexed, parsed and semantically analysed and we looked at how the symbols and data types are represented. But we haven't looked at what happens once the semantic analysis finishes. In this installment we'转载 2020-08-12 13:19:26 · 419 阅读 · 0 评论 -
Walk-through flang – Part 6
At this point we should have a reasonable picture of how flang parses and generates semantic information. So now it is time to explore with more detail what is actually synthesized and how it can be used later in the compiler. In this chapter we are going转载 2020-08-12 13:15:11 · 371 阅读 · 0 评论 -
Walk-through flang – Part 5
In the previous installment of this series we saw how flang parses the statements using an LR(1) algorithm. As the parser recognized the parts of the statements it invokes semantic actions. Today we’re going to talk more about them.What is not being "par转载 2020-08-12 13:12:11 · 3950 阅读 · 0 评论 -
Walk-through flang – Part 3
In the last chapter we saw how the driver handles the compilation and how it invokesflang1andflang2. In this chapter we are going to start withflang1.DocumentationFlang comes with some decent documentation that is worth reading it. It is not built ...转载 2020-08-12 11:56:57 · 508 阅读 · 0 评论 -
Walk-through flang – Part 2
In the previous installment of this series we saw basically how to install flang and we ran a simple smoke test. In this post we will see a high level overview of what happens when we compile a Fortran program using flang. We will also compare it with what转载 2020-08-12 11:45:44 · 417 阅读 · 0 评论 -
Walk-through flang – Part 1
Flangis an open source project to create a Fortran compiler for LLVM. It is based onNVIDIA/PGI Fortranand it has been released under Apache License 2.0. In this series we will do a walk-through the code of this compiler and how it has been integrated i...转载 2020-08-12 11:32:58 · 256 阅读 · 0 评论 -
Walk-through flang – Part 4
原网页偶尔无法打开。在此做个备份。In the last installment we saw how flang splits the input in tokens. Once we have the tokens identified we need to parse them.Top level parser routinesThe top-level parser routine in flang1 is called, not unexpectedly,parser. It is .转载 2020-08-12 11:20:12 · 340 阅读 · 0 评论 -
将二进制文件转换为 LLVM IR llvm-mctoll
llvm-mctoll 是微软的静态 translator,可静态地(AOT)将二进制文件转换(或提升)到 LLVM IR。官方代码库:https://github.com/Microsoft/llvm-mctoll码云:https://gitee.com/mirrors/llvm-mctoll当前状态Llvm-mctoll能够将X86-64和Arm32 Linux / ELF库和可执行文件提升到LLVM IR。要提升Windows,必须添加OS X和C ++二进制文件。目前,X86-6..原创 2020-08-12 10:14:03 · 1559 阅读 · 0 评论 -
Clang 3.4 文档(updating)
翻译于 (http://clang.llvm.org/docs/index.html#)Clang 3.4 documentation欢迎来到Clang的文档!Clang 3.4 (In-Progress) Release Notes把Clang作为一个Complier使用Clang Compiler User’s Man翻译 2013-11-19 16:06:09 · 2540 阅读 · 0 评论 -
[LLVM]LLVM入门 ---llvm 代码结构
翻译于(http://llvm.org/docs/GettingStarted.html)以下是一个简短的介绍代码布局: llvm/examples 这个目录包含一些简单的示例,这些演示如何使用LLVM IR和JIT。 llvm/include llvm/include/llvm 这个目录包含所有的LLVM特定头文件。这个目录的子目录也有不同部分的LLVM:...翻译 2013-11-18 16:35:26 · 3995 阅读 · 0 评论 -
Snapdragon LLVM Compiler for Android
https://developer.qualcomm.com/mobile-development/performance-tools/snapdragon-llvm-compiler-android这是搞通弄的基于llvm的arm 工具琏Snapdragon LLVM Compiler for AndroidLLVM 是一个 C/C++编译器,翻译 2013-11-15 17:30:46 · 3197 阅读 · 0 评论 -
[LLVM]学习LLVM 三本书和下载连接
一直接触并从事LLVM相关的项目,下面的三本书方便快速了解LLVM ,把这三本书做一个总结,同时也分享给学习和研究LLVM的同学。Table of Contents一直接触并从事LLVM相关的项目,下面的三本书方便快速了解LLVM ,把这三本书做一个总结,同时也分享给学习和研究LLVM的同学。LLVM Cookbookhttp://download.csdn.net/downloa...原创 2017-05-11 11:41:11 · 8582 阅读 · 0 评论 -
[LLVM] 通过PassManager 写MachineFunctionpass
简介: 最近在做和llvm后端有关的项目,研究了一下llvm的Pass manager.大家比较熟悉的是llvm里有几种形式,具体的参照官方的文档.http://llvm.org/docs/WritingAnLLVMPass.html.这里主要介绍一种MachineFunction Pass 通过Pass Manager运行MachineFunction Pass....原创 2018-02-02 17:21:01 · 1797 阅读 · 0 评论 -
CMAKE 中 add_definitions的用法.
1.官方的说明Adds -D define flags to the compilation of source files.add_definitions(-DFOO -DBAR ...)Adds definitions to the compiler command line for sources in the current directory and原创 2018-02-06 10:28:40 · 73432 阅读 · 5 评论 -
反编译原理(5)-控制流分析
转自https://bbs.pediy.com/thread-247201.htm 控制流分析控制流结构恢复、变量和类型恢复是反编译器中端向后端转化最关键的两个步骤,本文讨论控制流结构恢复。1. 编译器主要是概述鲸书“高级编译器的设计与实现”第7章控制流分析,并且增加了一些内容,所涉及的相关论文书籍自行查找学习,还可以从维基百科了解学习。1.1 Graph Algorith...转载 2019-02-22 11:00:06 · 1970 阅读 · 0 评论 -
The Often Misunderstood GEP Instruction 经常被误解的GetElementPtr(GEP)指令
原文:http://llvm.org/docs/GetElementPtr.html介绍 本文旨在消除围绕LLVM的GetElementPtr(GEP)指令的神秘和困惑。 一旦开发人员开始使用LLVM进行编码,关于狡猾的GEP指令的问题可能是最常出现的问题。 在这里,我们列出了混淆的来源,并表明GEP指令非常简单。地址计算 当人们第一次面对GEP指令...翻译 2019-03-20 14:04:23 · 1339 阅读 · 0 评论