Major overhaul to support arbitrary mixed array and structure indices.

Also moved to the Scalar/ directory and renamed to "MultiDim".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1961 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vikram S. Adve
2002-03-24 03:21:18 +00:00
parent d32e70a09f
commit 98d64f8d51
2 changed files with 103 additions and 70 deletions

View File

@@ -1,16 +1,18 @@
//===- llvm/Transforms/DecomposeArrayRefs.h - Lower array refs --*- C++ -*--=//
//===- llvm/Transforms/DecomposeMultiDimRefs.h - Lower multi-dim refs --*- C++ -*--=//
//
// DecomposeArrayRefs -
// Convert multi-dimensional array references into a sequence of
// DecomposeMultiDimRefs -
// Convert multi-dimensional references consisting of any combination
// of 2 or more array and structure indices into a sequence of
// instructions (using getelementpr and cast) so that each instruction
// has at most one array offset.
// has at most one index (except structure references,
// which need an extra leading index of [0]).
//
//===---------------------------------------------------------------------===//
#ifndef LLVM_TRANSFORMS_DECOMPOSEARRAYREFS_H
#define LLVM_TRANSFORMS_DECOMPOSEARRAYREFS_H
#ifndef LLVM_TRANSFORMS_SCALAR_DECOMPOSEMULTIDIMREFS_H
#define LLVM_TRANSFORMS_SCALAR_DECOMPOSEMULTIDIMREFS_H
class Pass;
Pass *createDecomposeArrayRefsPass();
Pass *createDecomposeMultiDimRefsPass();
#endif