SuccessChanges

Summary

  1. [HIP][AMDGPU] expand printf when compiling HIP to AMDGPU (details)
  2. [gn build] Port ed181efa175 (details)
  3. [LV] Make X86/assume.ll X86 independent (NFC). (details)
  4. [LV] Allow assume calls in predicated blocks. (details)
  5. clang-format: [JS] tests for async wrapping. (details)
  6. [IR] Mark memset.* intrinsics as IntrWriteMem. (details)
  7. [clangd] Dont display `<unknown>` kinds in hover board (details)
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 addedclang/test/Driver/hip-printf.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was modifiedclang/lib/CodeGen/CGGPUBuiltin.cpp
The file was addedclang/test/CodeGenHIP/printf.cpp
The file was addedllvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
The file was addedllvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
Commit f8269bb0726ed6a95401825a8b494ecbcdbd5785 by llvmgnsyncbot
[gn build] Port ed181efa175
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
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 addedllvm/test/Transforms/LoopVectorize/assume.ll
The file was removedllvm/test/Transforms/LoopVectorize/X86/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/test/Transforms/LoopVectorize/assume.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
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
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/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/Transforms/DeadStoreElimination/simple.ll
The file was modifiedllvm/test/Transforms/InstCombine/malloc-free-delete.ll
The file was modifiedllvm/test/Analysis/BasicAA/cs-cs.ll
The file was modifiedllvm/test/Transforms/ObjCARC/nested.ll
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/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp