Results 1 - 10
of
167
LLVM: A compilation framework for lifelong program analysis & transformation
, 2004
"... ... a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code re ..."
Abstract
-
Cited by 852 (20 self)
- Add to MetaCart
... a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code
ABSTRACT LLVM: A Compilation Framework for
"... a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code repres ..."
Abstract
- Add to MetaCart
a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code
Abstract interpretation and application to logic programs
, 1992
"... Abstract interpretation is a theory of semantics approximation which is usedfor the construction of semantics-basedprogram analysis algorithms (sometimes called“data flow analysis”), the comparison of formal semantics (e.g., construction of a denotational semantics from an operational one), the des ..."
Abstract
-
Cited by 317 (14 self)
- Add to MetaCart
collection, useless occur-check elimination), program transformation (e.g., partial evaluation, parallelization), andeven program correctness proofs (e.g., termination proof). After a few simple introductory examples, we recall the classical framework for abstract interpretation of programs. Starting from a
1 LLVM to PTX Backend Program Analysis and Transformation seminar
, 2011
"... The low-level virtual machine (LLVM) compiler infrastructure is a mature and stable framework to implement optimization and compiler passes. H. Rhodin presented an LLVM backend to generate Parallel Thread Execution (PTX) instructions from LLVM bitcode. PTX is used as intermediate representation for ..."
Abstract
- Add to MetaCart
The low-level virtual machine (LLVM) compiler infrastructure is a mature and stable framework to implement optimization and compiler passes. H. Rhodin presented an LLVM backend to generate Parallel Thread Execution (PTX) instructions from LLVM bitcode. PTX is used as intermediate representation
Polly- Polyhedral optimization in LLVM Tobias Grosser
"... Various powerful polyhedral techniques exist to optimize computation intensive programs effectively. Applying these techniques on any non-trivial program is still surprisingly difficult and often not as effective as expected. Most polyhedral tools are limited to a specific programming language. Even ..."
Abstract
- Add to MetaCart
optimizers. As a result target architecture specific optimizations are either little effective or not approached at all. In this paper we present Polly, a project to enable polyhedral optimizations in LLVM. Polly automatically detects and transforms relevant program parts in a language
Precise Miss Analysis for Program Transformations with Caches of Arbitrary Associativity
- In Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems
, 1998
"... Analyzing and optimizing program memory performance is a pressing problem in high-performance computer architectures. Currently, software solutions addressing the processormemory performance gap include compiler- or programmerapplied optimizations like data structure padding, matrix blocking, and ot ..."
Abstract
-
Cited by 87 (1 self)
- Add to MetaCart
-to-predict cache conflicts foil heuristic approaches. Furthermore, the lack of a general framework for compiler memory performance analysis makes it impossible to understand the combined effects of several program transformations. The Cache Miss Equation (CME) framework discussed in this paper addresses
Vulcan Binary transformation in a distributed environment
, 2001
"... Distributed computing on the Internet presents new challenges and opportunities for tools that inspect and modify program binaries. The dynamic and heterogeneous nature of the Internet environment extends the traditional product development process by requiring program development tools like these, ..."
Abstract
-
Cited by 119 (6 self)
- Add to MetaCart
and dynamic code modification and provides a framework for cross-component analysis and optimization. It provides system-level analysis for heterogeneous binaries across instruction sets. Vulcan works in the Win32 environment and can process x86, IA64, and MSIL binaries. Vulcan scales to large commercial
A compiler framework for speculative analysis and optimizations
- In Proceedings of the ACM SIGPLAN ’03 Conference on Programming Language Design and Implementation
, 2003
"... Speculative execution, such as control speculation and data speculation, is an effective way to improve program performance. Using edge/path profile information or simple heuristic rules, existing compiler frameworks can adequately incorporate and exploit control speculation. However, very little ha ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
has been done so far to allow existing compiler frameworks to incorporate and exploit data speculation effectively in various program transformations beyond instruction scheduling. This paper proposes a speculative SSA form to incorporate information from alias profiling and/or heuristic rules
Analysis and Compilation of Parallel Programming Languages
"... Parallel programming is increasingly important for embedded systems as well as scientific computing because of the hardware evolution toward heterogeneous multiprocessors. However developers of parallel applications are still stuck with three main, relatively primitive approaches: low-level multithr ..."
Abstract
- Add to MetaCart
compilers such as GCC or LLVM, and to the construction of static analyzers for parallel programs. The cooperation between ENS and MINES ParisTech will lead to a PSL center of excellence in static program analysis and compilation.
Fast and Precise Regular Approximation of Logic Programs
, 1993
"... A practical procedure for computing a regular approximation of a logic program is given. Regular approximations are useful in a variety of tasks in debugging, program specialisation and compile-time optimisation. The algorithm shown here incorporates optimisations taken from deductive database fixpo ..."
Abstract
-
Cited by 105 (19 self)
- Add to MetaCart
A practical procedure for computing a regular approximation of a logic program is given. Regular approximations are useful in a variety of tasks in debugging, program specialisation and compile-time optimisation. The algorithm shown here incorporates optimisations taken from deductive database
Results 1 - 10
of
167