1
0
dfa-for-co-slr/pubs.csv
Matthias Veigel e6a7f67825
All checks were successful
/ Build pdf (push) Successful in 42s
Wrote full draft
2025-06-08 16:58:05 +02:00

4.6 KiB

1IDD1D2D3D4D5D6D7D8D9
2P1Kildall, Gary A.1973A unified approach to global program optimizationAllows straight-line optimization techniques for branch structureGeneral TechniquesNoneConstant Propagation, Common Subexpression Elimination, Register Optimization
3P2Rastislav Bodik; Rajiv Gupta; Mary Lou Soffa1997Interprocedural conditional branch eliminationReduction of instruction countExponential/Polynomial worst-case time complexityICCCConditional Branch Elimination, Elimination of correlated conditionals and operations
4P3Ramsey, Norman; Dias, João; Peyton Jones, Simon2010Hoopl: a modular, reusable library for dataflow analysis and transformationReusable library for DFADFA typically entangled with compiler, Algorithms complicated and hard to understandLibrary, used by GHCCustomInterleaved analysis and rewriting, speculative rewriting, computing fixed points, dynamic fault isolationOnly usable from Haskell
5P4Edvinsson, Marcus; Lowe, Welf2010A multi-threaded approach for data-flow analysisAccuracy more important than speed since at compile timeLow usability for JIT because of time consumption, DFA is computation intense, DFA often implemented sequentiallyCustomSSA, JavaHigh speed-up for analysis, for benchmarks without benefit max loss of 13% speedOnly speed-up of 1.78 on 8 cores
6P5Joisha, Pramod G.; Schreiber, Robert S.; Banerjee, Prithviraj; Boehm, Hans J.; Chakrabarti, Dhruva R.2011A technique for the effective and automatic reuse of classical compiler optimizations on multithreaded codeSequential transformations can not be applied to parallel code, Need to watch out for data races and data synchronizationGCCCBidirectional DFA across synchronizations in well-synchronized programs, Can reuse existing optimizations, Value numbering, Copy propagation
7P6Edvinsson, Marcus; Lundberg, Jonas; Löwe, Welf2011Parallel points-to analysis for multi-core machinesPoints-To Analysis analyses whole programSSA nodes in Points-to SSA are sequentially dependentCustomSSA, JavaParallel Points-to Analysis
8P7Tang, Xiaolong; Järvi, Jaakko2012Summary-based data-flow analysis that understands regular composite objects and iteratorsHard to make assumptions about user-defined typesLLVMLLVM IRCommon Sub-expression elimination, Copy propagation, Equational reasoning
9P8Urban, Bernhard; Steinlechner, Harald2013Implementing a Java JIT compiler in Haskell: case studyCustom JITJava BytecodeLiveness Analysis
10P9Duboscq, Gilles; Stadler, Lukas; Würthinger, Thomas; Simon, Doug; Wimmer, Christian; Mössenböck, Hanspeter2013Graal IR: An Extensible Declarative Intermediate RepresentationEasier optimization implementation with Graph-IRGraalVM, uses P3Java BytecodeIR which is simple to run optimizations onNot implemented: commutative edges on nodes for better congruent detection
11P10Zaidi, Ali Mustafa; Greaves, David2015Value State Flow Graph: A Dataflow Compiler IR for Accelerating Control-Intensive Code in Spatial HardwarePerformance improvement through execution of dataflow graphCustom LLVM BackendLLVM IRStructs, Multidimensional-Arrays not supported
12P11Ginsbach, Philip; Crawford, Lewis; O'Boyle, Michael F. P.2018CAnDL: a domain specific language for compiler analysisDSL for optimization implementation makes implementation simpler and iterations quickerOptimizations are hard to implement in LLVM, Simple peephole optimization is 30000 LOCDSL to LLVM PassLLVM IRModerate compile time increase, no formal verification
13P12Pathade, Komal; Khedker, Uday P.2019Path sensitive MFP solutions in presence of intersecting infeasible control flow path segmentsPath insensitive solutions overapproximate data flow valuesTCS Embedded Code AnalyzerCReaching Definition, Def-Use Pairs, Unitialized Variables, 300% precision increase100% analysis time increase
14P13Reissmann, Nico; Meyer, Jan Christian; Bahmann, Helge; Själander, Magnus2020RVSDG: An Intermediate Representation for Optimizing CompilersStructures like loops not encoded in SSACustomLLVM IRCommon Node Elimination, Dead Node Elimination
15P14Shi, Qingkai; Zhang, Charles2020Pipelining bottom-up data flow analysisCalling dependence limit parallelism of bottom-up DFACustom based on LLVMLLVM IR2x to 3x speedup by relaxing calling dependenceInline assembly and c++ stl not modeled
16P15Aigner, Christoph; Barany, Gergö; Mössenböck, Hanspeter2024Lazy Sparse Conditional Constant Propagation in the Sea of NodesDetecting all compile time constant is undecidable problemGraalVMSea of Nodes / Graal IRLazy iteration to reduce portion of necessary graph