diff options
Diffstat (limited to 'include/llvm/IR/ModuleSummaryIndexYAML.h')
| -rw-r--r-- | include/llvm/IR/ModuleSummaryIndexYAML.h | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/IR/ModuleSummaryIndexYAML.h b/include/llvm/IR/ModuleSummaryIndexYAML.h index 891d84c2dbcae..8950c527cc181 100644 --- a/include/llvm/IR/ModuleSummaryIndexYAML.h +++ b/include/llvm/IR/ModuleSummaryIndexYAML.h @@ -188,6 +188,7 @@ template <> struct MappingTraits<FunctionSummaryYaml> {  LLVM_YAML_IS_STRING_MAP(TypeIdSummary)  LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummaryYaml) +LLVM_YAML_IS_SEQUENCE_VECTOR(std::string)  namespace llvm {  namespace yaml { @@ -240,6 +241,23 @@ template <> struct MappingTraits<ModuleSummaryIndex> {      io.mapOptional("TypeIdMap", index.TypeIdMap);      io.mapOptional("WithGlobalValueDeadStripping",                     index.WithGlobalValueDeadStripping); + +    if (io.outputting()) { +      std::vector<std::string> CfiFunctionDefs(index.CfiFunctionDefs.begin(), +                                               index.CfiFunctionDefs.end()); +      io.mapOptional("CfiFunctionDefs", CfiFunctionDefs); +      std::vector<std::string> CfiFunctionDecls(index.CfiFunctionDecls.begin(), +                                                index.CfiFunctionDecls.end()); +      io.mapOptional("CfiFunctionDecls", CfiFunctionDecls); +    } else { +      std::vector<std::string> CfiFunctionDefs; +      io.mapOptional("CfiFunctionDefs", CfiFunctionDefs); +      index.CfiFunctionDefs = {CfiFunctionDefs.begin(), CfiFunctionDefs.end()}; +      std::vector<std::string> CfiFunctionDecls; +      io.mapOptional("CfiFunctionDecls", CfiFunctionDecls); +      index.CfiFunctionDecls = {CfiFunctionDecls.begin(), +                                CfiFunctionDecls.end()}; +    }    }  };  | 
