Added function GetMemInstArgs and made FoldGetElemChain private.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sat, 24 Aug 2002 21:03:10 +0000 (21:03 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sat, 24 Aug 2002 21:03:10 +0000 (21:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3503 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/InstrSelectionSupport.h

index a134e35b868ebc51d99379eff5b2ee6332981bda..39d9d180722cedcdf7c4e1a50b2df745ed6dba12 100644 (file)
@@ -37,16 +37,25 @@ int64_t         GetConstantValueAsSignedInt     (const Value *V,
 
 
 //---------------------------------------------------------------------------
-// Function: FoldGetElemChain
+// Function: GetMemInstArgs
 // 
 // Purpose:
-//   Fold a chain of GetElementPtr instructions into an equivalent
-//   (Pointer, IndexVector) pair.  Returns the pointer Value, and
-//   stores the resulting IndexVector in argument chainIdxVec.
+//   Get the pointer value and the index vector for a memory operation
+//   (GetElementPtr, Load, or Store).  If all indices of the given memory
+//   operation are constant, fold in constant indices in a chain of
+//   preceding GetElementPtr instructions (if any), and return the
+//   pointer value of the first instruction in the chain.
+//   All folded instructions are marked so no code is generated for them.
+//
+// Return values:
+//   Returns the pointer Value to use.
+//   Returns the resulting IndexVector in idxVec.
+//   Returns true/false in allConstantIndices if all indices are/aren't const.
 //---------------------------------------------------------------------------
 
-Value*         FoldGetElemChain    (const InstructionNode* getElemInstrNode,
-                                    std::vector<Value*>& chainIdxVec);
+Value*          GetMemInstArgs  (const InstructionNode* memInstrNode,
+                                 vector<Value*>& idxVec,
+                                 bool& allConstantIndices);
 
 
 //------------------------------------------------------------------------