Author: asl Date: Sun Jul 15 10:55:06 2007 New Revision: 39874 URL: http://llvm.org/viewvc/llvm-project?rev=39874&view=rev Log: My last commit is wrong. gcc internals changed dramatically since 4.01. Now we have 'cfg gimple' as input for llvm-convert, not just 'gimple'. Fix the code by cfg traversal.
Big thanks for Andrew Pinski for noting this. Modified: llvm-gcc-4-2/trunk/gcc/llvm-backend.cpp llvm-gcc-4-2/trunk/gcc/passes.c llvm-gcc-4-2/trunk/gcc/tree-optimize.c Modified: llvm-gcc-4-2/trunk/gcc/llvm-backend.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4-2/trunk/gcc/llvm-backend.cpp?rev=39874&r1=39873&r2=39874&view=diff ============================================================================== --- llvm-gcc-4-2/trunk/gcc/llvm-backend.cpp (original) +++ llvm-gcc-4-2/trunk/gcc/llvm-backend.cpp Sun Jul 15 10:55:06 2007 @@ -66,6 +66,7 @@ #include "function.h" #include "tree-inline.h" #include "langhooks.h" +#include "cgraph.h" } // Non-zero if bytecode from PCH is successfully read. @@ -556,10 +557,12 @@ // Set up parameters and prepare for return, for the function. Emitter.StartFunctionBody(); - - // Emit the body of the function. - Emitter.Emit(DECL_SAVED_TREE(fndecl), 0); - + + // Emit the body of the function iterating over all BBs + basic_block bb; + FOR_EACH_BB_FN (bb, DECL_STRUCT_FUNCTION (fndecl)) + Emitter.Emit(bb->stmt_list, 0); + // Wrap things up. Fn = Emitter.FinishFunctionBody(); } 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=39874&r1=39873&r2=39874&view=diff ============================================================================== --- llvm-gcc-4-2/trunk/gcc/passes.c (original) +++ llvm-gcc-4-2/trunk/gcc/passes.c Sun Jul 15 10:55:06 2007 @@ -473,12 +473,6 @@ { struct tree_opt_pass **p; -/* LLVM LOCAL begin - Reduce cc1 size with dead code stripping. */ -#ifdef ENABLE_LLVM - return; -#endif -/* LLVM LOCAL end */ - #define NEXT_PASS(PASS) (p = next_pass_1 (p, &PASS)) /* Interprocedural optimization passes. */ p = &all_ipa_passes; 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=39874&r1=39873&r2=39874&view=diff ============================================================================== --- llvm-gcc-4-2/trunk/gcc/tree-optimize.c (original) +++ llvm-gcc-4-2/trunk/gcc/tree-optimize.c Sun Jul 15 10:55:06 2007 @@ -49,8 +49,9 @@ #include "graph.h" /* APPLE LOCAL optimization pragmas 3124235/3420242 */ #include "opts.h" -/* LLVM LOCAL */ +/* LLVM LOCAL begin */ #include "llvm.h" +/* LLVM LOCAL end */ #include "cfgloop.h" #include "except.h" _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits