Opaque types are considered to be first-class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16936 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2004-10-12 17:06:17 +00:00
parent 15d879e139
commit 207f2d4056

View File

@ -29,6 +29,8 @@
// users of the unknown type, causing them to reference a new, more concrete // users of the unknown type, causing them to reference a new, more concrete
// type. Opaque types are deleted when their use list dwindles to zero users. // type. Opaque types are deleted when their use list dwindles to zero users.
// //
// Opaque types are considered to be first-class types.
//
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#ifndef LLVM_TYPE_H #ifndef LLVM_TYPE_H
@ -192,7 +194,7 @@ public:
/// isFirstClassType - Return true if the value is holdable in a register. /// isFirstClassType - Return true if the value is holdable in a register.
inline bool isFirstClassType() const { inline bool isFirstClassType() const {
return (ID != VoidTyID && ID <= LastPrimitiveTyID) || return (ID != VoidTyID && ID <= LastPrimitiveTyID) ||
ID == PointerTyID || ID == PackedTyID; ID == PointerTyID || ID == PackedTyID || ID == OpaqueTyID;
} }
/// isSized - Return true if it makes sense to take the size of this type. To /// isSized - Return true if it makes sense to take the size of this type. To