PLCT全称是「程序语言与编译技术实验室」,隶属于中国科学院软件所(ISCAS)智能软件研究中心(ISRC)。我们每年12月份会举办一次开放日(OpenDay)活动,向外界展示和介绍这一年来PLCT做过的好玩的技术尝试,以及我们认为在某些角落改变世界的成果。此次开放日是PLCT第一次举办,欢迎来现场一起享受技术交流的快乐。
时间: 2019年12月18日周三全天
地点: 北京市海淀区软件研究所5号楼4层中会议室
报名: https://www.bagevent.com/event/6244707 (公众号文章点击文末「查看原文」可以直接跳转)
09:00 - 09:25 签到
09:25 - 09:30 主持人开场致辞
09:30 - 10:00 PLCT与方舟编译器社区建设
10:00 - 10:30 TenonStudio 2019年研发概述
10:30 - 11:00 Quick! 未来之路
11:00 - 11:40 深入理解 QEMU 实现原理,并进行扩展
11:40 - 12:00 PLCT近期的开发编译教学计划
12:00 - 13:30 茶歇及午休(没有午餐提供)
13:30 - 14:20 VLIW DSP 处理器代码生成技术简介
14:20 - 14:40 Tiger编译器后端实现
14:40 - 15:00 使用LLVM测试框架对ollvm进行性能评估
15:00 - 15:30 通过手写 LLVM IR 生成过程入门LLVM
15:30 - 16:00 如何从零开始写一个 LLVM Pass
16:00 - 16:30 茶歇
16:30 - 17:30 LLVM TableGen 实例讲解
17:30 - 18:00 LLVM 中的 RISC-V 向量扩展支持
具体的议程还在不断完善中,将在近期公布。
报告人: 史宁宁 项目主管
方舟编译器开源以来,PLCT在其社区建设中发挥了重要作用。本次演讲将在介绍方舟编译器开源代码和社区建设的基础之上,介绍PLCT在方舟编译器社区建设之中所做的各项工作。同时,也将对PLCT未来在方舟编译器社区发展之中的工作方向进行展望。
报告人: 许中兴 博士
TENON Project 是软件所与中科重德主导开发的工业机器人编程系统。 TenonStudio 是TENON系统中的离线模拟开发环境。 本次报告中,许中兴博士将介绍 TenonStudio 和控制器的架构、组成、各组件的开发状态、遇到的bugs等,涉及的领域等方方面面的情况。
报告人: 赵伟峰 工程师
赵伟峰工程师自2019年下半年加入 TenonStudio 项目组。在本次报告中,赵伟峰将介绍加入项目以来对项目的一些思考、向 TenonStudio 中引入 QtQuick 的历程、带来的好处以及付出的代价。
报告人: 王俊强 见习主管
王俊强工程师在2019年由于工作需要开始研究QEMU的内部实现原理。本次报告中,王俊强工程师将介绍QEMU的基本框架、实现原理,以及在项目中对QEMU进行的扩展。与此同时,他也在寻找国内做QEMU的志同道合的小伙伴,希望可以形成一个小的学习团体,一起交流进步。
报告人: 吴伟 项目总监
近期,PLCT实验室联合HelloGCC、HelloLLVM社区进行了编译技术教学的开放性尝试。本次报告将阐述我们近期的教学计划安排,以及在2020年的年度教学规划和目标。
报告人: 邱吉 博士
VILW(超长指令字) 架构是一种通过编译器挖掘指令集并行性的处理器架构,它被广泛的应用在高性能DSP处理器的设计中。这种架构的软件性能高度依赖于编译器。本报告将对VLIW架构编译器上通用的代码生成技术进行介绍。
报告人: 韩柳彤 保研实习生
简介:Tiger 语言是编译原理教材《Modern Compiler Implementation in C》中定义的小规模教学用语言,我们为其实现了一个以RISC(RV32I)为目标指令集的编译器后端部分,为编译原理教学平台提供支持。
报告人: 韩柳彤 保研实习生
简介:obfuscator-LLVM是一个开源的带有混淆功能的编译器。我们使用SPEC2006作为测试集,从代码尺寸、运行效率和代码相似性三个维度对OLLVM进行了评估测试,为后续基于OLLVM的定制开发提供支持。
报告人:李威威 见习主管
LLVM IR 是LLVM编译框架的核心组成部分,是编译器前端和后端衔接的枢纽。本次报告将对IR程序的构成以及IR相关核心类进行介绍,并通过实例讲解如何生成LLVM IR。
报告人: 廖春玉 工程师
实现一个LLVM Pass: LLVM Pass框架是LLVM系统的重要组成部分。LLVM的优化和转换工作是由很多个Pass来一起完成的,类似流水线操作一样,每个Pass完成特定的工作。本报告将对如何实现一个LLVM Pass进行介绍。
报告人: 邢明杰 高级工程师
简介:TableGen是一种DSL语言,用来处理领域特定的信息记录。LLVM使用TableGen来描述目标体系结构信息,学习TableGen有助于理解LLVM后端代码生成机制,为实现新的指令集架构支持打下基础。该报告通过实例对TableGen进行详细讲解。
报告人: 张尹 博士在读
简介:LLVM的RISC-V后端目前还没有对向量扩展的支持,而目前市场和学术界都对LLVM和RISC-V的向量扩展有一定的需求,所以我们致力于实现LLVM中的RISC-V向量扩展的支持。目前我们已经完成了RISC-V向量扩展指令的汇编实现,后续会进一步对LLVM实现完整的RISC-V向量扩展支持。本次报告主要阐述RISC-V向量扩展的汇编代码实现与后续向量扩展支持所需的相关工作。