Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
authorChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2004 02:13:07 +0000 (02:13 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2004 02:13:07 +0000 (02:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12367 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/Utils/Local.h

index 05db3b12552220b59dfcfc57e0a04bc0a79290e3..6df8da3de53510f738a82886b2f1cec0431284a1 100644 (file)
@@ -21,6 +21,7 @@ namespace llvm {
 
 class Pass;
 class PHINode;
+class AllocaInst;
 
 //===----------------------------------------------------------------------===//
 //  Local constant propagation...
@@ -87,6 +88,14 @@ Value *hasConstantValue(PHINode *PN);
 ///
 bool SimplifyCFG(BasicBlock *BB);
 
+/// DemoteRegToStack - This function takes a virtual register computed by an
+/// Instruction& X and replaces it with a slot in the stack frame, allocated via
+/// alloca.  This allows the CFG to be changed around without fear of
+/// invalidating the SSA information for the value.  It returns the pointer to
+/// the alloca inserted to create a stack slot for X.
+///
+AllocaInst *DemoteRegToStack(Instruction &X);
+
 } // End llvm namespace
 
 #endif