X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FProfileData%2FInstrProfWriter.h;h=e7f53de051c3c71906f3504b08bbefafc2644ddf;hb=6f28d52e9d3f87875732a0f2c1f3b03ef56be2db;hp=d026e08ec861d6bf152db0a0dbb71f4f2e71ebdf;hpb=55f78334c142356bff6a35670e336fad1f11b62b;p=oota-llvm.git diff --git a/include/llvm/ProfileData/InstrProfWriter.h b/include/llvm/ProfileData/InstrProfWriter.h index d026e08ec86..e7f53de051c 100644 --- a/include/llvm/ProfileData/InstrProfWriter.h +++ b/include/llvm/ProfileData/InstrProfWriter.h @@ -29,25 +29,23 @@ public: typedef SmallDenseMap ProfilingData; private: - InstrProfStringTable StringTable; StringMap FunctionData; uint64_t MaxFunctionCount; + public: InstrProfWriter() : MaxFunctionCount(0) {} - /// Update string entries in profile data with references to StringTable. - void updateStringTableReferences(InstrProfRecord &I); /// Add function counts for the given function. If there are already counts /// for this function and the hash and number of counts match, each counter is - /// summed. - std::error_code addRecord(InstrProfRecord &&I); + /// summed. Optionally scale counts by \p Weight. + std::error_code addRecord(InstrProfRecord &&I, uint64_t Weight = 1); /// Write the profile to \c OS void write(raw_fd_ostream &OS); /// Write the profile in text format to \c OS void writeText(raw_fd_ostream &OS); /// Write \c Record in text format to \c OS static void writeRecordInText(const InstrProfRecord &Record, - raw_fd_ostream &OS); + InstrProfSymtab &Symtab, raw_fd_ostream &OS); /// Write the profile, returning the raw data. For testing. std::unique_ptr writeBuffer();