diff options
author | Dan Gohman <gohman@apple.com> | 2008-05-23 01:55:30 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-05-23 01:55:30 +0000 |
commit | e4977cf750eaff28275429191821420c20b0c64f (patch) | |
tree | f1adda18e6df59cfb561a32a7d2034a053e06826 /lib/Bitcode/Writer/ValueEnumerator.cpp | |
parent | 8f8e2692705f37d61e1840e799288f2ade1e410f (diff) |
Make structs and arrays first-class types, and add assembly
and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.
Note that this does not yet include CodeGen support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51468 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode/Writer/ValueEnumerator.cpp')
-rw-r--r-- | lib/Bitcode/Writer/ValueEnumerator.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Bitcode/Writer/ValueEnumerator.cpp b/lib/Bitcode/Writer/ValueEnumerator.cpp index 92271ce2b9..21d0dfe7eb 100644 --- a/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -21,9 +21,9 @@ #include <algorithm> using namespace llvm; -static bool isFirstClassType(const std::pair<const llvm::Type*, - unsigned int> &P) { - return P.first->isFirstClassType(); +static bool isSingleValueType(const std::pair<const llvm::Type*, + unsigned int> &P) { + return P.first->isSingleValueType(); } static bool isIntegerValue(const std::pair<const Value*, unsigned> &V) { @@ -103,10 +103,10 @@ ValueEnumerator::ValueEnumerator(const Module *M) { // in the table (have low bit-width). std::stable_sort(Types.begin(), Types.end(), CompareByFrequency); - // Partition the Type ID's so that the first-class types occur before the + // Partition the Type ID's so that the single-value types occur before the // aggregate types. This allows the aggregate types to be dropped from the // type table after parsing the global variable initializers. - std::partition(Types.begin(), Types.end(), isFirstClassType); + std::partition(Types.begin(), Types.end(), isSingleValueType); // Now that we rearranged the type table, rebuild TypeMap. for (unsigned i = 0, e = Types.size(); i != e; ++i) @@ -264,11 +264,11 @@ void ValueEnumerator::EnumerateParamAttrs(const PAListPtr &PAL) { /// there are none, return -1. int ValueEnumerator::PurgeAggregateValues() { // If there are no aggregate values at the end of the list, return -1. - if (Values.empty() || Values.back().first->getType()->isFirstClassType()) + if (Values.empty() || Values.back().first->getType()->isSingleValueType()) return -1; // Otherwise, remove aggregate values... - while (!Values.empty() && !Values.back().first->getType()->isFirstClassType()) + while (!Values.empty() && !Values.back().first->getType()->isSingleValueType()) Values.pop_back(); // ... and return the new size. |