參考文獻 |
[1]
A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman, Compilers: principles, techniques,
& tools. Pearson Education India, 2007.
[2]
U. Ammann, “On code generation in a pascal compiler,” Software: Practice and Experience, vol. 7, no. 3, pp. 391–423, 1977.
[3]
R. Bornat, Understanding and writing compilers: a do-it-yourself guide. Macmillan International Higher Education, 1979.
[4]
C. Lattner and V. Adve, “LLVM: A compilation framework for lifelong program analysis & transformation,” in International Symposium on Code Generation and Optimization, 2004. CGO 2004. , IEEE, 2004, pp. 75–86.
[5]
G. C. Necula, “Translation validation for an optimizing compiler,” in Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, 2000, pp. 83–94.
[6]
V. Delaluz, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin, “Energy-oriented compiler optimizations for partitioned memory architectures,” in Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems, 2000, pp. 138–147.
[7]
H. Ge and J. Liu, “Keeping smartphones cool with gallium phase change material,”
Journal of heat transfer, vol. 135, no. 5, 2013.
[8]
C. Lee, J. K. Lee, and T. Hwang, “Compiler optimization on instruction scheduling for low power,” in Proceedings 13th International Symposium on System Synthesis, IEEE, 2000, pp. 55–60.
[9]
K. D. Cooper and N. McIntosh, “Enhanced code compression for embedded risc processors,” ACM SIGPLAN Notices, vol. 34, no. 5, pp. 139–149, 1999.
[10]
C. Lefurgy, P. Bird, I.-C. Chen, and T. Mudge, “Improving code density using compression techniques,” in Proceedings of 30th Annual International Symposium on Microarchitecture, IEEE, 1997, pp. 194–203.
[11]
S. K. Debray, W. Evans, R. Muth, and B. De Sutter, “Compiler techniques for code compaction,” ACM Transactions on Programming languages and Systems (TOPLAS), vol. 22, no. 2, pp. 378–415, 2000.
53
[12]
Y. Zhuang and S. Chiba, “Better abstraction for efficient code in hpc programs,”
2015.
[13]
D. F. Bacon, S. L. Graham, and O. J. Sharp, “Compiler transformations for high-performance computing,” ACM Computing Surveys (CSUR), vol. 26, no. 4, pp. 345–
420, 1994.
[14]
T. Kisuki, P. M. Knijnenburg, and M. F. O’Boyle, “Combined selection of tile sizes and unroll factors using iterative compilation,” in Proceedings 2000 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.
PR00622), IEEE, 2000, pp. 237–246.
[15]
S. Muchnick et al. , Advanced compiler design implementation. Morgan kaufmann, 1997.
[16]
J. Knoop, O. Rüthing, and B. Steffen, “Partial dead code elimination,” ACM Sig-plan Notices, vol. 29, no. 6, pp. 147–158, 1994.
[17]
D. Ebner, F. Brandner, B. Scholz, A. Krall, P. Wiedermann, and A. Kadlec, “Gen-eralized instruction selection using ssa-graphs,” in Proceedings of the 2008 ACM
SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems, 2008, pp. 31–40.
[18]
A. Haj-Ali, Q. J. Huang, J. Xiang, et al. , “Autophase: Juggling hls phase order-ings in random forests with deep reinforcement learning,” Proceedings of Machine Learning and Systems, vol. 2, pp. 70–81, 2020.
[19]
Y. B. Asher, G. Haber, and E. Stein, “A study of conflicting pairs of compiler optimizations,” in 2017 IEEE 11th International Symposium on Embedded Multicore/
Many-core Systems-on-Chip (MCSoC), IEEE, 2017, pp. 52–58.
[20]
U. Garciarena and R. Santana, “Evolutionary optimization of compiler flag selection by learning and exploiting flags interactions,” in Proceedings of the 2016 on Genetic and Evolutionary Computation Conference Companion, 2016, pp. 1159–1166.
[21]
S.-A.-A. Touati and D. Barthou, “On the decidability of phase ordering problem in optimizing compilation,” in Proceedings of the 3rd Conference on Computing Frontiers, 2006, pp. 147–156.
[22]
G. Kane and J. Heinrich, MIPS RISC architectures. Prentice-Hall, Inc., 1992.
[23]
W. M. McKeeman, “Peephole optimization,” Communications of the ACM, vol. 8, no. 7, pp. 443–444, 1965.
[24]
T. Granlund and P. L. Montgomery, “Division by invariant integers using multi-plication,” in Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, 1994, pp. 61–72.
[25]
M. Beeler et al. , Item 120 in m. beeler, r. w. gosper, and r. schroeppel, hakmem, 1972.
54
[26]
L. contributors, LLVM ”test-suite” repository, https://github.com/llvm/llvm-
test-suite, 2022.
[27]
E. M. B. Consortium et al. , Coremark: An eembc benchmark, 2018.
[28]
R. P. Weicker, “Dhrystone: A synthetic systems programming benchmark,” Communications of the ACM, vol. 27, no. 10, pp. 1013–1030, 1984.
[29]
R. Longbottom, Whetstone benchmark history and results, 2005.
[30]
R. Stallman et al. , Using and porting GNU CC. Free Software Foundation, 1998, vol. 675.
[31]
C. Lattner, “LLVM and Clang: Next generation compiler technology,” in The BSD
conference, vol. 5, 2008.
[32]
D. Novillo, “GCC an architectural overview, current status, and future directions,”
in Proceedings of the Linux Symposium, vol. 2, 2006, p. 185.
[33]
A. Engelfriet, “Choosing an open source license,” IEEE software, vol. 27, no. 1, pp. 48–49, 2009.
[34]
A. H. Ashouri, W. Killian, J. Cavazos, G. Palermo, and C. Silvano, “A survey on compiler autotuning using machine learning,” ACM Computing Surveys (CSUR), vol. 51, no. 5, pp. 1–42, 2018.
[35]
J. Aycock, “A brief history of just-in-time,” ACM Computing Surveys (CSUR), vol. 35, no. 2, pp. 97–113, 2003.
[36]
A. W. Wade, P. A. Kulkarni, and M. R. Jantz, “AOT vs. JIT: impact of profile data on code quality,” in Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, 2017, pp. 1–10.
[37]
C. Liem, Retargetable Compilers for Embedded Core Processors: Methods and Experiences in Industrial Applications. Springer Science & Business Media, 2013.
[38]
F. Agakov, E. Bonilla, J. Cavazos, et al. , “Using machine learning to focus iterative optimization,” in International Symposium on Code Generation and Optimization (CGO’06), IEEE, 2006, 11–pp.
[39]
E. Park, J. Cavazos, L.-N. Pouchet, C. Bastoul, A. Cohen, and P. Sadayappan,
“Predictive modeling in a polyhedral optimization space,” International journal of parallel programming, vol. 41, no. 5, pp. 704–750, 2013.
[40]
A. H. Ashouri, A. Bignoli, G. Palermo, and C. Silvano, “Predictive modeling method-ology for compiler phase-ordering,” in Proceedings of the 7th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures and the 5th Workshop on Design Tools and Architectures For Multicore Embedded Computing Platforms, 2016, pp. 7–12.
[41]
L. Almagor, K. D. Cooper, A. Grosul, et al. , “Finding effective compilation sequences,” ACM SIGPLAN Notices, vol. 39, no. 7, pp. 231–239, 2004.
55
[42]
K. D. Cooper, A. Grosul, T. J. Harvey, et al. , “Acme: Adaptive compilation made efficient,” ACM SIGPLAN Notices, vol. 40, no. 7, pp. 69–77, 2005.
[43]
A. H. Ashouri, A. Bignoli, G. Palermo, C. Silvano, S. Kulkarni, and J. Cavazos,
“Micomp: Mitigating the compiler phase-ordering problem using optimization sub-sequences and machine learning,” ACM Transactions on Architecture and Code Optimization (TACO), vol. 14, no. 3, pp. 1–28, 2017.
[44]
A. H. Ashouri, G. Mariani, G. Palermo, E. Park, J. Cavazos, and C. Silvano,
“Cobayn: Compiler autotuning framework using bayesian networks,” ACM Transactions on Architecture and Code Optimization (TACO), vol. 13, no. 2, pp. 1–25, 2016.
[45]
R. A. Johnson, D. W. Wichern, et al. , Applied multivariate statistical analysis.
Pearson London, UK: 2014, vol. 6.
[46]
M. Rigger, S. Marr, S. Kell, D. Leopoldseder, and H. Mössenböck, “An analysis of x86-64 inline assembly in c programs,” in Proceedings of the 14th ACM
SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 2018, pp. 84–99.
[47]
D. Batten, S. Jinturkar, J. Glossner, M. Schulte, and P. D’Arcy, “A new approach to dsp intrinsic functions,” in Proceedings of the 33rd Annual Hawaii International Conference on System Sciences, IEEE, 2000, 10–pp.
[48]
K. Asanović and D. A. Patterson, “Instruction sets should be free: The case for risc-v,” EECS Department, University of California, Berkeley, Tech. Rep. UCB/
EECS-2014-146, 2014. |