Displaying 3 results from an estimated 3 matches for "263ba7b".
2017 Jul 31
3
[RFC] Profile guided section layout
Hi Rafael,
On 07/31/2017 04:20 PM, Rafael Avila de Espindola via llvm-dev wrote:
> However, do we need to start with instrumentation? The original paper
> uses sampling with good results and current intel cpus can record every
> branch in a program.
>
> I would propose starting with just an lld patch that reads the call
> graph from a file. The format would be very similar to
2017 Jul 31
2
[RFC] Profile guided section layout
...;
bool AsNeeded = false;
bool Bsymbolic;
@@ -127,6 +130,7 @@ struct Configuration {
bool GnuHash;
bool ICF;
bool MipsN32Abi = false;
+ bool NoCFGProfileReorder;
bool NoGnuUnique;
bool NoUndefinedVersion;
bool NoinhibitExec;
diff --git a/ELF/Driver.cpp b/ELF/Driver.cpp
index 263ba7b..84d4d80 100644
--- a/ELF/Driver.cpp
+++ b/ELF/Driver.cpp
@@ -644,6 +644,7 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) {
Config->LTOO = getInteger(Args, OPT_lto_O, 2);
Config->LTOPartitions = getInteger(Args, OPT_lto_partitions, 1);
Config->MapFile = Args.getLas...
2017 Aug 01
2
[RFC] Profile guided section layout
...llvm::MapVector<Symbol *, RenamedSymbol> RenamedSymbols;
+ llvm::DenseMap<std::pair<llvm::StringRef, llvm::StringRef>, uint64_t>
+ CFGProfile;
bool AllowMultipleDefinition;
bool AsNeeded = false;
bool Bsymbolic;
diff --git a/ELF/Driver.cpp b/ELF/Driver.cpp
index 263ba7b..04740db 100644
--- a/ELF/Driver.cpp
+++ b/ELF/Driver.cpp
@@ -600,6 +600,23 @@ static std::vector<StringRef> getLines(MemoryBufferRef MB) {
return Ret;
}
+static void readCallGraph(MemoryBufferRef MB) {
+ DenseMap<std::pair<StringRef, StringRef>, uint64_t> Ret;
+ std::vect...