Have augment_unwind_plan_from_call_site update the UnwindPlan 
name/from-compiler settings to indicate that it was augmented
by assembly profiling.
llvm-svn: 216412
diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
index d1836bf..78a4c19 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
@@ -876,6 +876,7 @@
     m_cur_insn = func.GetBaseAddress();
     uint64_t offset = 0;
     int row_id = 1;
+    bool unwind_plan_updated = false;
     UnwindPlan::RowSP row(new UnwindPlan::Row(*first_row));
     while (func.ContainsFileAddress (m_cur_insn))
     {
@@ -935,6 +936,7 @@
 
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
 
@@ -946,6 +948,7 @@
 
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
             if (pop_reg_p (regno)) {
@@ -959,6 +962,7 @@
 
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
 
@@ -968,6 +972,7 @@
                 row->SetCFAOffset (m_wordsize + row->GetCFAOffset());
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
 
@@ -979,6 +984,7 @@
 
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
             if (sub_rsp_pattern_p (amount)) {
@@ -987,6 +993,7 @@
 
                 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                 unwind_plan.InsertRow (new_row);
+                unwind_plan_updated = true;
                 continue;
             }
         }
@@ -1009,6 +1016,7 @@
 
                     UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
                     unwind_plan.InsertRow (new_row);
+                    unwind_plan_updated = true;
                     continue;
                 }
             }
@@ -1024,6 +1032,13 @@
     }
 
     unwind_plan.SetPlanValidAddressRange (func);
+    if (unwind_plan_updated)
+    {
+        std::string unwind_plan_source (unwind_plan.GetSourceName().AsCString());
+        unwind_plan_source += " plus augmentation from assembly parsing";
+        unwind_plan.SetSourceName (unwind_plan_source.c_str());
+        unwind_plan.SetSourcedFromCompiler (eLazyBoolNo);
+    }
     return true;
 }
 
diff --git a/lldb/source/Symbol/FuncUnwinders.cpp b/lldb/source/Symbol/FuncUnwinders.cpp
index d6f89bc..acd82ed 100644
--- a/lldb/source/Symbol/FuncUnwinders.cpp
+++ b/lldb/source/Symbol/FuncUnwinders.cpp
@@ -115,7 +115,8 @@
         if (assembly_profiler_sp)
         {
             if (target.GetArchitecture().GetCore() == ArchSpec::eCore_x86_32_i386
-                || target.GetArchitecture().GetCore() == ArchSpec::eCore_x86_64_x86_64)
+                || target.GetArchitecture().GetCore() == ArchSpec::eCore_x86_64_x86_64
+                || target.GetArchitecture().GetCore() == ArchSpec::eCore_x86_64_x86_64h)
             {
                 // For 0th frame on i386 & x86_64, we fetch eh_frame and try using assembly profiler
                 // to augment it into asynchronous unwind table.