mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 21:18:19 +00:00
Adjust to the changed StructType interface. In particular, getElementTypes() is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11228 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -69,11 +69,10 @@ const Type *MutateStructTypes::ConvertType(const Type *Ty) {
|
||||
}
|
||||
case Type::StructTyID: {
|
||||
const StructType *ST = cast<StructType>(Ty);
|
||||
const StructType::ElementTypes &El = ST->getElementTypes();
|
||||
std::vector<const Type *> Types;
|
||||
|
||||
for (StructType::ElementTypes::const_iterator I = El.begin(), E = El.end();
|
||||
I != E; ++I)
|
||||
for (StructType::element_iterator I = ST->element_begin(),
|
||||
E = ST->element_end(); I != E; ++I)
|
||||
Types.push_back(ConvertType(*I));
|
||||
DestTy = StructType::get(Types);
|
||||
break;
|
||||
@@ -115,7 +114,7 @@ void MutateStructTypes::AdjustIndices(const CompositeType *OldTy,
|
||||
if (const StructType *OldST = dyn_cast<StructType>(OldTy)) {
|
||||
// Figure out what the current index is...
|
||||
unsigned ElNum = cast<ConstantUInt>(Idx[i])->getValue();
|
||||
assert(ElNum < OldST->getElementTypes().size());
|
||||
assert(ElNum < OldST->getNumElements());
|
||||
|
||||
std::map<const StructType*, TransformType>::iterator
|
||||
I = Transforms.find(OldST);
|
||||
@@ -198,7 +197,7 @@ void MutateStructTypes::setTransforms(const TransformsType &XForm) {
|
||||
const StructType *OldTy = I->first;
|
||||
const std::vector<int> &InVec = I->second;
|
||||
|
||||
assert(OldTy->getElementTypes().size() == InVec.size() &&
|
||||
assert(OldTy->getNumElements() == InVec.size() &&
|
||||
"Action not specified for every element of structure type!");
|
||||
|
||||
std::vector<const Type *> NewType;
|
||||
|
||||
@@ -109,7 +109,7 @@ static unsigned getIndex(const std::vector<std::pair<unsigned, unsigned> > &Vec,
|
||||
static inline void GetTransformation(const TargetData &TD, const StructType *ST,
|
||||
std::vector<int> &Transform,
|
||||
enum SimpleStructMutation::Transform XForm) {
|
||||
unsigned NumElements = ST->getElementTypes().size();
|
||||
unsigned NumElements = ST->getNumElements();
|
||||
Transform.reserve(NumElements);
|
||||
|
||||
switch (XForm) {
|
||||
@@ -124,8 +124,7 @@ static inline void GetTransformation(const TargetData &TD, const StructType *ST,
|
||||
|
||||
// Build mapping from index to size
|
||||
for (unsigned i = 0; i < NumElements; ++i)
|
||||
ElList.push_back(
|
||||
std::make_pair(i, TD.getTypeSize(ST->getElementTypes()[i])));
|
||||
ElList.push_back(std::make_pair(i,TD.getTypeSize(ST->getElementType(i))));
|
||||
|
||||
sort(ElList.begin(), ElList.end(), ptr_fun(FirstLess));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user