mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
rearrange some code, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157523 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5db954dab9
commit
e82d598ef2
@ -389,12 +389,31 @@ static void EncodeFixedType(Record *R, unsigned &NextArgNo,
|
||||
|
||||
MVT::SimpleValueType VT = getValueType(R->getValueAsDef("VT"));
|
||||
|
||||
// If this is an "any" valuetype, then the type is the type of the next
|
||||
// type in the list specified to getIntrinsic().
|
||||
if (VT == MVT::iAny || VT == MVT::fAny || VT == MVT::vAny ||
|
||||
VT == MVT::iPTRAny) {
|
||||
switch (VT) {
|
||||
default: break;
|
||||
case MVT::iAny:
|
||||
case MVT::fAny:
|
||||
case MVT::vAny:
|
||||
case MVT::iPTRAny:
|
||||
// If this is an "any" valuetype, then the type is the type of the next
|
||||
// type in the list specified to getIntrinsic().
|
||||
Sig.push_back(IIT_ARG);
|
||||
return Sig.push_back(NextArgNo++);
|
||||
|
||||
case MVT::iPTR: {
|
||||
unsigned AddrSpace = 0;
|
||||
if (R->isSubClassOf("LLVMQualPointerType")) {
|
||||
AddrSpace = R->getValueAsInt("AddrSpace");
|
||||
assert(AddrSpace < 256 && "Address space exceeds 255");
|
||||
}
|
||||
if (AddrSpace) {
|
||||
Sig.push_back(IIT_ANYPTR);
|
||||
Sig.push_back(AddrSpace);
|
||||
} else {
|
||||
Sig.push_back(IIT_PTR);
|
||||
}
|
||||
return EncodeFixedType(R->getValueAsDef("ElTy"), NextArgNo, Sig);
|
||||
}
|
||||
}
|
||||
|
||||
if (EVT(VT).isVector()) {
|
||||
@ -411,22 +430,7 @@ static void EncodeFixedType(Record *R, unsigned &NextArgNo,
|
||||
return EncodeFixedValueType(VVT.getVectorElementType().
|
||||
getSimpleVT().SimpleTy, Sig);
|
||||
}
|
||||
|
||||
if (VT == MVT::iPTR) {
|
||||
unsigned AddrSpace = 0;
|
||||
if (R->isSubClassOf("LLVMQualPointerType")) {
|
||||
AddrSpace = R->getValueAsInt("AddrSpace");
|
||||
assert(AddrSpace < 256 && "Address space exceeds 255");
|
||||
}
|
||||
if (AddrSpace) {
|
||||
Sig.push_back(IIT_ANYPTR);
|
||||
Sig.push_back(AddrSpace);
|
||||
} else {
|
||||
Sig.push_back(IIT_PTR);
|
||||
}
|
||||
return EncodeFixedType(R->getValueAsDef("ElTy"), NextArgNo, Sig);
|
||||
}
|
||||
|
||||
|
||||
EncodeFixedValueType(VT, Sig);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user