11,397 Hits in 5.9 sec

To Inline or Not to Inline? Enhanced Inlining Decisions [chapter]

Peng Zhao, José Nelson Amaral
2004 Lecture Notes in Computer Science  
In this paper we describe the trade-off that has to be worked out to make the correct inlining decisions.  ...  We introduce two new heuristics to enhance the ORC inlining heuristics: adaptation and cycle density.  ...  Sincere thanks to Sun C. Chan and Roy Ju for their help and discussion on the ORC inlining tuning. This research is supported by the Natural Science and Engineering Research Council of Canada (NSERC).  ... 
doi:10.1007/978-3-540-24644-2_26 fatcat:5pn375moyzbzbjr6vvcabxw6yy

Aggressive inlining

Andrew Ayers, Richard Schooler, Robert Gottlieb
1997 Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation - PLDI '97  
We believe our good results can be explained by a number of factors: inlining at the intermediate-code level removes most technical restrictions on what can be inlined; the ability to inline across files  ...  and incorporate profile information enables us to choose better inline candidates; a highquality back end can exploit the scheduling and register allocation opportunities presented by larger subroutines  ...  We also appreciate the thoughtful comments of the anonymous referees which helped to substantially improve this paper.  ... 
doi:10.1145/258915.258928 dblp:conf/pldi/AyersGS97 fatcat:r3elaz3k55hvxlkqabz5we4wly

Hash Map Inlining

Dibakar Gope, Mikko H. Lipasti
2016 Proceedings of the 2016 International Conference on Parallel Architectures and Compilation - PACT '16  
In many cases, hash maps with a fixed set of keys are used in lieu of explicitly defined classes or structures, as would be common in compiled languages like Java or C++.  ...  This paper quantifies these overheads, describes a compiler algorithm that discovers common use cases for hash maps and inlines them so that keys are accessed with direct offsets, and reports measured  ...  Because of their dynamic features, Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed  ... 
doi:10.1145/2967938.2967949 dblp:conf/IEEEpact/GopeL16 fatcat:5e5tkvkdgrh5vgklovgu4ajoyi

An experiment with inline substitution

Keith D. Cooper, Mary W. Hall, Linda Torczon
1991 Software, Practice & Experience  
growth, and (3) the compilers we tested were not able to capitalize consistently inlining.  ...  This paper describes an experiment undertaken to evaluate the effectiveness of inline substitution as a method of improving the running time of compiled code.  ...  There does not appear to be a clear trend in the data, either by compiler or by program. Overall, wins outnumber losses.  ... 
doi:10.1002/spe.4380210604 fatcat:fnlibtzcvvbcta2k6ap7fa6nru

Automatic construction of inlining heuristics using machine learning

S. Kulkarni, J. Cavazos, C. Wimmer, D. Simon
2013 Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)  
Therefore, it is important that an inliner has an effective heuristic that controls whether a method is inlined or not.  ...  However, it is not always apparent what the most important features are for this problem or the relative importance of these features.  ...  Consider the example of a random inliner, which at each inlining decision point makes a random choice whether or not to inline.  ... 
doi:10.1109/cgo.2013.6495004 dblp:conf/cgo/KulkarniCWS13 fatcat:nykhy2odafbxhckbmrx2bv3wj4

MLGOPerf: An ML Guided Inliner to Optimize Performance [article]

Amir H. Ashouri, Mostafa Elhoushi, Yuzhe Hua, Xiang Wang, Muhammad Asif Manzoor, Bryan Chan, Yaoqing Gao
2022 arXiv   pre-print
This paper presents MLGOPerf; the first end-to-end framework capable of optimizing performance using LLVM's ML-Inliner.  ...  MLGO was among the first of such projects and it only strives to reduce the code size of a binary with an ML-based Inliner using Reinforcement Learning.  ...  whether or not to inline the function body of the callee into the caller.  ... 
arXiv:2207.08389v2 fatcat:hukrihw22beo5dvwbd22duoqz4

Context-sensitive trace inlining for Java

Christian Häubl, Christian Wimmer, Hanspeter Mössenböck
2013 Computer languages, systems & structures  
Based on this work, we evaluate the effect of trace inlining on the performance and the amount of generated machine code. Trace inlining has several major advantages when compared to method inlining.  ...  We evaluate several inlining heuristics on the benchmark suites DaCapo 9.12 Bach, SPECjbb2005, and SPECjvm2008 and show that our trace-based compiler achieves an up to 51% higher peak performance than  ...  If the actual receiver type does not match any of the expected types we deoptimize to the interpreter. • Another enhancement is the inlining of polymorphic calls.  ... 
doi:10.1016/ pmid:27239163 pmcid:PMC4872537 fatcat:5ufowiwfi5c4zcpsmzkjthiylq

Finding Inlined Functions in Optimized Binaries [article]

