[llvm-commits] [llvm-gcc-4.2] r44442 - in /llvm-gcc-4.2/trunk/gcc: passes.c tree-optimize.c tree-pass.h

Devang Patel dpatel at apple.com
Thu Nov 29 13:57:10 PST 2007


Nice!
-
Devang

On Nov 29, 2007, at 1:36 PM, Anton Korobeynikov wrote:

> Author: asl
> Date: Thu Nov 29 15:36:16 2007
> New Revision: 44442
>
> URL: http://llvm.org/viewvc/llvm-project?rev=44442&view=rev
> Log:
> Move second openmp expansion pass before llvm-convert. This allows  
> us not to
> reinvent a wheel and rewrite all openmp lowering code at llvm side :)
>
> Thanks to Wojciech Matyjewicz for inspiration :)
>
> Modified:
>    llvm-gcc-4.2/trunk/gcc/passes.c
>    llvm-gcc-4.2/trunk/gcc/tree-optimize.c
>    llvm-gcc-4.2/trunk/gcc/tree-pass.h
>
> Modified: llvm-gcc-4.2/trunk/gcc/passes.c
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/passes.c?rev=44442&r1=44441&r2=44442&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/passes.c (original)
> +++ llvm-gcc-4.2/trunk/gcc/passes.c Thu Nov 29 15:36:16 2007
> @@ -334,6 +334,11 @@
>
> /* The root of the compilation pass tree, once constructed.  */
> struct tree_opt_pass *all_passes, *all_ipa_passes,  
> *all_lowering_passes;
> +/* LLVM LOCAL begin */
> +#ifdef ENABLE_LLVM
> +struct tree_opt_pass *all_extra_lowering_passes;
> +#endif
> +/* LLVM LOCAL end */
>
> /* Iterate over the pass tree allocating dump file numbers.  We want
>    to do this depth first, and independent of whether the pass is
> @@ -511,6 +516,17 @@
>   NEXT_PASS (pass_rebuild_cgraph_edges);
>   *p = NULL;
>
> +  /* LLVM LOCAL begin */
> +#ifdef ENABLE_LLVM
> +  p = &all_extra_lowering_passes;
> +  NEXT_PASS (pass_fixup_cfg);
> +  NEXT_PASS (pass_init_datastructures);
> +  NEXT_PASS (pass_expand_omp);
> +  NEXT_PASS (pass_free_datastructures);
> +  *p = NULL;
> +#endif
> +  /* LLVM LOCAL end */
> +
>   p = &all_passes;
>   NEXT_PASS (pass_fixup_cfg);
>   NEXT_PASS (pass_init_datastructures);
> @@ -742,6 +758,13 @@
> 		       PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh
> 		       | PROP_cfg);
>   register_dump_files (all_lowering_passes, false, PROP_gimple_any);
> +  /* LLVM LOCAL begin */
> +#ifdef ENABLE_LLVM
> +  register_dump_files (all_extra_lowering_passes, false,
> +		       PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh
> +		       | PROP_cfg);
> +#endif
> +  /* LLVM LOCAL end */
>   register_dump_files (all_passes, false,
> 		       PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh
> 		       | PROP_cfg);
>
> Modified: llvm-gcc-4.2/trunk/gcc/tree-optimize.c
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree-optimize.c?rev=44442&r1=44441&r2=44442&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/tree-optimize.c (original)
> +++ llvm-gcc-4.2/trunk/gcc/tree-optimize.c Thu Nov 29 15:36:16 2007
> @@ -473,6 +473,7 @@
>   /* Perform all tree transforms and optimizations.  */
>   /* LLVM LOCAL begin */
> #ifdef ENABLE_LLVM
> +  execute_pass_list(all_extra_lowering_passes);
>   llvm_emit_code_for_current_function(fndecl);
> #else
>   execute_pass_list (all_passes);
>
> Modified: llvm-gcc-4.2/trunk/gcc/tree-pass.h
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree-pass.h?rev=44442&r1=44441&r2=44442&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/tree-pass.h (original)
> +++ llvm-gcc-4.2/trunk/gcc/tree-pass.h Thu Nov 29 15:36:16 2007
> @@ -397,6 +397,11 @@
>
> /* The root of the compilation pass tree, once constructed.  */
> extern struct tree_opt_pass *all_passes, *all_ipa_passes,  
> *all_lowering_passes;
> +/* LLVM LOCAL begin */
> +#ifdef ENABLE_LLVM
> +extern struct tree_opt_pass *all_extra_lowering_passes;
> +#endif
> +/* LLVM LOCAL end */
>
> extern void execute_pass_list (struct tree_opt_pass *);
> extern void execute_ipa_pass_list (struct tree_opt_pass *);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-
Devang






More information about the llvm-commits mailing list