[llvm-commits] [llvm-gcc-4-2] r39874 - in /llvm-gcc-4-2/trunk/gcc: llvm-backend.cpp passes.c tree-optimize.c

Anton Korobeynikov asl at math.spbu.ru
Sun Jul 15 08:55:07 PDT 2007


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"
 





More information about the llvm-commits mailing list