SuccessChanges

Summary

  1. [OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default (details)
  2. [SLP] Remove LHS and RHS from OperationData. (details)
  3. [APFloat] prevent NaN morphing into Inf on conversion (PR43907) (details)
  4. Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" (details)
  5. Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic" (details)
  6. [llvm-exegesis] Add whitespace between words in error message (details)
Commit d1419c9fdab141617b6aa9f028191b9bfc8be260 by a.bataev
[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default

Need to fix a check for the variable if it is declared in the inner
OpenMP region to be able to firstprivatize it.

Differential Revision: https://reviews.llvm.org/D88240
The file was modifiedclang/test/OpenMP/task_codegen.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp (diff)
Commit 03f22b08e2a387a415dcbb3cf021e41e629c3d34 by craig.topper
[SLP] Remove LHS and RHS from OperationData.

These were only really used for 2 things. One was to check if the operand matches the phi if it exists. The other was for the createOp method to build the reduction.

For the first case we still have the operation we just need to know how to index its operands. So I've modified getLHS/getRHS to just use the opcode/kind to know how to find the right operands on an instruction that is now passed in.

For the other case we had to create an OperationData object to set the LHS/RHS values and copy the opcode/kind from another object. We would then just call createOp on that temporary object. Instead I've made LHS/RHS arguments to createOp and removed all these temporary objects.

Differential Revision: https://reviews.llvm.org/D88193
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit e34bd1e0b03d20a506ada156d87e1b3a96d82fa2 by spatel
[APFloat] prevent NaN morphing into Inf on conversion (PR43907)

We shift the significand right on a truncation, but that needs to be made NaN-safe:
always set at least 1 bit in the significand.
https://llvm.org/PR43907

See D88238 for the likely follow-up (but needs some plumbing fixes before it can proceed).

Differential Revision: https://reviews.llvm.org/D87835
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/cast.ll (diff)
Commit 3453b6928da332bb67f902add71f5cd80f61c136 by rnk
Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions""

This reverts commit e39da8ab6a286ac777d5fe7799f1eb782cf99938.

This depends on a change that needs additional design review and needs
to be reverted.
The file was modifiedclang/include/clang/Basic/DiagnosticComment.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticRefactoring.h (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSema.h (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.def (diff)
The file was removedclang/test/TableGen/deferred-diag.td
The file was modifiedclang/include/clang/Basic/DiagnosticSerialization.h (diff)
The file was modifiedclang/lib/Sema/SemaAttr.cpp (diff)
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticCrossTU.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticLex.h (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaSYCL.cpp (diff)
The file was removedclang/test/SemaCUDA/deferred-oeverload.cu
The file was modifiedclang/tools/diagtool/DiagnosticNames.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticDriver.h (diff)
The file was modifiedclang/test/TableGen/DiagnosticBase.inc (diff)
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h (diff)
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp (diff)
The file was modifiedclang/include/clang/Basic/Diagnostic.td (diff)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Diagnostics.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticFrontend.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticAnalysis.h (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Sema/SemaType.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/Sema/Sema.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOverload.cpp (diff)
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp (diff)
The file was modifiedclang/lib/Sema/SemaDecl.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaCUDA.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedclang/lib/Sema/SemaStmt.cpp (diff)
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp (diff)
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticAST.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParse.h (diff)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)
Commit b62fd436a3e613cbfe0654305cbc0e4f142bfcf9 by rnk
Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic"

This reverts commit 8e780a1653e6f87755a447e921b8f929d8b70996.

DiagnosticBuilder is a value type, created on the stack everywhere. IMO
we should not be adding a vtable to it, and making very operator<< use a
virtual interface. There are other feasible designs for implementing
this. The original review, D84362, was approved by @tra, who is
responsible for Clang's CUDA support, but it wasn't reviewed by @rsmith
or anyone responsible for clang's diagnostic library.
The file was modifiedclang/include/clang/Sema/ParsedAttr.h (diff)
The file was modifiedclang/include/clang/AST/Decl.h (diff)
The file was modifiedclang/lib/AST/DeclCXX.cpp (diff)
The file was modifiedclang/include/clang/AST/TemplateName.h (diff)
The file was modifiedclang/lib/AST/TemplateBase.cpp (diff)
The file was modifiedclang/include/clang/Basic/Diagnostic.h (diff)
The file was modifiedclang/include/clang/AST/DeclarationName.h (diff)
The file was modifiedclang/include/clang/Basic/PartialDiagnostic.h (diff)
The file was modifiedclang/include/clang/Sema/Ownership.h (diff)
The file was modifiedclang/lib/AST/ASTContext.cpp (diff)
The file was modifiedclang/include/clang/AST/ASTContext.h (diff)
The file was modifiedclang/include/clang/AST/CanonicalType.h (diff)
The file was modifiedclang/include/clang/AST/TemplateBase.h (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/AST/TemplateName.cpp (diff)
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h (diff)
The file was modifiedclang/include/clang/AST/Attr.h (diff)
The file was modifiedclang/include/clang/AST/Type.h (diff)
The file was modifiedclang/lib/Basic/Diagnostic.cpp (diff)
The file was modifiedclang/include/clang/AST/DeclCXX.h (diff)
Commit 29ec5901c9c515e34ed4299ac500f268dca1f62e by Jinsong Ji
[llvm-exegesis] Add whitespace between words in error message
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp (diff)