FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. [lldb] Run the shell test for Xcode's standalone build (details)
  2. [lldb] Pass the right args to --target and --build (details)
  3. [lldb] Use check-lldb for Xcode tests (details)
  4. [lldb] Only run the shell test for the Xcode standalone build (details)
  5. [lldb] Add lldb reproducer test stage (details)
  6. Fix missing '\' in pipeline (details)
  7. Build fewer architectures on specialized LLDB builders (details)
  8. Fix syntax error (details)
  9. Fix more syntax errors (details)
  10. Bump Android NDK version to r21. (details)
  11. Revert "Bump Android NDK version to r21." (details)
  12. Switch lldb-x86_64-debian to python3 (details)
  13. [lldb] Temporarily disable lldb-repro tests (details)
Commit 825fd83864cbe6446d7ece5c046e2eb3ee1d89b0 by Jonas Devlieghere
[lldb] Run the shell test for Xcode's standalone build
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-standalone
The file was modifiedzorg/jenkins/monorepo_build.py
Commit 0a4f1033bc2c13361c79d45457c9bf51663d18d4 by Jonas Devlieghere
[lldb] Pass the right args to --target and --build
The file was modifiedzorg/jenkins/monorepo_build.py
Commit f32aab14f7c025a0d5d418be821d0aed048a2df0 by Jonas Devlieghere
[lldb] Use check-lldb for Xcode tests
The file was modifiedzorg/jenkins/monorepo_build.py
Commit f54354cb3888376b0ce8b536d46c5a5a47d5394f by Jonas Devlieghere
[lldb] Only run the shell test for the Xcode standalone build
The file was modifiedzorg/jenkins/monorepo_build.py
Commit 9adbdf08e1374ca52eb3f9bf6227b9ab6e0a3ce9 by Jonas Devlieghere
[lldb] Add lldb reproducer test stage
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit a286f239d9544e995d8436a57199d4923306a7ca by Jonas Devlieghere
Fix missing '\' in pipeline
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit 69793089535f28323223b6b58bbc54c66d59f304 by Adrian Prantl
Build fewer architectures on specialized LLDB builders
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-matrix
The file was modifiedzorg/jenkins/monorepo_build.py
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-standalone
Commit b4998e6d4e792fffc48f524b4e8ef51a6477e7f5 by Adrian Prantl
Fix syntax error
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-matrix
Commit 74c33f0c2019876938fc3a0d97814b96f5516db0 by Adrian Prantl
Fix more syntax errors
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-standalone
The file was modifiedzorg/jenkins/monorepo_build.py
Commit 9822b13842a6f476f023ef282d329c276d165a7c by eugenis
Bump Android NDK version to r21.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android.sh
Commit b4f7979eb1e77f6f65fa08d9a557913af41550d7 by eugenis
Revert "Bump Android NDK version to r21."
This reverts commit 9822b13842a6f476f023ef282d329c276d165a7c.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android.sh
Commit 2b3682001b5e0495670b58a2b6e611157c84f16e by pavel
Switch lldb-x86_64-debian to python3
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit f1288ebcddae6369e239402690c85846365ef4b4 by Jonas Devlieghere
[lldb] Temporarily disable lldb-repro tests
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Replace CLANG_SPAWN_CC1 env var with a driver mode flag (details)
  2. Revert "[mlir] Create a gpu.module operation for the GPU Dialect." (details)
  3. [ELF] -r: don't create .interp (details)
  4. [Transforms][RISCV] Remove a "using namespace llvm" from an include (details)
  5. Work around PR43337: don't try to use the vec_sel overloads for vector (details)
  6. PR17164: Change clang's default behavior from (details)
  7. Fix pack deduction to only deduce the arity of packs that are actually (details)
  8. PR42694 Support explicit(bool) in older language modes as an extension. (details)
  9. Add extra test file forgotten in 45d7080. (details)
  10. Add __warn_memset_zero_len builtin as a workaround for glibc issue (details)
  11. [libcxx] Use mtx_plain | mtx_recursive following C11 API (details)
  12. [ELF] Avoid false-positive assert in getErrPlace() (details)
  13. [OpenMP][Tool] Fix memory leak and double-allocation (details)
  14. Revert "[OPENMP]Do not use RTTI by default for NVPTX devices." (details)
  15. Revert "Allow system header to provide their own implementation of some (details)
  16. Revert 9007f06af0e "Revert "Allow system header to provide their own (details)
  17. [ELF] Allow R_PLT_PC (R_PC) to a hidden undefined weak symbol (details)
  18. nop change to test the buildkite trigger (details)
  19. [clang-format] Expand the SpacesAroundConditions option to include catch (details)
  20. [StackColoring] Remap FixedStackPseudoSourceValue frame index referenced (details)
  21. [HIP] use GetProgramPath for executable discovery (details)
  22. [PATCH] Reland [Clang] Un-break scan-build after integrated-cc1 change (details)
  23. [AArch64] Don't rename registers with pseudo defs in Ld/St opt. (details)
  24. [InstCombine] Fix worklist management in DSE (PR44552) (details)
  25. [PGO][PGSO] Update BFI in CodeGenPrepare::optimizeSelectInst. (details)
  26. [clang-tidy] Disable Checks on If constexpr statements in template (details)
  27. [SLP] Add a test showing miscompilation in AltOpcode support (details)
  28. [SLP] Don't allow Div/Rem as alternate opcodes (details)
  29. [mlir] Fix compilation with VS2019. (details)
  30. [cmake] Fix clang builds with BUILD_SHARED=ON and (details)
  31. Revert "[cmake] Fix clang builds with BUILD_SHARED=ON and (details)
  32. Clang] Fix expansion of response files in -Wp after integrated-cc1 (details)
  33. [LLD][COFF] Enable linking of __declspec(selectany) symbols from Clang (details)
  34. [RISCV] Fix evaluating %pcrel_lo against global and weak symbols (details)
  35. [test] Fix lld/test/ELF/riscv-pcrel-hilo-error.s after D73211 (details)
  36. [Sema] Avoid Wrange-loop-analysis false positives (details)
  37. Revert "PR17164: Change clang's default behavior from (details)
  38. Update documentation and release notes to match the state of (details)
  39. [ELF] --no-dynamic-linker: don't emit undefined weak symbols to .dynsym (details)
  40. [clang][IFS][test] Temporary work around for in-process cc1 ASAN issues. (details)
  41. [Clang][IFS][Test] Work around in-process cc1 ASAN issues #2. (details)
  42. [Concepts] Fix ConceptSpecializationExpr profiling crash (details)
  43. Remove redundant CXXScopeSpec from TemplateIdAnnotation. (details)
  44. [Concepts] Requires Expressions (details)
  45. [Concepts] Fix name-type conflict compilation issues (details)
  46. [clang-tidy] Fix check for generic lambda invented template parameters (details)
  47. [Concepts] Constraint Satisfaction Caching (details)
  48. [Concepts] Fix circular AST->Sema dependency in ASTConcept.cpp (details)
  49. [Concepts] Fix incorrect recovery in TryAnnotateTypeConstraint (details)
  50. [Concepts] Fix bug when referencing function parameters in instantiated (details)
  51. [Concepts] Profile TypeConstraints in ProfileTemplateParameterList (details)
  52. [Concepts] Placeholder constraints and abbreviated templates (details)
  53. [Concepts] Add ExpressionEvaluationContexts to instantiation of (details)
  54. [Concepts] Implement P1616R1 - Using unconstrained template template (details)
  55. [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a (details)
  56. [Concepts] Make constraint expressions unevaluated until satisfaction (details)
  57. [Concepts] Add Concepts to ReleaseNotes.rst (details)
  58. [Concepts] Update cxx_status.html with Concepts support status (details)
  59. [ELF][PowerPC] Support R_PPC_COPY and R_PPC64_COPY (details)
  60. [lld][RISCV] Print error when encountering R_RISCV_ALIGN (details)
  61. Add test for spaceship operator to __config (details)
  62. [XRay] Set hasSideEffects flag of PATCHABLE_FUNCTION_{ENTER,EXIT} (details)
  63. [CodeGen] Move fentry-insert, xray-instrumentation and (details)
  64. [AsmPrinter] Don't emit __patchable_function_entries entry if (details)
  65. Add function attribute "patchable-function-prefix" to support (details)
  66. [X86][test] Add tests for -fpatchable-function-entry=N,M (where M>0) and (details)
  67. [Driver][CodeGen] Support -fpatchable-function-entry=N,M and (details)
  68. [PatchableFunction] Allow empty entry MachineBasicBlock (details)
  69. [openmp] Disable archer if LIBOMP_OMPT_SUPPORT is off (details)
  70. Make address-space-lambda.cl pass on 32-bit Windows (details)
  71. [DebugInfo][test] Change two MIR tests to use (details)
  72. [CUDA] Fix order of memcpy arguments in __shfl_*(<64-bit type>). (details)
  73. [Concepts] Transform constraints of non-template functions to (details)
  74. [ELF][PPC32] Support canonical PLT (details)
  75. [ELF][PPC32] Support range extension thunks with addends (details)
  76. [docs][mips] 10.0 Release notes (details)
  77. [Concepts] Fix parsing of scope specifier in compound-requirements, add (details)
  78. [Concepts] Add missing null check to transformConstructor (details)
  79. [Concepts] Fix incorrect TemplateArgs for introduction of local (details)
  80. [Support] Fix race in threading test, found by TSan (details)
  81. [LLDB] Fix the handling of unnamed bit-fields when parsing DWARF (details)
  82. Include <cstdlib> for std::abort() in clangd (details)
  83. [msan] Instrument x86.pclmulqdq* intrinsics. (details)
  84. [X86] Make `llc --help` output readable again (details)
  85. [clangd] Show hower info for expressions (details)
  86. [clangd] Add a ruler after header in hover (details)
  87. [clangd] Rearrange type, returntype and parameters in hover card (details)
  88. [clangd] Fix windows buildbots (details)
  89. [clangd] Extract string literals in macro arguments to unbreak gcc (details)
  90. [clangd] Dont display `<unknown>` kinds in hover board (details)
  91. [clangd] Print underlying type for decltypes in hover (details)
  92. [clangd] Drop returntype/type when hovering over type-ish names (details)
  93. [clangd][Hover] Change arrow in return type back to → (details)
  94. [RISCV] Pass target-abi via module flag metadata (details)
  95. [RISCV] Check the target-abi module flag matches the option (details)
  96. Revert "[RISCV] Support ABI checking with per function target-features" (details)
  97. [RISCV] Support ABI checking with per function target-features (details)
  98. [IR] Keep a double break between functions when printing a module (details)
  99. Reland "[StackColoring] Remap PseudoSourceValue frame indices via (details)
  100. [clangd][Hover] Handle uninstantiated templates (details)
  101. [lldb] Fix nondeterminism in TestCppBitfields (details)
  102. [ELF][PPC32] Support --emit-relocs link of R_PPC_PLTREL24 (details)
  103. [clangd][Hover] Make tests hermetic by setting target triplet (details)
  104. Work around PR44697 in CrashRecoveryContext (details)
  105. [CUDA] Assume the latest known CUDA version if we've found an unknown (details)
  106. [LLD][ELF][ARM] Do not insert interworking thunks for non STT_FUNC (details)
  107. [GlobalMerge] Preserve symbol visibility when merging globals (details)
  108. [PassManagerBuilder] Remove global extension when a plugin is unloaded (details)
  109. [ORC] Add weak symbol support to defineMaterializing, fix for PR40074. (details)
  110. [ORC] Add support for emulated TLS to ORCv2. (details)
  111. [ORC] Fix a missing move in ce2207abaf9. (details)
  112. [ORC] Update examples to incorporate changes in ce2207abaf9. (details)
  113. Update clang-interpreter example to incorporate changes in ce2207abaf9. (details)
  114. [ORC] Fix the LLJITWithObjectCache example to address changes in (details)
  115. [WebAssembly] Fix resume-only case in Emscripten EH (details)
  116. [clan-tidy] Fix false positive in bugprone-infinite-loop (details)
  117. [LV] Do not try to sink dead instructions. (details)
  118. [clangd] Don't mmap source files on all platforms --> don't crash on git (details)
  119. Revert "Reland: [DWARF] Allow cross-CU references of subprogram (details)
  120. [mlir][orc] unbreak MLIR ExecutionEngine after ORC changes (details)
  121. test-release.sh: Add MLIR to the projects list (details)
  122. Drop arm triple from test/CodeGen/AArch64/global-merge-hidden-minsize.ll (details)
  123. Define _LIBCPP_HAS_TIMESPEC_GET for FreeBSD when appropriate (details)
  124. Generate docs (details)
  125. [Concept] Fix incorrect check for containsUnexpandedParameterPack in CSE (details)
  126. [Concepts] Add check for dependent RC when checking function constraints (details)
  127. [Concepts] Add 'this' context to instantiation of member requires clause (details)
  128. PR41991: Accept attributes on defaulted and deleted friends. (details)
  129. [Concepts] Check function constraints before deducing auto return type (details)
  130. PR44627: Consider reversing == and <=> candidates found by ADL. (details)
  131. Revert "[libcxx] Force-cache LIBCXX_CXX_ABI_LIBRARY_PATH" (details)
  132. [Concepts] Correctly form initial parameter mapping for parameter packs, (details)
  133. [Concepts] Fix isDeclarationSpecifier to detect type-constraints (details)
  134. PR44723: Trigger return type deduction for operator<=>s whose return (details)
  135. Fix wrong devirtualization when the final overrider in one base class (details)
  136. Make quick-append.test resilient to running in paths with '1.o' in the (details)
  137. [Sema] Remove a -Wrange warning from -Wall (details)
  138. MSVC Buggy version detection: turn pre-processor error into CMake (details)
  139. [AArch64] -fpatchable-function-entry=N,0: place patch label after BTI (details)
  140. [libcxxabi] Insert padding in __cxa_exception struct for compatibility (details)
  141. [Concepts] Instantiate invented template type parameter type-constraint (details)
  142. Revert "[Concepts] Instantiate invented template type parameter (details)
  143. [Concepts] Instantiate invented template type parameter type-constraint (details)
  144. [RISCV] Scheduler description for the Rocket core (details)
  145. Revert "[AMDGPU] Invert the handling of skip insertion." (details)
  146. [BPF] fix a bug in BPFMISimplifyPatchable pass with -O0 (details)
  147. AMDGPU/R600: Emit rodata in text segment (details)
  148. R600: Fix failing testcase (details)
  149. [clang-tidy] Fixed crash 44745 in readability-else-after-return (details)
  150. Declare __builtin_strlen in StringRef.h as constexpr (details)
  151. Actually, don't try to use __builtin_strlen in StringRef.h before VS (details)
Commit c4a134a5107c1926262ee887057036ca53aa7265 by hans
Replace CLANG_SPAWN_CC1 env var with a driver mode flag
Flags are clang's default UI is flags.
We can have an env var in addition to that, but in D69825 nobody has yet
mentioned why this needs an env var, so omit it for now.  If someone
needs to set the flag via env var, the existing CCC_OVERRIDE_OPTIONS
mechanism works for it (set CCC_OVERRIDE_OPTIONS=+-fno-integrated-cc1
for example).
Also mention the cc1-in-process change in the release notes.
Also spruce up the test a bit so it actually tests something :)
Differential Revision: https://reviews.llvm.org/D72769
(cherry picked from commit 8e5018e990b701391e6c33ba85b012343df67272)
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/cc1-spawnprocess.c
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
Commit ac446302ca4145cdc89f377c0c364c29ee303be5 by hans
Revert "[mlir] Create a gpu.module operation for the GPU Dialect."
This reverts commit 4624a1e8ac8a3f69cc887403b976f538f587744a. Causing
problems downstream.
(cherry picked from commit 0133cc60e4e230ee2c176c23eff5aa2f4ee17a75)
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/loop.mlir
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/load-store.mlir
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/test/Dialect/GPU/outlining.mlir
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir
The file was modifiedmlir/test/Dialect/GPU/ops.mlir
The file was modifiedmlir/test/Dialect/GPU/invalid.mlir
The file was modifiedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
The file was modifiedmlir/test/Conversion/GPUToNVVM/memory-attrbution.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/simple.mlir
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt
The file was removedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.td
The file was modifiedmlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/builtins.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
Commit fac11406197ed993f1965ed1edc0369a12a2f8e2 by maskray
[ELF] -r: don't create .interp
`{clang,gcc} -nostdlib -r a.c` passes --dynamic-linker to the linker,
and the expected behavior is to ignore it.
If .interp is kept in the relocatable object file, a final link will get
PT_INTERP even if --dynamic-linker is not specified. glibc ld.so expects
to see PT_DYNAMIC and the executable will likely fail to run.
Ignore --dynamic-linker in -r mode as well as -shared.
(cherry picked from commit 2d7a8cf90478cd845ffb39763b0e95b7715322d2)
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/dynamic-linker.s
Commit ac2c2db1674f200f87b05bee528c761600d87615 by hans
[Transforms][RISCV] Remove a "using namespace llvm" from an include
file. Fix a place that became dependent on it.
This include file was created in October and has a "using namespace
llvm". This seems to get exposed to other include files and finally onto
cpp files. While this somewhat okay for llvm itself, its bad for other
projects that use llvm as a library and includes a header file that
picks this up. This was found by ISPC which has some class names at
gloal scope with the same names as LLVM.
It looks like RISCV accidentally became dependent on this. I fixed it by
reordering some includes in the RISCV code, but maybe we want to change
the TableGenEmitter to put "namespace llvm {" in the generated file
instead? But we probably want to do the simplest thing first so we can
merge it to 10.0.
Differential Revision: https://reviews.llvm.org/D72895
(cherry picked from commit caee96031d3be9f951e4a17c8d3fb1c8b748fb31)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SizeOpts.h
Commit fdb501e59f25e59b9dff7d51db468d590909cfef by hans
Work around PR43337: don't try to use the vec_sel overloads for vector
long long, since clang's <altivec.h> doesn't provide it yet!
(cherry picked from commit 388eaa1270c2762d61b756759b6db8cf15bd3a83)
The file was modifiedclang/lib/Headers/ppc_wrappers/emmintrin.h
Commit 7a8b8f09daa1d4f8b82275006678ce3b5daa03b2 by hans
PR17164: Change clang's default behavior from
-flax-vector-conversions=all to -flax-vector-conversions=integer.
Summary: See proposal on cfe-dev:
http://lists.llvm.org/pipermail/cfe-dev/2019-April/062030.html
Reviewers: SjoerdMeijer, eli.friedman
Subscribers: kristof.beyls, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67678
(cherry picked from commit b72a8c65e4e34779b6bc9e466203f553f5294486)
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Sema/vector-ops.c
The file was modifiedclang/test/Headers/altivec-header.c
The file was modifiedclang/test/Sema/vector-cast.c
The file was modifiedclang/test/Headers/x86-intrinsics-headers.c
The file was modifiedclang/test/Headers/arm-neon-header.c
The file was modifiedclang/test/Headers/x86intrin-2.c
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Headers/x86intrin.c
The file was modifiedclang/test/Sema/vector-assign.c
Commit e241c8fe6d2e6d83e9fb32bd34da8ffcdc0dd83d by hans
Fix pack deduction to only deduce the arity of packs that are actually
expanded by the deduced pack.
We recently started also deducing the arity of separately-expanded packs
that are merely mentioned within the pack in question, which is
incorrect.
(cherry picked from commit e8f198dd9e9dabed8d50276465906e7c8827cada)
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/SemaTemplate/deduction.cpp
Commit 0a08d2c4e7830a1b2428c2c77f205ac74fa29899 by hans
PR42694 Support explicit(bool) in older language modes as an extension.
This needs somewhat careful disambiguation, as C++2a explicit(bool) is a
breaking change. We only enable it in cases where the source construct
could not possibly be anything else.
(cherry picked from commit 45d70806f4386adfb62b0d75949a8aad58e0576f)
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/Parser.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/SemaCXX/cxx2a-explicit-bool.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/ParseTentative.cpp
Commit 2d2d057ae23036baecb5a2a4a7f929626f46921a by hans
Add extra test file forgotten in 45d7080.
(cherry picked from commit b78e8e0d79c47a6698a0abc10a37b8a253cb6064)
The file was addedclang/test/Parser/explicit-bool.cpp
Commit cd4c65f91d5a77de28239979b772a8022dc6627a by sguelton
Add __warn_memset_zero_len builtin as a workaround for glibc issue
Glibc issue: https://sourceware.org/bugzilla/show_bug.cgi?id=25399 The
fix consist in considering the missing function as a builtin lowered to
a nop.
Differential Revision: https://reviews.llvm.org/D72869
(cherry picked from commit d293417931d3a9d46799b42795988ca3b5cfd766)
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins.c
The file was modifiedclang/include/clang/Basic/Builtins.def
Commit f06cd8c8c8e2adc5dad66a851bc1df1ecdd1b58e by hans
[libcxx] Use mtx_plain | mtx_recursive following C11 API
The C11 API specifies that to initialize a recursive mutex, mtx_plain |
mtx_recursive should be used with mtx_init.
Differential Revision: https://reviews.llvm.org/D72809
(cherry picked from commit 3481e5d7ed08d068a4e3427cb1afcd8bf2acafdc)
The file was modifiedlibcxx/include/__threading_support
Commit afbebff6cd7be7329bda4500dbfacfc94ff8edba by hans
[ELF] Avoid false-positive assert in getErrPlace()
This assertion was added as part of D70659 but did not account for .bss
input sections. I noticed that this assert was incorrectly triggering
while building FreeBSD for MIPS64. Fixed by relaxing the assert to also
account for SHT_NOBITS input sections and adjust the test
mips-jalr-non-function.s to link a file with a .bss section first.
Reviewed By: MaskRay, grimar Differential Revision:
https://reviews.llvm.org/D72567
(cherry picked from commit 441410be471d5d0a5d1d47cf363de155e397a0c2)
The file was modifiedlld/ELF/Target.cpp
The file was modifiedlld/test/ELF/mips-jalr-non-functions.s
Commit a10f87d5695bdd4f1e366c82fd2869f0fe1d4cfe by hans
[OpenMP][Tool] Fix memory leak and double-allocation
Fix the memory leak pointed out in https://reviews.llvm.org/D70412. And
a second one due to double-allocation.
Reviewed by: Hahnfeld
Differential revision: https://reviews.llvm.org/D72779
(cherry picked from commit 39f746d8def66ef8f5c4d3f1eb4c4cee4baac988)
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
Commit 572c7f6fe7b55ce5f7591fb7a445dea27329074a by hans
Revert "[OPENMP]Do not use RTTI by default for NVPTX devices."
This reverts commit 23058f9dd4d7e18239fd63b6da52549514b45fda. It breaks
builds of cuda code somehow in some cases.
(cherry picked from commit 6b29aa21180cf14bfb619d38fc4826913cabfb66)
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was removedclang/test/Driver/openmp-offload-gpu.cpp
Commit 9007f06af0e009f41b876ae30e6b1ca96feee02e by hans
Revert "Allow system header to provide their own implementation of some
builtin"
This reverts commit 921f871ac438175ca8fcfcafdfcfac4d7ddf3905 because it
causes libc++ code to trigger __warn_memset_zero_len.
See https://reviews.llvm.org/D71082.
(cherry picked from commit 3d210ed3d1880c615776b07d1916edb400c245a6)
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was removedclang/test/CodeGen/memcpy-nobuiltin.inc
The file was removedclang/test/CodeGen/memcpy-nobuiltin.c
Commit b28326516ca3ad9d51688532e944f491ce8b7908 by hans
Revert 9007f06af0e "Revert "Allow system header to provide their own
implementation of some builtin""
This should no longer be necessary after cd4c65f91d5 "Add
__warn_memset_zero_len builtin as a workaround for glibc issue"
The file was modifiedclang/include/clang/AST/Decl.h
The file was addedclang/test/CodeGen/memcpy-nobuiltin.c
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/CodeGen/memcpy-nobuiltin.inc
Commit 9aacec8331d9bc1f80046e5954be1f5e0e0acd42 by maskray
[ELF] Allow R_PLT_PC (R_PC) to a hidden undefined weak symbol
This essentially reverts b841e119d77ed0502e3a2e710f26a899bef28b3c.
Such code construct can be used in the following way:
  // glibc/stdlib/exit.c
