mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
Support getelementptr instructions which use uint's to index into structure
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -608,10 +608,10 @@ static int IdxCompare(Constant *C1, Constant *C2) {
|
||||
if (!isa<ConstantInt>(C1) || !isa<ConstantInt>(C2))
|
||||
return -2; // don't know!
|
||||
|
||||
// Ok, we have two differing integer indices. Convert them to
|
||||
// be the same type. Long is always big enough, so we use it.
|
||||
C1 = ConstantExpr::getCast(C1, Type::LongTy);
|
||||
C2 = ConstantExpr::getCast(C2, Type::LongTy);
|
||||
// Ok, we have two differing integer indices. Sign extend them to be the same
|
||||
// type. Long is always big enough, so we use it.
|
||||
C1 = ConstantExpr::getSignExtend(C1, Type::LongTy);
|
||||
C2 = ConstantExpr::getSignExtend(C2, Type::LongTy);
|
||||
if (C1 == C2) return 0; // Are they just differing types?
|
||||
|
||||
// If they are really different, now that they are the same type, then we
|
||||
|
Reference in New Issue
Block a user