zoukankan      html  css  js  c++  java
  • LLVM Language Reference Manual阅读笔记

    文档地址:http://llvm.org/docs/LangRef.html

    LLVM IR的标示符有两种基本类型,全局的和局部的。全局标示符以@开头,局部标示符以%开头。LLVM IR的标示符有三种形式:命名的,未命名的,常量。

    每一个Moudule都是由函数、全局变量和符号表组成的。
    全局变量表现为指向为一块内存的指针。
    全局变量和函数都会有一个linkage type, 就像:private, internal, linkonce等。
    一个函数的声明只能使用external, dellimport, extern_weak这三种linkage type.
    引用(aliases)只能使用external, internal, weak, weak_odr这四种linkage type.
    Calling Converntions
    所有的全局变量和函数都有一个visibility styles: default, hidden, protected.
    Named Types:
    Note that type names are aliases for the structural type that they indicate, and that you can therefore specify multiple names for the same type. This often leads to confusing behavior when dumping out a .ll file. Since LLVM IR uses structural typing, the name is not part of the type. When printing out LLVM IR, the printer will pick one name to render all types of a particular shape. This means that if you have code where two different source types end up having the same LLVM type, that the dumper will sometimes print the "wrong" or unexpected type. This is an important design point and isn't going to change.

    随手记得一些东西,没有仔细的总结和分析,后续有时间的话进行总结。
  • 相关阅读:
    CSS 实现半圆环的两种方式
    传统js和jsx ts和tsx的区别
    echarts 实现正负轴双柱状图
    vue 封装 axios 代码
    访问某个网站特别卡,怎么办?
    创建自己的github
    自动化测试平台构想与实现
    【sqlserver】之学习总结
    shell脚本中浮点数运算
    远程执行shell脚本
  • 原文地址:https://www.cnblogs.com/ainima/p/6332011.html
Copyright © 2011-2022 走看看