Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将我自己的LLVM后端与LLVM IR接口

如何将我自己的LLVM后端与LLVM IR接口
EN

Stack Overflow用户
提问于 2017-03-27 13:06:09
回答 1查看 148关注 0票数 0

我有我自己的链接器和机器代码转换器,我正在使用我自己的汇编指令,我的machine.This机器是一个软件处理器,它执行asm到十六进制转换器生成的机器代码。我想使用c语言而不是汇编,问题是如何使用now.My来实现这个目的。一种方法是:创建一个解析器,它将读取由LLVM生成的.s文件(类似于asm文件),并将这些指令映射到我的处理器特定的asm指令。

我不想再创建链接器和asm到机器码的转换器。

我的方法可以吗?

EN

回答 1

Stack Overflow用户

发布于 2017-04-28 05:43:16

你读到的*.s文件不仅仅是“一种汇编语言”,它实际上是已经传递了一些LLVM后端的汇编程序,如果你没有选择一个不同的目标,很可能是某种X86变体。

你真正想做的是让LLVM为你自己的机器发出汇编指令。这就是Writing an LLVM Backend和类似指南的内容。

这并不是很简单,但我希望尝试将其他机器的指令集(更不用说X86)翻译成您自己的指令集可能会更加困难,因为您必须模拟非常复杂的机器的每一个细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43047309

复制
相关文章
LLVM(2)IR入门
例如上面的%6 = call noundef i32 @_Z9factoriali(i32 noundef 2)函数调用语法,如何找到call的全部使用方法?
mingjie
2023/10/13
3170
LLVM(2)IR入门
使用 Inkwell 生成 LLVM IR
本文中的例子拷贝自:https://pku-minic.github.io/online-doc
谛听
2023/06/13
1.1K0
clang -O3 for循环的LLVM IR
这里删去了用处不大的内容,只保留了关键的LLVM IR。通过分析可以看到,如果循环小于8 LLVM IR会使用vector,vector使用SIMD指令高效进行计算,如果大于8则是普通的for形式。
racaljk
2018/08/31
1.3K0
通过 LLVM IR 看语言特性(1)
本系列文章会展示一些系列源码到 LLVM IR 语言的转换。目标是让我们更好的理解编译器是怎么运作的。
酷酷的哀殿
2020/10/26
1.5K0
通过 LLVM IR 看语言特性(1)
[llvm] LLVM 核心类简明示例 : llvm::Value && llvm::Type && llvm::Constant
llvm核心类位于 include/llvm/IR中,用以表示机器无关且表现力极强的LLVM IR。
racaljk
2018/10/10
4.3K0
[llvm] LLVM 核心类简明示例 : llvm::Value && llvm::Type && llvm::Constant
llvm
例如:cmake -G “Visual Studio 16 2019” …/llvm
sofu456
2020/05/04
1.2K0
Clang与LLVM的关系
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM计划启动于2000年,最初由University of Illinois at Urbana-Champaign的Chris Lattner主持开展。2006年Chris Lattner加盟Apple Inc.并致力于LLVM在Apple开发体系中的应用。Apple也是LLVM计划的主要资助者[引自百度百科]。
用户1148523
2019/05/27
1.7K0
LLVM简介
官方描述如下: The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project.
VV木公子
2019/11/04
9.9K0
MLIR-Toy-实践-4-转换到LLVM IR运行
之前的文章基于MLIR中的Toy教程添加了操作OrOp,并从Toy Dialect降级到了Standard Op。本文主要记录了最终降级到LLVM Dialect并调用LLVM JIT执行的过程。
hunterzju
2022/04/28
1.1K0
MLIR-Toy-实践-4-转换到LLVM IR运行
认识 LLVM
LLVM是一套提供编译器基础设施的开源项目,是用 C++ 编写,包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、执行时期以及“闲置时期”的优化。
张凯强
2022/02/26
1.3K0
认识 LLVM
LLVM 是什么?
LLVM : 全称是这个Low Level Virtual Machine,底层虚拟机,名字是带有虚拟机,但是现在早已和虚拟机没有任何关系了. 是整个LLVM项目,我目前了解的有5部分.
叉叉敌
2022/05/11
1.4K0
LLVM 是什么?
LLVM编译过程
编译器的作用便是把我们的高级编程语言(Objective-C)通过一系列的操作转化成可被计算机执行的机器语言(MachineCode)。
Helloted
2022/06/08
2K0
LLVM编译过程
[062][译]Auto-Vectorization in LLVM
最近遇到一个性能问题,与Auto-Vectorization in LLVM有关,翻译一下官方介绍 http://llvm.org/docs/Vectorizers.html
王小二
2020/12/14
3.3K0
[062][译]Auto-Vectorization in LLVM
LLVM intrinsic 介绍
LLVM 支持“intrinsic function”的概念。这些函数具有众所周知的名称和语义,并且需要遵循某些限制。总的来说,这些 intrinsic 代表 LLVM 语言的扩展机制,在添加到语言(或者位码读取器/写入器、解析器等)时不需要更改 LLVM 中的所有转换。
叉叉敌
2022/05/11
1.7K0
LLVM Pass 其二:Analysis与AnalysisManager
在第一期的时候我们就提到过,新的Pass与LegacyPass的其中一个不同在于将Analysis单独分离了出来,那么本期我们从一个Analysis的写法开始写起。
AkemiHomura
2023/04/07
1.1K0
LLVM Pass 其二:Analysis与AnalysisManager
GCC、Clang和LLVM
GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。
动动我试试
2020/03/12
1.1K0
LLVM(二)——Clang插件
LLVM的下载 由于国内的网络限制,我们需要借助镜像来下载LLVM的源码: https://mirror.tuna.tsinghua.edu.cn/help/llvm/ 执行如下命令下载LLVM项目
拉维
2021/04/16
1.7K0
llvm初探——源码编译
源码编译llvm时遇到编译中断问题,查了一下时内存不足,swap分区也不够用的问题,解决方法是手动创建swap分区文件,扩展swap分区。
hunterzju
2021/12/09
9950
LLVM(一)——编译流程
我们程序员编写的源代码是人类语言,我们可以很轻松得理解;但是对于计算机硬件(CPU)而言,这些源代码就好比是天书,它根本无法理解,更无法直接执行。计算机只能够识别某些特定的二进制指令,所以在程序真正运行之前,必须要把源代码转换成计算机可以识别的二进制指令。
拉维
2021/04/16
2.4K0
LLVM(1)Fibonacci实例
Fibonacci计算是一个非常经典的案例,下面用Fibonacci的两种写法 对比普通C函数和LLVM IR的编写区别。
mingjie
2023/10/13
2800
LLVM(1)Fibonacci实例

相似问题

每次LLVM优化后转储IR (每次通过),LLVM IR通过和后端调试

318

Mono LLVM和LLVM-IR

14

LLVM IR文档

114

LLVM IR限制

10

调试LLVM IR

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文