mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Add new ConstantArray::isString(), as the conditions for using getString()
are complex enough to check that it should be a seperate method. While I'm here, improve ConstantArray::getNullValue a bit, though the FIXME is still quite valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10850 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d6942d7633
commit
9b0a5ee5bb
@ -304,9 +304,12 @@ public:
|
|||||||
return reinterpret_cast<const ArrayType*>(Value::getType());
|
return reinterpret_cast<const ArrayType*>(Value::getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getAsString - If the sub-element type of this array is either sbyte or
|
/// isString - This method returns true if the array is an array of sbyte or
|
||||||
/// ubyte, then this method converts the array to an std::string and returns
|
/// ubyte, and if the elements of the array are all ConstantInt's.
|
||||||
/// it. Otherwise, it asserts out.
|
bool isString() const;
|
||||||
|
|
||||||
|
/// getAsString - If this array is isString(), then this method converts the
|
||||||
|
/// array to an std::string and returns it. Otherwise, it asserts out.
|
||||||
///
|
///
|
||||||
std::string getAsString() const;
|
std::string getAsString() const;
|
||||||
|
|
||||||
@ -319,9 +322,13 @@ public:
|
|||||||
virtual bool isNullValue() const {
|
virtual bool isNullValue() const {
|
||||||
// FIXME: This should be made to be MUCH faster. Just check against well
|
// FIXME: This should be made to be MUCH faster. Just check against well
|
||||||
// known null value!
|
// known null value!
|
||||||
for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
|
if (getNumOperands()) {
|
||||||
if (!cast<Constant>(getOperand(i))->isNullValue())
|
const Constant *First = cast<Constant>(getOperand(0));
|
||||||
return false;
|
if (!First->isNullValue()) return false;
|
||||||
|
for (unsigned i = 1, e = getNumOperands(); i != e; ++i)
|
||||||
|
if (cast<Constant>(getOperand(i)) != First)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user