mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Change TargetLowering::getRegClassFor to take an MVT, instead of EVT.
Accordingly, add helper funtions getSimpleValueType (in parallel to getValueType) in SDValue, SDNode, and TargetLowering. This is the first, in a series of patches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169837 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -136,7 +136,7 @@ public:
|
||||
return ValueMap.count(V);
|
||||
}
|
||||
|
||||
unsigned CreateReg(EVT VT);
|
||||
unsigned CreateReg(MVT VT);
|
||||
|
||||
unsigned CreateRegs(Type *Ty);
|
||||
|
||||
|
@@ -130,6 +130,11 @@ public:
|
||||
///
|
||||
inline EVT getValueType() const;
|
||||
|
||||
/// Return the simple ValueType of the referenced return value.
|
||||
MVT getSimpleValueType() const {
|
||||
return getValueType().getSimpleVT();
|
||||
}
|
||||
|
||||
/// getValueSizeInBits - Returns the size of the value in bits.
|
||||
///
|
||||
unsigned getValueSizeInBits() const {
|
||||
@@ -595,6 +600,12 @@ public:
|
||||
return ValueList[ResNo];
|
||||
}
|
||||
|
||||
/// Return the type of a specified result as a simple type.
|
||||
///
|
||||
MVT getSimpleValueType(unsigned ResNo) const {
|
||||
return getValueType(ResNo).getSimpleVT();
|
||||
}
|
||||
|
||||
/// getValueSizeInBits - Returns MVT::getSizeInBits(getValueType(ResNo)).
|
||||
///
|
||||
unsigned getValueSizeInBits(unsigned ResNo) const {
|
||||
|
@@ -232,9 +232,8 @@ public:
|
||||
|
||||
/// getRegClassFor - Return the register class that should be used for the
|
||||
/// specified value type.
|
||||
virtual const TargetRegisterClass *getRegClassFor(EVT VT) const {
|
||||
assert(VT.isSimple() && "getRegClassFor called on illegal type!");
|
||||
const TargetRegisterClass *RC = RegClassForVT[VT.getSimpleVT().SimpleTy];
|
||||
virtual const TargetRegisterClass *getRegClassFor(MVT VT) const {
|
||||
const TargetRegisterClass *RC = RegClassForVT[VT.SimpleTy];
|
||||
assert(RC && "This value type is not natively supported!");
|
||||
return RC;
|
||||
}
|
||||
@@ -588,7 +587,11 @@ public:
|
||||
}
|
||||
return EVT::getEVT(Ty, AllowUnknown);
|
||||
}
|
||||
|
||||
|
||||
/// Return the MVT corresponding to this LLVM type. See getValueType.
|
||||
MVT getSimpleValueType(Type *Ty, bool AllowUnknown = false) const {
|
||||
return getValueType(Ty, AllowUnknown).getSimpleVT();
|
||||
}
|
||||
|
||||
/// getByValTypeAlignment - Return the desired alignment for ByVal aggregate
|
||||
/// function arguments in the caller parameter area. This is the actual
|
||||
|
Reference in New Issue
Block a user