Function merging is a pivotal technique for reducing code size by combining identical or similar functions into a single function. While prior research has extensively explored this technique, it has not been assessed in conjunction with function outlining and linker's identical code folding, despite substantial common ground. The traditional approaches necessitate the complete intermediate representation to compare functions. Consequently, none of these approaches offer a scalable solution compatible with separate compilations while achieving global function merging, which is critical for large app development. In this paper, we introduce our global function merger, leveraging global merge information from previous code generation runs to optimistically create merging instances within each module context independently. Notably, our approach remains sound even when intermediate representations change, making it well-suited for distributed build environments. We present a comprehensive code generation framework that can run both the state-of-the-art global function outliner and our global function merger. These components complement each other, resulting in a positive impact on code size reduction. Our evaluation demonstrates that when integrating the global function merger with a state-of-the-art global function outliner that is fully optimized with ThinLTO, a further reduction of up to 3.5% in code size can be attained. This is in addition to the initial average reduction of 17.3% achieved through global function outlining for real-world iOS apps, all with minimal extra build time.


翻译:函数合并是一种通过将相同或相似的函数合并为单一函数来减小代码量的关键技术。尽管已有研究对此技术进行了广泛探索,但尚未将其与函数外提及链接器的相同代码折叠技术结合评估,尽管三者存在大量共通之处。传统方法需要完整的中间表示来比较函数,因此无法提供一种既支持分离编译又实现全局函数合并的可扩展方案,而这对于大型应用程序开发至关重要。本文提出的全局函数合并器,利用先前代码生成阶段的全局合并信息,在每个模块上下文中独立创建合并实例。值得注意的是,即使中间表示发生变化,我们的方法依然保持正确性,因此非常适合分布式构建环境。我们提出了一套全面的代码生成框架,能够同时运行最先进的全局函数外提器与本文的全局函数合并器。这些组件相互补充,在代码量缩减方面产生积极影响。实验评估表明,当将全局函数合并器与经ThinLTO充分优化的最先进全局函数外提器集成时,代码量可进一步缩减高达3.5%。这一成果基于真实iOS应用中通过全局函数外提实现平均17.3%初始缩减的基础上,且仅需极少的额外构建时间。

0
下载
关闭预览

相关内容

【ACL2020】多模态信息抽取,365页ppt
专知会员服务
151+阅读 · 2020年7月6日
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
34+阅读 · 2019年10月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
32+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月24日
Arxiv
11+阅读 · 2021年2月17日
Disentangled Information Bottleneck
Arxiv
12+阅读 · 2020年12月22日
Arxiv
12+阅读 · 2019年2月26日
Deep Anomaly Detection with Outlier Exposure
Arxiv
17+阅读 · 2018年12月21日
Relational Deep Reinforcement Learning
Arxiv
10+阅读 · 2018年6月28日
Arxiv
14+阅读 · 2018年5月15日
VIP会员
最新内容
乌军利用美国“黄蜂”无人机摧毁俄军后勤
专知会员服务
1+阅读 · 今天14:53
《支持作战级人机协同智能的交互式OODA流程》
专知会员服务
2+阅读 · 今天14:46
【伯克利博士论文】基于动作分块策略的强化学习
Transformer增强强化学习:通信网络基础与应用综述
ICML 2026 | SARDI:扩散语言模型的自增强检索
专知会员服务
5+阅读 · 6月6日
《国防领域安全采用大语言模型的战略蓝图》
专知会员服务
9+阅读 · 6月6日
ICML 2026 | 演化选择的因果建模
专知会员服务
10+阅读 · 6月5日
综述|学习式3D表征最新进展与趋势
专知会员服务
7+阅读 · 6月5日
相关VIP内容
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
相关论文
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月25日
Arxiv
0+阅读 · 2024年1月24日
Arxiv
11+阅读 · 2021年2月17日
Disentangled Information Bottleneck
Arxiv
12+阅读 · 2020年12月22日
Arxiv
12+阅读 · 2019年2月26日
Deep Anomaly Detection with Outlier Exposure
Arxiv
17+阅读 · 2018年12月21日
Relational Deep Reinforcement Learning
Arxiv
10+阅读 · 2018年6月28日
Arxiv
14+阅读 · 2018年5月15日
相关基金
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员