From 30499844ead34cae1687c3fb2cb697a695a38db2 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 23 May 2008 01:55:30 +0000 Subject: 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. llvm-svn: 51468 --- llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'llvm/lib/Bitcode/Writer/ValueEnumerator.cpp') diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp index 92271ce2b91..21d0dfe7eb6 100644 --- a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -21,9 +21,9 @@ #include using namespace llvm; -static bool isFirstClassType(const std::pair &P) { - return P.first->isFirstClassType(); +static bool isSingleValueType(const std::pair &P) { + return P.first->isSingleValueType(); } static bool isIntegerValue(const std::pair &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. -- cgit v1.2.3