mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
add a way to make this less brittle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36528 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7f3c4d49df
commit
bb58b9c3c0
@ -205,8 +205,9 @@ namespace MVT { // MVT = Machine Value Types
|
||||
|
||||
/// MVT::getValueType - Return the value type corresponding to the specified
|
||||
/// type. This returns all vectors as MVT::Vector and all pointers as
|
||||
/// MVT::iPTR.
|
||||
ValueType getValueType(const Type *Ty);
|
||||
/// MVT::iPTR. If HandleUnknown is true, unknown types are returned as Other,
|
||||
/// otherwise they are invalid.
|
||||
ValueType getValueType(const Type *Ty, bool HandleUnknown = false);
|
||||
}
|
||||
|
||||
} // End llvm namespace
|
||||
|
@ -113,16 +113,20 @@ const Type *MVT::getTypeForValueType(MVT::ValueType VT) {
|
||||
|
||||
/// MVT::getValueType - Return the value type corresponding to the specified
|
||||
/// type. This returns all vectors as MVT::Vector and all pointers as
|
||||
/// MVT::iPTR.
|
||||
MVT::ValueType MVT::getValueType(const Type *Ty) {
|
||||
/// MVT::iPTR. If HandleUnknown is true, unknown types are returned as Other,
|
||||
/// otherwise they are invalid.
|
||||
MVT::ValueType MVT::getValueType(const Type *Ty, bool HandleUnknown) {
|
||||
switch (Ty->getTypeID()) {
|
||||
default: assert(0 && "Unknown type!");
|
||||
default:
|
||||
if (HandleUnknown) return MVT::Other;
|
||||
assert(0 && "Unknown type!");
|
||||
case Type::VoidTyID:
|
||||
return MVT::isVoid;
|
||||
case Type::IntegerTyID:
|
||||
switch (cast<IntegerType>(Ty)->getBitWidth()) {
|
||||
default:
|
||||
// FIXME: Return MVT::iANY.
|
||||
if (HandleUnknown) return MVT::Other;
|
||||
assert(0 && "Invalid width for value type");
|
||||
case 1: return MVT::i1;
|
||||
case 8: return MVT::i8;
|
||||
|
Loading…
Reference in New Issue
Block a user