International audienceData-dependences need to be analyzed to guarantee the legality of a loop transformations and parallelization. But many dependences are spurious memory-based dependences: they are induced by storing values in the same memory location. Spurious dependences reduce the degrees of freedom in loop transformations and parallelization. The effective handling of spurious data-dependences in GIMPLE is essential for the effectiveness of polyhedral compilation in GCC. We show that most memory-based-dependences induced by the gimplification can be ignored, rather than scalar/array expanded. Our method relies on an extension of the violated-dependence-analysis technique implemented in GRAPHITE. It has a minimal impact on compilation...
Special issue on "Optimizing Compilers for Parallel Languages"International audienceWe explore the l...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
False dependences are caused by the reuse of memory to store different data. These false dependences...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
Selected for presentation at the HiPEAC 2013 Conf.International audienceTo preserve the validity of ...
International audienceModern compilers are responsible for adapting the semantics of source programs...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
Abstract. Modern compilers are responsible for adapting the semantics of source programs into a form...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
We present a plan to add loop nest optimizations in GCC based on polyhedral representations of loop ...
The polytope model is used since many years to describe standard loop optimizations like blocking, i...
High-level loop transformations change the order in which basic computations in a program are execut...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
International audienceWe present a dynamic dependence analyzer whose goal is to compute dependences ...
Special issue on "Optimizing Compilers for Parallel Languages"International audienceWe explore the l...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
False dependences are caused by the reuse of memory to store different data. These false dependences...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
Selected for presentation at the HiPEAC 2013 Conf.International audienceTo preserve the validity of ...
International audienceModern compilers are responsible for adapting the semantics of source programs...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
Abstract. Modern compilers are responsible for adapting the semantics of source programs into a form...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
We present a plan to add loop nest optimizations in GCC based on polyhedral representations of loop ...
The polytope model is used since many years to describe standard loop optimizations like blocking, i...
High-level loop transformations change the order in which basic computations in a program are execut...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
International audienceWe present a dynamic dependence analyzer whose goal is to compute dependences ...
Special issue on "Optimizing Compilers for Parallel Languages"International audienceWe explore the l...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
False dependences are caused by the reuse of memory to store different data. These false dependences...