[llvm-commits] [llvm-gcc-4.2] r52979 - /llvm-gcc-4.2/trunk/gcc/tree-inline.c

Duncan Sands baldrick at free.fr
Tue Jul 1 13:08:54 PDT 2008


Author: baldrick
Date: Tue Jul  1 15:08:54 2008
New Revision: 52979

URL: http://llvm.org/viewvc/llvm-project?rev=52979&view=rev
Log:
Eliminate a source of gimple temporaries where
the definition doesn't dominate all uses (for
some reason this is seen on Darwin but not on
linux).

Modified:
    llvm-gcc-4.2/trunk/gcc/tree-inline.c

Modified: llvm-gcc-4.2/trunk/gcc/tree-inline.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree-inline.c?rev=52979&r1=52978&r2=52979&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/tree-inline.c (original)
+++ llvm-gcc-4.2/trunk/gcc/tree-inline.c Tue Jul  1 15:08:54 2008
@@ -1261,6 +1261,16 @@
 	{
 	  var = modify_dest;
 	  use = NULL;
+
+    /* LLVM LOCAL begin */
+#ifdef ENABLE_LLVM
+    /* The return node may not dominate all of its uses.  Because of
+     * this, conservatively don't consider it for SSA form anymore.
+    */
+    if (TREE_CODE (var) == VAR_DECL)
+      DECL_GIMPLE_FORMAL_TEMP_P (var) = 0;
+#endif
+    /* LLVM LOCAL end */
 	  goto done;
 	}
     }





More information about the llvm-commits mailing list