mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
improve support for uniontype and ConstantUnion, patch by Tim Northover!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2592,6 +2592,11 @@ void SelectionDAGBuilder::visitGetElementPtr(User &I) {
|
||||
}
|
||||
|
||||
Ty = StTy->getElementType(Field);
|
||||
} else if (const UnionType *UnTy = dyn_cast<UnionType>(Ty)) {
|
||||
unsigned Field = cast<ConstantInt>(Idx)->getZExtValue();
|
||||
|
||||
// Offset canonically 0 for unions, but type changes
|
||||
Ty = UnTy->getElementType(Field);
|
||||
} else {
|
||||
Ty = cast<SequentialType>(Ty)->getElementType();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user