SuccessChanges

Summary

  1. [Concepts] Fix ConceptSpecializationExpr profiling crash (details)
  2. [PHIEliminate] Move dbg values after phi and label (details)
Commit 8a3446746098ba29348bb8f85357dd0b466a6d6e by saar
[Concepts] Fix ConceptSpecializationExpr profiling crash
ConceptSpecializationExprs (CSEs) were being created with nullptr
TemplateArgsAsWritten during TemplateTemplateParmDecl canonicalization,
and we were relying on them during profiling which caused sporadic
crashes in test/CXX/.../temp.arg.template/p3-2a.cpp introduced in
D44352.
Change profiling of CSEs to instead rely on the actual converted
template arguments and concept named.
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
Commit 75188b01e9af3a89639d84be912f84610d6885ba by jeremy.morse
[PHIEliminate] Move dbg values after phi and label
If there are DBG_VALUEs between phi and label (after phi and before
label), DBG_VALUE will block PHI lowering after the LABEL. Moving all
DBG_VALUEs after Labels in the function ScheduleDAGSDNodes::EmitSchedule
to avoid impacting PHI lowering.
  before:
    PHI
    DBG_VALUE
    LABEL
after: (move DBG_VALUE after label)
    PHI
    LABEL
    DBG_VALUE
then: (phi lowering after label)
    LABEL
    COPY
    DBG_VALUE
Fixes the issue: https://bugs.llvm.org/show_bug.cgi?id=43859
Differential Revision: https://reviews.llvm.org/D70597
The file was modifiedllvm/lib/CodeGen/PHIElimination.cpp (diff)
The file was addedllvm/test/CodeGen/X86/dbg-changes-codegen-phi-elimination.ll
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp (diff)