• LLVM 词典


    #LLVM 词典 ##

    本文转自https://github.com/oxnz/clang-user-manual/blob/master/LLVM-Language-Reference-Manual.md

    发现原文部分翻译有误后,重新整理后发出

    **A**

    ADCE

    Aggressive Dead Code Elimination 积极的死代码消除

    AST

    Abstract Syntax Tree 抽象语法树

    由于 Clang 的影响(大多是由于 C,尤其是 C++ 错综复杂的解析和语义分析),典型的 LLVM 社区中的 AST 的定义大概是输入程序的编译器第一个完整的符号(与文本相反)表示。因此,一个 “AST” 可能更像一个通用图而不是一棵(考虑一个链表节点的符号表示)。这个工作的定义更接近一些作者所谓的带注释的抽象语法树

    使用你最喜欢的编译器书籍和搜索引擎来获取更多信息。

    **B**

    BB Vectorization

    Basic-Block Vectorization 基本块向量化

    BURS

    Bottom Up Rewriting System — A method of instruction selection for code generation.

    自底向上重写系统-一种代码生成中的指令选择方法。一个例子是 BURG 工具。

    C

    CSE

    Common Subexpression Elimination.

    共同子表达式消除。一种移除共同子表达式的优化。例如 (a+b)*(a+b) 有两个相同的子表达式: (a+b)。这个优化使得只做一次加法然后执行乘法(但是只针对正确且安全的计算)。

    D

    DAG

    Directed Acyclic Graph

    有向不循环图

    Derived Pointer

    一个指向对象内部的指针,使得垃圾回收器不能使用此指针进行可达性分析。只要一个 derived 指针存在,对应的对象的指针必须保留在 root 内,否则垃圾回收器可能会释放引用的对象。对于拷贝收集器,derived 指针具有额外的风险使得它们可能在任何安全点处无效化。这个机制被用来对抗对象指针。

    DSA

    数据结构分析

    DSE

    Dead Store Elimination

    可不达存储消除

    F

    FCA

    First Class Aggregate

    第一类集合

    G

    GC

    垃圾回收。使用可达性分析替代显式的内存管理来回首不再使用的内存。

    H

    Heap

    在垃圾回收中,使用可达性分析管理的内存区域

    I

    IPA

    Inter-Procedural Analysis.

    过程间分析。引用到过程、函数和编译单元(模块)之间发生的大量代码分析。

    IPO

    过程间优化。引用到过程、函数和编译单元(模块)之间发生的大量代码优化。

    ISel

    指令选择

    L

    LCSSA

    Loop-Closed Static Single Assignment Form

    闭环静态单赋值形式

    LICM

    Loop Invariant Code Motion

    循环不变量

    Load-VN

    负荷值编号

    LTO

    链接时优化

    M

    MC

    机器码

    O

    Object Pointer

    指向对象的指针,使得垃圾回收器可以追踪对象内的引用。这个机制用来对抗derived 指针。

    P

    PRE

    Partial Redundancy Elimination

    部分冗余消除

    R

    RAUW

    Replace All Uses With. The functions User::replaceUsesOfWith(), Value::replaceAllUsesWith(), and Constant::replaceUsesOfWithOnConstant() implement the replacement of one Value with another by iterating over its def/use chain and fixing up all of the pointers to point to the new value. See also def/use chains.

    Reassociation

    重新排列关联表达式,以促进更好的冗余消除和其他优化。例如,将(A+B-A)转换成(B+A),允许它被优化为(B0),然后(B)。

    Root

    在垃圾回收中,堆中的一个指针变量,垃圾回收器从这个指针开始可达性分析。在代码生成的上下文中,“root”几乎总是指向“stack root”-一个函数调用过程中的局部或临时变量。

    RPO

    Reverse postorder

    S

    Safe Point

    在垃圾回收中,必须标识栈根使得可达性分析能够执行。对于每条指令提供这个信息可能变得不可能,所以这个信息只在指定的安全点计算。使用拷贝收集器,derived 指针绝对不可以跨安全点并且对象指针必须从栈根重新加载。

    SDISel

    Selection DAG Instruction

    DAG 指令选择

    SCC

    Strongly Connected Component

    强链接组件

    SCCP

    Sparse Conditional Constant Propagation

    稀疏的条件常量传播

    SLP

    Superword-Level Parallelism 超字并行,是一种通过循环展开和基本块向量化的向量化技术

    SRoA

    Scalar Replacement of Aggregates

    聚合标量替换

    SSA

    Static Single Assignment

    静态单赋值

    Stack Map

    在垃圾回收中,由代码生成器发出的元数据在一个函数调用的栈帧中标识了roots

    T

    TBAA

    Type-Based Alias Analysis

    基于类型的别名分析

  • 相关阅读:
    c语言中输出char类型所占据的位数(因编译器而异)
    C语言中输出不同变量类型的长度(单位为字节,1字节等于8位)
    C语言中作用域
    python 中字符串 内置函数 find
    python 中字符串拆分可直接赋值给变量名(列表中的元素可以直接赋值给变量)
    telnet协议
    LeetCode 图解 | 37.解数独
    新年锦鲤!自费送128G的 iPhone 11 !
    计算机领域有哪些常见的比赛
    Git 使用教程:最详细、最傻瓜、最浅显、真正手把手教!(万字长文)
  • 原文地址:https://www.cnblogs.com/jourluohua/p/9511530.html
Copyright © 2020-2023  润新知