// clang -fuse-ld=lld => succeeded
// clang -fuse-ld=lld -fpie -pie => relocation R_PLT_PC cannot refer to
absolute symbol
__attribute__((weak, visibility("hidden"))) extern void
__call_tls_dtors();
void __run_exit_handlers() {
   if (__call_tls_dtors)
       __call_tls_dtors();
}
Since we allow R_PLT_PC in -no-pie mode, it makes sense to allow it in
-pie mode as well.
Reviewed By: pcc
Differential Revision: https://reviews.llvm.org/D72943
(cherry picked from commit 6ab89c3c5df8b679e6ee240a13356309c048fc71)
The file was modifiedlld/test/ELF/weak-undef-hidden.s
The file was modifiedlld/ELF/Relocations.cpp
Commit de4b2a7fad6571d8227df42f73d373574c4b5fe1 by hans
nop change to test the buildkite trigger
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 587b3b2a13d27c50006607a6b7e7458e6d7cc3fa by hans
[clang-format] Expand the SpacesAroundConditions option to include catch
statements
Summary: This diff expands the SpacesAroundConditions option added in
D68346 to include adding spaces to catch statements.
Reviewed By: MyDeveloperDay
Patch by: timwoj
Differential Revision: https://reviews.llvm.org/D72793
(cherry picked from commit ea2be452542c81b04621e26c0d5e83be565f07e2)
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 138451c771abe013b7b99650faeb7ae6010f7a8d by maskray
[StackColoring] Remap FixedStackPseudoSourceValue frame index referenced
by MachineMemOperand
StackColoring::remapInstructions() remaps MachineOperand frame index
(e.g. %stack.1 -> %stack.0) but does not remap
FixedStackPseudoSourceValue frame index (e.g. store 4 into
%stack.1.ap2.i.i) referenced by MachineMemoryOperand.
This can cause an assertion failure when LiveDebugValues references a
dead stack object.
It is difficult to craft a test case. -g, va_copy and stack-coloring are
required. I can only reproduce it on ppc32.
(cherry picked from commit eaab1bf21e1d6803fd217fe6052537fc33b06837)
(cherry picked from commit 854f7be20a0cb1a95671a16d6cc8200107ee25f4)
(cherry picked from commit 7a8b0b1595e7dc878b48cf9bbaa652087a6895db)
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
The file was addedllvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir
Commit 3cce3790072249cbe51b96cea26bc78019c11fd0 by hans
[HIP] use GetProgramPath for executable discovery
This change replaces the manual building of executable paths using
llvm::sys::path::append with GetProgramPath. This enables adding other
paths in case executables reside in different directories and makes the
code easier to read.
Differential Revision: https://reviews.llvm.org/D72903
(cherry picked from commit 24d7a0935bea390fc444f6ac8cf02447fe8d6917)
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
Commit 54acc20e6da529f8ab6183d912a75a94b25d2bd9 by hans
[PATCH] Reland [Clang] Un-break scan-build after integrated-cc1 change
The issue was reported by @xazax.hun here:
https://reviews.llvm.org/D69825#1827826
"This patch (D69825) breaks scan-build-py which parses the output of
"-###" to get -cc1 command. There might be other tools with the same
problems. Could we either remove (in-process) from CC1Command::Print or
add a line break?
Having the last line as a valid invocation is valuable and there might
be tools relying on that."
Differential Revision: https://reviews.llvm.org/D72982
(cherry picked from commit 133a7e631cee97965e310f0d110739217427fd3d)
The file was modifiedclang/lib/Driver/Job.cpp
The file was modifiedclang/test/Driver/cuda-simple.cu
The file was modifiedclang/test/Driver/option-aliases.c
The file was modifiedclang/lib/Driver/Compilation.cpp
The file was modifiedclang/test/Driver/cc-print-options.c
The file was modifiedclang/test/Driver/offloading-interoperability.c
Commit 050e1a3c2688f2daf03456cf94dd3ed79e8ebe7f by hans
[AArch64] Don't rename registers with pseudo defs in Ld/St opt.
If the root def of for renaming is a noop-pseudo instruction like kill,
we would end up without a correct def for the renamed register, causing
miscompiles.
This patch conservatively bails out on any pseudo instruction.
This fixes
https://bugs.chromium.org/p/chromium/issues/detail?id=1037912#c70
(cherry picked from commit 300997c41a00b705ca10264c15910dd8d691ab75)
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
Commit 7adf83beece381d153f8b4a67fa341d13f9c4ba2 by hans
[InstCombine] Fix worklist management in DSE (PR44552)
Fixes https://bugs.llvm.org/show_bug.cgi?id=44552. We need to make sure
that the store is reprocessed, because performing DSE may expose more
DSE opportunities.
There is a slight caveat here though: We need to make sure that we add
back the store the worklist first, because that means it will be
processed after the operands of the removed store have been processed.
This is a general bug in InstCombine worklist management that I hope to
address at some point, but for now it means we need to do this manually
rather than just returning the instruction as changed.
Differential Revision: https://reviews.llvm.org/D72807
(cherry picked from commit 522c030aa9b1dd1881feb5a0d0fa2639b4a5feb7)
The file was addedllvm/test/Transforms/InstCombine/pr44552.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Commit b5cdee9bdce49b31c74b0cf4f8231f66bbc2708e by hans
[PGO][PGSO] Update BFI in CodeGenPrepare::optimizeSelectInst.
Summary: Without the BFI update, some hot blocks are incorrectly treated
as cold code.
This fixes a FDO perf regression in the TSVC benchmark from D71288.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73146
(cherry picked from commit ddbc728828c70728473b47c9f7427aa9514f3d17)
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/X86/cmov-into-branch.ll
Commit 1f98c2b586e4ebce68d75856699059663a052cb7 by hans
[clang-tidy] Disable Checks on If constexpr statements in template
Instantiations for BugproneBranchClone and
ReadabilityBracesAroundStatements
Summary: fixes [[ https://bugs.llvm.org/show_bug.cgi?id=32203 |
readability-braces-around-statements broken for if constexpr]] and [[
https://bugs.llvm.org/show_bug.cgi?id=44229 | bugprone-branch-clone
false positive with template functions and constexpr ]] by disabling the
relevant checks on if constexpr statements while inside an instantiated
template. This is due to how the else branch of an if constexpr
statement is folded away to a null statement if the condition evaluates
to false
Reviewers: alexfh, hokein, aaron.ballman, xazax.hun
Reviewed By: aaron.ballman, xazax.hun
Subscribers: rnkovacs, JonasToth, Jim, lebedev.ri, xazax.hun,
cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D71980
(cherry picked from commit f9c46229e4ac29053747c96e08c574c6c48d544b)
The file was modifiedclang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-branch-clone-if-constexpr-template.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-braces-around-statements-constexpr-if-templates.cpp
Commit d64ca7abe191e5813ab171df325f2cc2693dae21 by hans
[SLP] Add a test showing miscompilation in AltOpcode support
Reviewers: Vasilis, RKSimon, ABataev
Reviewed By: RKSimon, ABataev
Subscribers: ABataev, inglorion, dexonsmith, llvm-commits, vdmitrie
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72739
(cherry picked from commit 757fe53994c1792cbdc84526696a0e256345911f)
The file was addedllvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
Commit 029140ee1ca99e23558c774bb23257a4ea796069 by hans
[SLP] Don't allow Div/Rem as alternate opcodes
Summary: We don't have control/verify what will be the RHS of the
division, so it might happen to be zero, causing UB.
Reviewers: Vasilis, RKSimon, ABataev
Reviewed By: ABataev
Subscribers: vporpo, ABataev, hiraditya, llvm-commits, vdmitrie
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72740
(cherry picked from commit e1d6d368529322edc658c893c01eaadaf8053ea6)
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
Commit 6c9da109c9cee54b494b03edbfd1648b685331c3 by hans
[mlir] Fix compilation with VS2019.
(cherry picked from commit e3d92b7442eaf3319f84bc060492df5b7ac3e9a1)
The file was modifiedmlir/include/mlir/IR/Attributes.h
Commit 3e429b691ec89de09324d6af33e35f1491f45b7d by hans
[cmake] Fix clang builds with BUILD_SHARED=ON and
CLANG_LINK_CLANG_DYLIB=ON
Summary: We were linking all the clang objects and shared libraries into
libclang-cpp.so, which was causing the command line options to be
registered twice.
Reviewers: beanz, mgorny
Reviewed By: beanz, mgorny
Subscribers: mgorny, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68520
(cherry picked from commit df839cfda09dbadc26b8be635f27da75f1f27190)
The file was modifiedclang/tools/clang-shlib/CMakeLists.txt
Commit ba92233ce227753221e15bfab0326a35ef05caa1 by hans
Revert "[cmake] Fix clang builds with BUILD_SHARED=ON and
CLANG_LINK_CLANG_DYLIB=ON"
This reverts commit df839cfda09dbadc26b8be635f27da75f1f27190.
This change used cmake's list filter operation which was not added until
cmake 3.6.
(cherry picked from commit 4751e4f8c24bc07fdb668dc49ee559b97c1e3c22)
The file was modifiedclang/tools/clang-shlib/CMakeLists.txt
Commit 85ee70e86456e3bcb3c706c404db497c5a448602 by hans
Clang] Fix expansion of response files in -Wp after integrated-cc1
change
After rGb4a99a061f517e60985667e39519f60186cbb469, passing a response
file such as -Wp,@a.rsp wasn't working anymore because .rsp expansion
happens inside clang's main() function.
This patch adds response file expansion in the -cc1 tool.
Differential Revision: https://reviews.llvm.org/D73120
(cherry picked from commit 68d7f06092e56b17eb0cddf560a9d9fe8afb7dd8)
The file was modifiedclang/test/Driver/Wp-args.c
The file was modifiedclang/include/clang/Driver/Driver.h
The file was modifiedclang/tools/driver/driver.cpp
Commit 5d37ce7e19c9961b45bef2f2f66805f4a8f02daf by hans
[LLD][COFF] Enable linking of __declspec(selectany) symbols from Clang
and GCC
When annotating a symbol with __declspec(selectany), Clang assigns it
comdat 2 while GCC assigns it comdat 3. This patch enables two object
files that contain a __declspec(selectany) symbol, one created by gcc
and the other by clang, to be linked together instead of issuing a
duplicate symbol error.
Differential Revision: https://reviews.llvm.org/D73139
(cherry picked from commit 9dbc1ab23268abce5db98ad9a1e3aef89c371524)
The file was modifiedlld/COFF/InputFiles.cpp
The file was addedlld/test/COFF/comdat-gcc-compatibility.s
Commit 8634a82910eba78279a69fcba0925d3a602a0563 by hans
[RISCV] Fix evaluating %pcrel_lo against global and weak symbols
Summary: Previously, we would erroneously turn %pcrel_lo(label), where
label has a %pcrel_hi against a weak symbol, into %pcrel_lo(label +
offset), as evaluatePCRelLo would believe the target independent logic
was going to fold it. Moreover, even if that were fixed,
shouldForceRelocation lacks an MCAsmLayout and thus cannot evaluate the
%pcrel_hi fixup to a value and check the symbol, so we would then
erroneously constant-fold the
%pcrel_lo whilst leaving the %pcrel_hi intact. After D72197, this same
sequence also occurs for symbols with global binding, which is triggered
in real-world code.
Instead, as discussed in D71978, we introduce a new FKF_IsTarget flag to
avoid these kinds of issues. All the resolution logic happens in one
place, with no coordination required between RISCAsmBackend and
RISCVMCExpr to ensure they implement the same logic twice. Although the
implementation of %pcrel_hi can be left as target independent, we make
it target dependent to ensure that they are handled identically to
%pcrel_lo, otherwise we risk one of them being constant folded but the
other being preserved. This also allows us to properly support fixup
pairs where the instructions are in different fragments.
Reviewers: asb, lenary, efriedma
Reviewed By: efriedma
Subscribers: arichardson, hiraditya, rbar, johnrusso, simoncook,
sabuasal, niosHD, kito-cheng, shiva0217, MaskRay, zzheng, edward-jones,
rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei,
psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, apazos,
luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73211
(cherry picked from commit 3f5976c97dbfefb4669abcf968bd79a9a64c18e0)
The file was modifiedllvm/include/llvm/MC/MCFixupKindInfo.h
The file was modifiedllvm/test/MC/RISCV/pcrel-fixups.s
The file was modifiedllvm/lib/MC/MCAssembler.cpp
The file was modifiedllvm/test/MC/RISCV/pcrel-lo12-invalid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
The file was modifiedllvm/test/MC/RISCV/rv64i-aliases-valid.s
The file was modifiedllvm/include/llvm/MC/MCAsmBackend.h
The file was modifiedllvm/test/MC/RISCV/rv32i-valid.s
The file was modifiedllvm/test/MC/RISCV/rv32i-aliases-valid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Commit a3982a59ce34039f63fff35c6c0562cf6fd5c771 by hans
[test] Fix lld/test/ELF/riscv-pcrel-hilo-error.s after D73211
(cherry picked from commit ddfe8751b16a1d57b0586fb48d1109c98234bc3f)
The file was modifiedlld/test/ELF/riscv-pcrel-hilo-error.s
Commit 318677e78def0023d210a29f4b3cf648e02f9fdc by hans
[Sema] Avoid Wrange-loop-analysis false positives
When Wrange-loop-analysis issues a diagnostic on a dependent type in a
template the diagnostic may not be valid for all instantiations.
Therefore the diagnostic is suppressed during the instantiation. Non
dependent types still issue a diagnostic.
The same can happen when using macros. Therefore the diagnostic is
disabled for macros.
Fixes https://bugs.llvm.org/show_bug.cgi?id=44556
Differential Revision: https://reviews.llvm.org/D73007
(cherry picked from commit 41fcd17250fa0526e4b7fd2c7df7721b0f79b683)
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/SemaCXX/warn-range-loop-analysis.cpp
Commit b079266dcb6d1ee6446d074ebd1d212a13ce0665 by hans
Revert "PR17164: Change clang's default behavior from
-flax-vector-conversions=all to -flax-vector-conversions=integer."
This patch broke the Sanitizer buildbots. Please see the commit's
differential revision for more information
(https://reviews.llvm.org/D67678).
This reverts commit b72a8c65e4e34779b6bc9e466203f553f5294486.
(cherry picked from commit edd4398f4cd33a305afbca76ac4e6590e9337f4d)
The file was modifiedclang/test/Headers/x86-intrinsics-headers.c
The file was modifiedclang/test/Sema/vector-ops.c
The file was modifiedclang/test/Sema/vector-assign.c
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/test/Headers/arm-neon-header.c
The file was modifiedclang/test/Headers/x86intrin.c
The file was modifiedclang/test/Headers/altivec-header.c
The file was modifiedclang/test/Sema/vector-cast.c
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Headers/x86intrin-2.c
Commit ed63454d984f2262ce332b9b15d49917be3eac98 by richard
Update documentation and release notes to match the state of
-flax-vector-conversions on the Clang 10 release branch.
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 26fd69afd9f3c6bb48b8a4e60578ea8ae919593f by hans
[ELF] --no-dynamic-linker: don't emit undefined weak symbols to .dynsym
I felt really sad to push this commit for my selfish purpose to make
glibc -static-pie build with lld. Some code constructs in glibc require
R_X86_64_GOTPCREL/R_X86_64_REX_GOTPCRELX referencing undefined weak to
be resolved to a GOT entry not relocated by R_X86_64_GLOB_DAT (GNU ld
behavior), e.g.
csu/libc-start.c
if (__pthread_initialize_minimal != NULL)
   __pthread_initialize_minimal ();
elf/dl-object.c
void
_dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
{
   /* We modify the list of loaded objects.  */
   __rtld_lock_lock_recursive (GL(dl_load_write_lock));
Emitting a GLOB_DAT will make the address equal &__ehdr_start (true
value) and cause elf/ldconfig to segfault. glibc really should move away
from weak references, which do not have defined semantics.
Temporarily special case --no-dynamic-linker.
(cherry picked from commit 0fbf28f7aae0ceb70071cac56de345e3ff04439c)
The file was addedlld/test/ELF/weak-undef-no-dynamic-linker.s
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Symbols.cpp
Commit 2dd6b91f35edb967f329f0437b53ea14395aa770 by hans
[clang][IFS][test] Temporary work around for in-process cc1 ASAN issues.
When using in-process cc1, the Clang Interface Stubs pipeline setup
exposes an ASAN bug. I am still investigating this issue but want to
green the bots for now. I don't think this is a huge issue since the
Clang Interface Stubs Driver setup code is the only code path that sets
up such a pipeline (ie N cc1's for N c files followed by another N cc1's
for to generate stub files for the same N c files).
This issue is being discussed in https://reviews.llvm.org/D69825. If a
resolution is not found soon, a bugzilla filling will be in order.
(cherry picked from commit c38e42527b21acee8d01a016d5bfa2fb83202e29)
The file was modifiedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit bfaba51f07d1b79ff6e71da106c2b7e153874b1d by hans
[Clang][IFS][Test] Work around in-process cc1 ASAN issues #2.
Using the same strategy as c38e42527b21.
D69825 revealed (introduced?) a problem when building with ASan, and
some memory leaks somewhere. More details are available in the original
patch.
Looks like we missed one failing tests, this patch adds the workaround
to this test as well.
(cherry picked from commit e174da447c180b586719cb28f7bd556e30625762)
The file was modifiedclang/test/Driver/cl-showfilenames.c
Commit 57f70e387e362d988937b6627461d781ecf09e50 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.
(cherry picked from commit 8a3446746098ba29348bb8f85357dd0b466a6d6e)
The file was modifiedclang/lib/AST/StmtProfile.cpp
Commit ab514b91196345ba4c61026e4997871e85ddd97d by saar
Remove redundant CXXScopeSpec from TemplateIdAnnotation.
A TemplateIdAnnotation represents only a template-id, not a
nested-name-specifier plus a template-id. Don't make a redundant copy of
the CXXScopeSpec and store it on the template-id annotation.
This slightly improves error recovery by more properly handling the case
where we would form an invalid CXXScopeSpec while parsing a typename
specifier, instead of accidentally putting the token stream into a
broken "annot_template_id with a scope specifier, but with no preceding
annot_cxxscope token" state.
(cherry picked from commit a42fd84cff265b7e9faa3fe42885ee171393e4db)
The file was modifiedclang/include/clang/Sema/ParsedTemplate.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
The file was modifiedclang/test/SemaTemplate/ms-delayed-default-template-args.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Parse/ParseTemplate.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/lib/Parse/Parser.cpp
The file was modifiedclang/test/Parser/cxx-decl.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaTemplate/rdar9173693.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit c96ef5118857ff938aa6d304ccf7c0f9b81bc5ba by saar
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment
issues with PointerIntPair.
Differential Revision: https://reviews.llvm.org/D50360
(cherry picked from commit a0f50d731639350c7a79f140f026c27a18215531)
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/p3.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/AST/CMakeLists.txt
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/include/clang/AST/StmtVisitor.h
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/equivalence.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was addedclang/test/Parser/cxx2a-concepts-requires-expr.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/DeclNodes.td
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/AST/ASTConcept.h
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/AST/Stmt.cpp
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was addedclang/test/PCH/cxx2a-requires-expr.cpp
The file was addedclang/test/SemaTemplate/instantiate-requires-expr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Sema/SemaConcept.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was addedclang/include/clang/AST/ExprConcepts.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/lib/AST/ExprConcepts.cpp
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
Commit fe039ecc2d7467ee02a30a9b32d99256e468a671 by saar
[Concepts] Fix name-type conflict compilation issues
D50360 caused some platforms to not compile due to a parameter with the
name of a type.
Rename the parameter.
(cherry picked from commit e68c1e00eba4ae64d38e62eebebd581e3d3d6bd4)
The file was modifiedclang/lib/Parse/ParseDecl.cpp
Commit b597c9e46cb5993edbb872586022dd9ca36cfd8d by saar
[clang-tidy] Fix check for generic lambda invented template parameters
clang-tidy previously relied on there being no identifier for a
TemplateTypeParmDecl for checking whether 'decltype(x)' should be
inserted, instead of checking whether or not it is implicit.
D65042 added new names for invented generic lambda template parameters,
rendering that check incorrect.
(cherry picked from commit 5fdad8e3f803adce501ca25118f325184e54018d)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
Commit 62709e7e49aacfc591c5f4e05be8216a0111c159 by saar
[Concepts] Constraint Satisfaction Caching
Add a simple cache for constraint satisfaction results. Whether or not
this simple caching would be permitted in final C++2a is currently being
discussed but it is required for acceptable performance so we use it in
the meantime, with the possibility of adding some cache invalidation
mechanisms later.
Differential Revision: https://reviews.llvm.org/D72552
(cherry picked from commit b933d37cd3774e5431b35e82187eebb59b1ff59e)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/AST/ASTConcept.h
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was addedclang/test/SemaTemplate/cxx2a-constraint-caching.cpp
The file was modifiedclang/lib/AST/ASTConcept.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Sema/TemplateDeduction.h
The file was modifiedclang/lib/Sema/Sema.cpp
Commit 897b83842c0c53b1a11d3c3dd81c299fcb106139 by saar
[Concepts] Fix circular AST->Sema dependency in ASTConcept.cpp
Remove inappropriate Sema include in ASTConcept.cpp introduced by D72552
for the finer-grained includes actually needed.
(cherry picked from commit bb9b964072eb42a09e76fe148b36eefcfff077b2)
The file was modifiedclang/lib/AST/ASTConcept.cpp
Commit 8ca4a61753985b65e2f76c75416ea47126b2b011 by saar
[Concepts] Fix incorrect recovery in TryAnnotateTypeConstraint
TryAnnotateTypeConstraint would not put the scope specifier back into
the token stream when faced with a non-concept name after a scope
specifier.
(cherry picked from commit de51559fa68049da73b696a4e89468154b12852a)
The file was modifiedclang/lib/Parse/ParseTemplate.cpp
Commit 51a0e9fd6ae58c1b61fbbea1adf7d97371b7fe1c by saar
[Concepts] Fix bug when referencing function parameters in instantiated
function template requires clause
Fixes bug #44613 - incorrect instantiated parameters were being added
when checking instantiated function constraints
(cherry picked from commit c2a250e1c43c05925fe040dc9624403af7879453)
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit dd5820699b75849332c930d77beeb24417316b43 by saar
[Concepts] Profile TypeConstraints in ProfileTemplateParameterList
Profile TypeConstraints in ProfileTemplateParameterList so we can
distinguish between partial specializations which differ in their
TemplateParameterList type constraints.
Recommit, now profiling the IDC so that we can deal with situations
where the TemplateArgsAsWritten are nullptr (happens when canonicalizing
type constraints).
(cherry picked from commit 62c221b5090c2e1d3ca408bcab6f69c4d9e175b7)
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
Commit 6a8cd9fc81e86916c1d8d55f52e3c7d5ccdb598a by saar
[Concepts] Placeholder constraints and abbreviated templates
This patch implements P1141R2 "Yet another approach for constrained
declarations".
General strategy for this patch was:
- Expand AutoType to include optional type-constraint, reflecting the
wording and easing the integration of constraints.
- Replace autos in parameter type specifiers with invented parameters in
GetTypeSpecTypeForDeclarator, using the same logic
previously used for generic lambdas, now unified with abbreviated
templates, by:
- Tracking the template parameter lists in the Declarator object
- Tracking the template parameter depth before parsing function
declarators (at which point we can match template
   parameters against scope specifiers to know if we have an explicit
template parameter list to append invented parameters
   to or not).
- When encountering an AutoType in a parameter context we check a stack
of InventedTemplateParameterInfo structures that
contain the info required to create and accumulate invented template
parameters (fields that were already present in
LambdaScopeInfo, which now inherits from this class and is looked up
when an auto is encountered in a lambda context).
Resubmit after fixing MSAN failures caused by incomplete initialization
of AutoTypeLocs in TypeSpecLocFiller.
Differential Revision: https://reviews.llvm.org/D65042
(cherry picked from commit b481f028144ca91c15d1db3649ce14f174259e7e)
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/AST/TypeLoc.h
The file was modifiedclang/lib/AST/ODRHash.cpp
The file was modifiedclang/test/AST/ast-dump-record-definition-data-json.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/AST/PropertiesBase.td
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/include/clang/AST/TypeProperties.td
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/test/SemaTemplate/ms-delayed-default-template-args.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-generic-lambdas.cpp
The file was modifiedclang/include/clang/Sema/Scope.h
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/Parse/ParseTemplate.cpp
The file was modifiedclang/lib/Parse/Parser.cpp
The file was addedclang/test/CXX/dcl/dcl.fct/p17.cpp
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/include/clang/AST/TemplateBase.h
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/expr.prim.lambda.closure/p3.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Parse/ParseCXXInlineMethods.cpp
The file was modifiedclang/include/clang/Sema/ScopeInfo.h
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/Parser/cxx2a-placeholder-type-constraint.cpp
The file was addedclang/test/CXX/dcl/dcl.spec/dcl.type/dcl.spec.auto/p6.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit a9b2cf6c625ab15e3cef00350c855e7cd319cf83 by saar
[Concepts] Add ExpressionEvaluationContexts to instantiation of
constraints
Proper ExpressionEvaluationContext were not being entered when
instantiating constraint expressions, which caused assertion failures in
certain cases, including bug #44614.
(cherry picked from commit 4d33a8dfcf67e970ea4d150d514b27de02e79aee)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
Commit 29f14c1df25992db8c908e441c69e1fd4d4e4010 by saar
[Concepts] Implement P1616R1 - Using unconstrained template template
parameters with constrained templates
Summary: Allow unconstrained template template parameters to accept
constrainted templates as arguments.
Reviewers: rsmith
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73155
(cherry picked from commit d42d5eb8ea77b3a3a502a60ba3f053fb81a897f3)
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit 2ec65e229314d468006998eaef7074b86ef7482d by saar
[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a
Now with concepts support merged and mostly complete, we do not need
-fconcepts-ts
(which was also misleading as we were not implementing the TS) and can
enable concepts features under C++2a. A warning will be generated if
users still attempt to use -fconcepts-ts.
(cherry picked from commit 67c608a9695496cfc9d3fdf9d0b12b554ac6b4df)
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.order/function-templates.cpp
The file was modifiedclang/test/Parser/cxx2a-constrained-template-param.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
The file was modifiedclang/test/CXX/over/over.match/over.match.viable/p3.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp
The file was modifiedclang/test/CXX/dcl/dcl.decl/p3.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/test/Lexer/cxx-features.cpp
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/lib/Parse/ParseTemplate.cpp
The file was modifiedclang/test/CXX/over/over.over/p4-2a.cpp
The file was modifiedclang/test/Parser/cxx-concepts-requires-clause.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was modifiedclang/test/Lexer/keywords_test.cpp
The file was modifiedclang/test/Parser/cxx-concept-declaration.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
The file was modifiedclang/test/CXX/dcl/dcl.fct/p17.cpp
The file was modifiedclang/test/CXX/dcl/dcl.spec/dcl.type/dcl.spec.auto/p6.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-concept.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-expr.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp
The file was modifiedclang/test/CXX/over/over.match/over.match.best/p1-2a.cpp
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.decl/p3.cpp
The file was modifiedclang/test/Parser/cxx-concepts-ambig-constraint-expr.cpp
The file was modifiedclang/test/Parser/cxx2a-concepts-requires-expr.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/function-templates.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/test/CXX/class/class.compare/class.spaceship/p2.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/expr.prim.lambda.closure/p3.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/equivalence.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/p3.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
The file was modifiedclang/test/CXX/temp/temp.explicit/p8.cpp
The file was modifiedclang/test/Parser/cxx2a-constrained-template-param-with-partial-id.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/PCH/cxx2a-requires-expr.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/Parser/cxx2a-concept-declaration.cpp
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/mixed-constraints.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/CXX/class.derived/class.virtual/p6.cpp
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was modifiedclang/lib/Basic/IdentifierTable.cpp
The file was modifiedclang/test/Parser/cxx2a-placeholder-type-constraint.cpp
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
The file was modifiedclang/test/SemaTemplate/cxx2a-constraint-caching.cpp
Commit 9f37a46d143b5cc481eed225a193cbfbddc2eade by saar
[Concepts] Make constraint expressions unevaluated until satisfaction
checking
As per P1980R0, constraint expressions are unevaluated operands, and
their constituent atomic constraints only become constant evaluated
during satisfaction checking.
Change the evaluation context during parsing and instantiation of
constraints to unevaluated.
(cherry picked from commit 73eaf62463b4a29adf4194685af12d1a5d172987)
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was addedclang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
Commit 32a23c22825b9a596eaf5459b633e868365cff91 by saar
[Concepts] Add Concepts to ReleaseNotes.rst
Concepts support has been ported to the 10.x release.
Add information about the feature to the release notes.
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 901a7890c0e65060511c43d55fc347a1a5cb54ff by saar
[Concepts] Update cxx_status.html with Concepts support status
Concepts will be available with Clang 10 - update cxx_status.html to
reflect the papers that have been implemented.
(cherry picked from commit f394d22fa82df03eaf72bf1876e2d63bbe6cd00f)
The file was modifiedclang/www/cxx_status.html
Commit 425d15aeb13e2f60867654dd1abab515447a71ec by maskray
[ELF][PowerPC] Support R_PPC_COPY and R_PPC64_COPY
Reviewed By: Bdragon28, jhenderson, grimar, sfertile
Differential Revision: https://reviews.llvm.org/D73255
(cherry picked from commit f1dab29908d25a4044abff6ffc120c48b20f034d)
The file was modifiedlld/ELF/Arch/PPC.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-ppc64.test
The file was modifiedllvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
The file was addedlld/test/ELF/ppc-reloc-copy.s
The file was modifiedlld/ELF/Arch/PPC64.cpp
Commit a3db4e05e36e836077e6e551feb6841c7e8023a0 by hans
[lld][RISCV] Print error when encountering R_RISCV_ALIGN
Summary: Unlike R_RISCV_RELAX, which is a linker hint, R_RISCV_ALIGN
requires the support of the linker even when ignoring all R_RISCV_RELAX
relocations. This is because the compiler emits as many NOPs as may be
required for the requested alignment, more than may be required
pre-relaxation, to allow for the target becoming more unaligned after
relaxing earlier sequences. This means that the target is often not
initially aligned in the object files, and so the R_RISCV_ALIGN
relocations cannot just be ignored. Since we do not support linker
relaxation, we must turn these into errors.
Reviewers: ruiu, MaskRay, espindola
Reviewed By: MaskRay
Subscribers: grimar, Jim, emaste, arichardson, asb, rbar, johnrusso,
simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng,
edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX,
jocewei, psnobl, benna, lenary, s.egerton, pzheng, sameer.abuasal,
apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71820
(cherry picked from commit d1da63664f4e42191daf2e6a9fa682ca9f75ef5e)
The file was modifiedlld/ELF/Arch/RISCV.cpp
The file was addedlld/test/ELF/riscv-reloc-align.s
Commit 39c349e8fc7f4b334cf4b30724b28dfce44a024e by hans
Add test for spaceship operator to __config
Summary: The libcxx test suite auto-detects spaceship operator, but
__config does not. This means that the libcxx test suite has been broken
for over a month when using top-of-tree clang. This also really ought to
be fixed before 10.0.
See: bc633a42dd409dbeb456263e3388b8caa4680aa0
Reviewers: chandlerc, mclow.lists, EricWF, ldionne, CaseyCarter
Reviewed By: EricWF
Subscribers: broadwaylamb, hans, dexonsmith, tstellar, llvm-commits,
libcxx-commits
Tags: #libc, #llvm
Differential Revision: https://reviews.llvm.org/D72980
(cherry picked from commit 5dda92fcb0ce9206f831aa7cddf24421dcf044d7)
The file was modifiedlibcxx/include/__config
Commit 50627622856e631bd522cefd84efe2c8070ef75e by maskray
[XRay] Set hasSideEffects flag of PATCHABLE_FUNCTION_{ENTER,EXIT}
Otherwise they may be picked as the delay slot by
mips-delay-slot-filler, if we move patchable-function before
mips-delay-slot-filler.
(cherry picked from commit a72d15e37c5e066f597f13a8ba60aff214ac992d)
The file was modifiedllvm/include/llvm/Target/Target.td
Commit 6c1e479db225897cbbff7894ffe77824c03ab8fd by maskray
[CodeGen] Move fentry-insert, xray-instrumentation and
patchable-function before addPreEmitPass()
This intention is to move patchable-function before
aarch64-branch-targets
(configured in AArch64PassConfig::addPreEmitPass) so that we emit BTI
before NOPs
(see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92424).
This also allows addPreEmitPass() passes to know the precise instruction
sizes if they want.
Tried x86-64 Debug/Release builds of ccls with -fxray-instrument
-fxray-instruction-threshold=1. No output difference with this commit
and the previous commit.
(cherry picked from commit 9a24488cb67a90f889529987275c5e411ce01dda)
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was addedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
Commit 0e2eea29cc4f360fc95638fbfc8aca24cec3fc5f by maskray
[AsmPrinter] Don't emit __patchable_function_entries entry if
"patchable-function-entry"="0"
Add improve tests
(cherry picked from commit d232c215669cb57f5eb4ead40a4a336220dbc429)
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry.ll
The file was modifiedllvm/test/CodeGen/X86/patchable-function-entry.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Commit bf04730dee1b74c8e7661c671484eff93c1f5a77 by maskray
Add function attribute "patchable-function-prefix" to support
-fpatchable-function-entry=N,M where M>0
Similar to the function attribute `prefix` (prefix data),
"patchable-function-prefix" inserts data (M NOPs) before the function
entry label.
-fpatchable-function-entry=2,1 (1 NOP before entry, 1 NOP after entry)
will look like:
```
.type foo,@function
.Ltmp0:               # @foo
nop foo:
.Lfunc_begin0:
# optional `bti c` (AArch64 Branch Target Identification) or
# `endbr64` (Intel Indirect Branch Tracking)
nop
  .section  __patchable_function_entries,"awo",@progbits,get,unique,0
.p2align  3
.quad .Ltmp0
```
-fpatchable-function-entry=N,0 +
-mbranch-protection=bti/-fcf-protection=branch has two reasonable
placements (https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01185.html):
```
(a)         (b)
func:       func:
.Ltmp0:     bti c
bti c     .Ltmp0:
nop       nop
```
(a) needs no additional code. If the consensus is to go for (b), we will
need more code in AArch64BranchTargets.cpp /
X86IndirectBranchTracking.cpp .
Differential Revision: https://reviews.llvm.org/D73070
(cherry picked from commit 22467e259507f5ead2a87d989251b4c951a587e4)
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry.ll
The file was modifiedllvm/lib/Target/ARM/ARMMCInstLower.cpp
The file was modifiedllvm/test/Verifier/invalid-patchable-function-entry.ll
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit 6f4edc606b2088bcac066640d5107d2042c203c1 by maskray
[X86][test] Add tests for -fpatchable-function-entry=N,M (where M>0) and
its interaction with -fcf-protection=branch
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D73071
(cherry picked from commit 01da05b71aa72c15a518d3407682a3775db63808)
The file was modifiedllvm/test/CodeGen/X86/patchable-function-entry.ll
The file was addedllvm/test/CodeGen/X86/patchable-function-entry-ibt.ll
Commit 5d1fe1a1a9f18c5009e9e282b755e52c5e7ce5a2 by maskray
[Driver][CodeGen] Support -fpatchable-function-entry=N,M and
__attribute__((patchable_function_entry(N,M))) where M>0
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D73072
(cherry picked from commit 69bf40c45fd7f6dfe11b47de42571d8bff5ef94f)
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/test/CodeGen/patchable-function-entry.c
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/test/Sema/patchable-function-entry-attr.c
The file was modifiedclang/test/Driver/fpatchable-function-entry.c
Commit 4d5a200f31d565cf7762a3cde30375f5d8a309c6 by maskray
[PatchableFunction] Allow empty entry MachineBasicBlock
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D73301
(cherry picked from commit 50a3ff30e1587235d1830fec9694c1239302ab9f)
The file was addedllvm/test/CodeGen/AArch64/patchable-function-entry-empty.mir
The file was modifiedllvm/lib/CodeGen/PatchableFunction.cpp
Commit b86c3b26acfb7365079cadf0b8b920c2074072d9 by hans
[openmp] Disable archer if LIBOMP_OMPT_SUPPORT is off
This fixed build failures due to missing ompt headers.
See https://bugs.gentoo.org/700762.
Differential Revision: https://reviews.llvm.org/D73249
(cherry picked from commit 3c545e4b7318c337bed43d5bc76aad040565f1ef)
The file was modifiedopenmp/tools/archer/CMakeLists.txt
Commit e9739ba8ffca472aa5a6b64a2e9b2008fd8be5cd by hans
Make address-space-lambda.cl pass on 32-bit Windows
Member functions will have the thiscall attribute on them.
(cherry picked from commit 698d1cd3b8154b3b74423386d3e111e6b756e87a)
The file was modifiedclang/test/SemaOpenCLCXX/address-space-lambda.cl
Commit d11abddb32f6475441872ed19e0e3091d7d7f087 by hans
[DebugInfo][test] Change two MIR tests to use
-start-before=livedebugvalues instead of -start-after=patchable-function
To break order dependency between livedebugvalues and
patchable-function.
(cherry picked from commit 26ba1f77b55e7a961acc05d94bfa4b677a9e5d83)
The file was modifiedllvm/test/DebugInfo/X86/debug-loc-asan.mir
The file was modifiedllvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
Commit 0df13627c6a4006de39e5f01d81a338793b0e82b by tra
[CUDA] Fix order of memcpy arguments in __shfl_*(<64-bit type>).
Wrong argument order resulted in broken shfl ops for 64-bit types.
(cherry picked from commit cc14de88da27a8178976972bdc8211c31f7ca9ae)
The file was modifiedclang/lib/Headers/__clang_cuda_intrinsics.h
Commit c21e178bf22b6b46f087e6aab02a34d11dd98432 by saar
[Concepts] Transform constraints of non-template functions to
ConstantEvaluated
We would previously try to evaluate atomic constraints of non-template
functions as-is, and since they are now unevaluated at first, this would
cause incorrect evaluation (bugs #44657, #44656).
Substitute into atomic constraints of non-template functions as we would
atomic constraints of template functions, in order to rebuild the
expressions in a constant-evaluated context.
(cherry picked from commit 713562f54858f10bf8998ee21ff2c7e7bad0d177)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
The file was modifiedclang/lib/AST/ASTConcept.cpp
The file was modifiedclang/include/clang/AST/ASTConcept.h
Commit 6f8ad14521ec2983f2398bae32a717842e2cf313 by i
[ELF][PPC32] Support canonical PLT
-fno-pie produces a pair of non-GOT-non-PLT relocations
R_PPC_ADDR16_{HA,LO} (R_ABS) referencing external functions.
``` lis 3, func@ha la 3, func@l(3)
```
In a -no-pie/-pie link, if func is not defined in the executable, a
canonical PLT entry (st_value>0, st_shndx=0) will be needed. References
to func in shared objects will be resolved to this address.
-fno-pie -pie should fail with "can't create dynamic relocation ...
against ...", so we just need to think about -no-pie.
On x86, the PLT entry passes the JMP_SLOT offset to the rtld PLT
resolver. On x86-64: the PLT entry passes the JUMP_SLOT index to the
rtld PLT resolver. On ARM/AArch64: the PLT entry passes &.got.plt[n].
The PLT header passes &.got.plt[fixed-index]. The rtld PLT resolver can
compute the JUMP_SLOT index from the two addresses.
For these targets, the canonical PLT entry can just reuse the regular
PLT entry (in PltSection).
On PPC32: PltSection (.glink) consists of `b PLTresolve` instructions
and `PLTresolve`. The rtld PLT resolver depends on r11 having been set
up to the .plt (GotPltSection) entry. On PPC64 ELFv2: PltSection
(.glink) consists of `__glink_PLTresolve` and `bl __glink_PLTresolve`.
The rtld PLT resolver depends on r12 having been set up to the .plt
(GotPltSection) entry.
We cannot reuse a `b PLTresolve`/`bl __glink_PLTresolve` in PltSection
as a canonical PLT entry. PPC64 ELFv2 avoids the problem by using TOC
for any external reference, even in non-pic code, so the canonical PLT
entry scenario should not happen in the first place. For PPC32, we have
to create a PLT call stub as the canonical PLT entry. The code sequence
sets up r11.
Reviewed By: Bdragon28
Differential Revision: https://reviews.llvm.org/D73399
(cherry picked from commit 837e8a9c0cd097034e023dfba146d17ce132998c)
The file was modifiedlld/ELF/Arch/PPC.cpp
The file was addedlld/test/ELF/ppc32-canonical-plt.s
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/SyntheticSections.h
Commit f15b60b3a2a20f68ba303c5e771a0552718eca8e by i
[ELF][PPC32] Support range extension thunks with addends
* Generalize the code added in D70637 and D70937. We should eventually
remove the EM_MIPS special case.
* Handle R_PPC_LOCAL24PC the same way as R_PPC_REL24.
Reviewed By: Bdragon28
Differential Revision: https://reviews.llvm.org/D73424
(cherry picked from commit 70389be7a029bec3c45991a60b627445ef996120)
The file was addedlld/test/ELF/ppc32-long-thunk.s
The file was modifiedlld/ELF/Thunks.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/Arch/PPC.cpp
Commit 27f93515c68b8b628b487758af87e10f6604cd99 by simon
[docs][mips] 10.0 Release notes
MIPS specific part of LLVM 10.0 Release notes for LLVM, Clang and LLD.
Differential Revision: https://reviews.llvm.org/D73108
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 73a91477f7045d1325570f28e349dd87d9bff49c by saar
[Concepts] Fix parsing of scope specifier in compound-requirements, add
more tests for scope specifiers in type-constraints
The code for parsing of type-constraints in compound-requirements was
not adapted for the new TryAnnotateTypeConstraint which caused
compound-requirements with scope specifiers to ignore them.
Also add regression tests for scope specifiers in type-constraints in
more contexts.
(cherry picked from commit 5043962dd3150c6ac72b75174b9460a510d1b5c3)
The file was addedclang/test/Parser/cxx2a-abbreviated-templates.cpp
The file was modifiedclang/test/Parser/cxx2a-placeholder-type-constraint.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/test/Parser/cxx2a-concepts-requires-expr.cpp
Commit b07b82777b9ad19c44c6eb347507f1fdda3ddf34 by saar
[Concepts] Add missing null check to transformConstructor
Caused bug 44671 when transforming a constructor with a type-constraint
with no explicit template args.
(cherry picked from commit a8d096aff6b1930ad57bd0c30077d2b4920b5025)
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit b39efdbcfcb7c7a5e867a99c2d3e756c538fbb9f by saar
[Concepts] Fix incorrect TemplateArgs for introduction of local
parameters
The wrong set of TemplateArgs was being provided to
addInstantiatedParametersToScope. Caused bug #44658.
(cherry picked from commit 9c24fca2a33fc0fd059e278bb95c84803dfff9ae)
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit 2c9cb89d0d00dc8669410a7d57ada11c5f7f8409 by hans
[Support] Fix race in threading test, found by TSan
(cherry picked from commit 18e6a65bae93a7bf0e718415b394fe4b0f09221e)
The file was modifiedllvm/unittests/Support/Threading.cpp
Commit b5cf892651812003e64c4a8f0dbf81f74a499016 by hans
[LLDB] Fix the handling of unnamed bit-fields when parsing DWARF
We ran into an assert when debugging clang and performing an expression
on a class derived from DeclContext. The assert was indicating we were
getting the offsets wrong for RecordDeclBitfields. We were getting both
the size and offset of unnamed bit-field members wrong. We could fix
this case with a quick change but as I extended the test suite to
include more combinations we kept finding more cases that were being
handled incorrectly. A fix that handled all the new cases as well as the
cases already covered required a refactor of the existing technique.
Differential Revision: https://reviews.llvm.org/D72953
(cherry picked from commit fcaf5f6c01a09f23b948afb8c91c4dd951d4525e)
The file was addedlldb/packages/Python/lldbsuite/test/lang/cpp/bitfields/main.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was addedlldb/packages/Python/lldbsuite/test/lang/cpp/bitfields/Makefile
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
The file was addedlldb/packages/Python/lldbsuite/test/lang/cpp/bitfields/TestCppBitfields.py
Commit 23d93923900834dd873cde2ea54f7c3a0e071802 by hans
Include <cstdlib> for std::abort() in clangd
This fixes a "not a member of 'std'" error with e.g. Fedora 32.
Closes: #105
(cherry picked from commit 58592f6c49249293f79698cfcb31dba532e12603)
The file was modifiedclang-tools-extra/clangd/Shutdown.cpp
Commit f234f5c2b1ed6486fe578744fe673912ef68b945 by hans
[msan] Instrument x86.pclmulqdq* intrinsics.
Summary: These instructions ignore parts of the input vectors which
makes the default MSan handling too strict and causes false positive
reports.
Reviewers: vitalybuka, RKSimon, thakis
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73374
(cherry picked from commit 1df8549b26892198ddf77dfd627eb9f979d45b7e)
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was addedllvm/test/Instrumentation/MemorySanitizer/clmul.ll
Commit 256a0eaf23b213706f9ccb6b35152dc7a1c03290 by hans
[X86] Make `llc --help` output readable again
Long `cl::value_desc()` is added right after the flag name, before
`cl::desc()` column. And thus the `cl::desc()` column, for all flags, is
padded to the right, which makes the output unreadable.
(cherry picked from commit 70cbf8c71c510077baadcad305fea6f62e830b06)
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Commit ef917463d9c0982e0aa6c6f2786ad0ae8a8e2637 by kadircet
[clangd] Show hower info for expressions
Summary: This currently populates only the Name with the expression's
type and Value if expression is evaluatable.
Fixes https://github.com/clangd/clangd/issues/56
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72500
(cherry picked from commit 4d14bfaa2cb1610104db6b0818fc7d74fad1bd8f)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit a6f550eae718862496f6ba01b0b618ee9326eceb by kadircet
[clangd] Add a ruler after header in hover
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72622
(cherry picked from commit d74a3d470c316f8fade90fe231fc0a51361c01e6)
The file was modifiedclang-tools-extra/clangd/FormattedString.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FormattedStringTests.cpp
The file was modifiedclang-tools-extra/clangd/FormattedString.h
Commit 13553d51aa87f5a66a1c9da5ca2abb3d9ebd9ae2 by kadircet
[clangd] Rearrange type, returntype and parameters in hover card
Summary: Moves type/returntype into its own line as it is more readable
in cases where the type is long.
Also gives parameter lists a heading, `Parameters:` to make them stand
out.
Leaves the `right arrow` instead of `Returns: ` before Return Type to
make output more symmetric.
``` function foo
Returns: ret_type Parameters:
- int x
```
vs
``` function foo
🡺 ret_type Parameters:
- int x
```
Reviewers: sammccall, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72623
(cherry picked from commit 44f9c7a820c1e5fb949f441214a46b13588ff51a)
The file was modifiedclang-tools-extra/clangd/test/hover.test
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit a27142b26a584a1d0bdbcc7ed2b4b386418a96ee by kadircet
[clangd] Fix windows buildbots
(cherry picked from commit 60adfb83cda883d9fc1079c89d2feaa681a41b90)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 1f448807c2ef24ffe0fde19fdd2fc46556436a5c by kadircet
[clangd] Extract string literals in macro arguments to unbreak gcc
buildbots
(cherry picked from commit 041650da67051266eb92b5bb07223394fe1bdab1)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 7350a0429cc77947abba1591839a7a652af66623 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
(cherry picked from commit b08e8353a89f682861ef947fdb6e229b3de2e37d)
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 1426bb44cc777fbbd867a1eaeb25d6460a99214c by kadircet
[clangd] Print underlying type for decltypes in hover
Summary: Fixes https://github.com/clangd/clangd/issues/249
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72498
(cherry picked from commit 0474fe465d8feebcfd54a16d93ad8518b5625972)
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 53f39c77b2ba74626b0dfd5efbfdf39b2f0d720e by kadircet
[clangd] Drop returntype/type when hovering over type-ish names
Summary: Some names, e.g. constructor/destructor/conversions, already
contain the type info, no need to duplicate them in the hoverinfo.
Fixes https://github.com/clangd/clangd/issues/252
Reviewers: sammccall, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73110
(cherry picked from commit 1fbb1d6df0113ca341f6d257bc72e07343dd861a)
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 99464b7eb1d7bbeb7380a6ccc19b0ffdb2f08d40 by kadircet
[clangd][Hover] Change arrow in return type back to →
Summary: Currently 🡺 is used in hover response to represent return
types, but it is not widely available. Changing this back to original to
support more clients.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73336
(cherry picked from commit 1b996faa1575bda6b99e778aaabe14834c10d3ff)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/test/hover.test
Commit 01fd650ba3d29709e82a608dfa7fcec35606385d by hans
[RISCV] Pass target-abi via module flag metadata
Reviewers: lenary, asb
Reviewed By: lenary
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72755
(cherry picked from commit e15fb06e2d0a068de549464d72081811e7fac612)
The file was addedclang/test/CodeGen/riscv-metadata.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 7c5784746cfc6dc1906359704da5a4c95b64fb47 by hans
[RISCV] Check the target-abi module flag matches the option
Reviewers: lenary, asb
Reviewed By: lenary
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72768
(cherry picked from commit 1256d68093ac1696034e385bbb4cb6e516b66bea)
The file was addedllvm/test/CodeGen/RISCV/module-target-abi.ll
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h
The file was addedllvm/test/CodeGen/RISCV/module-target-abi2.ll
Commit 4d342b7d8e9bc6f40001011b51b5ad812535c4a6 by hans
Revert "[RISCV] Support ABI checking with per function target-features"
This reverts commit 7bc58a779aaa1de56fad8b1bc8e46932d2f2f1e4. It breaks
EXPENSIVE_CHECKS on Windows
(cherry picked from commit cef838e65f9a2aeecf5e19431077bc16b01a79fb)
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/subtarget-features-std-ext.ll
Commit 72882ca30d87bd7ea85d8099e8b9d2244749b71e by hans
[RISCV] Support ABI checking with per function target-features
1. if users don't specific -mattr, the default target-feature come from
IR attribute. 2. fixed bug and re-land this patch
Reviewers: lenary, asb
Reviewed By: lenary
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70837
(cherry picked from commit 0cb274de397a193fb37c60653b336d48a3a4f1bd)
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/test/CodeGen/RISCV/subtarget-features-std-ext.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit c23212a438f6ff20bf1d98e5ca23c5cd28591ce3 by rnk
[IR] Keep a double break between functions when printing a module
This behavior appears to have changed unintentionally in
b0e979724f2679e4e6f5b824144ea89289bd6d56.
Instead of printing the leading newline in printFunction, print it when
printing a module. This ensures that `OS << *Func` starts printing
immediately on the current line, but whole modules are printed nicely.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D73505
(cherry picked from commit 9521c18438a9f09663f3dc68aa7581371c0653c9)
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/test/Feature/undefined.ll
Commit 87c7863c3ec4b66944bfcf39efd666de417f28b8 by maskray
Reland "[StackColoring] Remap PseudoSourceValue frame indices via
MachineFunction::getPSVManager()""
Reland 7a8b0b1595e7dc878b48cf9bbaa652087a6895db, with a fix that checks
`!E.value().empty()` to avoid inserting a zero to SlotRemap.
Debugged by rnk@ in
https://bugs.chromium.org/p/chromium/issues/detail?id=1045650#c33
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D73510
(cherry picked from commit 68051c122440b556e88a946bce12bae58fcfccb4)
(cherry picked from commit c7c5da6df30141c563e1f5b8ddeabeecdd29e55e)
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
Commit 6472fec9a6998a2efd61137f90ace9f4c9dc76f1 by kadircet
[clangd][Hover] Handle uninstantiated templates
Summary: Fixes https://github.com/clangd/clangd/issues/263
Reviewers: hokein, sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73344
(cherry picked from commit a31a61dafeaa9110687110fc127ea6f7c91dd3e6)
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 54b022d344412fc9f1dfe37ee05de934a01e1ea4 by hans
[lldb] Fix nondeterminism in TestCppBitfields
The test was printing a char[3] variable without a terminating nul. The
memory after that variable (an unnamed bitfield) was not initialized. If
the memory happened to be nonzero, the summary provider for the variable
would run off into the next field.
This is probably not the right behavior (it should stop at the end of
the array), but this is not the purpose of this test. I have filed
pr44649 for this bug, and fixed the test to not depend on this behavior.
(cherry picked from commit 77cedb0cdb8623ff9eb22dbf3b9302ee4d9f8a20)
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/bitfields/main.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/bitfields/TestCppBitfields.py
Commit 684c216d73cdcd64fc0186b533870cb79dc03810 by i
[ELF][PPC32] Support --emit-relocs link of R_PPC_PLTREL24
Similar to R_MIPS_GPREL16 and R_MIPS_GPREL32 (D45972).
If the addend of an R_PPC_PLTREL24 is >= 0x8000, it indicates that r30
is relative to the input section .got2.
``` addis 30, 30, .got2+0x8000-.L1$pb@ha addi 30, 30,
.got2+0x8000-.L1$pb@l
... bl foo+0x8000@PLT
```
After linking, the relocation will be relative to the output section
.got2. To compensate for the shift `address(input section .got2) -
address(output section .got2) = ppc32Got2OutSecOff`, adjust by
`ppc32Got2OutSecOff`:
``` addis 30, 30, .got2+0x8000-.L1+ppc32Got2OutSecOff$pb@ha addi 30, 30,
.got2+0x8000-.L1+ppc32Got2OutSecOff$pb@ha$pb@l
... bl foo+0x8000+ppc32Got2OutSecOff@PLT
```
This rule applys to a relocatable link or a non-relocatable link with
--emit-relocs.
Reviewed By: Bdragon28
Differential Revision: https://reviews.llvm.org/D73532
(cherry picked from commit e11b709b1922ca46b443fcfa5d76b87edca48721)
The file was modifiedlld/ELF/InputSection.cpp
The file was addedlld/test/ELF/ppc32-relocatable-got2.s
Commit 9a174549742aae9e5bc9ab099cad849b0282f0e3 by kadircet
[clangd][Hover] Make tests hermetic by setting target triplet
Summary: Fixes https://bugs.llvm.org/show_bug.cgi?id=44696
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73613
(cherry picked from commit 55b0e9c9d5de7c5d70552ac9ca9ffc14097e983b)
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 967658150edb2cbb860c19ce54ac1e216bdc8461 by hans
Work around PR44697 in CrashRecoveryContext
(cherry picked from commit 31e07692d7f2b383bd64c63cd2b5c35b6503cf3a)
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
Commit 5777899f146aaa53f598e6978702a7a2725200d7 by hans
[CUDA] Assume the latest known CUDA version if we've found an unknown
one.
This makes clang somewhat forward-compatible with new CUDA releases
without having to patch it for every minor release without adding any
new function.
If an unknown version is found, clang issues a warning (can be disabled
with -Wno-cuda-unknown-version) and assumes that it has detected the
latest known version. CUDA releases are usually supersets of older ones
feature-wise, so it should be sufficient to keep released clang versions
working with minor CUDA updates without having to upgrade clang, too.
Differential Revision: https://reviews.llvm.org/D73231
(cherry picked from commit 12fefeef203ab4ef52d19bcdbd4180608a4deae1)
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedclang/lib/Headers/__clang_cuda_runtime_wrapper.h
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/bin/.keep
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/lib/.keep
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/lib64/.keep
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/include/.keep
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/version.txt
The file was modifiedclang/test/Driver/cuda-version-check.cu
The file was addedclang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/nvvm/libdevice/libdevice.10.bc
Commit 81d73c6de33b2282f7174bd378699feac69bc5aa by hans
[LLD][ELF][ARM] Do not insert interworking thunks for non STT_FUNC
symbols
ELF for the ARM architecture requires linkers to provide interworking
for symbols that are of type STT_FUNC. Interworking for other symbols
must be encoded directly in the object file. LLD was always providing
interworking, regardless of the symbol type, this breaks some programs
that have branches from Thumb state targeting STT_NOTYPE symbols that
have bit 0 clear, but they are in fact internal labels in a Thumb
function. LLD treats these symbols as ARM and inserts a transition to
Arm.
This fixes the problem for in range branches, R_ARM_JUMP24,
R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19. This is expected to be the vast
majority of problem cases as branching to an internal label close to the
function.
There is at least one follow up patch required.
- R_ARM_CALL and R_ARM_THM_CALL may do interworking via BL/BLX
substitution.
In theory range-extension thunks can be altered to not change state when
the symbol type is not STT_FUNC. I will need to check with ld.bfd to see
if this is the case in practice.
Fixes (part of) https://github.com/ClangBuiltLinux/linux/issues/773
Differential Revision: https://reviews.llvm.org/D73474
(cherry picked from commit 4f38ab250ff4680375c4c01db0a88c157093c665)
The file was addedlld/test/ELF/arm-thumb-interwork-notfunc.s
The file was addedlld/test/ELF/arm-thumb-interwork-ifunc.s
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/test/ELF/arm-thunk-edgecase.s
Commit 425198bf1f98e93be37b8675e29ac6d37529dc68 by hans
[GlobalMerge] Preserve symbol visibility when merging globals
Symbols created for merged external global variables have default
visibility. This can break programs when compiling with -Oz
-fvisibility=hidden as symbols that should be hidden will be exported at
link time.
Differential Revision: https://reviews.llvm.org/D73235
(cherry picked from commit a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6)
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp
The file was addedllvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll
Commit 52c1d209acec58b393290a5a126aa6f1d38beb1e by hans
[PassManagerBuilder] Remove global extension when a plugin is unloaded
This commit fixes PR39321.
GlobalExtensions is not guaranteed to be destroyed when optimizer
plugins are unloaded. If it is indeed destroyed after a plugin is
dlclose-d, the destructor of the corresponding ExtensionFn is not mapped
anymore, causing a call to unmapped memory during destruction.
This commit guarantees that extensions coming from external plugins are
removed from GlobalExtensions when the plugin is unloaded if
GlobalExtensions has not been destroyed yet.
Differential Revision: https://reviews.llvm.org/D71959
(cherry picked from commit ab2300bc154f7bed43f85f74fd3fe31be71d90e0)
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
Commit f7f0fd4a21d52d30f9b3257cd537fbc706f0f176 by hans
[ORC] Add weak symbol support to defineMaterializing, fix for PR40074.
The MaterializationResponsibility::defineMaterializing method allows
clients to add new definitions that are in the process of being
materialized to the JIT. This patch adds support to defineMaterializing
for symbols with weak linkage where the new definitions may be rejected
if another materializer concurrently defines the same symbol. If a weak
symbol is rejected it will not be added to the
MaterializationResponsibility's responsibility set. Clients can check
for membership in the responsibility set via the
MaterializationResponsibility::getSymbols() method before resolving any
such weak symbols.
This patch also adds code to RTDyldObjectLinkingLayer to tag COFF comdat
symbols introduced during codegen as weak, on the assumption that these
are COFF comdat constants. This fixes http://llvm.org/PR40074.
(cherry picked from commit 84217ad66115cc31b184374a03c8333e4578996f)
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Commit 32723d572077e9a3776553a2067563974e85e7c8 by hans
[ORC] Add support for emulated TLS to ORCv2.
This commit adds a ManglingOptions struct to IRMaterializationUnit, and
replaces IRCompileLayer::CompileFunction with a new
IRCompileLayer::IRCompiler class. The ManglingOptions struct defines the
emulated-TLS state (via a bool member, EmulatedTLS, which is true if
emulated-TLS is enabled and false otherwise). The
IRCompileLayer::IRCompiler class wraps an IRCompiler (the same way that
the CompileFunction typedef used to), but adds a method to return the
IRCompileLayer::ManglingOptions that the compiler will use.
These changes allow us to correctly determine the symbols that will be
produced when a thread local global variable defined at the IR level is
compiled with or without emulated TLS. This is required for ORCv2, where
MaterializationUnits must declare their interface up-front.
Most ORCv2 clients should not require any changes. Clients writing
custom IR compilers will need to wrap their compiler in an
IRCompileLayer::IRCompiler, rather than an
IRCompileLayer::CompileFunction, however this should be a
straightforward change (see modifications to CompileUtils.* in this
patch for an example).
(cherry picked from commit ce2207abaf9a925b35f15ef92aaff6b301ba6d22)
The file was addedllvm/test/ExecutionEngine/OrcLazy/emulated-tls.ll
The file was modifiedllvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Speculation.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
Commit 32056b4eb87258884074f7f635bccd40fc44852c by hans
[ORC] Fix a missing move in ce2207abaf9.
This should fix the build failure at
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/32524
and others.
(cherry picked from commit e0a6093a744d16c90eafa62d7143ce41806b2466)
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
Commit 46f6f03839e302364111f4532b9a098e9a0a9d21 by hans
[ORC] Update examples to incorporate changes in ce2207abaf9.
This should fix the builders that were failing due to broken JIT
examples after ce2207abaf9.
(cherry picked from commit 98e55477558a823b1045b54d5a09681a3c0b819a)
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
Commit 011adfcbbdbe945222ef7bc8b1a9799aac2cbea3 by hans
Update clang-interpreter example to incorporate changes in ce2207abaf9.
(cherry picked from commit b54aa053d3aeeab0cdaecb6286419138b7da5ef4)
The file was modifiedclang/examples/clang-interpreter/main.cpp
Commit 92edb295392dea9c7f545f180065292459ebe4e9 by hans
[ORC] Fix the LLJITWithObjectCache example to address changes in
ce2207abaf9.
(cherry picked from commit 97d000da2e6025600c4709d611e853eb1d5d407c)
The file was modifiedllvm/examples/LLJITExamples/LLJITWithObjectCache/LLJITWithObjectCache.cpp
Commit d18ccb8b3310867c179f22704b6397e83981fff7 by hans
[WebAssembly] Fix resume-only case in Emscripten EH
Summary: D72308 incorrectly assumed `resume` cannot exist without a
`landingpad`, which is not true. This sets `Changed` to true whenever we
make changes to a function, including creating a call to
`__resumeException` within a function without a landing pad.
Reviewers: tlively
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73308
(cherry picked from commit 580d7838dd08e13dac6caf4ab3142c9381bc7ad0)
The file was removedllvm/test/CodeGen/WebAssembly/lower-em-exceptions-lpad-only.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was addedllvm/test/CodeGen/WebAssembly/lower-em-exceptions-resume-only.ll
Commit d275de35f8bdb92e7b5789ebdb96df99fab504ab by hans
[clan-tidy] Fix false positive in bugprone-infinite-loop
The checker bugprone-infinite-loop does not track changes of variables
in the initialization expression of a variable declared inside the
condition of the while statement. This leads to false positives,
similarly to the one in the bug report
https://bugs.llvm.org/show_bug.cgi?id=44618. This patch fixes this issue
by enabling tracking of the variables of this expression as well.
Differential Revision: https://reviews.llvm.org/D73270
(cherry picked from commit 70f4c6e7b14f225f9628fbdab3620ce037613351)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-infinite-loop.cpp
Commit b0536b58c1b40ac946bb653d13a63e4372c2ca17 by hans
[LV] Do not try to sink dead instructions.
Dead instructions do not need to be sunk. Currently we try and record
the recipies for them, but there are no recipes emitted for them and
there's nothing to sink. They can be removed from SinkAfter while
marking them for recording.
Fixes PR44634.
Reviewers: rengolin, hsaito, fhahn, Ayal, gilr
Reviewed By: gilr
Differential Revision: https://reviews.llvm.org/D73423
(cherry picked from commit a911fef3dd79e0a04b241be7b476dde7e99744c4)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit b28b38a59d3d287afb16e63c883e62876471ea2e by hans
[clangd] Don't mmap source files on all platforms --> don't crash on git
checkout
Summary: Previously we mmapped on unix and not on windows: on windows
mmap takes an exclusive lock on the file and prevents the user saving
changes!
The failure mode on linux is a bit more subtle: if the file is changed
on disk but the SourceManager sticks around, then subsequent operations
on the SourceManager will fail as invariants are violated (e.g.
null-termination).
This commonly manifests as crashes after switching git branches with
many files open in clangd.
Nominally mmap is for performance here, and we should be willing to give
some up to stop crashing. Measurements on my system (linux+desktop+SSD)
at least show no measurable regression on an a fairly IO-heavy workload:
drop disk caches, open SemaOverload.cpp, wait for first diagnostics.
for i in `seq 100`; do
for variant in mmap volatile; do
   echo 3 | sudo tee /proc/sys/vm/drop_caches
   /usr/bin/time --append --quiet -o ~/timings -f "%C %E" \
   bin/clangd.$variant -sync -background-index=0 < /tmp/mirror >
/dev/null
done done
bin/clangd.mmap -sync -background-index=0 0:07.60 bin/clangd.volatile
-sync -background-index=0 0:07.89 bin/clangd.mmap -sync
-background-index=0 0:07.44 bin/clangd.volatile -sync
-background-index=0 0:07.89 bin/clangd.mmap -sync -background-index=0
0:07.42 bin/clangd.volatile -sync -background-index=0 0:07.50
bin/clangd.mmap -sync -background-index=0 0:07.90 bin/clangd.volatile
-sync -background-index=0 0:07.53 bin/clangd.mmap -sync
-background-index=0 0:07.64 bin/clangd.volatile -sync
-background-index=0 0:07.55 bin/clangd.mmap -sync -background-index=0
0:07.75 bin/clangd.volatile -sync -background-index=0 0:07.47
bin/clangd.mmap -sync -background-index=0 0:07.90 bin/clangd.volatile
-sync -background-index=0 0:07.50 bin/clangd.mmap -sync
-background-index=0 0:07.81 bin/clangd.volatile -sync
-background-index=0 0:07.95 bin/clangd.mmap -sync -background-index=0
0:07.55 bin/clangd.volatile -sync -background-index=0 0:07.65
bin/clangd.mmap -sync -background-index=0 0:08.15 bin/clangd.volatile
-sync -background-index=0 0:07.54 bin/clangd.mmap -sync
-background-index=0 0:07.78 bin/clangd.volatile -sync
-background-index=0 0:07.61 bin/clangd.mmap -sync -background-index=0
0:07.78 bin/clangd.volatile -sync -background-index=0 0:07.55
bin/clangd.mmap -sync -background-index=0 0:07.41 bin/clangd.volatile
-sync -background-index=0 0:07.40 bin/clangd.mmap -sync
-background-index=0 0:07.54 bin/clangd.volatile -sync
-background-index=0 0:07.42 bin/clangd.mmap -sync -background-index=0
0:07.45 bin/clangd.volatile -sync -background-index=0 0:07.49
bin/clangd.mmap -sync -background-index=0 0:07.95 bin/clangd.volatile
-sync -background-index=0 0:07.66 bin/clangd.mmap -sync
-background-index=0 0:08.04
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet,
usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73617
(cherry picked from commit b500c49cd4f81f067cda721049cb1fd72a5e7bf5)
The file was modifiedclang-tools-extra/clangd/FSProvider.cpp
The file was modifiedclang-tools-extra/clangd/FSProvider.h
Commit b516ca061838e2cb8b48b31ee113e3c4aae7e7d5 by hans
Revert "Reland: [DWARF] Allow cross-CU references of subprogram
definitions"
... as well as: Revert "[DWARF] Defer creating declaration DIEs until we
prepare call site info"
This reverts commit fa4701e1979553c2df61698ac1ac212627630442.
This reverts commit 79daafc90308787b52a5d3a7586e82acd5e374b3.
There have been reports of this assert getting hit:
CalleeDIE && "Could not find DIE for call site entry origin
(cherry picked from commit 802bec896171997a7b73dde3857712e0eedeabc1)
The file was modifiedllvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was removedllvm/test/DebugInfo/AArch64/unretained-declaration-subprogram.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was removedllvm/test/DebugInfo/X86/lto-cross-cu-call-origin-ref.ll
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Commit e40782f3cfabeaa17c38b599d768e8538c8d9951 by hans
[mlir][orc] unbreak MLIR ExecutionEngine after ORC changes
Changes to ORC in ce2207abaf9a925b35f15ef92aaff6b301ba6d22 changed the
APIs in IRCompileLayer, now requiring the custom compiler to be wrapped
in IRCompileLayer::IRCompiler. Even though MLIR relies on Orc
CompileUtils, the type is still visible in several places in the code.
Adapt those to the new API.
(cherry picked from commit 7984b47401f7f36475619abf2ff02de3b5ff0481)
The file was modifiedmlir/lib/ExecutionEngine/ExecutionEngine.cpp
Commit 478ea4b46d3fc33f4793b4ce8dd0ef8a5a637a88 by hans
test-release.sh: Add MLIR to the projects list
(cherry picked from commit ef465d0ad2b98cae6fd6f6c450649f40e67fa24b)
The file was modifiedllvm/utils/release/test-release.sh
Commit 1f95a775949e75b4cac48a0fb4e443e6725e9b64 by hans
Drop arm triple from test/CodeGen/AArch64/global-merge-hidden-minsize.ll
Because it's in the AArch64/ directory, it runs in cases where the arm
target may not be available, see comment on D73235.
(cherry picked from commit 6be9acdfa814dee6c57833d5351137c72c11fbd3)
The file was modifiedllvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll
Commit 1a5959196da075e37ce55ea53b76a3db994197e6 by hans
Define _LIBCPP_HAS_TIMESPEC_GET for FreeBSD when appropriate
Summary: FreeBSD got `timespec_get` support somewhere in the 12.x
timeframe, but the C++ version check in its system headers was written
incorrectly. This has now been fixed for both FreeBSD 13 and 12.
Add checks for the corresponding `__FreeBSD_version` values, to define
`_LIBCPP_HAS_TIMESPEC_GET` when the function is supported.
Reviewers: emaste, EricWF, ldionne, mclow.lists
Reviewed By: ldionne
Subscribers: arichardson, krytarowski, christof, dexonsmith,
libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D71522
(cherry picked from commit 5e416ba943b7c737deb8eca62756f7b4fa925845)
The file was modifiedlibcxx/include/__config
Commit e5123472201e997773cf6f677ab16c34b2952b4f by hans
Generate docs
bin/clang-tblgen -gen-diag-docs -I../clang/include \
         -I../clang/include/clang/Basic/ \
         ../clang/include/clang/Basic/Diagnostic.td -o \
         ../clang/docs/DiagnosticsReference.rst && \
   bin/clang-tblgen -gen-attr-docs -I../clang/include \
           ../clang/include/clang/Basic/Attr.td -o \
           ../clang/docs/AttributeReference.rst && \
   bin/clang-tblgen -gen-opt-docs -I../clang/include \
           -I../clang/include/clang/Driver -I../llvm/include \
           ../clang/include/clang/Driver/ClangOptionDocs.td -o \
           ../clang/docs/ClangCommandLineReference.rst
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/docs/DiagnosticsReference.rst
The file was modifiedclang/docs/AttributeReference.rst
Commit a3609357f3888685f5d864d5708421b0993650b8 by saar
[Concept] Fix incorrect check for containsUnexpandedParameterPack in CSE
We previously checked for containsUnexpandedParameterPack in CSEs by
observing the property in the converted arguments of the CSE. This may
not work if the argument is an expanded type-alias that contains a
pack-expansion (see added test).
Check the as-written arguments when determining
containsUnexpandedParameterPack and isInstantiationDependent.
(cherry picked from commit c83d9bedc0cc430dc620e7a807daeb985d390325)
The file was modifiedclang/include/clang/AST/ExprConcepts.h
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/ExprConcepts.cpp
Commit 6c6ea5995f261f0baa2be8a216ad08186551c622 by saar
[Concepts] Add check for dependent RC when checking function constraints
Do not attempt to check a dependent requires clause in a function
constraint
(may be triggered by, for example, DiagnoseUseOfDecl).
(cherry picked from commit a424ef99e7b9821ec80564af3d3a8f091323a38c)
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 800395c54754c04a761b1bb6360bb4b2dc2935f4 by saar
[Concepts] Add 'this' context to instantiation of member requires clause
'this' context was missing in instantiation of member requires clause.
(cherry picked from commit 60f5da79e3de49b2074446e656a72970499a8d78)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit 0ce7ea7c6e0e6fde5c961a574592bdd2ebebdeb7 by richard
PR41991: Accept attributes on defaulted and deleted friends.
Attributes are permitted on friend definitions, but we only checked for
a proper function body, not for the =default / =delete cases.
(cherry picked from commit 5ae6554a1dcd2e39346030c06d364492901c9e8d)
The file was modifiedclang/test/Parser/cxx2a-spaceship.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/test/Parser/cxx-default-delete.cpp
Commit cc85862c60a566332389bff6abad26e100cede6c by saar
[Concepts] Check function constraints before deducing auto return type
A constrained function with an auto return type would have it's
definition instantiated in order to deduce the auto return type before
the constraints are checked.
Move the constraints check after the return type deduction.
(cherry picked from commit 980517b3530ffb7faa1a23fdc007d78f5b45ae3c)
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp
Commit 904d146c5f552f1b7f1376f532563b8ad6106c38 by richard
PR44627: Consider reversing == and <=> candidates found by ADL.
(cherry picked from commit 1db66e705f4dbe7dbe17edac804289ef59d5f616)
The file was modifiedclang/test/CXX/class/class.compare/class.compare.default/p4.cpp
The file was modifiedclang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 3573526c0286c9461f0459be1a4592b2214594e7 by jaskiewiczs
Revert "[libcxx] Force-cache LIBCXX_CXX_ABI_LIBRARY_PATH"
This reverts commit 41f4dfd63ea0fe995ddfba1838aa5ed972cc1377.
It broke standalone libc++ builds, which now try to use libc++abi from
the wrong directory, instead of system instance.
The file was modifiedlibcxx/test/CMakeLists.txt
Commit 3b32963252bc8580ad8237ded3814e2a6a2ba9b6 by saar
[Concepts] Correctly form initial parameter mapping for parameter packs,
support substitution into SubstNonTypeTemplateParmExpr
We previously would not correctly for the initial parameter mapping for
variadic template parameters in Concepts. Testing this lead to the
discovery that with the normalization process we would need to
substitute into already-substituted-into template arguments, which means
we need to add NonTypeTemplateParmExpr support to TemplateInstantiator.
We do that by substituting into the replacement and the type separately,
and then re-checking the expression against the NTTP with the new type,
in order to form any new required implicit casts (for cases where the
type of the NTTP was dependent).
(cherry picked from commit ba1f3db4b0729ad932aa4f091e9578132d98a0c8)
The file was modifiedclang/include/clang/Sema/SemaConcept.h
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was addedclang/test/SemaTemplate/instantiate-template-argument.cpp
Commit 8be11623043c54cc42d7d0a7fac7408efce4ef41 by saar
[Concepts] Fix isDeclarationSpecifier to detect type-constraints
correctly
isDeclarationSpecifiers did not handle some cases of
placeholder-type-specifiers with type-constraints, causing parsing bugs
in abbreviated constructor templates.
Add comprehensive handling of type-constraints to
isDeclarationSpecifier.
(cherry picked from commit b7ce85a130789d23c69156f4b899962458d1f05d)
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Parser/cxx2a-abbreviated-templates.cpp
Commit fdedf39c46f526afb1c07b0ca91a7c5bc1e43b8f by richard
PR44723: Trigger return type deduction for operator<=>s whose return
types are needed to compute the return type of a defaulted operator<=>.
This raises the question of what to do if return type deduction fails.
The standard doesn't say, and implementations vary, so for now reject
that case eagerly to keep our options open.
(cherry picked from commit 42d4a55f227a1cc78ab8071062d869abe88655d9)
The file was modifiedclang/test/CXX/class/class.compare/class.spaceship/p2.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit f85d63a558364dcf57efe7b37b3e99b7fd91fd5c by richard
Fix wrong devirtualization when the final overrider in one base class
overrides the final overrider in a different base class.
(cherry picked from commit aade5fbbfef3e8555df202082bea905deebc2ca5)
The file was modifiedclang/lib/AST/CXXInheritance.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/test/CodeGenCXX/devirtualize-virtual-function-calls-final.cpp
Commit e11d70cfe7e2a8537eb774ed1780e9ecd1aa90a0 by hans
Make quick-append.test resilient to running in paths with '1.o' in the
name
(cherry picked from commit f00ab188f4e4214dfbecfdd8968a183e9363cefa)
The file was modifiedllvm/test/tools/llvm-ar/quick-append.test
Commit 72e9e378c545aadb213e95892d50aa0b1248e018 by hans
[Sema] Remove a -Wrange warning from -Wall
During the review of D73007 Aaron Puchert mentioned
`warn_for_range_variable_always_copy` shouldn't be part of -Wall since
some coding styles require `for(const auto &bar : bars)`. This warning
would cause false positives for these users. Based on Aaron's proposal
refactored the warnings:
* -Wrange-loop-construct warns about possibly unintended constructor
calls. This is part of -Wall. It contains
* warn_for_range_copy: loop variable A of type B creates a copy from
   type C
* warn_for_range_const_reference_copy: loop variable A is initialized
   with a value of a different type resulting in a copy
* -Wrange-loop-bind-reference warns about misleading use of reference
types. This is not part of -Wall. It contains
* warn_for_range_variable_always_copy: loop variable A is always a copy
   because the range of type B does not return a reference
Differential Revision: https://reviews.llvm.org/D73434
(cherry picked from commit c03349e40f21f0375278138992a32694a99c830e)
The file was modifiedclang/test/SemaCXX/warn-range-loop-analysis.cpp
The file was modifiedclang/test/Misc/warning-wall.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit dd50560c38dbdcf1e809f15b4f3c26152f439a03 by hans
MSVC Buggy version detection: turn pre-processor error into CMake
configuration time check
This allows consumer to override in a cleaner way while still prevent
them from hitting bug without knowing they run an unsupported
configuration.
Recommit after fix by Christopher Tetreault to add parens and ${} to
cmake check to work around CMake configure time "unknown arguments
specified" issue
Differential Revision: https://reviews.llvm.org/D73677 Differential
Revision: https://reviews.llvm.org/D73751
(cherry picked from commit 5f940220bf9438e95ffa4a627ac1591be1e1ba6e)
The file was modifiedllvm/cmake/modules/CheckCompilerVersion.cmake
Commit cbd4815dec165fc4190f30cd6f409334c7e59063 by hans
[AArch64] -fpatchable-function-entry=N,0: place patch label after BTI
Summary: For -fpatchable-function-entry=N,0 -mbranch-protection=bti,
after 9a24488cb67a90f889529987275c5e411ce01dda, we place the NOP sled
after the initial BTI.
```
.Lfunc_begin0: bti c nop nop
.section __patchable_function_entries,"awo",@progbits,f,unique,0
.p2align 3
.xword .Lfunc_begin0
```
This patch adds a label after the initial BTI and changes the
__patchable_function_entries entry to reference the label:
```
.Lfunc_begin0: bti c
.Lpatch0: nop nop
.section __patchable_function_entries,"awo",@progbits,f,unique,0
.p2align 3
.xword .Lpatch0
```
This placement is compatible with the resolution in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92424 .
A local linkage function whose address is not taken does not need a BTI.
Placing the patch label after BTI has the advantage that code does not
need to differentiate whether the function has an initial BTI.
Reviewers: mrutland, nickdesaulniers, nsz, ostannard
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73680
(cherry picked from commit 06b8e32d4fd3f634f793e3bc0bc4fdb885e7a3ac)
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
Commit 674ec1eb16678b8addc02a4b0534ab383d22fa77 by hans
[libcxxabi] Insert padding in __cxa_exception struct for compatibility
Summary: Preserve the old ABI for __cxa_exception and
__cxa_dependent_exception on 64 bit platforms or ARM_EHABI platforms.
After r276215, libunwind in llvm-project labels _Unwind_Exception to be
double word aligned. That change implictly adds a padding before
unwindHeader field in __cxa_exception and __cxa_dependent_exception.
Preserve the same negative offsets in those struct by moving the padding
to the beginning of the field.
The assumption here is that if the ABI is not aware of the padding
before unwindHeader and put the referenceCount/primaryException in
there, no padding should exist before unwindHeader.
Reviewers: EricWF, mclow.lists, ldionne, jroelofs, dexonsmith, rjmccall,
compnerd, phosek, ahatanak
Reviewed By: rjmccall
Subscribers: hans, smeenai, kristof.beyls, christof, jkorous, ributzka,
libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D72543
(cherry picked from commit f2a436058fcbc11291e73badb44e243f61046183)
The file was modifiedlibcxxabi/src/cxa_exception.h
Commit 2b54b8b994b45d4e0a72f36dfb91dc9662543234 by saar
[Concepts] Instantiate invented template type parameter type-constraint
along with function parameters
We previously instantiated type-constraints of template type parameters
along with the type parameter itself, this caused problems when the
type-constraints created by abbreviated templates refreneced other
parameters in the abbreviated templates.
When encountering a template type parameter with a type constraint, if
it is implicit, delay instantiation of the type-constraint until the
function parameter which created the invented template type parameter is
instantiated.
(cherry picked from commit eacca4824463d8b96e2e1c9f8bbf886055218a16)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/SemaTemplate/instantiate-abbreviated-template.cpp
Commit c822edc11bf0583f0d4e0f6458ca60f57bc621ed by saar
Revert "[Concepts] Instantiate invented template type parameter
type-constraint along with function parameters"
This temporarily reverts commit 2b54b8b994b45d4e0a72f36dfb91dc9662543234
which caused some test failures.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was removedclang/test/SemaTemplate/instantiate-abbreviated-template.cpp
Commit 1ac1c4b4850c1a507caa7da068f44a45ef4ba3c7 by saar
[Concepts] Instantiate invented template type parameter type-constraint
along with function parameters
We previously instantiated type-constraints of template type parameters
along with the type parameter itself, this caused problems when the
type-constraints created by abbreviated templates refreneced other
parameters in the abbreviated templates.
When encountering a template type parameter with a type constraint, if
it is implicit, delay instantiation of the type-constraint until the
function parameter which created the invented template type parameter is
instantiated.
Reland after fixing bug caused by another flow reaching SubstParmVarDecl
and instantiating the TypeConstraint a second time.
(cherry picked from commit 84959ae47f447fca9d56a9c61e8c46e993d0387a)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was addedclang/test/SemaTemplate/instantiate-abbreviated-template.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit 4e9209ab592eb6dfbf076ba00aa8e1354cbc225a by hans
[RISCV] Scheduler description for the Rocket core
Pipeline scheduler model for the RISC-V Rocket micro-architecture using
the MIScheduler interface.  Support for both 32 and 64-bit Rocket cores
is implemented.
Differential revision: https://reviews.llvm.org/D68685
(cherry picked from commit 838a28e234e098bfc073a45f37a4dd3bb5b45eab)
The file was addedllvm/lib/Target/RISCV/RISCVSchedRocket64.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoM.td
The file was addedllvm/lib/Target/RISCV/RISCVSchedRocket32.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoC.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoA.td
The file was addedllvm/lib/Target/RISCV/RISCVSchedule.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoF.td
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrFormats.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoD.td
Commit 94c79ce5740f69aa9a9f5145c9911a61b7d20662 by hans
Revert "[AMDGPU] Invert the handling of skip insertion."
This reverts commit 0dc6c249bffac9f23a605ce4e42a84341da3ddbd.
The commit is reported to cause a regression in piglit/bin/glsl-vs-loop
for Mesa.
(cherry picked from commit a80291ce10ba9667352adcc895f9668144f5f616)
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-branch-trap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
The file was removedllvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-gws.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/branch-relaxation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-skip.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/collapse-endcf.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-loop-inside-nonuniform.ll
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd_vmem_war.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ret_jump.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wqm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-lower-control-flow-unreachable-block.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cse-phi-incoming-val.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/else.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-kill-uncond.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/convergent-inlineasm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/valu-i1.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hoist-cond.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/branch-condition-and.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-cfg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-branch-taildup-ret.mir
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir
Commit b905b85eedfcf33e7969de1068086889d490ba17 by hans
[BPF] fix a bug in BPFMISimplifyPatchable pass with -O0
The recommended optimization level for BPF programs is O2 since (1). BPF
is running inside the kernel and linux kernel won't work at -O0 level,
and (2). Verifier is not able to handle O0 code properly, e.g.,
potential large stack size and a lot of spills.
But we should keep -O0 at least compiling. This patch fixed a bug in
BPFMISimplifyPatchable phase where with -O0, a segmentation fault will
happen for a simple program like:
int test(int a, int b) { return a + b; }
A test case is added to capture such a case.
Differential Revision: https://reviews.llvm.org/D73681
(cherry picked from commit 795bbb366266e83d2bea8dc04c19919b52ab3a2a)
The file was addedllvm/test/CodeGen/BPF/optnone-1.ll
The file was modifiedllvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
Commit 5cca13d43b7e972d0de6301cfed30781251489a1 by hans
AMDGPU/R600: Emit rodata in text segment
R600 relies on this behaviour. Fixes:
6e18266aa4dd78953557b8614cb9ff260bad7c65 ('Partially revert D61491
"AMDGPU: Be explicit about whether the high-word in SI_PC_ADD_REL_OFFSET
is 0"') Fixes ~100 piglit regressions since 6e18266
Differential Revision: https://reviews.llvm.org/D72991
(cherry picked from commit 1b8eab179db46f25a267bb73c657009c0bb542cc)
The file was modifiedllvm/test/CodeGen/AMDGPU/global-constant.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Commit fa51929f03f541de48e7eaf4a06a27166db3580c by hans
R600: Fix failing testcase
(cherry picked from commit 7dc49f77ee508b4152f9291c8e804e4eda3653d3)
The file was modifiedllvm/test/CodeGen/AMDGPU/r600-constant-array-fixup.ll
Commit 7ad47b46b55fe33bc763411ae7b8bcca5a63d8dc by hans
[clang-tidy] Fixed crash 44745 in readability-else-after-return
Summary: Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44745 |
readability-else-after-return crashes ]]
Reviewers: aaron.ballman, alexfh, hokein, JonasToth, gribozavr2
Reviewed By: alexfh
Subscribers: merge_guards_bot, xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D73841
(cherry picked from commit d591bdce6d623208d4aeb335a762d839f0f8f0f7)
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-else-after-return.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
Commit 4ea9a4aba4a7cfea0325022d50b97a9409026ab5 by hans
Declare __builtin_strlen in StringRef.h as constexpr
Otherwise Visual Studio 2017 will complain about llvm::StringRef::strlen
not being constexpr:
  StringRef.h(80): error C3615: constexpr function
'llvm::StringRef::strLen' cannot result in a constant expression
StringRef.h(84): note: failure was caused by call of undefined function
or one not declared 'constexpr'
(cherry picked from commit b3d7d1061dc375bb5ea725e6597382fcd37f41d6)
The file was modifiedllvm/include/llvm/ADT/StringRef.h
Commit d2a710ea784eea43c63e3831224de6355f1e4a6f by hans
Actually, don't try to use __builtin_strlen in StringRef.h before VS
2019
The fix in b3d7d1061dc375bb5ea725e6597382fcd37f41d6 compiled nicely, but
didn't link because at least the VS 2017 version I use doesn't have the
builtin yet. Instead, make use of the builtin with MSVC conditional on
VS 2019 or later.
(cherry picked from commit ff837aa63cdfadb58f387ca77785ca3ca51c6976)
The file was modifiedllvm/include/llvm/ADT/StringRef.h