class ArrayType;
class StructType;
class PointerType;
-class PackedType;
+class VectorType;
class ConstantArray;
class Module;
GlobalValue::LinkageTypes,///< The linkage type of the GV
GlobalValue::VisibilityTypes,///< The visibility style of the GV
unsigned SlotNum, ///< Slot number of GV
- unsigned initSlot ///< Slot number of GV's initializer (0 if none)
+ unsigned initSlot, ///< Slot number of GV's initializer (0 if none)
+ bool isThreadLocal ///< Whether the GV is thread local or not
) {}
+ virtual void handleGlobalAlias(
+ const Type* ElemType,
+ GlobalValue::LinkageTypes Linkage,
+ unsigned TypeSlotNum,
+ unsigned AliaseeSlot) { }
+
/// This method is called when a type list is recognized. It simply
/// provides the number of types that the list contains. The handler
/// should expect that number of calls to handleType.
/// @brief Handle end of module globals block.
virtual void handleModuleGlobalsEnd() {}
- /// This method is called at the beginning of a compaction table.
- /// @brief Handle start of compaction table.
- virtual void handleCompactionTableBegin() {}
-
- /// @brief Handle start of a compaction table plane
- virtual void handleCompactionTablePlane(
- unsigned Ty, ///< The type of the plane (slot number)
- unsigned NumEntries ///< The number of entries in the plane
- ) {}
-
- /// @brief Handle a type entry in the compaction table
- virtual void handleCompactionTableType(
- unsigned i, ///< Index in the plane of this type
- unsigned TypSlot, ///< Slot number for this type
- const Type* ///< The type referenced by this slot
- ) {}
-
- /// @brief Handle a value entry in the compaction table
- virtual void handleCompactionTableValue(
- unsigned i, ///< Index in the compaction table's type plane
- unsigned TypSlot, ///< The slot (plane) of the type of this value
- unsigned ValSlot ///< The global value slot of the value
- ) {}
-
- /// @brief Handle end of a compaction table
- virtual void handleCompactionTableEnd() {}
-
/// @brief Handle start of a symbol table
virtual void handleTypeSymbolTableBegin(
TypeSymbolTable* ST ///< The symbol table being filled
virtual void handleSymbolTableValue(
unsigned i, ///< The index of the value in this plane
unsigned slot, ///< Slot number of the named value
- const std::string& name ///< Name of the value.
+ const char *name, unsigned NameLen ///< Name of the value.
) {}
/// @brief Handle the end of a value symbol table
) {}
/// @brief Handle a constant packed
- virtual void handleConstantPacked(
- const PackedType* PT, ///< Type of the array
+ virtual void handleConstantVector(
+ const VectorType* PT, ///< Type of the array
Constant**ElementSlots, unsigned NumElts,///< Slot nums for packed values
unsigned TypeSlot, ///< Slot # of type
Constant* Val ///< The constant value