[llvm-commits] [gcc-plugin] r81242 - /gcc-plugin/trunk/llvm-convert.cpp

Duncan Sands baldrick at free.fr
Tue Sep 8 12:38:17 PDT 2009


Author: baldrick
Date: Tue Sep  8 14:38:16 2009
New Revision: 81242

URL: http://llvm.org/viewvc/llvm-project?rev=81242&view=rev
Log:
Output automatic variables.  Oddly enough, some functions
use these!

Modified:
    gcc-plugin/trunk/llvm-convert.cpp

Modified: gcc-plugin/trunk/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/gcc-plugin/trunk/llvm-convert.cpp?rev=81242&r1=81241&r2=81242&view=diff

==============================================================================
--- gcc-plugin/trunk/llvm-convert.cpp (original)
+++ gcc-plugin/trunk/llvm-convert.cpp Tue Sep  8 14:38:16 2009
@@ -625,12 +625,14 @@
     // Not supported yet.
   }
 
-//TODO  // As it turns out, not all temporaries are associated with blocks.  For those
-//TODO  // that aren't, emit them now.
-//TODO  for (tree t = cfun->unexpanded_var_list; t; t = TREE_CHAIN(t)) {
-//TODO    if (!DECL_LLVM_SET_P(TREE_VALUE(t)))
-//TODO      EmitAutomaticVariableDecl(TREE_VALUE(t));
-//TODO  }
+  // Emit all local variables.
+  for (tree vars = DECL_STRUCT_FUNCTION(FnDecl)->local_decls; vars;
+       vars = TREE_CHAIN(vars)) {
+    tree var = TREE_VALUE (vars);
+    // Static variables may already have been declared.
+    if (!DECL_LLVM_SET_P(var))
+      EmitAutomaticVariableDecl(var);
+  }
 
   // Create a new block for the return node, but don't insert it yet.
   ReturnBB = BasicBlock::Create(Context, "return");





More information about the llvm-commits mailing list