SuccessChanges

Summary

  1. [lldb] Fix asan failures in data-formatter-objc tests (details)
  2. [VE] i64 arguments, return values and constants (details)
  3. [HIP][AMDGPU] expand printf when compiling HIP to AMDGPU (details)
  4. [gn build] Port ed181efa175 (details)
  5. [LV] Make X86/assume.ll X86 independent (NFC). (details)
  6. [LV] Allow assume calls in predicated blocks. (details)
  7. clang-format: [JS] tests for async wrapping. (details)
  8. [IR] Mark memset.* intrinsics as IntrWriteMem. (details)
  9. [clangd] Dont display `<unknown>` kinds in hover board (details)
  10. [Concepts] Fix ConceptSpecializationExpr profiling crash (details)
  11. [PHIEliminate] Move dbg values after phi and label (details)
  12. Remove release note about in-process-cc1 (details)
  13. [lldb][NFC] Migrate several tests to expect_expr (details)
  14. Fix "pointer is null" static analyzer warnings. NFCI. (details)
  15. Fix unused variable warning. NFCI. (details)
Commit 4f244bba4f66b14382c446b62e122fa684b8db78 by Raphael Isemann
[lldb] Fix asan failures in data-formatter-objc tests
The test is currently failing on some systems with ASAN enabled due to:
```
==22898==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x603000003da4 at pc 0x00010951c33d bp 0x7ffee6709e00 sp 0x7ffee67095c0
READ of size 5 at 0x603000003da4 thread T0
   #0 0x10951c33c in wrap_memmove+0x16c
(libclang_rt.asan_osx_dynamic.dylib:x86_64+0x1833c)
   #1 0x7fff4a327f57 in CFDataReplaceBytes+0x1ba
(CoreFoundation:x86_64+0x13f57)
   #2 0x7fff4a415a44 in __CFDataInit+0x2db
(CoreFoundation:x86_64+0x101a44)
   #3 0x1094f8490 in main main.m:424
   #4 0x7fff77482084 in start+0x0 (libdyld.dylib:x86_64+0x17084)
0x603000003da4 is located 0 bytes to the right of 20-byte region
[0x603000003d90,0x603000003da4) allocated by thread T0 here:
   #0 0x109547c02 in wrap_calloc+0xa2
(libclang_rt.asan_osx_dynamic.dylib:x86_64+0x43c02)
   #1 0x7fff763ad3ef in class_createInstance+0x52
(libobjc.A.dylib:x86_64+0x73ef)
   #2 0x7fff4c6b2d73 in NSAllocateObject+0x12 (Foundation:x86_64+0x1d73)
   #3 0x7fff4c6b5e5f in -[_NSPlaceholderData
initWithBytes:length:copy:deallocator:]+0x40 (Foundation:x86_64+0x4e5f)
   #4 0x7fff4c6d4cf1 in -[NSData(NSData) initWithBytes:length:]+0x24
(Foundation:x86_64+0x23cf1)
   #5 0x1094f8245 in main main.m:404
   #6 0x7fff77482084 in start+0x0 (libdyld.dylib:x86_64+0x17084)
```
The reason is that we create a string "HELLO" but get the size wrong
(it's 5 bytes instead of 4). Later on we read the buffer and pretend it
is 5 bytes long, causing an OOB read which ASAN detects.
In general this test probably needs some cleanup as it produces on macOS
10.15 around 100 compiler warnings which isn't great, but let's first
get the bot green.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/main.m (diff)
Commit 773ae62ff85d435d48240e8fb5267db32edaf7a1 by simon.moll
[VE] i64 arguments, return values and constants
Summary: Support for i64 arguments (in register), return values and
constants along with tests.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D72776
The file was modifiedllvm/lib/Target/VE/VE.h (diff)
The file was modifiedllvm/test/CodeGen/VE/simple_prologue_epilogue.ll (diff)
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/VE/InstPrinter/VEInstPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/VE/VECallingConv.td (diff)
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.h (diff)
The file was addedllvm/test/CodeGen/VE/constants_i64.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td (diff)
Commit ed181efa175d3e0acc134e6cd161914e64c7195e by sameer.sahasrabuddhe
[HIP][AMDGPU] expand printf when compiling HIP to AMDGPU
Summary: This change implements the expansion in two parts:
- Add a utility function emitAMDGPUPrintfCall() in LLVM.
- Invoke the above function from Clang CodeGen, when processing a HIP
program for the AMDGPU target.
The printf expansion has undefined behaviour if the format string is not
a compile-time constant. As a sufficient condition, the HIP ToolChain
now emits -Werror=format-nonliteral.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D71365
The file was addedclang/test/CodeGenHIP/printf-aggregate.cpp
The file was addedllvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
The file was addedclang/test/CodeGenHIP/printf.cpp
The file was modifiedclang/lib/CodeGen/CGGPUBuiltin.cpp (diff)
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt (diff)
The file was addedclang/test/Driver/hip-printf.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp (diff)
The file was addedllvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
Commit f8269bb0726ed6a95401825a8b494ecbcdbd5785 by llvmgnsyncbot
[gn build] Port ed181efa175
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn (diff)
Commit 59ac44b3c129070c3c8b35471a24d94360a0a2a9 by flo
[LV] Make X86/assume.ll X86 independent (NFC).
The test does not check anything X86 specific. This is a preparation for
the D68814.
The file was removedllvm/test/Transforms/LoopVectorize/X86/assume.ll
The file was addedllvm/test/Transforms/LoopVectorize/assume.ll
Commit 23c113802e21253332dc41fba6639106b7b1e461 by flo
[LV] Allow assume calls in predicated blocks.
The assume intrinsic is intentionally marked as may reading/writing
memory, to avoid passes moving them around. When flattening the CFG for
predicated blocks, we have to drop the assume calls, as they are
control-flow dependent.
There are some cases where we can do better (when control flow is
preserved), but that is follow-up work.
Fixes PR43620.
Reviewers: hsaito, rengolin, dcaballe, Ayal
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D68814
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll (diff)
Commit 736a3802124b57490fa1e67538415a2a77fa731c by martin
clang-format: [JS] tests for async wrapping.
Summary: Adds tests to ensure that `async method() ...` does not wrap
between async and the method name, which would cause automatic semicolon
insertion.
Reviewers: krasimir
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70377
The file was modifiedclang/unittests/Format/FormatTestJS.cpp (diff)
Commit 0b21d552620dd593ddc93a93b5e779d5950f4a24 by flo
[IR] Mark memset.* intrinsics as IntrWriteMem.
llvm.memset intrinsics do only write memory, but are missing
IntrWriteMem, so they doesNotReadMemory() returns false for them.
The test change is due to the test checking the fn attribute ids at the
call sites, which got bumped up due to a new combination with writeonly
appearing in the test file.
Reviewers: jdoerfert, reames, efriedma, nlopes, lebedev.ri
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D72789
The file was modifiedllvm/test/Transforms/ObjCARC/nested.ll (diff)
The file was modifiedllvm/test/Analysis/BasicAA/cs-cs.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/simple.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/malloc-free-delete.ll (diff)
The file was modifiedllvm/include/llvm/IR/Intrinsics.td (diff)
Commit b08e8353a89f682861ef947fdb6e229b3de2e37d by kadircet
[clangd] Dont display `<unknown>` kinds in hover board
Summary: Currently when hovering over an `auto` or `decltype` that
resolve to a builtin-type, clangd would display `<unknown>` as the kind
of the symbol.
Drop that to make rendering nicer.
Reviewers: usaxena95
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72777
The file was modifiedclang-tools-extra/clangd/Hover.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp (diff)
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 modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp (diff)
The file was addedllvm/test/CodeGen/X86/dbg-changes-codegen-phi-elimination.ll
Commit 00c74d0b644b9ad31b377d0a07012c090af834e2 by hans
Remove release note about in-process-cc1
This feature landed before the 10.x branch, so it will be covered in the
clang 10 release notes instead.
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit 39d6b6c21f744e9c2503aa267a2561032de1326c by Raphael Isemann
[lldb][NFC] Migrate several tests to expect_expr
expect_expr is the stricter and safer way of testing these expressions.
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-function/TestCallUserDefinedFunction.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/anonymous-struct/TestCallUserAnonTypedef.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/namespace_local_var_same_name_cpp_and_c/TestNamespaceLocalVarSameNameCppAndC.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/inline-namespace/TestInlineNamespace.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/char8_t/TestCxxChar8_t.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/radar_8638051/Test8638051.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/class_template_specialization_empty_pack/TestClassTemplateSpecializationParametersHandling.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/static-initializers/TestStaticInitializers.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/chained-calls/TestCppChainedCalls.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/basic/TestImportStdModule.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/bool/TestCPPBool.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/call-function/TestCallCPPFunction.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/deque-basic/TestBasicDeque.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/char1632_t/TestChar1632T.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/auto/TestCPPAuto.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-function/TestCallBuiltinFunction.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/test/TestExprs.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py (diff)
Commit 19c5057e8df62e75b26e881dfc8f8f32686fe75c by llvm-dev
Fix "pointer is null" static analyzer warnings. NFCI.
Use castAs<> instead of getAs<> since the pointer is dereferenced
immediately in all cases and castAs will perform the null assertion for
us.
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
Commit 23a887b0dd48639716b78a1c9ca665df49f64b2e by llvm-dev
Fix unused variable warning. NFCI.
The file was modifiedllvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp (diff)