all targets should be required to declare legal integer types. My plan to

make it optional doesn't work out.  If you don't want to specify this, don't
specify a TD string at all.

llvm-svn: 86394
This commit is contained in:
Chris Lattner 2009-11-07 18:53:00 +00:00
parent 4ba3b297e6
commit 6fafd70c1e
1 changed files with 10 additions and 11 deletions

View File

@ -144,23 +144,22 @@ public:
/// string constructor above. /// string constructor above.
std::string getStringRepresentation() const; std::string getStringRepresentation() const;
/// isLegalInteger - This function returns true if the specified type is
/// isIllegalInteger - This function returns true if the specified type is /// known tobe a native integer type supported by the CPU. For example,
/// known to not be a native integer type supported by the CPU. For example,
/// i64 is not native on most 32-bit CPUs and i37 is not native on any known /// i64 is not native on most 32-bit CPUs and i37 is not native on any known
/// one. This returns false if the integer width is legal or we don't know. /// one. This returns false if the integer width is not legal.
/// ///
/// The width is specified in bits. /// The width is specified in bits.
/// ///
bool isIllegalInteger(unsigned Width) const { bool isLegalInteger(unsigned Width) const {
// If we don't have information about legal integer types, don't claim the
// type is illegal.
if (LegalIntWidths.empty()) return false;
for (unsigned i = 0, e = LegalIntWidths.size(); i != e; ++i) for (unsigned i = 0, e = LegalIntWidths.size(); i != e; ++i)
if (LegalIntWidths[i] == Width) if (LegalIntWidths[i] == Width)
return false; return true;
return true; return false;
}
bool isIllegalInteger(unsigned Width) const {
return !isLegalInteger(Width);
} }
/// Target pointer alignment /// Target pointer alignment