1 //===- SymbolSize.h ---------------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef LLVM_OBJECT_SYMBOLSIZE_H 12 #define LLVM_OBJECT_SYMBOLSIZE_H 13 14 #include "llvm/Object/ObjectFile.h" 15 16 namespace llvm { 17 namespace object { 18 19 struct SymEntry { 20 symbol_iterator I; 21 uint64_t Address; 22 unsigned Number; 23 unsigned SectionID; 24 }; 25 26 int compareAddress(const SymEntry *A, const SymEntry *B); 27 28 std::vector<std::pair<SymbolRef, uint64_t>> 29 computeSymbolSizes(const ObjectFile &O); 30 31 } 32 } // namespace llvm 33 34 #endif 35