1. [AArch64][SVE] Fix gather scatter dag combine test. (details)
  2. Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. (details)
  3. [PowerPC][NFC] Refactor splat of constant to vector. (details)
  4. [SelectionDAGBuilder] Use getConstant instead of getTargetConstant to (details)
  5. llvm-cxxmap: fix support for remapping non-mangled names. (details)
  6. [InstCombine] Allow to limit the max number of iterations (details)
  7. [Concepts] Constrained partial specializations and function overloads. (details)
  8. [Clang FE, SystemZ]  Don't add "true" value for the "mnop-mcount" (details)
  9. Revert "[AArch64][SVE] Replace integer immediate intrinsics with splat (details)
  10. [Concepts] Fix crash in D41910 (details)
  11. Fix more VFS tests on Windows (details)
  12. [NFC] Update FIXME for one VFS test (details)
  13. [libomptarget][nfc] Extract function from data_sharing, move to common (details)
  14. [Concepts] Fix incorrect move out of temporary in D41910 (details)
Commit eb1857ce0da481caf82271e6d0c9fc745dfab26f by danilo.carvalho.grael
[AArch64][SVE] Fix gather scatter dag combine test.
The file was modifiedllvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
Commit a85f5efd9597d0036f5c347b362cb873bdf51f16 by akhuang
Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.
Summary: This adds parsing of the qualifiers __ptr32, __ptr64, __sptr,
and __uptr and lowers them to the corresponding address space pointer
for 32-bit and 64-bit pointers.
(32/64-bit pointers added in
A large part of this patch is making these pointers ignore the address
space when doing things like overloading and casting.
Reviewers: rnk, rsmith
Subscribers: jholewinski, jvesely, nhaehnle, cfe-commits
Tags: #clang
Differential Revision:
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was addedclang/test/CodeGenCXX/mangle-ptr-size-address-space.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/include/clang/Basic/AddressSpaces.h
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedclang/lib/Basic/Targets/SPIR.h
The file was modifiedclang/lib/Basic/Targets/TCE.h
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/test/SemaTemplate/address_space-dependent.cpp
The file was addedclang/test/CodeGen/ms-mixed-ptr-sizes.c
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/Sema/MicrosoftExtensions.c
Commit ec3d6f3ecb4ef3cef2d46d6d2b2b7dced35e8297 by stefanp
[PowerPC][NFC] Refactor splat of constant to vector.
Refactor the splatting of a constant to a vector so that common code is
used both for Power9 and Power8.
Patch by: Anil Mahmud
Differential Revision:
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit cfe316007fb8492535d697717c24ce72621a8d5e by craig.topper
[SelectionDAGBuilder] Use getConstant instead of getTargetConstant to
build the offset for struct types in getUniformBase.
getTargetConstant prevents any optimizations from operating on the value
and basically says its already been iseled. But since we want the index
to be in a register, this isn't true.
Prior to this we were generating a vbroadcast with an immediate argument
which is illegal and was flagged by the expensive checks bot.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_gather.ll
Commit b6e90a1a1093210784ed3614b51ebcc31c2a1dcf by richard
llvm-cxxmap: fix support for remapping non-mangled names.
Remappings involving extern "C" names were already supported in the
context of <local-name>s, but this support didn't work for remapping the
complete mangling itself. (Eg, we would remap X<foo> but not foo itself,
if foo is an extern "C" function.)
The file was modifiedllvm/lib/Support/ItaniumManglingCanonicalizer.cpp
The file was modifiedllvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-cxxmap.rst
Commit 406b6019cd2bd50924be11c634b058c01053fbd3 by kubak
[InstCombine] Allow to limit the max number of iterations
Summary: This patch teaches InstCombine to accept a new parameter:
maximum number of iterations over functions.
InstCombine tries to simplify instructions by iterating over the whole
function until the function stops changing. As a consequence, the last
iteration before reaching a fixpoint visits all instructions in the
worklist and never performs any rewrites.
Bounding the number of iterations can have 2 benefits:
* In case the users of the pass can make a good guess about the number
of required iterations, we can save the time normally spent on the last
iteration that doesn't change anything.
* When the wants to use InstCombine as a cleanup pass, it may be enough
to run just a few iterations and stop even before reaching a fixpoint.
This can be also useful for implementing a lightweight pass pipeline
(think `-O1`).
This patch does not change the behavior of opt or Clang -- limiting the
number of iterations is entirely opt-in.
Reviewers: fhahn, davide, spatel, foad, nlopes, grosser, lebedev.ri,
nikic, xbolva00
Reviewed By: spatel
Subscribers: craig.topper, hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/include/llvm/Transforms/InstCombine/InstCombine.h
The file was addedllvm/test/Transforms/InstCombine/limit-max-iterations.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit fc0731b98a67c793862288f8ae334322666214dc by saar
[Concepts] Constrained partial specializations and function overloads.
Added support for constraint satisfaction checking and partial ordering
of constraints in constrained partial specialization and function
template overloads.
Phabricator: D41910
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.order/function-templates.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/
The file was modifiedclang/include/clang/AST/DeclTemplate.h
Commit ca520592c081a76b45613ec794ebee4920933c1c by paulsson
[Clang FE, SystemZ]  Don't add "true" value for the "mnop-mcount"
Let the "mnop-mcount" function attribute simply be present or
non-present. Update SystemZ backend as well to use hasFnAttribute()
Review: Ulrich Weigand
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/mnop-mcount-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/mnop-mcount-02.ll
The file was modifiedclang/test/CodeGen/mnop-mcount.c
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
Commit c7abf8841187c6e2c4169c06226429cdd5650e7f by danilo.carvalho.grael
Revert "[AArch64][SVE] Replace integer immediate intrinsics with splat
vector variant"
This reverts commit 830e08b98bcb427136443093c282b25328137cf0 and
This commit leads to an unexpected failure on
The review will need more changes before its re-commited.
The file was modifiedllvm/include/llvm/IR/
The file was modifiedllvm/lib/Target/AArch64/
The file was modifiedllvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-imm.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log-imm.ll
The file was modifiedllvm/lib/Target/AArch64/
Commit 12038be20ee6a903cdbd3fddce65535ef683e31d by saar
[Concepts] Fix crash in D41910
Differential Revision:
The file was modifiedclang/lib/Sema/SemaConcept.cpp
Commit 738b5c9639b4323f75b03e21494bef13d9adfa86 by amccarth
Fix more VFS tests on Windows
Since VFS paths can be in either Posix or Windows style, we have to use
a more flexible definition of "absolute" path.
The key here is that FileSystem::makeAbsolute is now virtual, and the
RedirectingFileSystem override checks for either concept of absolute
before trying to make the path absolute by combining it with the current
Differential Revision:
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedclang/test/VFS/vfsroot-module.m
The file was modifiedclang/test/VFS/vfsroot-with-overlay.c
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedclang/test/VFS/vfsroot-include.c
Commit 9d38fd8d0be3074af036e9e3e36489f5b854faf4 by amccarth
[NFC] Update FIXME for one VFS test
The VFS/subframework-symlink.m test is still XFAIL on Windows, but for a
different reason than those fixed in PR43272, so I've updated the PR
The file was modifiedclang/test/VFS/subframework-symlink.m
Commit 8adae6027c0813df935e4f96067bab0051974910 by jonathanchesterfield
[libomptarget][nfc] Extract function from data_sharing, move to common
[libomptarget][nfc] Extract function from data_sharing, move to common
Finding the first active thread in the warp is different on nvptx and
amdgcn, mostly due to warp size and the desire for efficiency.
Reviewers: ABataev, jdoerfert, grokos
Reviewed By: jdoerfert
Subscribers: jvesely, mgorny, openmp-commits
Tags: #openmp
Differential Revision:
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was addedopenmp/libomptarget/deviceRTLs/common/src/
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
Commit 11d5fa6e87e3584f72056ecc2b17f88c58323dde by saar
[Concepts] Fix incorrect move out of temporary in D41910
Moves out of temporaries caused warnings that failed builds.
The file was modifiedclang/lib/Sema/SemaConcept.cpp