//===- TransformInternals.cpp - Implement shared functions for transforms -===//
-//
+//
// The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
+//
//===----------------------------------------------------------------------===//
//
// This file defines shared functions used by the different components of the
#include "TransformInternals.h"
#include "llvm/Type.h"
-#include "llvm/Analysis/Expressions.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
using namespace llvm;
for (i = 0; i < SL->MemberOffsets.size()-1; ++i)
if (Offset >= SL->MemberOffsets[i] && Offset < SL->MemberOffsets[i+1])
break;
-
+
assert(Offset >= SL->MemberOffsets[i] &&
(i == SL->MemberOffsets.size()-1 || Offset < SL->MemberOffsets[i+1]));
-
+
// Make sure to save the current index...
Indices.push_back(ConstantUInt::get(Type::UIntTy, i));
Offset = SL->MemberOffsets[i];
Offset = unsigned(ThisOffset + SubOffs);
return LeafTy;
}
-
-// ConvertibleToGEP - This function returns true if the specified value V is
-// a valid index into a pointer of type Ty. If it is valid, Idx is filled in
-// with the values that would be appropriate to make this a getelementptr
-// instruction. The type returned is the root type that the GEP would point to
-//
-const Type *llvm::ConvertibleToGEP(const Type *Ty, Value *OffsetVal,
- std::vector<Value*> &Indices,
- const TargetData &TD,
- BasicBlock::iterator *BI) {
- return 0;
-}
-