Toufique Ahmed, Premkumar Devanbu, Anand Ashok Sawant
2021 arXiv   pre-print
Recovering these inlined functions from optimized binaries is an essential task that most state-of-the-art decompiler tools try to do but do not perform very well.  ...  In this paper, we evaluate a supervised learning approach to the problem of recovering inlined functions.  ...  Our tool does not degrade the recall or F-score for Ghidra; instead, it enhances it enough to outperform Hex-rays.  ... 
arXiv:2103.05221v1 fatcat:5sqqyyyiczdttli6fvz5apcu6q

Secrets of the Glasgow Haskell Compiler inliner

2002 Journal of functional programming  
A good compiler must inline many of these calls to recover an e ciently executable program. In principle, inlining is dead simple: just replace the call of a function by an instance of its body.  ...  We focus mainly on the algorithmic aspects, but we also provide some indicative measurements to substantiate the importance of various aspects of the inliner.  ...  Special thanks are due to Manuel Chakravarty, Manuel Serrano, Oscar Waddell, and Norman Ramsey, for their particularly detailed and thoughtful remarks.  ... 
doi:10.1017/s0956796802004331 fatcat:dtqaglvpevfr7ggzk6zmx7incu

Inlining java native calls at runtime

Levon Stepanian, Angela Demke Brown, Allan Kielstra, Gita Koblents, Kevin Stoodley
2005 Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments - VEE '05  
Our work leverages the ability to store statically-generated IL alongside native binaries, to facilitate native inlining at Java callsites at JIT compilation time.  ...  We perform further optimizations to transform inlined callbacks into semantically equivalent lightweight operations.  ...  It would also not have been possible without the support of the TR JIT compiler team at the IBM Toronto Software Lab.  ... 
doi:10.1145/1064979.1064997 dblp:conf/vee/StepanianBKKS05 fatcat:n347qkzdurcsdhv3f3cddpajwu

An Architecture for Inline Anomaly Detection

Tammo Krueger, Christian Gehl, Konrad Rieck, Pavel Laskov
2008 2008 European Conference on Computer Network Defense  
redirected to a special hardened system or logged to a network sink for later analysis.  ...  In this paper we propose an intrusion prevention system (IPS) which operates inline and is capable to detect unknown attacks using anomaly detection methods.  ...  Another conscious decision was not to deploy any special accelera-tion mechanisms for high-speed performance, such as network or graphics processors.  ... 
doi:10.1109/ec2nd.2008.8 fatcat:dduuwys7prgi3hvxgh6z3t3frq

Inline Spectroscopy: From Concept to Function

Jon Tschudi, Marion O'Farrell, Kari Anne Hestnes Bakke
2018 Applied Spectroscopy  
in turn will limit or enhance the performance of the prediction model.  ...  In contrast, the corresponding number of commercial successes of inline spectroscopy is surprisingly lower. This article discusses inline spectroscopy from an instrumentation perspective.  ...  When the decision to go inline is made, controlled measurements (Fig. 2 , step 2) will need to be performed and analyzed in the online context.  ... 
doi:10.1177/0003702818788374 pmid:29945460 fatcat:7ndfgpo4zrfxjkyz33hahtwbu4

Profile-guided automatic inline expansion for C programs

Pohua P. Chang, Scott A. Mahlke, William Y. Chen, Wen-Mei W. Hwu
1992 Software, Practice & Experience  
This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner.  ...  The experimental results show that this inliner achieves signi cant speedups for production C programs.  ...  Special thanks to the anonymous referees whose comments and suggestions helped to improve the quality of this paper signi cantly. This  ... 
doi:10.1002/spe.4380220502 fatcat:4yrc7ghwhvgydf6zejagvoyg6u

Demand-driven Inlining in a Region-based Optimizer for ILP Architectures [article]

Thomas P. Way, Lori L. Pollock
2006 arXiv   pre-print
Heuristics play a key role in determining when it is most beneficial to inline procedures during region formation.  ...  This paper presents an interprocedural compilation technique which performs procedure inlining on-demand, rather than as a separate phase, to improve the ability of a region-based optimizer to control  ...  The path selection process must determine at that point whether or not the callee should be inlined, a decision dependent on the heuristics used to guide inlining.  ... 
arXiv:cs/0604043v1 fatcat:av2xnin2t5hwrfao2v6kqebr34

Compiling C for vectorization, parallelization, and inline expansion

R. Allen, S. Johnson
1988 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation - PLDI '88  
Places where existing algorithms fail to deal with practical problems effectively, frequently because the problems are large in some dimension that has not been much explored.  ...  This paper attempts to communicate some of those insights. 3.  ...  This enhancement is not that difficult, although it does require an assumption that each motion down a pointer goes to independent storage.  ... 
doi:10.1145/53990.54014 dblp:conf/pldi/AllenJ88 fatcat:rpsq263vfragjc4qr7nbawxsfu
« Previous Showing results 1 — 15 out of 11,397 results