ICode9

精准搜索请尝试: 精确搜索
  • TensorFlow XLA优化原理与示例2021-09-25 07:31:59

    TensorFlow XLA优化原理与示例 XLA概述 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器。结果是在服务器和移动平台上的速度,内存使用率和可移植性得到了改善。最初,大多数用户不会从XLA中看到很大的好处,通过使用即时(JIT)编译或提前编译(AOT)的XLA进行试验,针对新硬

  • LLVM一些编程语法语义特性2021-09-24 06:32:52

    LLVM一些编程语法语义特性 High Level Structure Module Structure LLVM 程序由Module's组成,每个 's 是输入程序的一个翻译单元。每个模块由函数、全局变量和符号表条目组成。模块可以与 LLVM 链接器组合在一起,后者合并函数(全局变量)定义、解析前向声明,合并符号表条目。这是“hel

  • ToT - Top of Tree2021-09-22 23:01:54

    ToT - Top of Tree The latest code in the source code repository. Top of Tree, Top of the Tree, ToT, TOT:树的顶部,在源代码库中的最新代码 References https://llvm.org/ https://clang.llvm.org/

  • 通过IRBuilder新建LLVM IR2021-09-19 19:03:46

    这一部分想给出一个完整的例子,来利用IRBuilder建立func_sum,并完成对齐的调用。(网上应该有完整的说明,忘记是哪里来的,留在这里方便记录,找到来源后附链接)来实现类似的功能: int sum(int n){ int i = 1; int sum = 0; while(i<=n){ sum += i; i++; } return sum; }

  • LLVM基础技术图例2021-09-19 06:33:05

    LLVM基础技术图例 LLVM概述——基础架构              LLVM IR                参考链接: https://www.zhihu.com/people/chenwengang/posts  

  • ubuntu 下 QtCreator 适配 clang-format2021-09-16 17:33:09

    目录 一、介绍二、内容三、相关链接 一、介绍 版本:clang-format-9 操作系统:ubuntu16 时间:2019-09-16 二、内容 安装 clang-format-9 # 切换到root权限 sudo bash wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - apt-add-repository "deb htt

  • LLVM一些语法规则2021-09-16 07:35:40

    LLVM一些语法规则 LLVM文档 LLVM编译器基础架构支持广泛的项目,从工业强度编译器到专门的JIT应用程序,再到小型研究项目。 同样,文档分为几个针对不同受众的高级别分组: LLVM设计概述 几篇介绍性论文和演讲。 LLVM编译器简介: 向用户介绍LLVM的演示文稿 LLVM简介: 本章提供了面向编译

  • LLVM 编译器和工具链技术2021-09-16 05:32:50

    LLVM 编译器和工具链技术 LLVM概述 LLVM项目是模块化和可重用的编译器和工具链技术的集合。尽管名称如此,LLVM与传统虚拟机几乎没有关系。LLVM本身不是首字母缩略词,项目的全名。 LLVM开始是作为伊利诺大学的一个研究项目,提供提一个现代化的、基于SSA编译策略的、同时支持静态和动态

  • [译] Android 内核控制流完整性,程序员如何技术划水2021-09-08 13:00:59

    利用内核的常用方法是使用错误来覆盖存储在内存中的函数指针,例如存储了回调函数的指针,或已被推送到堆栈的返回地址。这允许攻击者执行任意内核代码来完成利用,即使他们不能注入自己的可执行代码。这种获取代码执行能力的方法在内核中特别受欢迎,因为它使用了大量的函数指针,以及

  • 编译器介绍 - LLVM、GCC、Clang2021-09-06 17:00:43

    LLVM 虽然是叫这个名字,但是和虚拟机没什么关系,这不是一个缩写,就是这个项目的全名。是伊利诺伊大学为了提供一个现代的、基于 SSA(静态单一赋值) 的、可以动态、静态编译任何编程语言的编译方案而开展的研究项目,核心是个编译器工具集。 GCC GNU(操作系统)编译器套装(the GNU Compiler Co

  • iOS编译简析2021-09-05 22:30:10

    前言 一般的编译器都是由三部分构成.从源码到机器码基本上都要经过这三部分. 编译器前端(FrontEnd): 词法分析,语法分析,语义分析,将源代码抽象为语法树 AST,继而生成中间代码 IR。 优化器(Optimizer): 对得到的中间代码 IR 进行优化. 编译器后端(BackEnd): 将得到的中间代码

  • LLVM12.0.1,编译2021-08-29 07:00:06

    哎,行吧。来吧。 先去下载。   LLVM官网 llvm.org 下载 12.0.1 源码   LLVM + Clang   第一步: 然后Cmake重新打包,生成项目配置。 我真的很感动,竟然一个错误都没有,只有一个警告。 妈了个巴的,C++ 正则的问题。 行吧,挺好的,虽然我不用,但是不影响。       真的感谢党感谢政府,然后

  • MLIR中间表示与编译2021-08-02 06:31:24

    MLIR中间表示与编译 概述 目前深度模型的推理引擎按照实现方式大体分为两类: 解 解释型推理引擎: 一般包含模型解析器,模型解释器,模型优化器。 模型解析器负责读取和解析模型文件,转换为适用于解释器处理的内存格式; 模型优化器负责将原始模型变换为等价的、但具有更快的推理速度

  • 代码分析属性图 CPG 介绍2021-08-01 11:59:06

    代码分析工具层出不穷,编译器本身也内置了大量的静态检查,但分析的数据源较为单一。而本文要介绍的,是集众之所长的代码分析属性图 CPG,在漏洞分析上很有帮助。 1、定义 代码属性图(code property graph,简称 CPG) 是一种数据结构,用来通过 DSL(domain-specific language) 查询语句来

  • LLVM 后端实践笔记2021-07-13 23:31:26

    该系列笔记是我对之前学过的 Tutorial LLVM Backend Cpu0 教程的填充完善与版本升级,首发于我的知乎专栏:https://www.zhihu.com/column/c_1250484713606819840 这是本教程的序言章节,其他章节请访问最后一节中链接访问。 本笔记对应的源码文件链接:https://github.com/P2Tree/L

  • llvm常见问题 (FAQ)2021-07-04 07:31:36

    llvm常见问题 (FAQ) License 可以修改 LLVM 源代码并重新分发修改后的源代码吗? 可以修改 LLVM 源代码并重新分发基于二进制文件或其它工具,而无需重新分发源代码吗? 源代码 LLVM 是用什么语言编写的? LLVM 源代码的可移植性如何? 使用什么 API,将值存储到 LLVM IR 的 SSA 表示中的一个

  • {转}学习LLVM2021-07-02 15:32:39

       近来,ollvm在国内移动安全,尤其是安全加固上的使用越来越广泛,ollvm的混淆和反混淆也被视为比较高等的知识之一,让很多人感到无从下手,望尘莫及。如果你在google上搜索ollvm,你会发现第一页都是中文的搜索结果。其实,llvm和ollvm在国外是比较传统的东西,说到底也只是C++代码,难度大

  • iOS-底层原理 31:LLVM编译流程 & Clang插件开发2021-07-02 13:01:43

    本文主要是理解LLVM的编译流程以及clang插件的开发 LLVM LLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)。对开发者保持开放,并兼容已有脚本 传统编译器设计 源码 Sourc

  • LLVM笔记(20) - AntiDepBreaker2021-06-30 02:00:54

    自从年初手断了以后好久不写文字了, 说好的笔耕不辍也忘了(=.=), 今天正好有同学问AntiDepBreaker, 就花点时间看了下代码(顺便水一篇). 背景概述 1. 什么是Anti Dependency 在数据流分析中一般将数据依赖分为三种: 写后读(RAW, read after write), 通常情况下一个值必须先定义后

  • XLA优化实例2021-06-29 06:31:09

    XLA优化实例 XLA概述 纠错 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器。结果是在服务器和移动平台上的速度,内存使用率和可移植性得到了改善。最初,大多数用户不会从XLA中看到很大的好处,通过使用即时(JIT)编译或提前编译(AOT)的XLA进行试验,针对新硬件加速器尝试X

  • LLVM IR 理解2021-06-26 06:31:08

    LLVM IR 理解 LLVM IR表示 LLVM IR有三个不同的形式: 内存中编译中间语言(IR) 保存在硬盘上的 bitcode(.bc 文件,适合快速被一个 JIT 编译器加载) 一个可读性的汇编语言表示(.ll 文件)。 LLVM为高效编译转换和分析,提供一个强大的中间表示。LLVM 的三种不同的形式都是等价的。以下是三种表

  • 【译】LLVM 的设计2021-06-14 16:00:51

    LLVM 是开源的编译工具链项目,用 C++ 编写,包含一系列模块化的编译器组件和工具链,用于开发编译器前端和后端。 内容来源: https://aosabook.org/en/llvm.html 原文标题:LLVM 作者:Chris Lattner 译者:流左沙 注:翻译较原文会有一定的精简、重排和添删,主要是为了提取重要内容

  • MLIR: 编译器基础架构重定义2021-06-09 06:33:21

    MLIR: 编译器基础架构重定义 MLIR(多级中间表示)是语言(如 C)或库(如 TensorFlow)与编译器后端(如 LLVM)之间的中间表示 (IR) 系统。允许不同语言的不同编译器堆栈之间的代码重用以及其他性能和可用性优势。 MLIR 由Google开发为一个开源项目,主要是为了改进 TensorFlow 在不同后端的支持,但

  • llvm 创建函数2021-06-01 21:03:19

    IR: define i32 @add1(i32 %p1) { entry: %retVal = add i32 1, %p1 ret i32 %retVal } #include "llvm/ExecutionEngine/Orc/LLJIT.h" #include "llvm/IR/Function.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/Module.h&q

  • LLVM in windows vs20192021-05-24 13:01:18

    在github上下载最新的Release版本的源码zip包 解压后进入"llvm-project-llvmorg-12.0.0\llvm"目录下 运行cmake, "llvm-project-llvmorg-12.0.0\llvm>cmake CMakeLists.txt",运行后会生成"LLVM.sln"的解决方案 使用vs2019打开解决方案,设置"Release/x64",然后右键解决方案"

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有