Changes

Summary

  1. removing windows deployment (details)
  2. Add a libc x86_64 windows worker and a debug builder running on it (details)
  3. Add buildbot for OpenMP on AMDGPU (details)
  4. Added jobs param for hip-vega20-0 worker, as getOpenMPCMakeBuildFactory cannot handle optional params. (details)
  5. Reverted 8ff202c1648d4dba1803aa0cade81790a8382c6c. Added jobs param for the right worker - omp-vega20-0, as getOpenMPCMakeBuildFactory cannot handle optional params. (details)
Commit a7a5cb5face77ca247d4a3ee2c919c93645b7366 by kuhnel
removing windows deployment

It's been unmaintained for a while and it's unclear
if we need a 32bit setup at all
The file was modifiedbuildbot/google/terraform/main.tf (diff)
Commit 7d9ffd49c6358b9f20ddff6f29c79e186ee1be33 by hedingarcia
Add a libc x86_64 windows worker and a debug builder running on it

Differential Revision: https://reviews.llvm.org/D106981
The file was modifiedbuildbot/osuosl/master/config/status.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit bc9f85040092ec7a969821f38e73f1ba2d946b08 by gkistanova
Add buildbot for OpenMP on AMDGPU

Build OpenMP for AMDGPU target

Differential revision: https://reviews.llvm.org/D106928
The file was modifiedbuildbot/osuosl/master/config/status.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit 8ff202c1648d4dba1803aa0cade81790a8382c6c by gkistanova
Added jobs param for hip-vega20-0 worker, as getOpenMPCMakeBuildFactory cannot handle optional params.
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit 8ff6d7cdb9b7de4a8a26c948c0eb2fb760636994 by gkistanova
Reverted 8ff202c1648d4dba1803aa0cade81790a8382c6c. Added jobs param for the right worker - omp-vega20-0, as getOpenMPCMakeBuildFactory cannot handle optional params.
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)

Summary

  1. tsan: use Tid/StackID types in MBlock (details)
  2. [libc] Allow benchmarking several implementations at the same time. (details)
  3. [llvm-objcopy] IHexELFBuilder::addDataSections - fix evaluation ordering static analyzer warning (details)
  4. Make simple requirements starting with requires ill-formed in in requirement body (details)
  5. tsan: use semaphores for thread creation synchronization (details)
  6. [X86] Add title comment to separate the "CPU Families" features from the other subtarget features. NFCI. (details)
  7. This feature is not in Clang 13 and only has partial support (details)
  8. [InstCombine] Remove nnan requirement for transformation to fabs from select (details)
  9. [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x) (details)
  10. Revert "[InstCombine] Remove nnan requirement for transformation to fabs from select" (details)
  11. [OpenMP] libomp: taskwait depend implementation fixed. (details)
  12. [DAG] Cleanup DAGCombiner::CombineConsecutiveLoads early-outs. NFCI. (details)
  13. [mlir][CPURunner] Avoid a crash in memrefCopy when called with empty shapes. (details)
  14. tsan: remove unused caller_pc from TsanInterceptorContext (details)
  15. tsan: remove mallopt calls (details)
  16. [clan-format] detect function definitions more conservatively (details)
  17. [scudo] Make Vector() constexpr (details)
  18. [RISCV] Indicate that RISCVMergeBaseOffsetOpt preserves the CFG. (details)
  19. [VectorCombine] Add tests where the index is guaranteed non-poison. (details)
  20. [ELF] Add --export-dynamic-symbol-list (details)
  21. [MCA][NFC] Add tests for PR51318 and PR51322. (details)
  22. [MLIR][Linalg] Extend detensoring control flow model. (details)
  23. [llvm] Fix header guards (NFC) (details)
  24. [AArch64] Prefer fmov over orr v.16b when copying f32/f64 (details)
  25. [NFC][tsan] Rename _inl.h to .inc (details)
  26. tsan: fix a typo in debug output (details)
  27. [AArch64][SME] Fix out of date comment (details)
  28. [llvm-profgen] Support perf script without parsing MMap events (details)
  29. [NFC][MLIR] Split large fusion test file into 4 test files (details)
  30. Reorder mmt4d r.h.s operand layout (details)
  31. [runtimeunroll] A bit of style cleanup to simplify a following change [NFC] (details)
  32. [X86][AVX] Add some multiple/nested subvector insertion shuffle tests (details)
  33. [llvm-readobj] Fix UB in pointer arithmetics after D105522 (details)
  34. Stop emit incomplete type error for a variable in a map clause (details)
  35. [tests] Autogen an unroll test for ease of update (details)
  36. [InstCombine] Fixed select + masked load fold failure (details)
  37. [libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected. (details)
  38. ThinLTO: Fix inline assembly references to static functions with CFI (details)
  39. [lldb] Further constrain a test that fails without python enabled (details)
  40. Revert "[SLP]Improve graph reordering." (details)
  41. [libFuzzer] fix clang-tidy (details)
  42. [SLP][NFC]Add tests for SLP vectorizer for crashes, found in new (details)
  43. [tests][sanitizers] Don't reflow comments (details)
  44. [vscode-mlir] Add proper support for mlir markdown codeblocks (details)
  45. bugprone-argument-comment: ignore mismatches from system headers (details)
  46. [clang-tidy] Fix command line is too long issue which breaks test on Windows (details)
  47. [lldb] Move comment about noindex next to line it refers to (details)
  48. [lldb] Get rid of HAVE_SYS_TYPES_H (details)
  49. [SLP]Do not emit extra shuffle for insertelements vectorization. (details)
  50. [ThinLTO] Add TimeTrace for Thinlink step (details)
  51. [clang] fix canonicalization of nested name specifiers (details)
  52. [RISCV] Add scheduling resources for V (details)
  53. [clang] fix crash on template instantiation of invalid requires expressions (details)
  54. [mlir][sparse] fix bug in permuting data structure (details)
  55. [mlir-lsp-server] Disable multi-threading in LSP contexts (details)
  56. Fix expression evaluation result expansion in lldb-vscode (details)
  57. [SimplifyCFG] Enable switch to lookup table for more types. (details)
  58. [NFC][Codegen][SystemZ] Autogenerate checklines in int-cmp-47.ll (details)
  59. [NFC][Codegen][X86] Add test for parity-of-vector-of-bools (PR51312) (details)
  60. [mlir][sparse] fixed doc formatting (details)
  61. [clang/OpenMP][docs] Update OpenMP support list for unroll. (details)
  62. [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc (details)
  63. [mlir][tosa] Shape inference for a few remaining easy cases: (details)
  64. [Compiler-rt] Fix running ASan/TSan unit tests under macOS 12.0. (details)
  65. [mlir][tosa] Tosa shape propagation for tosa.cond_if (details)
  66. [llvm-profgen][CSSPGO] Support count based aggregated type of hybrid perf script (details)
  67. [mlir][scf] Fix bug in peelForLoop (details)
  68. [AArch64][GlobalISel] Widen G_SELECT before clamping it (details)
  69. [msan] Add bsearch interceptor (details)
  70. [mlir][sparse] add example to attribute doc (details)
  71. [clangd] Add new semantic token modifier "virtual" (details)
  72. [mlir] Improve Graphviz visualization in PrintOpPass (details)
  73. [MLGO] Update the current model url for the Oz inliner model. (details)
  74. [llvm-readobj][XCOFF] Warn about invalid offset (details)
  75. [mlir] Truncate/skip long strings in ViewOpGraph.cpp (details)
  76. [MC][CodeGen] Emit constant pools earlier (details)
  77. [WebAssembly] Misc. cosmetic changes in EH (NFC) (details)
  78. [mlir] Fix broken build in pass_manager.py (details)
  79. [NFC][ConstantFold] Check getAggregateElement before getSplatValue call (details)
  80. [AMDGPU] Ignore call graph node which does not have function info. (details)
  81. [mlir] Handle cases where transfer_read should turn into a scalar load (details)
  82. [llvm-readobj][XCOFF] dump the string table only if the size is bigger than 4. (details)
  83. [mlir][Bazel] Adjust BUILD.bazel file. (details)
  84. [Support] Initialize common options in `getRegisteredOptions` (details)
  85. [FuncSpec] Support specialising recursive functions (details)
  86. [libc] Fix Memory Benchmarks code after rename (details)
  87. Introduce intrinsic llvm.isnan (details)
  88. X86: fix frame offset calculation with mandatory tail calls (details)
  89. [lldb] Partly revert "Allow range-based for loops over DWARFDIE's children" (details)
  90. [llvm][ExecutionEngine] Don't try to run tests on ARM64/Windows on Arm (details)
  91. [lldb] Fix lookup of .debug_loclists with split-dwarf (details)
  92. [X86] Split Subtarget ISA / Security / Tuning Feature Flags Definitions. NFC (details)
  93. Revert "Introduce intrinsic llvm.isnan" (details)
  94. [mlir] Fix CMake linker rules for ViewOpGraph.cpp (details)
  95. Reland "[lldb/DWARF] Only match mangled name in full-name function lookup (with accelerators)" (details)
  96. X86: add test for realignment fix committed earlier. (details)
  97. [llvm][MC] Disable cfi-version test for Windows on Arm (details)
  98. tsan: minor MetaMap tweaks (details)
  99. tsan: use DCHECK instead of CHECK in atomic functions (details)
  100. tsan: unify __cxa_guard_acquire and pthread_once implementations (details)
  101. [mlir] Support drawing control-flow graphs in ViewOpGraph.cpp (details)
  102. [clang][cli] Expose -fno-cxx-modules in cc1 (details)
  103. tsan: refactor guard_acquire/release (details)
  104. [clang][deps] Substitute clang-scan-deps executable in lit tests (details)
  105. tsan: don't use spinning in __cxa_guard_acquire/pthread_once (details)
  106. [LLDB] Skip flaky tests on Arm/AArch64 Linux bots (details)
  107. [X86] Move FeatureFastBEXTR from bdver2 features to tuning (details)
  108. [X86] Rename X86 tuning feature flag FeatureHasFastGather -> FeatureFastGather (details)
  109. [mlir] Include llvm/Support/Debug.h in Transforms/Passes.h (details)
  110. [ARM] Test showing incorrect codegen when subreg liveness is enabled. NFC (details)
  111. [RDA] Attempt to make RDA subreg aware (details)
  112. [flang] Add missing FileSystem.h (details)
  113. [mlir] Fix gcc-5 build in ViewOpGraph.cpp (details)
  114. [X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats (details)
  115. [ARM][atomicrmw] Fix CMP_SWAP_32 expand assert (details)
  116. [NFC][X86] combineX86ShuffleChain(): rename inner Mask to avoid future shadowing (details)
  117. [NFC][X86] combineX86ShuffleChain(): hoist Mask variable higher up (details)
  118. [AMDGPU] Handle functions in llvm's global ctors and dtors list (details)
  119. [ADT] Drop unnecessary const from return types (NFC) (details)
  120. [AMDGPU] Generate checks for i64 to fp conversions (details)
  121. [DebugInfo][LSR] Avoid crashes on large integer inputs (details)
  122. [AMDGPU] Add cttz tests and globalisel checks for ctlz (details)
  123. [PowerPC][AIX] Packed zero-width bitfields do not affect alignment. (details)
  124. [AArch64] Fix assert AArch64TargetLowering::ReplaceNodeResults (details)
  125. [AMDGPU][OpenMP] Wrap amdgcn declare variant inside ifdef (details)
  126. [mlir][amx] add doc to AMX dialect (details)
  127. [AArch64][SVE] Combine bitcasts of predicate types with vector inserts/extracts of loads/stores (details)
  128. [mlir][sparse] fixed typo in sparse tensor type attribute alias (details)
  129. [ELF] Make dot in .tbss correct (details)
  130. [openmp] Add OMPT initialization in libomptarget (details)
  131. [ELF] Apply version script patterns to non-default version symbols (details)
  132. tsan: introduce kAccessFree (details)
  133. tsan: introduce kAccessExternalPC (details)
  134. tsan: move AccessType to tsan_defs.h (details)
  135. tsan: remove non-existent MemoryAccessRangeStep (details)
  136. [ELF] Combine foo@v1 and foo with the same versionId if both are defined (details)
  137. [clang][AArch64][SVE] Avoid going through memory for fixed/scalable predicate casts (details)
  138. [InstCombine] Fix vscale zext/sext optimization when vscale_range is unbounded. (details)
  139. [CSSPGO] Migrate and refactor the decoder of Pseudo Probe (details)
  140. [ELF] Fix typo. NFC (details)
  141. [OpenMP] Fix performance regression reported in bug #51235 (details)
  142. [OpenMP] Clean up for hidden helper task (details)
  143. [X86][SchedModel] Add missing ReadAdvance for some arithmetic ops (PR51318 and PR51322). (details)
  144. [Bazel] Update build for ee7d20e846 (details)
  145. [InstrProfiling] Emit bias variable eagerly (details)
  146. [AArch64][GlobalISel] Widen G_FPTO*I before clamping (details)
  147. [AArch64][GlobalISel] Widen G_PHI before clamping it during legalization (details)
  148. [gn build] (manually) port ee7d20e84675e1d255d7ae59e3bccfd320cc090d (details)
  149. [gn build] Port ee7d20e84675 (details)
  150. [mlir][sparse] add doc to sparse tensor dialect passes (details)
  151. [RISCV] Remove the _COMMUTABLE and _TA versions of FMA and wide FMA vector instructions. (details)
  152. [DSE][NFC] Clean up DeadStoreElimination from unused variables (details)
  153. Revert "[AMDGPU] Handle functions in llvm's global ctors and dtors list" (details)
  154. Work around non-existence of ElfW(type) macro on FreeBSD (details)
  155. [hwasan] Add __hwasan_init constructor to runtime lib. (details)
  156. Revert "[SLP]Do not emit extra shuffle for insertelements vectorization." (details)
  157. [nfc] [lldb] Prevent needless copies of DataExtractor (details)
  158. [RISCV] Add test cases for conditional add/sub. NFC (details)
  159. [DAGCombiner][AMDGPU] Canonicalize constants to the RHS of MULHU/MULHS. (details)
  160. [OpenMPOpt] Expand SPMDization with guarding for target parallel regions (details)
  161. [SLP][NFC]Add tests for constants/undefs used in insertelements, NFC. (details)
  162. [gn build] Add cfi ignorelist to compiler-rt/lib (details)
  163. [MLIR][NFC] Get DiagnosticEngine as a reference in doc (details)
  164. [MemCpyOpt] Relax libcall checks (details)
  165. [flang] Support DFLOAT legacy extension intrinsic function (details)
  166. [flang] runtime: For Fw.d formatting, don't oscillate forever (details)
  167. [amdgpu] Add an enhanced conversion from i64 to f32. (details)
  168. [CodeGen] Add -align-loops (details)
  169. [lld] Remove unused LLD_REPOSITORY (details)
  170. [libc] add integration tests for scudo in libc (details)
  171. [mlir-lsp-server] Only use one MLIRContext per MLIRTextFile (details)
  172. [Bazel] Drop deprecated tblgen includes mechanism (details)
  173. [X86] Remove -x86-experimental-pref-loop-alignment in favor of -align-loops (details)
  174. [WebAssembly] Make result of 'catch' inst variadic (details)
  175. [llvm-nm][test] Avoid deprecated alias -M (--print-armap) (details)
  176. [OpenCL] allow generic address and non-generic defs for CL3.0 (details)
  177. [mlir][sparse] Remove comment w/ code in it (details)
  178. [gwpAsan] revert minor change (details)
  179. Apply -fmacro-prefix-map to __builtin_FILE() (details)
  180. [AArch64][GlobalISel] Legalize wide vector G_PHIs (details)
  181. Adding missing filter check to SourceMgrDiagnosticHandler::EmitDiagnostics (details)
  182. BPF: avoid NE/EQ loop exit condition (details)
  183. [CSSPGO] Remove used of PseudoProbeAttributes::Reserved (details)
  184. [libFuzzer] tests/examples for using libFuzzer for out-of-process targets (details)
  185. [Bazel] Add support for lld (details)
  186. [CMake][gn] lldMachO=>lldMachOOld, lldMachO2=>lldMachO (details)
  187. [mlir] Update comment in Region.h (details)
  188. [AVR] emit 'MCSA_Global' references to '__do_global_ctors' and '__do_global_dtors' (details)
  189. [Compiler-RT] On Apple Platforms switch to always emitting full debug info (details)
  190. Disable LibFuncs for stpcpy and stpncpy for Android < 21 (details)
  191. [mlir] Clean up includes in Transforms/Passes.h (details)
  192. [WebAssembly] Use `SDValue::getConstantOperandVal` (NFC) (details)
  193. [WebAssembly] Cleanup Emscripten SjLj tests (details)
  194. [NFCI] [LoopIdiom] Let processLoopStridedStore take StoreSize as SCEV instead of unsigned (details)
  195. Revert "[ELF] Apply version script patterns to non-default version symbols" (details)
  196. [ELF] Apply version script patterns to non-default version symbols (details)
  197. [ARM][llvm-objdump] Annotate PC-relative memory operands (details)
  198. [ARM][llvm-objdump] Annotate PC-relative memory operands of VLDR instructions (details)
  199. [llvm] [lit] Fix inconsistent test order in shtest-keyword-parse-errors (details)
  200. [llvm-rc] Allow specifying language with a leading 0x prefix (details)
  201. D106035: Remove conditional compilation for WCHAR support in libedit (details)
  202. [clang] Add clang builtins support for gfx90a (details)
  203. [AMDGPU] Make more use of getHiHalf64 and split64BitValue. NFCI. (details)
  204. [llvm-jitlink] Don't try to guess the ORC runtime path. (details)
  205. [SelectionDAG] Correctly determine the VECREDUCE_SEQ_FMUL action (details)
  206. Mark tests as requiring AMDGPU target (details)
  207. [AMDGPU] Generate checks for ctlz_zero_undef/cttz_zero_undef (details)
  208. Revert "D106035: Remove conditional compilation for WCHAR support in libedit" (details)
  209. [OpenCL] Reduce duplicate defs by using multiclasses; NFC (details)
  210. [flang][driver] Refactor boolean options (details)
  211. Correct a lot of diagnostic wordings for the driver (details)
  212. tsan: make IsMetaMem accept u32* (details)
  213. tsan: introduce RawShadow type (details)
  214. [GlobalISel] Combine shr(shl x, c1), c2 to G_SBFX/G_UBFX (details)
  215. [X86] Rename Subtarget Tuning Feature Flag Prefix. NFC. (details)
  216. [AMDGPU] Add globalisel checks for ctlz_zero_undef/cttz_zero_undef (details)
  217. [flang][driver] Delete `f18` (i.e. the old Flang driver) (details)
  218. GlobalISel: Fix matchEqualDefs for instructions with multiple defs (details)
  219. [VectorCombine] Add additional tests with freeze combinations. (details)
  220. Add a DIExpression const-folder to prevent silly expressions. (details)
  221. [NFC] Remove redundant test in Transforms/LoopVectorize/lifetime.ll (details)
  222. [LV] Remove a change that was added in D106164. (details)
  223. [DA] control compile-time spent by MIV tests (details)
  224. [PowerPC][AIX] Limit attribute aligned to 4096. (details)
  225. [NFC] Clean up tests in test/Transforms/LoopVectorize/assume.ll (details)
  226. Delay initialization of OptBisect (details)
  227. [SimplifyLibCalls][NFC] Clean up LibCallSimplifier from 'memset + malloc into calloc' transformation (details)
  228. Revert "[SystemZ][z/OS] Update target specific __attribute__((aligned)) value for test" (details)
  229. [LoopVectorize] Add support for replication of more intrinsics with scalable vectors (details)
  230. [BuildLibCalls][NFC] Remove redundant attribute list from emitCalloc (details)
  231. [VectorCombine] Limit scalarization known non-poison indices. (details)
  232. [DAG] DAGCombiner::visitVECTOR_SHUFFLE - recognise INSERT_SUBVECTOR patterns (details)
  233. [clang] [clang-repl] Fix linking against LLVMLineEditor (details)
  234. tsan: modernize MaybeReportThreadLeak (details)
  235. tsan: handle bugs in symbolizer more gracefully (details)
  236. [SimpifyCFG] Speculate a store preceded by a local non-escaping load (details)
  237. tsan: don't include tsan_interceptors.h for Go (details)
  238. tsan: qualify autos (details)
  239. tsan: pass thr/pc to MemoryResetRange (details)
  240. [AMDGPU][SDag] Better lowering for 64-bit ctlz/cttz (details)
  241. [AMDGPU][SDag] Better lowering for 32-bit ctlz/cttz (details)
  242. [NFC][LoopIdiom] rename boolean variable NegStride to IsNegStride (details)
  243. [PowerPC][AIX] attribute aligned cannot decrease align of a vector var. (details)
  244. [LV] Consider ExtractValue as uniform. (details)
  245. Fix build issues caused by 95800da914938129083df2fa0165c1901909c273 (details)
  246. [DAGCombiner][RISCV][AMDGPU] Call SimplifyDemandedBits at the end of visitMULHU to enable known bits contant folding. (details)
  247. [SLP]Do not emit extra shuffle for insertelements vectorization. (details)
  248. [Transforms] Drop unnecessary const from return types (NFC) (details)
  249. Fix signal during the call to checkOpenMPLoop. (details)
  250. [SLP] Add additional memory version tests. (details)
  251. Add llvm-stress binary to Bazel build configuration. (details)
  252. [AArch64][GlobalISel] Mark v16s8 <- v8s8, v8s8 G_CONCAT_VECTOR as legal (details)
  253. Revert "[X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats" (details)
  254. Fix clang-interpreter build after 2487db1f286222e2501c2fa8e8244eda13f6afc3 (details)
  255. [llvm-ar] Fix for handling thin archive with SYM64 and a test case for it (details)
  256. Fix COMPILER_RT_DEBUG build for targets that don't support thread local storage. (details)
  257. [lldb] Use a struct to pass function search options to Module::FindFunction (details)
  258. [lldb] Refactor IRExecutionUnit::FindInSymbols (NFC) (details)
  259. [ELF] Support copy relocation on non-default version symbols (details)
  260. [llvm-diff] Create libLLVMDiff library (details)
  261. [NFC][Codegen][X86] Add testcase that hanged after D107009 (details)
  262. [NFC][X86] combineX86ShuffleChain(): hoist Mask variable higher up (details)
  263. [clang] Replace asm with __asm__ in cuda header (details)
  264. Remove unintended commit. (details)
  265. [libc] Add diff and perf targets for more math functions (details)
  266. [Bazel] Update for 9854f2f30f (Diff library) (details)
  267. sanitizer_common: disable thread safety annotations for googletest (details)
  268. Revert "[llvm-diff] Create libLLVMDiff library" (details)
  269. {DebugInfo][LSR] Don't cache dbg.value that are already undef (details)
  270. [libc++] IWYU to fix complaints when compiling with Modules. NFCI. (details)
  271. Enable extra coverage counters on Windows (details)
  272. [AArch64][GlobalISel] Legalize ctpop s128 (details)
  273. [llvm-diff] Create libLLVMDiff library (details)
  274. [clang] Implement -falign-loops=N (N is a power of 2) for non-LTO (details)
  275. [libFuzzer] Add missing include on Darwin. (details)
  276. [Polly][test] Test difference between isl::stat:ok() and isl::stat::error(). (details)
  277. [Polly][test] Add tests for IslMaxOperationsGuard. (details)
  278. [gn build] manually port 4d293f215dfb (LLVMDiff lib) (details)
  279. [lldb] Remove a few unused .exports files (details)
  280. Clean up instcombine stpcpy test (details)
  281. [lldb] Stop referencing "host_lib" in cmake files (details)
  282. [msan] Don't track origns in signal handlers (details)
  283. [AArch64][GlobalISel] Overhaul G_EXTRACT legalization (details)
  284. [AMDGPU] add v2i32 and v2f32 insert_vector_elt tests. NFC. (details)
  285. [Thumb2] generate checks in ldr-str-imm12.ll. NFC. (details)
  286. [AArch64][GlobalISel] Widen G_BSWAP before clamping (details)
  287. [AIX] "aligned" attribute should not decrease type alignment returned by __alignof__ (details)
  288. [AArch64] Expand the SVE min/max reduction costs to NEON (details)
  289. [WebAssembly] Don't do SjLj transformation when there's only setjmp (details)
  290. [PowerPC] Add scalar vector test (details)
  291. [PowerPC] Remove accidently left checks (details)
  292. [AMDGPU] Improve v2i32/v2f32 insertelt patterns (details)
  293. [AArch64][GlobalISel] Widen extloads before clamping during legalization (details)
  294. Mark getc_unlocked as unavailable by default (details)
  295. [LLDB][GUI] Refactor form drawing using subsurfaces (details)
  296. [llvm-profgen] Fix bug of loop scope mismatch (details)
  297. [GlobalISel][KnownBits] Implement G_CTPOP (details)
  298. [GlobalISel] Allow the ArtifactValueFinder to return the best available register on failure. (details)
  299. Revert "[GlobalISel][KnownBits] Implement G_CTPOP" (details)
  300. [PowerPC][AIX] Create multiple constant sections. (details)
  301. [AArch64][GlobalISel] Widen G_IMPLICIT_DEF and G_FREEZE before clamping (details)
  302. [AArch64][GlobalISel] Overhaul G_INSERT legalization (details)
  303. [mlir] Cleanup: Fix warnings in MLIR (details)
  304. [AVR][clang] Pass '-fno-use-init-array' to cc1 as default (details)
  305. Revert "[LLDB][GUI] Refactor form drawing using subsurfaces" (details)
  306. [NFC] Clean up and clang-format openmp/libomptarget/plugins/cuda/src/rtl.cpp (details)
  307. [PowerPC] Pre-commit test for D107428. NFC. (details)
  308. [NFC][sanitizer] clang-format sem related block (details)
  309. [mlir] std.call reference function return types in failure (details)
  310. [PowerPC] Fix copy/paste error in scalar_to_vector patterns (details)
  311. [libc++] s/_VSTD::_IsSame/_IsSame/. NFCI. (details)
  312. [Lanai] fix lowering wide returns (details)
  313. Replace "CHECK-NOT: #{{.*}}" with same-line positive checks. NFC. (details)
  314. [GCov] Emit memset instead of stores in __llvm_gcov_reset (details)
  315. [fuzzer] Fix building on case sensitive mingw platforms (details)
  316. [PowerPC] Fix shift amount of xxsldwi when performing vector int_to_double (details)
  317. Delete copy-ctor of MachineFrameInfo. (details)
  318. [mlir][MemRef] Fix canonicalization of BufferCast(TensorLoad). (details)
  319. [JITLink][RISCV] Add relocation fixup test (details)
  320. [NFC] [FuncSpec] Update the Todo list for recursive functions (details)
  321. [doc] added links to discord and discourse (details)
  322. [GlobalISel] Make GLoadStore::getMemSize[InBits]() const. (details)
  323. [mlir][python] Make a number of imports relative. (details)
  324. [LV] Move reduction PHI node fixup to VPlan::execute (NFC). (details)
  325. Introduce intrinsic llvm.isnan (details)
  326. [FuncSpec] Move invariant computation for spec cost out of loop (NFC-ish) (details)
  327. [NFC] [FuncSpec] Remove unused variables in isArgumentInteresting (details)
  328. [GlobalISel] Improve legalization of narrow CTTZ (details)
  329. [AMDGPU][GlobalISel] Add G_AMDGPU_FFBL_B32 (details)
  330. [AMDGPU][GlobalISel] Improve regbankselect for 64-bit VGPR ctlz_zero_undef/cttz_zero_undef (details)
  331. [AMDGPU][GlobalISel] Better legalization of 32-bit ctlz/cttz (details)
  332. Revert "[LoopVectorize] Add support for replication of more intrinsics with scalable vectors" (details)
  333. [llvm-readobj][XCOFF] Warn about invalid offset (details)
  334. [FuncSpec] Return changed if function is changed by tryToReplaceWithConstant (details)
  335. [mlir] Allow to override type/attr aliases from various hooks (details)
  336. [LoopVectorize] Improve vectorisation of some intrinsics by treating them as uniform (details)
  337. [OpenCL][Docs] Adding builtins requires adding to both now (details)
  338. [AArch64] NFC: drop unnecessary llvm:: namespace prefix on MCInst (details)
  339. [Orc][examples] Temporarily disable tests for the C API due to failures on sanitizer bots (details)
  340. [C++4OpenCL] Introduces __remove_address_space utility (details)
  341. [linalg] Expose `rewriteAsPaddedOp` function. (details)
  342. [X86][AVX] Extract SUBV_BROADCAST constant bits from just the lower subvector range (PR51281) (details)
  343. [ARM] Fold insert_subvector to concat_vectors (details)
  344. [AMDGPU] Handle functions in llvm's global ctors and dtors list (details)
  345. Split 'qualifier on reference type has no effect' out into a new flag (details)
  346. [NFC][MLGO] Make logging more robust (details)
  347. [profile] Only use NT_GNU_BUILD_ID if supported (details)
  348. [flang][docs] Document the `flang` wrapper script (details)
  349. [clang] Remove misleading assertion in FullSourceLoc (details)
  350. [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. (details)
  351. [clangd] Strip mutliple arch options (details)
  352. [clangd] Canonicalize inputs provided with `--` (details)
  353. [libc++] IWYU to fix Modules complaints about _LIBCPP_ASSERT. NFCI. (details)
  354. [GlobalISel] Improve widening of cttz/cttz_zero_undef (details)
  355. [AIX] Define __THW_BIG_ENDIAN__ macro (details)
  356. [AIX] Define __THW_PPC__ macro (details)
  357. Disallow narrowing conversions to bool in noexcept specififers (details)
  358. Implement P1937 consteval in unevaluated contexts (details)
  359. [lit] Have REQUIRES support the target triple (details)
  360. [AIX] Define __HOS_AIX__ macro (details)
  361. [AIX] Define _ARCH_PPC64 macro for 32-bit (details)
  362. Fix test failure found by "Have REQUIRES support the target triple" (details)
  363. [mlir] support collapsed loops in OpenMP-to-LLVM translation (details)
  364. [CodeGen] Remove computeDefOperandLatency (NFC) (details)
  365. [MLIR][std] Introduce bitcast operation (details)
  366. [lldb] Fix TestFunctionStarts.py on AS (details)
  367. Disable a dataflow fuzz test after "Have REQUIRES support the target triple" (details)
  368. [llvm-objcopy] [COFF] Do not patch debug entries if PointerToRawData is zero (details)
  369. Speculative fix for MachO lld test after "Have REQUIRES support the target triple" (details)
  370. [ARM] Define ComplexPatternFuncMutatesDAG (details)
  371. [LegalizeTypes] Add a simple expansion for SMULO when a libcall isn't available. (details)
  372. [MemCpyOpt] Teach memcpyopt to handle loads from the constant memory. (details)
  373. [GlobalISel][KnownBits] Implement G_CTPOP (details)
  374. [LoopCacheAnalysis]: handle mismatch type for Numerator and CacheLineSize (details)
  375. [mlir][NFC] Fix typos in DataLayoutInterfaces.td (details)
  376. [clangd] Rename Features.h -> Feature.h to avoid confilct with libstdc++ (details)
  377. [gn build] Port 4ad9ec8a328c (details)
  378. [libc][nfc] move ctype_utils and FPUtils to __support (details)
  379. 2nd Speculative fix for MachO lld test after "Have REQUIRES support the target triple" (details)
  380. Revert "[PowerPC][AIX] Limit attribute aligned to 4096." (details)
  381. [CMake] Check the builtins library value first (details)
  382. [CUDA, MemCpyOpt] Add a flag to force-enable memcpyopt and use it for CUDA. (details)
  383. [mlir] Add patterns for vector.transfer_read/write to Linalg bufferization. (details)
  384. [llvm] [cmake] Export LLVM_ENABLE_NEW_PASS_MANAGER into LLVMConfig.cmake (details)
  385. [flang] Lift -Werror checks into local functions (details)
  386. Revert "[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on" (details)
  387. [ARC] Add codegen for llvm.ctlz intrinsic for the ARC backend (details)
  388. [MachO] Introduce chained fixups related load commands. (details)
  389. [libomptarget][amdgpu] don't declare Elf_Note on FreeBSD (details)
  390. Change TargetLowering::canMergeStoresTo() to take a MF instead of DAG. (details)
  391. [lldb] Try harder to find the __NSCFBoolean addresses (details)
  392. Support Attr in DynTypedNode and ASTMatchers. (details)
  393. Revert "Support Attr in DynTypedNode and ASTMatchers." (details)
  394. Reapply "Support Attr in DynTypedNode and ASTMatchers." (details)
  395. [clangd] Add basic support for attributes (selection, hover) (details)
  396. [Clang][DiagnosticSemaKinds] combine diagnostic texts (details)
  397. [Profile][NFC] Clean up initializeProfileForContinuousMode (details)
  398. [amdgpu] Revise the conversion from i64 to f32. (details)
  399. [InstCombine] add tests for icmp of casted vector; NFC (details)
  400. [InstCombine] reduce vector casting before icmp (details)
  401. [OpenMP]Fix PR51349: Remove AlwaysInline for if regions. (details)
  402. Fix Windows bots failure caused by 8c4208d5c1671d1b44eaf87e8f876b7d635f5114 (details)
  403. Revert "[lit] Have REQUIRES support the target triple" (details)
  404. Add a "current" token to the ThreadID option to break set/modify. (details)
  405. [AMDGPU] Added test for MachineLICM reg pressure. NFC. (details)
  406. [lldb] Upstream support for Foundation constant classes (details)
  407. [NVPTX] Add NVPTX intrinsics for CUDA PTX 6.5 ldmatrix instructions (details)
  408. opencl-c.h: add 3.0 optional extension support for a few more bits (details)
  409. [MLIR][STD] Add safe scalar constant propagation for FPTruncOp (details)
  410. Use LC_DYLD_EXPORTS_TRIE to locate the dyld trie structure if present (details)
  411. Revert "[lldb] Upstream support for Foundation constant classes" (details)
  412. Re-land "[lldb] Upstream support for Foundation constant classes" (details)
  413. [profile][Fuchsia] Add missing system header #include (details)
  414. [AVR][clang] Add '$SYSROOT/avr' to possible avr-libc locations (details)
  415. Fix PPC buildbot break caused by 4c4093e6e39fe6601f9c95a95a6bc242ef648cd5 (details)
  416. [OpenMP] Fix accidental reuse of VLA size (details)
  417. [GlobalISel] Fix a combine causing DBG_VALUE with dangling vregs. (details)
  418. [LLD] Support compressed input sections on big-endian targets (details)
Commit 559426ae7695321a4609ae6799455f86cbfc2257 by dvyukov
tsan: use Tid/StackID types in MBlock

Replace more raw types with Tid/StackID typedefs.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107335
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
Commit e4dee762245d1fefc6bcae643ecc55063aef2e9c by gchatelet
[libc] Allow benchmarking several implementations at the same time.

Next step is to generate an archive with all implementations and a header listing them all.

Differential Revision: https://reviews.llvm.org/D107336
The file was modifiedlibc/benchmarks/LibcMemoryGoogleBenchmarkMain.cpp
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.h
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.cpp
Commit 43ff058e78d9e4fa47080b61fc3811da80db1b3f by llvm-dev
[llvm-objcopy] IHexELFBuilder::addDataSections - fix evaluation ordering static analyzer warning

As detailed on https://pvs-studio.com/en/blog/posts/cpp/0771/ and raised on D62583, the SecNo++ increment is not guaranteed to occur before the second use of SecNo in the same addSection() call.

This patch pulls out the increment (just for clarity) and replaces the second use of SecNo with a constant zero value (we're using stable_sort so the value isn't critical).

Differential Revision: https://reviews.llvm.org/D107273
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit 977bdf6f44edabb857bdff9ca249aa6eccb98e96 by aaron
Make simple requirements starting with requires ill-formed in in requirement body

This patch implements P2092

Simple requirements in requirement body shall not start with requires.
A warning was already in place so we just turn this warning into an error.

In addition, we add tests to make sure typename is optional in
requirement-parameter-list as per the same paper.
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/Parser/cxx2a-concepts-requires-expr.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/www/cxx_status.html
Commit e72ad3c19a15a5716617f8c1d273ca506dc68276 by dvyukov
tsan: use semaphores for thread creation synchronization

We currently use ad-hoc spin waiting to synchronize thread creation
and thread start both ways. But spinning tend to degrade ungracefully
under high contention (lots of threads are created at the same time).
Use semaphores for synchronization instead.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107337
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit d3917bbfc6bdd0a599a4d3350a4f215a7b33cf94 by llvm-dev
[X86] Add title comment to separate the "CPU Families" features from the other subtarget features. NFCI.

Hopefully we can get rid of these some day...
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 80c17bb29838bee0d67a7bc2c775a8a91d69ac2d by aaron
This feature is not in Clang 13 and only has partial support
The file was modifiedclang/www/cxx_status.html
Commit 6180ce2e2abeb6f1f1b57852773ea07b8be290fa by krishna17060
[InstCombine] Remove nnan requirement for transformation to fabs from select

In this patch, the "nnan" requirement is removed for the canonicalization of select with fcmp to fabs.
(i) FSub logic: Remove check for nnan flag presence in fsub. Example: https://alive2.llvm.org/ce/z/751svg (fsub).
(ii) FNeg logic: Remove check for the presence of nnan and nsz flag in fneg. Example: https://alive2.llvm.org/ce/z/a_fsdp (fneg).

Differential Revision: https://reviews.llvm.org/D106872
The file was modifiedllvm/test/Transforms/InstCombine/fabs.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit d99260641b30b0638c6a1e60bcb971ec09fa5368 by krishna17060
[InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x)

The inttoptr/ptrtoint roundtrip optimization is not always correct.
We are working towards removing this optimization and adding support to specific cases where this optimization works.

In this patch, we focus on phi-node operands with inttoptr casts.
We know that ptrtoint( inttoptr( ptrtoint x) ) is same as ptrtoint (x).
So, we want to remove this roundtrip cast which goes through phi-node.

Reviewed By: aqjune

Differential Revision: https://reviews.llvm.org/D106289
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was addedllvm/test/Transforms/InstCombine/phi-int2ptr-fold.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
Commit 946fd4ea65bdd0a97f426c4fa4731f1620a9aa68 by krishna17060
Revert "[InstCombine] Remove nnan requirement for transformation to fabs from select"

This reverts commit 6180ce2e2abeb6f1f1b57852773ea07b8be290fa.
The file was modifiedllvm/test/Transforms/InstCombine/fabs.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit 8e29b4b323b87f3855dc71abf1e3f3d48952a4e4 by Andrey.Churbanov
[OpenMP] libomp: taskwait depend implementation fixed.

Fix for https://bugs.llvm.org/show_bug.cgi?id=49723.
Eliminated references from task dependency hash to node allocated on stack,
thus eliminated accesses to stale memory. So the node now never freed.
Uncommented assertion which triggered when stale memory accessed.
Removed unneeded ref count increment for stack allocated node.

Differential Revision: https://reviews.llvm.org/D106705
The file was addedopenmp/runtime/test/tasking/kmp_taskwait_depend_in.c
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
Commit 11396641e46c22fe8fede7c2b49d6f055641a220 by llvm-dev
[DAG] Cleanup DAGCombiner::CombineConsecutiveLoads early-outs. NFCI.

We had some similar hasOneUse/isNON_EXTLoad early-outs spread out over different parts of the method - we should pull them all together.

Noticed while triaging PR45116
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 76fd3d4410c1dc637944a930a3ce760836b4d765 by akuegel
[mlir][CPURunner] Avoid a crash in memrefCopy when called with empty shapes.

Differential Revision: https://reviews.llvm.org/D107346
The file was modifiedmlir/test/mlir-cpu-runner/copy.mlir
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp
Commit 7779f49bc1f00eff3aba590a8e960d22a595f69f by dvyukov
tsan: remove unused caller_pc from TsanInterceptorContext

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107340
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit ac2bc4e0fc4c0c9d4903b49b445451d5d42356db by dvyukov
tsan: remove mallopt calls

mallopt calls are left-over from the times we used
__libc_malloc/__libc_free for internal allocations.
Now we have own internal allocator, so this is not needed.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107342
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit f6bc614546e169bb1b17a29c422ebace038e6c62 by krasimir
[clan-format] detect function definitions more conservatively

https://reviews.llvm.org/D105964 updated the detection of function
definitions. It had the unfortunate effect to start marking object
definitions with attribute-like macros as function definitions.

This addresses this issue.

Reviewed By: owenpan

Differential Revision: https://reviews.llvm.org/D107269
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 23a94af44939b094f9ba2d6bb969f5a48b78fa8c by kostyak
[scudo] Make Vector() constexpr

A `Vector` that doesn't require an initial `reserve()` (eg: with a
default, or small enough capacity) can have a constant initializer.

This changes the code in a few places to make that possible:
- mark a few other functions as `constexpr`
- do without any `reinterpret_cast`
- allow to skip `reserve` from `init`

Differential Revision: https://reviews.llvm.org/D107308
The file was modifiedcompiler-rt/lib/scudo/standalone/vector.h
Commit deaeb16d88e92be644a157d499e9862cde4f22aa by craig.topper
[RISCV] Indicate that RISCVMergeBaseOffsetOpt preserves the CFG.

Return false from runOnFunction if nothing changed. Curiously
we already returned a bool from detectAndFoldOffset, but didn't
use it.

Fix a couple breaks after returns that I saw while auditing
detectAndFoldOffset.

Differential Revision: https://reviews.llvm.org/D107303
The file was modifiedllvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
Commit ccf1038a92971d9f3faa9b7940430d3891bab2b8 by flo
[VectorCombine] Add tests where the index is guaranteed non-poison.

Tests for PR50949.
The file was modifiedllvm/test/Transforms/VectorCombine/load-insert-store.ll
Commit 44361e5b90986ebe64c2263cefe504bf9b170eac by i
[ELF] Add --export-dynamic-symbol-list

This is available in GNU ld 2.35 and can be seen as a shortcut for multiple
--export-dynamic-symbol, or a --dynamic-list variant without the symbolic intention.

In the long term, this option probably should be preferred over --dynamic-list.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107317
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/test/ELF/export-dynamic-symbol.s
The file was modifiedlld/ELF/Options.td
Commit f0658c7a429b9e356da1670b280ab943ad0b0b94 by andrea.dibiagio
[MCA][NFC] Add tests for PR51318 and PR51322.

Also, regenerate existing X86 tests using update_mca_test.py.
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
The file was addedllvm/test/tools/llvm-mca/X86/BtVer2/rmw-adc-sequence-readadvance.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Haswell/cmpxchg16b.s
The file was modifiedllvm/test/tools/llvm-mca/X86/option-all-views-1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/load-store-throughput.s
The file was addedllvm/test/tools/llvm-mca/X86/BtVer2/adc-sequence-readadvance.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/register-files-4.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/register-files-3.s
The file was modifiedllvm/test/tools/llvm-mca/X86/option-all-views-2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/register-files-5.s
The file was addedllvm/test/tools/llvm-mca/X86/BtVer2/rmw-add-sequence-readadvance.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/load-throughput.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/store-throughput.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
The file was modifiedllvm/test/tools/llvm-mca/X86/option-all-stats-1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/option-all-stats-2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
Commit f984a805f3f92ea3066ea13ba2684a7947d95225 by kareem.ergawy
[MLIR][Linalg] Extend detensoring control flow model.

This patch extends the PureControlFlowDetectionModel to consider
detensoring br and cond_br operands.

See: https://github.com/google/iree/issues/1159#issuecomment-884322687,
for a disccusion on the need for such extension.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D107358
The file was addedmlir/test/Dialect/Linalg/detensorize_br_operands.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
Commit eec96db184fee4a3e67e9eb97efc29bc7452007c by kazu
[llvm] Fix header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/ELF_riscv.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
The file was modifiedllvm/include/llvm/Analysis/ObjCARCUtil.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
The file was modifiedllvm/include/llvm/TextAPI/ArchitectureSet.h
The file was modifiedllvm/include/llvm/TextAPI/Target.h
The file was modifiedllvm/include/llvm/TextAPI/TextAPIWriter.h
The file was modifiedllvm/include/llvm/TextAPI/Architecture.h
The file was modifiedllvm/include/llvm/TextAPI/TextAPIReader.h
The file was modifiedllvm/include/llvm/AsmParser/LLLexer.h
The file was modifiedllvm/include/llvm/AsmParser/LLParser.h
The file was modifiedllvm/include/llvm/AsmParser/LLToken.h
The file was modifiedllvm/include/llvm/TextAPI/InterfaceFile.h
The file was modifiedllvm/include/llvm/TextAPI/PackedVersion.h
The file was modifiedllvm/include/llvm/TextAPI/Symbol.h
The file was modifiedllvm/include/llvm/TextAPI/Platform.h
Commit bd07c2e266f65acb0204198ae1a441bf10499cb2 by david.green
[AArch64] Prefer fmov over orr v.16b when copying f32/f64

This changes the lowering of f32 and f64 COPY from a 128bit vector ORR to
a fmov of the appropriate type. At least on some CPU's with 64bit NEON
data paths this is expected to be faster, and shouldn't be slower on any
CPU that treats fmov as a register rename.

Differential Revision: https://reviews.llvm.org/D106365
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
The file was modifiedllvm/test/CodeGen/AArch64/mla_mls_merge.ll
The file was modifiedllvm/test/CodeGen/AArch64/fadd-combines.ll
The file was modifiedllvm/test/CodeGen/AArch64/fp16-vector-bitcast.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-select.ll
The file was modifiedllvm/test/CodeGen/AArch64/urem-vector-lkk.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
The file was modifiedllvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
The file was modifiedllvm/test/CodeGen/AArch64/swift-return.ll
The file was modifiedllvm/test/CodeGen/AArch64/popcount.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/bf16-vector-bitcast.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-copy.ll
The file was modifiedllvm/test/CodeGen/AArch64/neon-mla-mls.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-aapcs.ll
The file was modifiedllvm/test/CodeGen/AArch64/machine-combiner.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/AArch64/small-constant.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-AdvSIMD-Scalar.ll
The file was modifiedllvm/test/CodeGen/AArch64/vec-libcalls.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/AArch64/f16-instructions.ll
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll
Commit 6538aa8ce9b0806f0d343e0029c9a982d5971092 by Vitaly Buka
[NFC][tsan] Rename _inl.h to .inc

Differential Revision: https://reviews.llvm.org/D107319
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/tsan/BUILD.gn
The file was removedcompiler-rt/lib/tsan/rtl/tsan_interface_inl.h
The file was removedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word_inl.h
The file was addedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was addedcompiler-rt/lib/tsan/rtl/tsan_interface.inc
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
Commit e34d1942a05eaf93834754d4f433ebf3afbdb4a0 by dvyukov
tsan: fix a typo in debug output

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107368
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
Commit 86e4d0059374d69ddde265cf6c69d32ce4499d63 by cullen.rhodes
[AArch64][SME] Fix out of date comment

Missed in 3a349d22692c.
The file was modifiedllvm/test/MC/AArch64/SME/feature.s
Commit fe3ba90830f6ee84f9bb305606dec38451c4c884 by wlei
[llvm-profgen] Support perf script without parsing MMap events

This change supports to run without parsing MMap binary loading events instead it always assumes binary is loaded at the preferred address. This is used when we have assured no binary load address changes or we have pre-processed the addresses resolution. Warn if there's interior mmap event but without leading mmap events.

Reviewed By: hoy

Differential Revision: https://reviews.llvm.org/D107097
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
The file was addedllvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe-nommap.perfscript
Commit 24b0df868604b079aebd30ca2ae2a11a30d3b97e by sumesh.uk
[NFC][MLIR] Split large fusion test file into 4 test files

mlir/test/transforms/loop-fusion.mlir is too big and is split into mlir/test/transforms/loop-fusion.mlir,  mlir/test/transforms/loop-fusion-2.mlir, mlir/test/transforms/loop-fusion-3.mlir
and mlir/test/transforms/loop-fusion-4.mlir. Further tests can be added in mlir/test/transforms/loop-fusion-4.mlir

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D106473
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was addedmlir/test/Transforms/loop-fusion-3.mlir
The file was addedmlir/test/Transforms/loop-fusion-2.mlir
The file was addedmlir/test/Transforms/loop-fusion-4.mlir
Commit 53d6988171aed2c71d920b940264774f73248ca1 by ataei
Reorder mmt4d r.h.s operand layout

Switch r.h.s operand layout (n1, k1, n0, k0) -> (n1, k1, k0, n0)
which is more consistant with scalar-vector products vectorization
and elementates operand transpose.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D107307
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Commit 223835f08b25b407e5343df76603639a36775c38 by listmail
[runtimeunroll] A bit of style cleanup to simplify a following change [NFC]

Use for-range, use the idiomatic pattern for non-loop values, etc..
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
Commit 14b71efd979ce3dacf6b3d9913df8e4f063224c5 by llvm-dev
[X86][AVX] Add some multiple/nested subvector insertion shuffle tests

As discussed on D107068 - see how well we merge INSERT_SUBVECTOR nodes and combine a shuffles using multiple ops in CONCAT_VECTORS nodes.
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Commit 033ca45d4f097f92dd6254f29881d906f45e0c26 by Vitaly Buka
[llvm-readobj] Fix UB in pointer arithmetics after D105522
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
Commit 656d02233170e1707d3534b042960b71cf6eb98b by jennifer.yu
Stop emit incomplete type error for a variable in a map clause
where should not.

Currently we are using QTy->isIncompleteType(&ND) to check incomplete
type.  But before doing that, need to instantiate for a class template
specialization or a class member of a class template specialization,
or an array with known size of such..., so that we know it is really
incomplete type.

To fix this using RequireCompleteType instead.

The new test is added into "test/OpenMP/target_update_messages.cpp"

The different of using RequireCompleteType is when emit incomplete type,
an additional note is also emitted to point to where incomplete type
is declared.  Because this change, many tests are needed to be fixed
by adding additional note.

This is to fix https://bugs.llvm.org/show_bug.cgi?id=50508

Differential Revision: https://reviews.llvm.org/D107200
The file was modifiedclang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_from_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_to_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_messages.cpp
Commit 911991d20adcb133a5c95ed22c0785fa202b8855 by listmail
[tests] Autogen an unroll test for ease of update
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
Commit 3943a74666cbe718b74e06092ce3b4c20e85fde1 by Dylan.Fleming
[InstCombine] Fixed select + masked load fold failure

Fixed type assertion failure caused by trying to fold a masked load with a
select where the select condition is a scalar value

Reviewed By: sdesmalen, lebedev.ri

Differential Revision: https://reviews.llvm.org/D107372
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-masked_load.ll
Commit 7c921753e0f5e95aadee8728ddbcb843a272b48a by kcc
[libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected.

[libFuzzer] replace Vector/Set with std::vector/std::set.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D107374
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDataFlowTrace.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerFork.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerInternal.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modifiedcompiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerCorpus.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDictionary.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMutate.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerCommand.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerFork.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOPosix.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerLoop.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDefs.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMutate.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOWindows.cpp
Commit 7ce1c4da7726577986535cb7766d782f325145fe by samitolvanen
ThinLTO: Fix inline assembly references to static functions with CFI

Create an internal alias with the original name for static functions
that are renamed in promoteInternals to avoid breaking inline
assembly references to them.

Relands 700d07f8ce6f2879610fd6b6968b05c6f17bb915 with -msvc targets
fixed.

Link: https://github.com/ClangBuiltLinux/linux/issues/1354

Reviewed By: nickdesaulniers, pcc

Differential Revision: https://reviews.llvm.org/D104058
The file was addedllvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
The file was modifiedllvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
The file was modifiedllvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
The file was modifiedllvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
Commit d2b2ab4e1c347161b622b9dc2553de04f9f82f04 by apl
[lldb] Further constrain a test that fails without python enabled

The test relies on the python embedded interpreter being available and
fails otherwise.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/split-optimized.c
Commit 7d9d926a1861e2f6876943d47f297e2a08a57392 by a.bataev
Revert "[SLP]Improve graph reordering."

This reverts commit e408d1dfab42b27d0aa51b221e50fa6390fb5ed1 and
2 other (4b25c113210e579a5346ca0abc0717ab1ce5d9df and
c2deb2afafee991c06cc96dc5beecb6de448b9fc) related to fix the problem with the
reordering shuffles.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/extract.ll
The file was removedllvm/test/Transforms/SLPVectorizer/AArch64/gather-load-min-required-vf-2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
The file was removedllvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/addsub.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
Commit ff163ef12b3093c14b1261f7f5a31c52cac9320a by kcc
[libFuzzer] fix clang-tidy

[libFuzzer] fix clang-tidy

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D107382
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.h
Commit aa931744efbcb3b28531ac54da640d1697c66229 by a.bataev
[SLP][NFC]Add tests for SLP vectorizer for crashes, found in new
reordering algorithm.
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/gather-load-min-required-vf-2.ll
Commit 81b293ba3637011f5d53d7112044b7f0298d5e80 by Vitaly Buka
[tests][sanitizers] Don't reflow comments

This lets us to apply ColumnLimit without breaking "RUN:" lines.
The file was modifiedcompiler-rt/test/.clang-format
Commit 0d74bd332d740fa65cc3069f7bbe45d86b295185 by riddleriver
[vscode-mlir] Add proper support for mlir markdown codeblocks

A special language contribution is required for properly
supporting markdown code blocks in vscodes builtin markdown
grammar, see https://github.com/mjbvz/vscode-fenced-code-block-grammar-injection-example
for more details.
The file was addedmlir/utils/vscode/markdown-grammar.json
The file was modifiedmlir/utils/vscode/package-lock.json
The file was modifiedmlir/utils/vscode/package.json
Commit 2e75986a21e543ac9f169a067542eec590339ac0 by George Burgess IV
bugprone-argument-comment: ignore mismatches from system headers

As of 2a3498e24f97d, we ignore parameter name mismatches for functions
in the `std::` namespace, since those aren't standardized. It seems
reasonable to extend this to all functions which are declared in system
headers, since this lint can be a bit noisy otherwise
(https://bugs.chromium.org/p/chromium/issues/detail?id=1191507).

Differential Revision: https://reviews.llvm.org/D99993
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-argument-comment/system-header-with-decl.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-argument-comment/header-with-decl.h
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-argument-comment.cpp
Commit 559d142331c2cbab0987f1d530df2c3c8a7be6e4 by thakis
[clang-tidy] Fix command line is too long issue which breaks test on Windows

This patch tries to fix command line too long problem on Windows for
https://reviews.llvm.org/D86671.

The command line is too long with check_clang_tidy.py program on Windows,
because the configuration is long for regression test. Fix this issue by
passing the settings in file instead.

Differential Revision: https://reviews.llvm.org/D107325
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-hungarian-notation.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-hungarian-notation-cfgfile.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/readability-identifier-naming/hungarian-notation1/.clang-tidy
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/readability-identifier-naming/hungarian-notation2/.clang-tidy
Commit 4367cbab4cf2cbf8f81a24bdcc2dc0612b932aa5 by thakis
[lldb] Move comment about noindex next to line it refers to

The comment was originally added in 34769d80d. Then D44526
removed the flag added there (but kept the comment), and then
D66966 reintroduced a .noindex dir (which D68606 and then 33fca97880
moved around a bit).

No behavior change.

Differential Revision: https://reviews.llvm.org/D107341
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/test/CMakeLists.txt
Commit bf3383501fefc6cfe0d8f313a2814f7fa34d4492 by thakis
[lldb] Get rid of HAVE_SYS_TYPES_H

LLVM includes this header unconditionally on all platforms
(including Windows), so this define should no longer be necessary.

No behavior change.

Differential Revision: https://reviews.llvm.org/D107338
The file was modifiedlldb/tools/driver/Platform.h
The file was modifiedlldb/source/Expression/UtilityFunction.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
The file was modifiedlldb/include/lldb/Host/windows/PosixApi.h
The file was modifiedlldb/cmake/modules/LLDBGenerateConfig.cmake
The file was modifiedlldb/include/lldb/Host/Config.h.cmake
The file was modifiedlldb/source/Expression/UserExpression.cpp
Commit 871ea69803b1f231254ab0c560795a33b6ed0c77 by a.bataev
[SLP]Do not emit extra shuffle for insertelements vectorization.

If the vectorized insertelements instructions form indentity subvector
(the subvector at the beginning of the long vector), it is just enough
to extend the vector itself, no need to generate inserting subvector
shuffle.

Differential Revision: https://reviews.llvm.org/D107344
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
Commit f5b8a3125aa82a777f4037786a32fb73ebc303b0 by modimo
[ThinLTO] Add TimeTrace for Thinlink step

Results from Clang self-build:

{F17435948}

Testing:
ninja check-all

Reviewed By: anton-afanasyev

Differential Revision: https://reviews.llvm.org/D104428
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/lib/LTO/LTO.cpp
Commit 219790c1f53665a8b5f7578472e5c2675f9bec6a by mizvekov
[clang] fix canonicalization of nested name specifiers

See PR47174.

When canonicalizing nested name specifiers of the type kind,
the prefix for 'DependentTemplateSpecialization' types was being
dropped, leading to malformed types which would cause failures
when rebuilding template names.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D107311
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 63a5ac4e0d969f41bf71785cc3979349a45a2892 by evandro.menezes
[RISCV] Add scheduling resources for V

Add the scheduling resources for the V extension instructions.

Differential Revision: https://reviews.llvm.org/D98002
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td
The file was addedllvm/lib/Target/RISCV/RISCVScheduleV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedule.td
Commit e64e6924b8aef8d48117beb6e87162109ac2512c by mizvekov
[clang] fix crash on template instantiation of invalid requires expressions

See PR48656.

The implementation of the template instantiation of requires expressions
was incorrectly trying to get the expression from an 'ExprRequirement'
before checking if it was an error state.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D107399
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
Commit 817303ef345f35bd693d71f87c4dd95a11c341c4 by ajcbik
[mlir][sparse] fix bug in permuting data structure

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D107379
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was addedmlir/test/Dialect/SparseTensor/sparse_perm.mlir
Commit b31827f6641178905a866682c0d868b1ca436a5e by riddleriver
[mlir-lsp-server] Disable multi-threading in LSP contexts

This prevents an explosion of threads, given that each file gets its own context and thus its own thread pool. We don't really need a thread pool for the LSP contexts anyways, so it's better to just disable threading.
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
Commit b9139acb85a4e5203364838e47b2e1ee90055ad3 by jeffreytan
Fix expression evaluation result expansion in lldb-vscode

VScode now sends a "scopes" DAP request immediately after any expression evaluation.
This scopes request would clear and invalidate any non-scoped expandable variables in g_vsc.variables, causing later "variables" request to return empty result.
The symptom is that any expandable variables in VScode watch window/debug console UI to return empty content.

This diff fixes this issue by only clearing the expandable variables at process continue time. To achieve this, we have to repopulate all scoped variables
during context switch for each "scopes" request without clearing global expandable variables.
So the PR puts the scoped variables into its own locals/globals/registers; and all expandable variables into separate "expandableVariables" list.
Also, instead of using the variable index for "variableReference", it generates a new variableReference id each time as the key of "expandableVariables".

As a further new feature, this PR adds a new "expandablePermanentVariables" which has the lifetime of debug session. Any expandable variables from debug console
are added into this list. This enables users to snapshot expanable old variable in debug console and compare with new variables if desire.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D105166
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp
The file was modifiedlldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py
The file was modifiedlldb/tools/lldb-vscode/VSCode.h
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
Commit b818da27ab6d7b1f02cbfc402fa1cae2c5677788 by craig.topper
[SimplifyCFG] Enable switch to lookup table for more types.

This transform has been restricted to legal types since
https://reviews.llvm.org/rG65df808f6254617b9eee931d00e95d900610b660
in 2012.

This is particularly restrictive on RISCV64 which only has i64
as a legal integer type. i32 is a very common type in code
generated from C, but we won't form a lookup table with it.
This also effects other common types like i8/i16 types on ARM,
AArch64, RISCV, etc.

This patch proposes to allow power of 2 types larger than 8 bit, if
they will fit in the largest legal integer type in DataLayout.
These types are common in C code so generally well handled in
the backends.

We could probably do this for other types like i24 and rely on
alignment and padding to allow the backend to use a single wider
load. This isn't my main concern right now and it will need more
tests.

We could also allow larger types up to some limit and let the
backend split into multiple loads, but we need to define that
limit. It's also not my main concern right now.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D107233
The file was modifiedllvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/rangereduce.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv32.ll
Commit 0b094c06f41c212ca3c8a1444be1eee3db1d405f by lebedev.ri
[NFC][Codegen][SystemZ] Autogenerate checklines in int-cmp-47.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-47.ll
Commit cb2a2ba8d64da5be3fac0ea90e406270e8a615bd by lebedev.ri
[NFC][Codegen][X86] Add test for parity-of-vector-of-bools (PR51312)
The file was addedllvm/test/CodeGen/X86/parity-vec.ll
Commit 75baf6285e17aacc4239f343f2653e0e3d52a4f8 by ajcbik
[mlir][sparse] fixed doc formatting

Indentation seems to have an impact on website layout.

Reviewed By: grosul1

Differential Revision: https://reviews.llvm.org/D107403
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Commit ba2be8deba79f1aa64a86019e78bcd2536b14eb5 by llvm-project
[clang/OpenMP][docs] Update OpenMP support list for unroll.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 2d9759c7902c5cbc9a7e3ab623321d5578d51687 by scui
[GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc

Currently, in OptimizeGlobalAddressOfMalloc, the transformation for global loads assumes that they have the same Type. With the support of ConstantExpr (https://reviews.llvm.org/D106589), this may not be true any more (as seen in the test case), and we miss the code to handle this, This is to fix that.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D107397
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was addedllvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll
Commit 143edeca6dfe5d9c006cdadb5be1ec4afd483ca3 by rob.suderman
[mlir][tosa] Shape inference for a few remaining easy cases:

Handles shape inference for identity, cast, and rescale. These were missed
during the initialy elementwise work. This includes resize shape propagation
which includes both attribute and input type based propagation.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D105845
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Commit b4121b335c48979716520f36445e6b01bef523cf by Dan Liew
[Compiler-rt] Fix running ASan/TSan unit tests under macOS 12.0.

On macOS the unit tests currently rely on libmalloc being used for
allocations (due to no functioning interceptors) but also having the
ASan/TSan allocator initialized in the same process.

This leads to crashes with the macOS 12.0 libmalloc nano allocator so
disable use of the allocator while running unit tests as a workaround.

rdar://80086125

Differential Revision: https://reviews.llvm.org/D107412
The file was modifiedcompiler-rt/unittests/lit.common.unit.cfg.py
Commit 1b00b94ffc2d60e07ec8e486dad0fcbcbfb99c62 by rob.suderman
[mlir][tosa] Tosa shape propagation for tosa.cond_if

We can propagate the shape from tosa.cond_if operands into the true/false
regions then through the connected blocks. Then, using the tosa.yield ops
we can determine what all possible return types are.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D105940
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
The file was modifiedmlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
The file was addedmlir/include/mlir/Dialect/Tosa/Utils/ShapeUtils.h
Commit f1affe8dc88a27cb0d436b6ec4bd44ca5da336a9 by wlei
[llvm-profgen][CSSPGO] Support count based aggregated type of hybrid perf script

This change tried to integrate a new count based aggregated type of perf script. The only difference of the format is that an aggregated count is added at the head of the original sample which means the same samples are repeated to the given count times. This is used to reduce the perf script size.
e.g.
```
2
          4005dc
          400634
          400684
    7f68c5788793
0x4005c8/0x4005dc/P/-/-/0  ....
```
Implemented by a dedicated PerfReader `AggregatedHybridPerfReader`.

Differential Revision: https://reviews.llvm.org/D107192
The file was addedllvm/test/tools/llvm-profgen/Inputs/noinline-cs-noprobe.aggperfscript
The file was modifiedllvm/test/tools/llvm-profgen/noinline-cs-noprobe.test
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
The file was modifiedllvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test
The file was addedllvm/test/tools/llvm-profgen/Inputs/noinline-cs-pseudoprobe.aggperfscript
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
Commit 767974f344ed0682b454a479c28284377070cf05 by springerm
[mlir][scf] Fix bug in peelForLoop

Insertion point should be set before creating new operations.

Differential Revision: https://reviews.llvm.org/D107326
The file was modifiedmlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
Commit 564373637832b3ac2a4434c45f58c066c08e9b8c by Jessica Paquette
[AArch64][GlobalISel] Widen G_SELECT before clamping it

This allows us to handle the s88 G_SELECTS:

https://godbolt.org/z/5s18M4erY

Weird types like this can result in weird merges.

Widening to s128 first and then clamping down avoids that situation.

Differential Revision: https://reviews.llvm.org/D107415
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit 9ab590e3ebb2f4a652b4cbdd3594848e8fb017fe by Vitaly Buka
[msan] Add bsearch interceptor

Similar to qsort, bsearch can be called from non-instrumented
code of glibc. When it happends tls for arguments can be in uninitialized
state.

Unlike to qsort, bsearch does not move data, so we don't need to
check or initialize searched memory or key. Intrumented comparator will
do that on it's own.

Differential Revision: https://reviews.llvm.org/D107387
The file was addedcompiler-rt/test/msan/bsearch.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Posix/bsearch.cpp
Commit 3fc92948734ab606e3afa68bc2c083fd3d48102a by ajcbik
[mlir][sparse] add example to attribute doc

Also makes style consistent with the "surrounding"
text that appears on one webpage in MLIR doc

Reviewed By: grosul1

Differential Revision: https://reviews.llvm.org/D107418
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
Commit 159a26964840c456f92387c6705ffff57e7174d4 by i
[clangd] Add new semantic token modifier "virtual"

This is needed for clients that want to highlight virtual functions
differently.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D107145
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.h
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang-tools-extra/clangd/test/semantic-tokens.test
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit 8d15b7dcbaa1469d7e147ebdce988cca861ace6d by springerm
[mlir] Improve Graphviz visualization in PrintOpPass

* Visualize blocks and regions as subgraphs.
* Generate DOT file directly instead of using `GraphTraits`. `GraphTraits` does not support subgraphs.

Differential Revision: https://reviews.llvm.org/D106253
The file was modifiedmlir/include/mlir/Transforms/ViewOpGraph.h
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/include/mlir/Support/IndentedOstream.h
The file was modifiedmlir/test/Transforms/print-op-graph.mlir
Commit b16c37fa2c797bba51ae683729ed484980766d75 by jacobhegna
[MLGO] Update the current model url for the Oz inliner model.
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
Commit 3df1e7e6f05e42df813accf8ec89e800515b6f70 by Vitaly Buka
[llvm-readobj][XCOFF] Warn about invalid offset

Followup for D105522

Differential Revision: https://reviews.llvm.org/D107398
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/XCOFF/string-table.yaml
Commit a87be1c1bd950bfe46c1904474c67dd3a0a7586d by springerm
[mlir] Truncate/skip long strings in ViewOpGraph.cpp

* New pass option `max-label-len`: Truncate attributes/result types that have more #chars.
* New pass option `print-attrs`: Activate/deactivate rendering of attributes.
* New pass option `printResultTypes`: Activate/deactivate rendering of result types.

Differential Revision: https://reviews.llvm.org/D106337
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
Commit ad253446208a06902d3bc4939ac7a64f8026cc84 by aeubanks
[MC][CodeGen] Emit constant pools earlier

Previously we would emit constant pool entries for ldr inline asm at the
very end of AsmPrinter::doFinalization(). However, if we're emitting
dwarf aranges, that would end all sections with aranges. Then if we have
constant pool entries to be emitted in those same sections, we'd hit an
assert that the section has already been ended.

We want to emit constant pool entries before emitting dwarf aranges.
This patch splits out arm32/64's constant pool entry emission into its
own MCTargetStreamer virtual method.

Fixes PR51208

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107314
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was addedllvm/test/CodeGen/ARM/arange-ldr.ll
Commit 9bd02c433b5ee0235f263dab4e2f307a5ceb5b0d by aheejin
[WebAssembly] Misc. cosmetic changes in EH (NFC)

- Rename `wasm.catch` intrinsic to `wasm.catch.exn`, because we are
  planning to add a separate `wasm.catch.longjmp` intrinsic which
  returns two values.
- Rename several variables
- Remove an unnecessary parameter from `canLongjmp` and `isEmAsmCall`
  from LowerEmscriptenEHSjLj pass
- Add `-verify-machineinstrs` in a test for a safety measure
- Add more comments + fix some errors in comments
- Replace `std::vector` with `SmallVector` for cases likely with small
  number of elements
- Renamed `EnableEH`/`EnableSjLj` to `EnableEmEH`/`EnableEmSjLj`: We are
  soon going to add `EnableWasmSjLj`, so this makes the distincion
  clearer

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D107405
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/WasmEHPrepare.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/wasmehprepare.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Commit faeb7ec68bc18215667dc6fe31531b703670158d by springerm
[mlir] Fix broken build in pass_manager.py

This test ensures that an error is generated from the Python side when running a module pass on a function. The test used to instantiate ViewOpGraph, however, this pass was changed into a general "any op" pass in D106253. Therefore, a different pass must be used in this test.

Differential Revision: https://reviews.llvm.org/D107424
The file was modifiedmlir/test/python/pass_manager.py
Commit df4e0beaeb0cba052e51094ff8d9447bea11fe62 by i
[NFC][ConstantFold] Check getAggregateElement before getSplatValue call

Constant::getSplatValue has O(N) time complexity in the worst case,
where N is the # of elements in a vector. So we call
Constant::getAggregateElement first and return earlier if possible to
avoid unnecessary getSplatValue calls.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107252
The file was modifiedllvm/lib/IR/ConstantFold.cpp
Commit 596e61c332267ae9e7074bcd3adc988829c85817 by mahesha.comp
[AMDGPU] Ignore call graph node which does not have function info.

While collecting reachable callees (from kernels), ignore call graph node which
does not have associated function or associated function is not a definition.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D107329
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
The file was addedllvm/test/CodeGen/AMDGPU/replace-lds-by-ptr-call-to-declare-only-func.ll
Commit 432341d8a81afb95f12ca8e91fbbb4a4b526856f by stephen.neuendorffer
[mlir] Handle cases where transfer_read should turn into a scalar load

The existing vector transforms reduce the dimension of transfer_read
ops.  However, beyond a certain point, the vector op actually has
to be reduced to a scalar load, since we can't load a zero-dimension
vector.  This handles this case.

Note that in the longer term, it may be preferaby to support
zero-dimension vectors.  see
https://llvm.discourse.group/t/should-we-have-0-d-vectors/3097.

Differential Revision: https://reviews.llvm.org/D103432
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 737e27f6236f18dcac53130242756ba0cc1dfe7d by esme.yi
[llvm-readobj][XCOFF] dump the string table only if the size is bigger than 4.
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/XCOFF/string-table.yaml
Commit 8385de118443144518c9fba8b3d831d9076e746b by akuegel
[mlir][Bazel] Adjust BUILD.bazel file.

The dependency is needed after 1b00b94ffc2d60

Differential Revision: https://reviews.llvm.org/D107426
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 486b6013f967ff80f8fa4d20bf5b93e94ce72aa0 by i
[Support] Initialize common options in `getRegisteredOptions`

This allows users accessing options in libSupport before invoking
`cl::ParseCommandLineOptions`, and also matches the behavior before
D105959.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D106334
The file was addedllvm/unittests/Support/CommandLineInit/CommandLineInitTest.cpp
The file was addedllvm/unittests/Support/CommandLineInit/CMakeLists.txt
The file was modifiedllvm/unittests/Support/CMakeLists.txt
The file was modifiedllvm/lib/Support/CommandLine.cpp
Commit 30fbb06979077740961ebc46853e28ab1f999f9d by sjoerd.meijer
[FuncSpec] Support specialising recursive functions

This adds support for specialising recursive functions. For example:

    int Global = 1;
    void recursiveFunc(int *arg) {
      if (*arg < 4) {
        print(*arg);
        recursiveFunc(*arg + 1);
      }
    }
    void main() {
      recursiveFunc(&Global);
    }

After 3 iterations of function specialisation, followed by inlining of the
specialised versions of recursiveFunc, the main function looks like this:

    void main() {
      print(1);
      print(2);
      print(3);
    }

To support this, the following has been added:
- Update the solver and state of the new specialised functions,
- An optimisation to propagate constant stack values after each iteration of
  function specialisation, which is necessary for the next iteration to
  recognise the constant values and trigger.

Specialising recursive functions is (at the moment) controlled by option
-func-specialization-max-iters and is opt-in for compile-time reasons. I.e.,
the default is -func-specialization-max-iters=1, but for the example above we
would need to use -func-specialization-max-iters=3. Future work is to see if we
can increase the default, or improve the cost-model/heuristics to control
compile-times.

Differential Revision: https://reviews.llvm.org/D106426
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive2.ll
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive.ll
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive4.ll
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive3.ll
Commit 2f002817fb462d01d26374015421a24fa2a5a676 by andre.simoesdiasvieira
[libc] Fix Memory Benchmarks code after rename

Differential Revision: https://reviews.llvm.org/D107376
The file was modifiedlibc/benchmarks/LibcMemoryBenchmarkMain.cpp
Commit 16ff91ebccda1128c43ff3cee104e2c603569fb2 by sepavloff
Introduce intrinsic llvm.isnan

Clang has builtin function '__builtin_isnan', which implements C
library function 'isnan'. This function now is implemented entirely in
clang codegen, which expands the function into set of IR operations.
There are three mechanisms by which the expansion can be made.

* The most common mechanism is using an unordered comparison made by
  instruction 'fcmp uno'. This simple solution is target-independent
  and works well in most cases. It however is not suitable if floating
  point exceptions are tracked. Corresponding IEEE 754 operation and C
  function must never raise FP exception, even if the argument is a
  signaling NaN. Compare instructions usually does not have such
  property, they raise 'invalid' exception in such case. So this
  mechanism is unsuitable when exception behavior is strict. In
  particular it could result in unexpected trapping if argument is SNaN.

* Another solution was implemented in https://reviews.llvm.org/D95948.
  It is used in the cases when raising FP exceptions by 'isnan' is not
  allowed. This solution implements 'isnan' using integer operations.
  It solves the problem of exceptions, but offers one solution for all
  targets, however some can do the check in more efficient way.

* Solution implemented by https://reviews.llvm.org/D96568 introduced a
  hook 'clang::TargetCodeGenInfo::testFPKind', which injects target
  specific code into IR. Now only SystemZ implements this hook and it
  generates a call to target specific intrinsic function.

Although these mechanisms allow to implement 'isnan' with enough
efficiency, expanding 'isnan' in clang has drawbacks:

* The operation 'isnan' is hidden behind generic integer operations or
  target-specific intrinsics. It complicates analysis and can prevent
  some optimizations.

* IR can be created by tools other than clang, in this case treatment
  of 'isnan' has to be duplicated in that tool.

Another issue with the current implementation of 'isnan' comes from the
use of options '-ffast-math' or '-fno-honor-nans'. If such option is
specified, 'fcmp uno' may be optimized to 'false'. It is valid
optimization in general, but it results in 'isnan' always returning
'false'. For example, in some libc++ implementations the following code
returns 'false':

    std::isnan(std::numeric_limits<float>::quiet_NaN())

The options '-ffast-math' and '-fno-honor-nans' imply that FP operation
operands are never NaNs. This assumption however should not be applied
to the functions that check FP number properties, including 'isnan'. If
such function returns expected result instead of actually making
checks, it becomes useless in many cases. The option '-ffast-math' is
often used for performance critical code, as it can speed up execution
by the expense of manual treatment of corner cases. If 'isnan' returns
assumed result, a user cannot use it in the manual treatment of NaNs
and has to invent replacements, like making the check using integer
operations. There is a discussion in https://reviews.llvm.org/D18513#387418,
which also expresses the opinion, that limitations imposed by
'-ffast-math' should be applied only to 'math' functions but not to
'tests'.

To overcome these drawbacks, this change introduces a new IR intrinsic
function 'llvm.isnan', which realizes the check as specified by IEEE-754
and C standards in target-agnostic way. During IR transformations it
does not undergo undesirable optimizations. It reaches instruction
selection, where is lowered in target-dependent way. The lowering can
vary depending on options like '-ffast-math' or '-ffp-model' so the
resulting code satisfies requested semantics.

Differential Revision: https://reviews.llvm.org/D104854
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was addedllvm/test/Transforms/InstCombine/fpclass.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedclang/test/CodeGen/aarch64-strictfp-builtins.c
The file was addedllvm/test/CodeGen/X86/x86-fpclass.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was addedllvm/test/Transforms/InstSimplify/ConstProp/fpclassify.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/X86/strictfp_builtins.c
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/test/CodeGen/strictfp_builtins.c
The file was addedllvm/test/CodeGen/AArch64/aarch64-fpclass.ll
The file was addedllvm/test/CodeGen/PowerPC/ppc-fpclass.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit d7b0e5525a4e809cf61a4e1c82f000af781cbab4 by Tim Northover
X86: fix frame offset calculation with mandatory tail calls

If there's a region of the stack reserved for potential tail call arguments
(only the case when we guarantee tail calls will be honoured), this is right
next to the incoming stored return address, not necessarily next to the
callee-saved area, so combining the two into a single figure leads to incorrect
offsets in some edge cases.
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit e4977f9cb58ff7820d0287ba309490af57787749 by Raphael Isemann
[lldb] Partly revert "Allow range-based for loops over DWARFDIE's children"

As pointed out in D107434 by Walter, D103172 also changed two for loops that
were actually not just iterating over some DIEs but also using the iteration
variable later on for some other things. This patch reverts the respective
faulty parts of D103172.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit b1802d694c1cce753d4e54b5924c68c7621d9dc7 by david.spickett
[llvm][ExecutionEngine] Don't try to run tests on ARM64/Windows on Arm

We use CMAKE_SYSTEM_PROCESSOR to set the host_arch lit feature.
This is going to be the same value as CMAKE_HOST_SYSTEM_PROCESSOR,
which on windows is set to the value of the PROCESSOR_ARCHITECTURE
environment variable.

https://cmake.org/cmake/help/latest/variable/CMAKE_HOST_SYSTEM_PROCESSOR.html#cmake-host-system-processor

On Windows on Arm this is "ARM64", not "AArch64" as we currently
look for.

https://docs.microsoft.com/en-us/windows/win32/winprog64/wow64-implementation-details#environment-variables

Add ARM64 to the unsupported list.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D107361
The file was modifiedllvm/test/ExecutionEngine/lit.local.cfg
Commit 0092dbcd80f208f7becec002e70bad5b35a081cd by kimanh
[lldb] Fix lookup of .debug_loclists with split-dwarf

This patch fixes the lookup of locations in
.debug_loclists, if they are split in a .dwp file.

Mainly, we need to consider the cu index offsets.

Reviewed By: jankratochvil

Differential Revision: https://reviews.llvm.org/D107161
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwp.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit fc8dee1ebb9e3a660b18330888edad95ce893422 by llvm-dev
[X86] Split Subtarget ISA / Security / Tuning Feature Flags Definitions. NFC

Our list of slow/fast tuning feature flags has become pretty extensive and is randomly interleaved with ISA and Security (Retpoline etc.) flags, not even based on when the ISAs/flags were introduced, making it tricky to locate them. Plus we started treating tuning flags separately some time ago, so this patch tries to group the flags to match.

I've left them mostly in the same order within each group - I'm happy to rearrange them further if there are specific ISA or Tuning flags that you think should be kept closer together.

Differential Revision: https://reviews.llvm.org/D107370
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 0c28a7c990c5218d6aec47c5052a51cba686ec5e by sepavloff
Revert "Introduce intrinsic llvm.isnan"

This reverts commit 16ff91ebccda1128c43ff3cee104e2c603569fb2.
Several errors were reported mainly test-suite execution time. Reverted
for investigation.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was removedllvm/test/Transforms/InstCombine/fpclass.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was removedllvm/test/CodeGen/X86/x86-fpclass.ll
The file was removedllvm/test/Transforms/InstSimplify/ConstProp/fpclassify.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedclang/test/CodeGen/strictfp_builtins.c
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedclang/test/CodeGen/aarch64-strictfp-builtins.c
The file was removedllvm/test/CodeGen/AArch64/aarch64-fpclass.ll
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was removedllvm/test/CodeGen/PowerPC/ppc-fpclass.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedclang/test/CodeGen/X86/strictfp_builtins.c
Commit 7f163931b9421c61fe1859fd8b2d97e7f5a39c73 by springerm
[mlir] Fix CMake linker rules for ViewOpGraph.cpp

Differential Revision: https://reviews.llvm.org/D107439
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
Commit f968bd77bbcf142afdb74750e53485b044de3e5f by Raphael Isemann
Reland "[lldb/DWARF] Only match mangled name in full-name function lookup (with accelerators)"

Summary:

In the spirit of https://reviews.llvm.org/D70846, we only return functions with
matching mangled name from Apple/DebugNamesDWARFIndex::GetFunction if
eFunctionNameTypeFull is requested.

This speeds up lookup in the presence of large amount of class methods of the
same name (a typical examples would be constructors of templates with many
instantiations or overloaded operators).

Reviewers: labath, teemperor

Reviewed By: labath, teemperor

Subscribers: aprantl, arphaman, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D73191
The file was modifiedlldb/test/API/lang/cpp/printf/TestPrintf.py
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
Commit 13e145fe76c4c24c0f76115250b9249015fbf7ee by Tim Northover
X86: add test for realignment fix committed earlier.

Forgot "git add" for a new file.
The file was addedllvm/test/CodeGen/X86/swifttail-realign.ll
Commit 6f8c4340c2bafd7440b3c264a7977ce3cc17c465 by david.spickett
[llvm][MC] Disable cfi-version test for Windows on Arm

Like Windows on x86-64, Windows on arm64 uses structured
exception handling, so we don't emit .debug_frame.

See:
https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling?view=msvc-160

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D107440
The file was modifiedllvm/test/MC/ELF/cfi-version.ll
The file was modifiedllvm/test/lit.cfg.py
Commit d3faecbb7c04022f5cc62fe706cd9e5cf8343caf by dvyukov
tsan: minor MetaMap tweaks

1. Add some comments.
2. Use kInvalidStackID instead of literal 0.
3. Add more LIKELY/UNLIKELY.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D107371
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
Commit 14e306fa4b0fb72710f2b696602fc356de59175d by dvyukov
tsan: use DCHECK instead of CHECK in atomic functions

Atomic functions are semi-hot in profiles.
The CHECKs verify values passed by compiler
and they never fired, so replace them with DCHECKs.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D107373
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
Commit 636428c727cdcfe37b8e950e32d10f06fa4f5dfa by dvyukov
tsan: unify __cxa_guard_acquire and pthread_once implementations

Currently we effectively duplicate "once" logic for __cxa_guard_acquire
and pthread_once. Unify the implementations.

This is not a no-op change:
- constants used for pthread_once are changed to match __cxa_guard_acquire
   (__cxa_guard_acquire constants are tied to ABI, but it does not seem
   to be the case for pthread_once)
- pthread_once now also uses PotentiallyBlockingRegion annotations
- __cxa_guard_acquire checks thr->in_ignored_lib to skip user synchronization
It's unclear if these 2 differences are intentional or a mere sloppy inconsistency.
Since all tests still pass, let's assume the latter.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D107359
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 9102a16bef1aa8c780f440f8ac7d71090d1a96c1 by springerm
[mlir] Support drawing control-flow graphs in ViewOpGraph.cpp

* Add new pass option `print-data-flow-edges`, default value `true`.
* Add new pass option `print-control-flow-edges`, default value `false`.
* Remove `PrintCFGPass`. Same functionality now provided by
  `PrintOpPass`.

Differential Revision: https://reviews.llvm.org/D106342
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was removedmlir/lib/Transforms/ViewRegionGraph.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was removedmlir/include/mlir/Transforms/ViewRegionGraph.h
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/test/Transforms/print-op-graph.mlir
The file was modifiedmlir/include/mlir/Transforms/Passes.td
Commit 0556138624edf48621dd49a463dbe12e7101f17d by Jan Svoboda
[clang][cli] Expose -fno-cxx-modules in cc1

For some use-cases, it might be useful to be able to turn off modules for C++ in `-cc1`. (The feature is implied by `-std=C++20`.)

This patch exposes the `-fno-cxx-modules` option in `-cc1`.

Reviewed By: arphaman

Differential Revision: https://reviews.llvm.org/D106864
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Modules/cxx20-disable.cpp
Commit 0bc626d516a201953ef6a45be0d059d70672d7db by dvyukov
tsan: refactor guard_acquire/release

Introduce named consts for magic values we use.

Differential Revision: https://reviews.llvm.org/D107445
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 2718ae397b29f339e65c1e3ca5e834b648732d20 by Jan Svoboda
[clang][deps] Substitute clang-scan-deps executable in lit tests

The lit tests for `clang-scan-deps` invoke the tool without going through the substitution system. While the test runner correctly picks up the `clang-scan-deps` binary from the build directory, it doesn't print its absolute path. When copying the invocations when reproducing test failures, this can result in `command not found: clang-scan-deps` errors or worse yet: pick up the system `clang-scan-deps`. This patch adds new local `%clang-scan-deps` substitution.

Reviewed By: lxfind, dblaikie

Differential Revision: https://reviews.llvm.org/D107155
The file was modifiedclang/test/lit.cfg.py
Commit e3f4c63e78b1ed54f0a35aeb30730e5c74bcfeed by dvyukov
tsan: don't use spinning in __cxa_guard_acquire/pthread_once

Currently we use passive spinning with internal_sched_yield to wait
in __cxa_guard_acquire/pthread_once. Passive spinning tends to degrade
ungracefully under high load. Use FutexWait/Wake instead.

Depends on D107359.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D107360
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit f2128abec2030f6534d46f877e3ab2bcc3b5af4c by omair.javaid
[LLDB] Skip flaky tests on Arm/AArch64 Linux bots

Following LLDB tests fail randomly on LLDB Arm/AArch64 Linux buildbots.
We still not have a reliable solution for these tests to pass
consistently. I am marking them skipped for now.

TestBreakpointCallbackCommandSource.py
TestIOHandlerResize.py
TestEditline.py
TestGuiViewLarge.py
TestGuiExpandThreadsTree.py
TestGuiBreakpoints.py
The file was modifiedlldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
The file was modifiedlldb/test/API/iohandler/resize/TestIOHandlerResize.py
The file was modifiedlldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_callback_command_source/TestBreakpointCallbackCommandSource.py
The file was modifiedlldb/test/API/terminal/TestEditline.py
The file was modifiedlldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
Commit 17e8ac0703e1a3b5e269e3535d862cad39e0cf43 by llvm-dev
[X86] Move FeatureFastBEXTR from bdver2 features to tuning

Noticed while looking at the feature flag renaming suggested in D107370
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 8cd40ece70e59b86b6915f9b52fc8becba8cbe4f by llvm-dev
[X86] Rename X86 tuning feature flag FeatureHasFastGather -> FeatureFastGather

Match the naming style used by the other 'FeatureFast/FeatureSlow' tuning flags.
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
Commit b6408fa169d6c12886af20bd44d6228f2272960c by springerm
[mlir] Include llvm/Support/Debug.h in Transforms/Passes.h

There are many downstream users of llvm::dbgs, which is defined in Debug.h. Before D106342, many users included that dependency transitively via the now deleted ViewRegionGraph.h. Adding it back to Transforms/Passes.h for convenience.

Differential Revision: https://reviews.llvm.org/D107451
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.h
Commit ff9958b70e959bf48f5d308fb4431c76d3984ae4 by david.green
[ARM] Test showing incorrect codegen when subreg liveness is enabled. NFC
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/subreg-liveness.mir
Commit eeddcba5254b62b7fef03f394820ff4314f2cf19 by david.green
[RDA] Attempt to make RDA subreg aware

This attempts to make more of RDA aware of potentially overlapping
subregisters. Some of this was already in place, with it iterating
through MCRegUnitIterators. This also replaces calls to
LiveRegs.contains(..) with !LiveRegs.available(..), and updates the
isValidRegUseOf and isValidRegDefOf to search subregs.

Differential Revision: https://reviews.llvm.org/D107351
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/subreg-liveness.mir
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit b44eb5a149a3d78b164a3e9f5c9cf52b44ce0163 by springerm
[flang] Add missing FileSystem.h

This file was previously included transitively via `mlir/Transforms/Passes.h`, but the include has been removed from that file.

Differential Revision: https://reviews.llvm.org/D107455
The file was modifiedflang/tools/tco/tco.cpp
Commit 438f700b4d9e4fca1fd6fd932e53ac8ef1ec15ca by springerm
[mlir] Fix gcc-5 build in ViewOpGraph.cpp

Differential Revision: https://reviews.llvm.org/D107458
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
Commit f819e4c7d0f6efef3cc1042cc45582320bf6c0a2 by lebedev.ri
[X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats

Given a shuffle mask, if it is picking from an input that is splat
given the current granularity of the shuffle, then adjust the mask
to pick from the same lane of the input as the mask element is in.
This may result in a shuffle being simplified into a blend.

I believe this is correct given that the splat detection matches the one
just above the new code,

My basic thought is that we might be able to get less regressions
by handling multiple insertions of the same value into a vector
if we form broadcasts+blend here, as opposed to D105390,
but i have not really thought this through,
and did not try implementing it yet.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D107009
The file was modifiedllvm/test/CodeGen/X86/sse41.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr15296.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
The file was modifiedllvm/test/CodeGen/X86/avx.ll
Commit 40650f27b5df95b2f96d25ea03976d8136804441 by tomas.matheson
[ARM][atomicrmw] Fix CMP_SWAP_32 expand assert

This assert is intended to ensure that the high registers are not
selected when it is passed to one of the thumb UXT instructions. However
it was triggering even for 32 bit where no UXT instruction is emitted.

Fixes PR51313.

Differential Revision: https://reviews.llvm.org/D107363
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg.mir
Commit 916cdc3d4b66cf9658280cccb69a56eb6b403cdf by lebedev.ri
[NFC][X86] combineX86ShuffleChain(): rename inner Mask to avoid future shadowing

I want to hoist `Mask` variable higher up,
but then it would clash with this one.
So let's rename this one first.

There are no other intentional changes here other than said rename.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 35c0848b570214ed2b2d96cca4dd62bb7ae725cd by lebedev.ri
[NFC][X86] combineX86ShuffleChain(): hoist Mask variable higher up

Having `NewMask` outside of an if and rebinding `BaseMask` `ArrayRef`
to it is confusing. Instead, just move the `Mask` vector higher up,
and change the code that earlier had no access to it but now does
to use `Mask` instead of `BaseMask`.

This has no other intentional changes.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d42e70b3d315645e37f3b1455d39e68678e69525 by Reshabhkumar.Sharma
[AMDGPU] Handle functions in llvm's global ctors and dtors list

This patch introduces a new code object metadata field, ".kind"
which is used to add support for init and fini kernels.

HSAStreamer will use function attributes, "device-init" and
"device-fini" to distinguish between init and fini kernels from
the regular kernels and will emit metadata with ".kind" set to
"init" and "fini" respectively.

To reduce the number of init and fini kernels, the ctors and
dtors present in the llvm's global.ctors and global.dtors lists
are called from a single init and fini kernel respectively.

Reviewed by: yaxunl

Differential Revision: https://reviews.llvm.org/D105682
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was addedllvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was addedllvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ctor-dtor-list.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was addedllvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Commit 785f37b2073f856f4b6b4eeeb3023d0f40e1e103 by kazu
[ADT] Drop unnecessary const from return types (NFC)

Identified with const-return-type-APInt.
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit 027d3b747e7d8e82d9cc35f8b3689fec5fd09779 by jay.foad
[AMDGPU] Generate checks for i64 to fp conversions

Differential Revision: https://reviews.llvm.org/D107429
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
Commit 21ee38e24f9801a567306b2a88defacf6e589a8b by chris.jackson
[DebugInfo][LSR] Avoid crashes on large integer inputs

SCEV-based salvaging in LSR translates SCEVs to DIExpressions. SCEVs may
contain very large integers but the translation does not support
integers greater than 64 bits. This patch adds checks to ensure
conversions of these large integers is not attempted. A regression test
is added to ensure no such translation is attempted.

Reviewed by: StephenTozer

PR: https://bugs.llvm.org/show_bug.cgi?id=51329

Differential Revision: https://reviews.llvm.org/D107438
The file was addedllvm/test/Transforms/LoopStrengthReduce/pr51329.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit ba5c4ac60090052836418dca7c7f1b7d7ed18dcc by jay.foad
[AMDGPU] Add cttz tests and globalisel checks for ctlz
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was addedllvm/test/CodeGen/AMDGPU/cttz.ll
Commit b8f612e780e50cfb62bc0196b6367e4587949f88 by sd.fertile
[PowerPC][AIX] Packed zero-width bitfields do not affect alignment.

Zero-width bitfields on AIX pad out to the natral alignment boundary but
do not change the containing records alignment.

Differential Revision: https://reviews.llvm.org/D106900
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/test/Layout/aix-packed-bitfields.c
Commit 926975267175eeef921c6f84e25c93b00a359a05 by simon.wallis2
[AArch64] Fix assert AArch64TargetLowering::ReplaceNodeResults

Don't know how to custom expand this
UNREACHABLE executed at llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16788

The fix is to provide missing expansions for:
  case ISD::STRICT_FP_TO_UINT:
  case ISD::STRICT_FP_TO_SINT:

A test case is provided.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D107452
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/fptosi-strictfp.ll
Commit f3eb5f900d2ae6c8e1c03d1b250415a7b7aa39b1 by Pushpinder.Singh
[AMDGPU][OpenMP] Wrap amdgcn declare variant inside ifdef

This fixes the issue https://bugs.llvm.org/show_bug.cgi?id=51337

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D107468
The file was modifiedclang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
Commit 478c71bf95d2e88297e01d450e0c10c847cb8037 by ajcbik
[mlir][amx] add doc to AMX dialect

Making sure the AMX dialect webpage reads better with a short introduction on the purpose of this dialect.

Reviewed By: grosul1, bondhugula

Differential Revision: https://reviews.llvm.org/D107419
The file was modifiedmlir/include/mlir/Dialect/AMX/AMX.td
Commit d9cc5d84e4d3bf45df1ef87e677e3ec1431b59b5 by bradley.smith
[AArch64][SVE] Combine bitcasts of predicate types with vector inserts/extracts of loads/stores

An insert subvector that is inserting the result of a vector predicate
sized load into undef at index 0, whose result is casted to a predicate
type, can be combined into a direct predicate load. Likewise the same
applies to extract subvector but in reverse.

The purpose of this optimization is to clean up cases that will be
introduced in a later patch where casts to/from predicate types from i8
types will use insert subvector, rather than going through memory early.

This optimization is done in SVEIntrinsicOpts rather than InstCombine to
re-introduce scalable loads as late as possible, to give other
optimizations the best chance possible to do a good job.

Differential Revision: https://reviews.llvm.org/D106549
The file was addedllvm/test/CodeGen/AArch64/sve-extract-vector-to-predicate-store.ll
The file was addedllvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
The file was modifiedllvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
Commit b4a1eab941bda4c56dca685749b59a99076caebe by ajcbik
[mlir][sparse] fixed typo in sparse tensor type attribute alias

Reviewed By: grosul1, rriddle

Differential Revision: https://reviews.llvm.org/D107472
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
Commit 9bd29a73d17add45234a35de5f6ad7ca8321f7f9 by i
[ELF] Make dot in .tbss correct

GNU ld doesn't support multiple SHF_TLS SHT_NOBITS output sections (it restores
the address after an SHF_TLS SHT_NOBITS section, so consecutive SHF_TLS
SHT_NOBITS sections will have conflicting address ranges).

That said, `threadBssOffset` implements limited support for consecutive SHF_TLS
SHT_NOBITS sections. (SHF_TLS SHT_PROGBITS following a SHF_TLS SHT_NOBITS can still be
incorrect.)

`.` in an output section description of an SHF_TLS SHT_NOBITS section is
incorrect. (https://lists.llvm.org/pipermail/llvm-dev/2021-July/151974.html)

This patch saves the end address of the previous tbss section in
`ctx->tbssAddr`, changes `dot` in the beginning of `assignOffset` so
that `.` evaluation will be correct.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107208
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/test/ELF/linkerscript/tbss.s
The file was modifiedlld/ELF/LinkerScript.h
Commit 3bc8ce5dd718beef0031bf4b070ac4026e6910d7 by protze
[openmp] Add OMPT initialization in libomptarget

When loading libomptarget, the init function in libomptarget/src/rtl.cpp
will search for the libomptarget_start_tool function using libdl.
libomptarget_start_tool will pass those OMPT callbacks related to target
constructs to libomptarget

Differential Revision: https://reviews.llvm.org/D99803
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was modifiedopenmp/runtime/src/ompt-general.cpp
The file was addedopenmp/libomptarget/src/ompt-target.h
The file was modifiedopenmp/runtime/cmake/config-ix.cmake
The file was modifiedopenmp/runtime/src/include/omp-tools.h.var
The file was modifiedopenmp/libomptarget/CMakeLists.txt
The file was modifiedopenmp/runtime/src/exports_so.txt
The file was modifiedopenmp/runtime/src/ompt-event-specific.h
The file was modifiedopenmp/runtime/src/ompt-internal.h
The file was addedopenmp/libomptarget/src/ompt-target.cpp
The file was modifiedopenmp/libomptarget/src/CMakeLists.txt
Commit 7ed22a6fa90cbdc70d6806c1121a0c50c1978dce by i
[ELF] Apply version script patterns to non-default version symbols

Currently version script patterns are ignored for .symver produced
non-default version (single @) symbols. This makes such symbols
not localizable by `local:`, e.g.

```
.symver foo3_v1,foo3@v1
.globl foo_v1
foo3_v1:

ld.lld --version-script=a.ver -shared a.o
# In a.out, foo3@v1 is incorrectly exported.
```

This patch adds the support:

* Move `config->versionDefinitions[VER_NDX_LOCAL].patterns` to `config->versionDefinitions[versionId].localPatterns`
* Rename `config->versionDefinitions[versionId].patterns` to `config->versionDefinitions[versionId].nonLocalPatterns`
* Allow `findAllByVersion` to find non-default version symbols when `includeNonDefault` is true. (Note: `symtab` keys do not have `@@`)
* Make each pattern check both the unversioned `pat.name` and the versioned `${pat.name}@${v.name}`
* `localPatterns` can localize `${pat.name}@${v.name}`. `nonLocalPatterns` can prevent localization by assigning `verdefIndex` (before `parseSymbolVersion`).

---

If a user notices new `undefined symbol` errors with a version script containing
`local: *;`, the issue is likely due to a missing `global:` pattern.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107234
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/test/ELF/version-script-noundef.s
The file was modifiedlld/ELF/SymbolTable.h
The file was removedlld/test/ELF/version-script-extern-exact.s
The file was removedlld/test/ELF/version-script-extern-wildcards.s
The file was removedlld/test/ELF/version-script-extern.s
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/version-script-symver-extern.s
The file was modifiedlld/test/ELF/version-script-symver.s
Commit d41233e9cf12b85b4f856fe6f4c881211b29534c by dvyukov
tsan: introduce kAccessFree

Add kAccessFree memory access flag (similar to kAccessVptr).
In preparation for MemoryAccess refactoring.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107464
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
Commit 2ddaffdc74ec4e17d2df93729a2f20ec773f08f5 by dvyukov
tsan: introduce kAccessExternalPC

Add kAccessExternal memory access flag that denotes
memory accesses with PCs that may have kExternalPCBit set.
In preparation for MemoryAccess refactoring.
Currently unused, but will allow to skip a branch.

Depends on D107464.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107465
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.inc
Commit c2598be8bcf2cf27391b9e77f9b509e24788e7a1 by dvyukov
tsan: move AccessType to tsan_defs.h

It will be needed in more functions like ReportRace
(the plan is to pass it through MemoryAccess to ReportRace)
and this move will allow to split the huge tsan_rtl.h into parts
(e.g. move FastState/Shadow definitions to a separate header).

Depends on D107465.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107466
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
Commit bdeb15c34eac9884f48a324004708e66ff76557b by dvyukov
tsan: remove non-existent MemoryAccessRangeStep

Probably was used for Go at some point...

Depends on D107466.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107467
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
Commit 66d4430492131a2205f159071c15e90c10e2fced by i
[ELF] Combine foo@v1 and foo with the same versionId if both are defined

Due to an assembler design flaw (IMO), `.symver foo,foo@v1` produces two symbols `foo` and `foo@v1` if `foo` is defined.

* `v1 {};` produces both `foo` and `foo@v1`, but GNU ld only produces `foo@v1`
* `v1 { foo; };` produces both `foo@@v1` and `foo@v1`, but GNU ld only produces `foo@v1`
* `v2 { foo; };` produces both `foo@@v2` and `foo@v1`, matching GNU ld. (Tested by symver.s)

This patch implements the GNU ld behavior by reusing the symbol redirection mechanism
in D92259. The new test symver-non-default.s checks the first two cases.

Without the patch, the second case will produce `foo@v1` and `foo@@v1` which
looks weird and makes foo unnecessarily default versioned.

Note: `.symver foo,foo@v1,remove` exists but the unfortunate `foo` will not go
away anytime soon.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107235
The file was modifiedlld/test/ELF/version-symbol-undef.s
The file was addedlld/test/ELF/symver-non-default.s
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/version-script-symver.s
Commit e57e1e4e00264b77b2b35ad2bf419a48aecdd6bc by bradley.smith
[clang][AArch64][SVE] Avoid going through memory for fixed/scalable predicate casts

For fixed SVE types, predicates are represented using vectors of i8,
where as for scalable types they are represented using vectors of i1. We
can avoid going through memory for casts between these by bitcasting the
i1 scalable vectors to/from a scalable i8 vector of matching size, which
can then use the existing vector insert/extract logic.

Differential Revision: https://reviews.llvm.org/D106860
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-call.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
Commit fe6ae81ef3644bf216c9ca8d2c90150cd9f83a57 by sander.desmalen
[InstCombine] Fix vscale zext/sext optimization when vscale_range is unbounded.

According to the LangRef, a (vscale_range) value of 0 means unbounded.

This patch additionally cleans up the test file vscale_sext_and_zext.ll.
The file was modifiedllvm/test/Transforms/InstCombine/vscale_sext_and_zext.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit ee7d20e84675e1d255d7ae59e3bccfd320cc090d by hoy
[CSSPGO] Migrate and refactor the decoder of Pseudo Probe

Migrate pseudo probe decoding logic in llvm-profgen to MC, so other LLVM-base program could reuse existing codes. Redesign object layout of encoded and decoded pseudo probes.

Reviewed By: hoy

Differential Revision: https://reviews.llvm.org/D106861
The file was modifiedllvm/lib/MC/MCPseudoProbe.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
The file was modifiedllvm/include/llvm/MC/MCPseudoProbe.h
The file was modifiedllvm/lib/MC/CMakeLists.txt
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.h
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was removedllvm/tools/llvm-profgen/PseudoProbe.cpp
The file was modifiedllvm/tools/llvm-profgen/CMakeLists.txt
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was removedllvm/tools/llvm-profgen/PseudoProbe.h
Commit 0a6aad5991ad0230bd435e2ff12f3e4e9614de58 by i
[ELF] Fix typo. NFC
The file was modifiedlld/ELF/Driver.cpp
Commit 9f5d6ea52eb120ba370bf16ee0537602c6fc727e by tianshilei1992
[OpenMP] Fix performance regression reported in bug #51235

This patch fixes the "performance regression" reported in https://bugs.llvm.org/show_bug.cgi?id=51235. In fact it has nothing to do with performance. The root cause is, the stolen task is not allowed to execute by another thread because by default it is tied task. Since hidden helper task will always be executed by hidden helper threads, it should be untied.

Reviewed By: protze.joachim

Differential Revision: https://reviews.llvm.org/D107121
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
Commit 680c71b127a995389869f51eaef24c7e9d0b2505 by tianshilei1992
[OpenMP] Clean up for hidden helper task

This patch makes some clean up for code of hidden helper task.

Reviewed By: protze.joachim

Differential Revision: https://reviews.llvm.org/D107008
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedopenmp/runtime/src/kmp.h
Commit 7a1a35a1d1ae2e69769505c9f39910067c53d53b by andrea.dibiagio
[X86][SchedModel] Add missing ReadAdvance for some arithmetic ops (PR51318 and PR51322).

This fixes a bug where implicit uses of EFLAGS were not marked as ReadAdvance in
the RM/MR variants of ADC/SBB (PR51318)

This also fixes the absence of ReadAdvance for the register operand of
RMW arithmetic instructions (PR51322).

Differential Revision: https://reviews.llvm.org/D107367
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/adc-sequence-readadvance.s
The file was modifiedllvm/lib/Target/X86/X86InstrArithmetic.td
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/rmw-add-sequence-readadvance.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/rmw-adc-sequence-readadvance.s
Commit b0d58ddf87b4ddd004f485e2cedc0494df8099e0 by gcmn
[Bazel] Update build for ee7d20e846

Updates the Bazel configuration for
https://github.com/llvm/llvm-project/commit/ee7d20e84675. We need to
drop the dependency from llvm-tblgen to avoid a dependency cycle:

```
.-> @llvm-project//llvm:llvm-tblgen
|   @llvm-project//llvm:tblgen
|   @llvm-project//llvm:MC
|   @llvm-project//llvm:ProfileData
|   @llvm-project//llvm:Core
|   @llvm-project//llvm:attributes_gen
|   @llvm-project//llvm:include/llvm/IR/Attributes.inc
|   @llvm-project//llvm:attributes_gen__gen_attrs_genrule
`-- @llvm-project//llvm:llvm-tblgen
```

It appears this dep was not strictly necessary though. TableGen uses MC
headers but it can get those through Support, which also exports MC
headers due to layering issues.

Differential Revision: https://reviews.llvm.org/D107480
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 6660cec568504df47d9becb0c552c20577880df8 by phosek
[InstrProfiling] Emit bias variable eagerly

Rather than emitting the bias variable lazily as needed, emit it
eagerly. This allows profile runtime to refer to this variable
unconditionally without having to use the weak reference. The bias
variable is in a COMDAT so there'll never be more than one instance,
and if it's not needed, linker should be able to GC it, so the overhead
should be minimal.

Differential Revision: https://reviews.llvm.org/D107377
The file was addedllvm/test/Instrumentation/InstrProfiling/bias-var.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
Commit 7d97de60b3ecd52e2a427dff661cdd1ca99617e9 by Jessica Paquette
[AArch64][GlobalISel] Widen G_FPTO*I before clamping

Going through our legalization rules and doing some cleanup.

Widening and then clamping is usually easier than clamping and then widening.

This allows us to legalize some weird types like s88.

Differential Revision: https://reviews.llvm.org/D107413
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-fptoi.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit d9279843b1bafcfb1f540d3093b86023025b6717 by Jessica Paquette
[AArch64][GlobalISel] Widen G_PHI before clamping it during legalization

This allows us to handle weird types like s88; we first widen to s128, then
clamp back down to s64.

https://godbolt.org/z/9xqbP46Mz

Also this makes it possible for GISel to legalize the case in pr48188.ll. It
now does the same thing as SDAG, although regalloc chooses different registers.

Differential Revision: https://reviews.llvm.org/D107417
The file was modifiedllvm/test/CodeGen/AArch64/pr48188.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit 43a43353f71a609031eab4bb4a8d40bc74dbb753 by i
[gn build] (manually) port ee7d20e84675e1d255d7ae59e3bccfd320cc090d
The file was modifiedllvm/utils/gn/secondary/llvm/lib/MC/BUILD.gn
Commit 6dc4baf7b64b2e34f758a9132948f6409a8280d3 by llvmgnsyncbot
[gn build] Port ee7d20e84675
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-profgen/BUILD.gn
Commit 9cf69ec11d4e86e8c42b0b903d31e1cfa14791e0 by ajcbik
[mlir][sparse] add doc to sparse tensor dialect passes

completes my first pass of filling out missing doc parts on our webpage

Reviewed By: grosul1

Differential Revision: https://reviews.llvm.org/D107479
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
Commit 643ce70a6466f043ab41d4044d57b71f80b98874 by craig.topper
[RISCV] Remove the _COMMUTABLE and _TA versions of FMA and wide FMA vector instructions.

Use a tail policy operand instead. Inspired by the work in D105092,
but without the intrinsic interface changes.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D106512
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrFormats.td
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 238139be095236ebcd4274b3de5a750262c969c3 by dawid_jurek
[DSE][NFC] Clean up DeadStoreElimination from unused variables

Differential Revision: https://reviews.llvm.org/D106446
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit dce35ef104099923e9a9053424c003c28029b9fb by Reshabhkumar.Sharma
Revert "[AMDGPU] Handle functions in llvm's global ctors and dtors list"

This reverts commit d42e70b3d315645e37f3b1455d39e68678e69525.
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was removedllvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was removedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ctor-dtor-list.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
The file was removedllvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
The file was removedllvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Commit 440d9712ebf6d5faa898daa68045ff0c10859db3 by dimitry
Work around non-existence of ElfW(type) macro on FreeBSD

Fixes PR51331. On FreeBSD, the elf headers don't (yet) provide the
ElfW(type) macro. However, there is a similar set of macros in the
<sys/elf-generic.h> header, of which `__ElfN(type)` exactly matches the
indended purpose.

Reviewed By: gulfem

Differential Revision: https://reviews.llvm.org/D107388
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformLinux.c
Commit 0ebb75608759cc1ee1016699e15d03e8e3f30d14 by 31459023+hctim
[hwasan] Add __hwasan_init constructor to runtime lib.

Found by an Android toolchain upgrade, inherited module constructors
(like init_have_lse_atomics from the builtins) can sneak into the hwasan
runtime. If these inherited constructors call hwasanified libc
functions, then the HWASan runtime isn't setup enough, and the code
crashes.

Mark the initialized as a high-priority initializer to fix this.

Reviewed By: pcc, yabinc

Differential Revision: https://reviews.llvm.org/D107391
The file was modifiedcompiler-rt/lib/hwasan/hwasan.cpp
Commit 214f99b27c009c815884d82fded65c4d006b532e by a.bataev
Revert "[SLP]Do not emit extra shuffle for insertelements vectorization."

This reverts commit 871ea69803b1f231254ab0c560795a33b6ed0c77 to fix the
problem if the first vector is not just undef.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
Commit 14f443030c1acc4346589aee3c1c532dc00eae3a by jan.kratochvil
[nfc] [lldb] Prevent needless copies of DataExtractor

lldb_private::DataExtractor contains DataBufferSP m_data_sp which is
relatively expensive to copy (due to multi-threading locking).

llvm::DataExtractor does not have this problem as it uses StringRef
instead.

The copy constructor is explicit as otherwise it is easy to make
unintended modification of a local copy instead of a caller's instance
(D107470 but that is llvm::DataExtractor).

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D107485
The file was modifiedlldb/unittests/DataFormatter/StringPrinterTests.cpp
The file was modifiedlldb/include/lldb/DataFormatters/StringPrinter.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
The file was modifiedlldb/include/lldb/Utility/DataExtractor.h
The file was modifiedlldb/source/DataFormatters/StringPrinter.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.h
Commit 2dad7979909a02d480514f37c9e55f752c0aa0a5 by craig.topper
[RISCV] Add test cases for conditional add/sub. NFC

InstCombine canonicalizes c ? (x+y) : x to (c ? y : 0) + x. It
does the same for and/or/xor. We already reverse this transform
for those, but don't do add/sub yet.
The file was modifiedllvm/test/CodeGen/RISCV/select-binop-identity.ll
Commit c23405174a3f26c044498af411e139e5f104f998 by craig.topper
[DAGCombiner][AMDGPU] Canonicalize constants to the RHS of MULHU/MULHS.

This allows special constants like to 0 to be recognized. It's also
expected by isel patterns if a target had a mulh with immediate instructions.
The commuting done by tablegen won't commute patterns with immediates since it
expects DAGCombine to have done it.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D107486
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
Commit 29a3e3dd7bedb5cfd50277882cfc8d4b6b07ee2f by georgakoudis1
[OpenMPOpt] Expand SPMDization with guarding for target parallel regions

This patch expands SPMDization (converting generic execution mode to SPMD for target regions) by guarding code regions that should be executed only by the main thread. Specifically, it generates guarded regions, which only the main thread executes, and the synchronization with worker threads using simple barriers. For correctness, the patch aborts SPMDization for target regions if the same code executes in a parallel region, thus must be not be guarded. This check is implemented using the ParallelLevels AA.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D106892
The file was modifiedllvm/test/Transforms/OpenMP/remove_globalization.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
The file was modifiedllvm/test/Transforms/OpenMP/replace_globalization.ll
The file was modifiedllvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/test/Transforms/OpenMP/custom_state_machines.ll
Commit 8f465a0cfb7b2596768f749839dd53ab6a5e8dd3 by a.bataev
[SLP][NFC]Add tests for constants/undefs used in insertelements, NFC.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
Commit 41354942c5c3cd4b9ae59179feed701a98791160 by aeubanks
[gn build] Add cfi ignorelist to compiler-rt/lib

So that building the compiler-rt target also copies the cfi ignorelist

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D107411
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
Commit fb27e8c76e04e093dcd378b8a76341a7b6ed3b0c by rdzhabarov
[MLIR][NFC] Get DiagnosticEngine as a reference in doc

'mlir::DiagnosticEngine::DiagnosticEngine(const mlir::DiagnosticEngine&)' is implicitly deleted because the default definition would be ill-formed.

Reviewed By: rdzhabarov

Differential Revision: https://reviews.llvm.org/D107287
The file was modifiedmlir/docs/Diagnostics.md
Commit bb15861e149ac1ce01ed5bd87f760e9469b20a9d by nikita.ppv
[MemCpyOpt] Relax libcall checks

Rather than blocking the whole MemCpyOpt pass if the libcalls are
not available, only disable creation of new memset/memcpy intrinsics
where only load/stores were used previously. This only affects the
store merging and load-store conversion optimization. Other
optimizations are derived from existing intrinsics, which are
well-defined in the absence of libcalls -- not having the libcalls
just means that call simplification won't convert them to intrinsics.

This is a weaker variation of D104801, which dropped these checks
entirely. Ideally we would not couple emission of intrinsics to
libcall availability at all, but as the intrinsics may be legalized
to libcalls we need to be a bit careful right now.

Differential Revision: https://reviews.llvm.org/D106769
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was addedllvm/test/Transforms/MemCpyOpt/no-libcalls.ll
Commit 617be2756fd0e0d943d082e8f86309c4133ce64b by pklausler
[flang] Support DFLOAT legacy extension intrinsic function

Like the similar legacy extension FLOAT(), DFLOAT() represents a
conversion from default integer to DOUBLE PRECISION.  Rewrite
into a conversion operation.

Differential Revision: https://reviews.llvm.org/D107489
The file was modifiedflang/docs/Extensions.md
The file was addedflang/test/Semantics/dfloat.f90
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit 4876520eef34f517075fed9007dc8b3162d67d1a by pklausler
[flang] runtime: For Fw.d formatting, don't oscillate forever

The algorithm for Fw.d output will drive binary to decimal conversion for
an initial fixed number of digits, then adjust that number based on the
result's exposent.  For value close to a power of ten, this adjustment
process wouldn't terminate; e.g., formatting 9.999 as F10.2 would start
with 1e2, boost the digits to 2, get 9.99e1, decrease the digits, and loop.
Solve by refusing to boost the digits a second time.

Differential Revision: https://reviews.llvm.org/D107490
The file was modifiedflang/runtime/edit-output.cpp
The file was modifiedflang/unittests/Runtime/NumericalFormatTest.cpp
The file was modifiedflang/lib/Decimal/binary-to-decimal.cpp
Commit 5edc886e900b12286ad86268461a3013c329118d by michael.hliao
[amdgpu] Add an enhanced conversion from i64 to f32.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D107187
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
Commit a1944386156dbbfae15dfc606a3728e08ac92cfe by i
[CodeGen] Add -align-loops

to `lib/CodeGen/CommandFlags.cpp`. It can replace
-x86-experimental-pref-loop-alignment=.

The loop alignment is only used by MachineBlockPlacement.
The implementation uses a new `llvm::TargetOptions` for now, as
an IR function attribute/module flags metadata may be overkill.

This is the llvm part of D106701.
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was addedllvm/test/CodeGen/RISCV/align-loops.ll
The file was modifiedllvm/test/CodeGen/X86/innermost-loop-alignment.ll
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
Commit bd484c994036c682c928b18ff06849d117c9819d by i
[lld] Remove unused LLD_REPOSITORY

Remnant after D72803.

Distributions who want to customize the string can customize
LLD_VERSION_STRING instead.

Reviewed By: #lld-macho, mstorsjo, thakis

Differential Revision: https://reviews.llvm.org/D107416
The file was modifiedlld/Common/Version.cpp
Commit 6ed60fb8a2600e38026b9a9b12fad763cc57c7b2 by michaelrj
[libc] add integration tests for scudo in libc

This change adds tests to make sure that SCUDO is being properly
included with llvm libc. This change also adds the toggles to properly
use SCUDO, as GWP-ASan is enabled by default and must be included for
SCUDO to function.

Reviewed By: sivachandra, hctim

Differential Revision: https://reviews.llvm.org/D106919
The file was modifiedlibc/test/CMakeLists.txt
The file was addedlibc/test/integration/scudo/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was addedlibc/test/integration/scudo/integration_test.cpp
The file was addedlibc/test/integration/scudo/gwp_asan_should_crash.cpp
The file was addedcompiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
The file was modifiedlibc/lib/CMakeLists.txt
The file was modifiedcompiler-rt/CMakeLists.txt
The file was addedlibc/test/integration/CMakeLists.txt
The file was modifiedcompiler-rt/lib/gwp_asan/CMakeLists.txt
Commit 0bd297fce2798ce12490a5c67cefbc54061f6bdf by riddleriver
[mlir-lsp-server] Only use one MLIRContext per MLIRTextFile

A text file may be comprised of many different "chunks", when
the input file contains the `// -----` split markers. We don't
need to use a unique MLIRContext per chunk, as having
separate contexts is intended to allow for easy unloading of
unused data and all chunks have the same lifetime (tied to the
input file). This commit uses one context for the entire file,
greatly reducing memory consumption in certain situations (up
to 70%).

Differential Revision: https://reviews.llvm.org/D107488
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
Commit 981ad13ac65690fc32418af6f09a66b52a604904 by gcmn
[Bazel] Drop deprecated tblgen includes mechanism

Includes can now be fully managed via td_library and specified locally
to the tablegen files that require them. This has been deprecated for a
while and is not used upstream. I'm not aware of any downstream users
either.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D107389
The file was modifiedutils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Commit 9c19b36f1c61fb282c2625c831555fb2f55e3df4 by i
[X86] Remove -x86-experimental-pref-loop-alignment in favor of -align-loops
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 31a71a393f65d9e07b5b0756fef9dd16690950ee by aheejin
[WebAssembly] Make result of 'catch' inst variadic

`catch` instruction can have any number of result values depending on
its tag, but so far we have only needed a single i32 return value for
C++ exception so the instruction was specified that way. But using the
instruction for SjLj handling requires multiple return values.

This makes `catch` instruction's results variadic and moves selection of
`throw` and `catch` instruction from ISelLowering to ISelDAGToDAG.
Moving `catch` to ISelDAGToDAG is necessary because I am not aware of
a good way to do instruction selection for variadic output instructions
in TableGen. This also moves `throw` because 1. `throw` and `catch`
share the same utility function and 2. there is really no reason we
should do that in ISelLowering in the first place. What we do is mostly
the same in both places, and moving them to ISelDAGToDAG allows us to
remove unnecessary mid-level nodes for `throw` and `catch` in
WebAssemblyISD.def and WebAssemblyInstrInfo.td.

This also adds handling for new `catch` instruction to AsmTypeCheck.

Reviewed By: dschuff, tlively

Differential Revision: https://reviews.llvm.org/D107423
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
Commit e1574c51c2655b78606ccffea8db5f63095851bd by i
[llvm-nm][test] Avoid deprecated alias -M (--print-armap)

-M was inappropriately added since -s is taken by Darwin nm.
-M is deprecated. Tests should use --print-armap instead.
The file was modifiedllvm/test/Object/X86/archive-ir-asm.ll
The file was modifiedllvm/test/Object/archive-symtab.test
The file was modifiedllvm/test/Object/nm-archive.test
The file was modifiedllvm/test/Object/X86/archive-symbol-table.s
The file was modifiedllvm/test/Object/simple-archive.test
The file was modifiedllvm/test/Object/archive-long-index.test
Commit 14cb67862a723027c6787baa263f5bf6e03ab01d by airlied
[OpenCL] allow generic address and non-generic defs for CL3.0

This allows both sets of definitions to exist on CL 3.0

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D107318
The file was modifiedclang/lib/Headers/opencl-c.h
Commit 0bd2d4c4b163303ff5211920bdb81328c1ac1f7f by gusss
[mlir][sparse] Remove comment w/ code in it

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D107484
The file was modifiedmlir/test/Integration/data/mttkrp_b.tns
Commit f135a91c72c5744bd40614ee4c0411be68baf16f by michaelrj
[gwpAsan] revert minor change

This change reverts a small cmake change that was causing buildbot
failures.

Differential Revision: https://reviews.llvm.org/D107510
The file was modifiedcompiler-rt/lib/gwp_asan/CMakeLists.txt
Commit 7df405e079c5045562c53f7a2504b85f423078be by i
Apply -fmacro-prefix-map to __builtin_FILE()

This matches the behavior of GCC.
Patch does not change remapping logic itself, so adding one simple smoke test should be enough.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107393
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/include/clang/Lex/PreprocessorOptions.h
The file was modifiedclang/lib/Basic/LangOptions.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit ca2e0536527f0e0dfbab30a90529581e766ba2d9 by Jessica Paquette
[AArch64][GlobalISel] Legalize wide vector G_PHIs

Clamp the max number of elements when legalizing G_PHI. This allows us to
legalize some common fallbacks like 4 x s64.

Here's an example: https://godbolt.org/z/6YocsEYTd

Had to add -global-isel-abort=0 to legalize-phi.mir to account for the
G_EXTRACT_VECTOR_ELT from the 32 x s8 G_PHI.

Differential Revision: https://reviews.llvm.org/D107508
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
Commit 50264ff88ab1ed40119f13d482b0cc8326c1e95d by riddleriver
Adding missing filter check to SourceMgrDiagnosticHandler::EmitDiagnostics

There is a case in EmitDiagnostics where the filter check is bypassed (when locationStack is empty).   Filter might also be bypassed when loc instead of showableLoc is added to the locationStack.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D106522
The file was modifiedmlir/lib/IR/Diagnostics.cpp
Commit e52946b9ababcbf8e6f40b1b15900ae2e795a1c6 by yhs
BPF: avoid NE/EQ loop exit condition

Kuniyuki Iwashima reported in [1] that llvm compiler may
convert a loop exit condition with "i < bound" to "i != bound", where
"i" is the loop index variable and "bound" is the upper bound.
In case that "bound" is not a constant, verifier will always have "i != bound"
true, which will cause verifier failure since to verifier this is
an infinite loop.

The fix is to avoid transforming "i < bound" to "i != bound".
In llvm, the transformation is done by IndVarSimplify pass.
The compiler checks loop condition cost (i = i + 1) and if the
cost is lower, it may transform "i < bound" to "i != bound".
This patch implemented getArithmeticInstrCost() in BPF TargetTransformInfo
class to return a higher cost for such an operation, which
will prevent the transformation for the test case
added in this patch.

[1] https://lore.kernel.org/netdev/1994df05-8f01-371f-3c3b-d33d7836878c@fb.com/

Differential Revision: https://reviews.llvm.org/D107483
The file was addedllvm/test/CodeGen/BPF/loop-exit-cond.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetTransformInfo.h
Commit 041b5251415d9c96c9535e6e780770ad066883fe by modimo
[CSSPGO] Remove used of PseudoProbeAttributes::Reserved

D106861 added usage of PseudoProbeAttributes::Reserved as TailCall however this usage hasn't been committed/reviewed. Removing this usage.

Testing
ninja check-all

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D107514
The file was modifiedllvm/include/llvm/MC/MCPseudoProbe.h
The file was modifiedllvm/lib/MC/MCPseudoProbe.cpp
Commit 597e407cf23b92db202732e6890561b2f2830a58 by kcc
[libFuzzer] tests/examples for using libFuzzer for out-of-process targets

[libFuzzer] tests/examples for using libFuzzer for out-of-process targets

Reviewed By: kostik

Differential Revision: https://reviews.llvm.org/D107498
The file was addedcompiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
The file was addedcompiler-rt/test/fuzzer/SanCovDump.cpp
The file was addedcompiler-rt/test/fuzzer/out-of-process-fuzz.test
Commit 693a95a69416e23a31e46d3d2c81e854688e606e by gcmn
[Bazel] Add support for lld

This patch adds a Bazel configuration to build lld. That includes a
BUILD.bazel file to export the libunwind headers for use by lld. Since
the lld target itself requires libxml2 (through WindowsManifest) it's
currently disabled on Buildkite and marked manual, but all the libraries
build.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107414
The file was addedutils/bazel/llvm-project-overlay/libunwind/BUILD.bazel
The file was addedutils/bazel/llvm-project-overlay/lld/BUILD.bazel
Commit 7a6482216ff02f81ed02ff4936f1b22d4b5a9a6c by i
[CMake][gn] lldMachO=>lldMachOOld, lldMachO2=>lldMachO

Now that D95204 switched default to new Darwin backend, rename some CMake
targets to match.

Reviewed By: #lld-macho, smeenai, int3

Differential Revision: https://reviews.llvm.org/D107516
The file was modifiedllvm/utils/gn/secondary/lld/unittests/DriverTests/BUILD.gn
The file was modifiedlld/MachO/CMakeLists.txt
The file was modifiedlld/lib/Driver/CMakeLists.txt
The file was modifiedlld/lib/ReaderWriter/MachO/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/lld/unittests/BUILD.gn
The file was modifiedlld/unittests/DriverTests/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/lld/lib/ReaderWriter/MachO/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lld/unittests/MachOTests/BUILD.gn
The file was modifiedlld/tools/lld/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/lld/lib/Driver/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lld/tools/lld/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lld/MachO/BUILD.gn
The file was modifiedlld/unittests/MachOTests/CMakeLists.txt
Commit ac7c7cbfdaf9d8fd7335fe2622fa825eed7535a2 by springerm
[mlir] Update comment in Region.h

The file in which `Region::viewGraph` is defined has changed. This should have been updated with D106342.

Differential Revision: https://reviews.llvm.org/D107517
The file was modifiedmlir/include/mlir/IR/Region.h
Commit 75abeb64cebd5a79e837e9ea54f19d0b2125cb28 by powerman1st
[AVR] emit 'MCSA_Global' references to '__do_global_ctors' and '__do_global_dtors'

Emit references to '__do_global_ctors' and '__do_global_dtors' to allow
constructor/destructor routines to run.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D107133
The file was modifiedllvm/lib/Target/AVR/AVRAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRTargetStreamer.h
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRTargetStreamer.cpp
The file was addedllvm/test/CodeGen/AVR/ctors.ll
Commit fb0a929512c25bd9859498cde7d1c6c73f550d61 by Dan Liew
[Compiler-RT] On Apple Platforms switch to always emitting full debug info

Previously the build used `-gline-tables-only` when `COMPILER_RT_DEBUG`
was off (default) and `-g` when `COMPILER_RT_DEBUG` was on. The end
result of this meant that the release build of the Sanitizer runtimes
were difficult to debug (e.g. information about variables and function
arguments were missing).

Presumably the reason for preferring `-gline-tables-only` for release
builds was to save space. However, for Apple platforms this doesn't
matter because debug info lives in separate `.dSYM` files (which aren't
shipped) rather than in the shipped `.dylib` files.

Now on Apple platforms we always emit full debug info if the compiler
supports it and we emit a fatal error if `-g` isn't supported.

rdar://79223184

Differential Revision: https://reviews.llvm.org/D107501
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 58481663692b55ca03f8b41ccb660dcbcebffc49 by nathan
Disable LibFuncs for stpcpy and stpncpy for Android < 21

These functions don't exist in android API levels < 21. A change in
llvm-12 (rG6dbf0cfcf789) caused Oz builds to emit this symbol assuming
it's available and thus is causing link errors. Simply disable it here.

Differential Revision: https://reviews.llvm.org/D107509
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
Commit 12b34e056cf19d9c2c2a7f180ba26991bba3f16c by springerm
[mlir] Clean up includes in Transforms/Passes.h

Differential Revision: https://reviews.llvm.org/D107520
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
Commit aa0b0fbbe6f80cce720c72240b870b74bf5b1e6f by aheejin
[WebAssembly] Use `SDValue::getConstantOperandVal` (NFC)

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D107499
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
Commit 9c3345ad1020bbd8ec61a07339c1d1e804ef3011 by aheejin
[WebAssembly] Cleanup Emscripten SjLj tests

- Remove a redundant test: there were `longjmp_only` and `only_longjmp`,
  which do the same thing
- Add `CHECK-LABEL` lines for function names

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D107511
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
Commit 26aa1bbe97a3a1566633abbcf754046a6bffb155 by eopxd
[NFCI] [LoopIdiom] Let processLoopStridedStore take StoreSize as SCEV instead of unsigned

Letting it take SCEV allows further modification on the function to optimize
if the StoreSize / Stride is runtime determined.

This is a preceeding of D107353.
The big picture is to let LoopIdiom deal with runtime-determined sizes.

Reviewed By: Whitney, lebedev.ri

Differential Revision: https://reviews.llvm.org/D104595
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Commit a533eb7423acad49f10426cd78dc8e7e66a6365f by i
Revert "[ELF] Apply version script patterns to non-default version symbols"

This reverts commit 7ed22a6fa90cbdc70d6806c1121a0c50c1978dce.

buf is not cleared so the commit misses some cases.
The file was addedlld/test/ELF/version-script-extern-wildcards.s
The file was removedlld/test/ELF/version-script-symver-extern.s
The file was modifiedlld/ELF/ScriptParser.cpp
The file was addedlld/test/ELF/version-script-extern.s
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/SymbolTable.h
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/version-script-extern-exact.s
The file was modifiedlld/test/ELF/version-script-symver.s
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/test/ELF/version-script-noundef.s
Commit 00809c8889ed34a5fe014167aa473216dcb63a47 by i
[ELF] Apply version script patterns to non-default version symbols

Currently version script patterns are ignored for .symver produced
non-default version (single @) symbols. This makes such symbols
not localizable by `local:`, e.g.

```
.symver foo3_v1,foo3@v1
.globl foo_v1
foo3_v1:

ld.lld --version-script=a.ver -shared a.o
```

This patch adds the support:

* Move `config->versionDefinitions[VER_NDX_LOCAL].patterns` to `config->versionDefinitions[versionId].localPatterns`
* Rename `config->versionDefinitions[versionId].patterns` to `config->versionDefinitions[versionId].nonLocalPatterns`
* Allow `findAllByVersion` to find non-default version symbols when `includeNonDefault` is true. (Note: `symtab` keys do not have `@@`)
* Make each pattern check both the unversioned `pat.name` and the versioned `${pat.name}@${v.name}`
* `localPatterns` can localize `${pat.name}@${v.name}`. `nonLocalPatterns` can prevent localization by assigning `verdefIndex` (before `parseSymbolVersion`).

---

If a user notices new `undefined symbol` errors with a version script containing
`local: *;`, the issue is likely due to a missing `global:` pattern.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107234
The file was modifiedlld/test/ELF/version-script-symver.s
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Config.h
The file was removedlld/test/ELF/version-script-extern-exact.s
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/verdef-defaultver.s
The file was addedlld/test/ELF/version-script-symver-extern.s
The file was removedlld/test/ELF/version-script-extern-wildcards.s
The file was modifiedlld/test/ELF/version-script-noundef.s
The file was removedlld/test/ELF/version-script-extern.s
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/ELF/SymbolTable.h
Commit ddbe812bccba947c95027c4af7aebf79e7274b83 by ikudrin
[ARM][llvm-objdump] Annotate PC-relative memory operands

This implements `MCInstrAnalysis::evaluateMemoryOperandAddress()` for
Arm so that the disassembler can print the target address of memory
operands that use PC+immediate addressing.

Differential Revision: https://reviews.llvm.org/D105979
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb2.s
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was addedllvm/test/tools/llvm-objdump/ELF/ARM/literal-arm.s
The file was addedllvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb.s
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrFormats.td
Commit 2c14798ead0dbffca58eb64f5672d40fe59bb040 by ikudrin
[ARM][llvm-objdump] Annotate PC-relative memory operands of VLDR instructions

This extends D105979 and adds support for VLDR instructions.

Differential Revision: https://reviews.llvm.org/D105980
The file was modifiedllvm/include/llvm/MC/MCInstrAnalysis.h
The file was modifiedllvm/lib/MC/MCInstrAnalysis.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-arm.s
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-thumb2.s
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
Commit 39fa96a4906934774ba20bcb0cd5f808f619f3a6 by mgorny
[llvm] [lit] Fix inconsistent test order in shtest-keyword-parse-errors

Remove test times when running shtest-keyword-parse-errors test,
in order to prevent the previous executions from impacting subtest
order and therefore causing FileCheck to fail.

Differential Revision: https://reviews.llvm.org/D107427
The file was modifiedllvm/utils/lit/tests/shtest-keyword-parse-errors.py
Commit 46020f6f0c8aa134002208b2ecf0593b04c46d08 by martin
[llvm-rc] Allow specifying language with a leading 0x prefix

This option is always interpreted strictly as a hexadecimal string,
even if it has no prefix that indicates the number format, hence
the existing call to StringRef::getAsInteger(16, ...).

StringRef::getAsInteger(0, ...) consumes a leading "0x" prefix is
present, but when the radix is specified, the radix shouldn't
be included.

Both MS rc.exe and GNU windres accept the language with that
prefix.

Also allow specifying the codepage to llvm-windres with a different
radix, as GNU windres allows that (but MS rc.exe doesn't).

This fixes https://llvm.org/PR51295.

Differential Revision: https://reviews.llvm.org/D107263
The file was modifiedllvm/test/tools/llvm-rc/codepage.test
The file was modifiedllvm/test/tools/llvm-rc/language.test
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
Commit 7529f0e3e1427fea93a6a66a2aed5394710e5fb5 by nealsid
D106035: Remove conditional compilation for WCHAR support in libedit

This change moves to using narrow character types and libedit APIs in
Editline, because those are the same types that the rest of LLVM/LLDB
uses, and it's generally considered better practice to use UTF-8
encoded in char than it is to use wider characters. However, for
character input, the change leaves in using a wchar to enable input of
multi-byte characters.

Differential Revision: https://reviews.llvm.org/D106035
The file was modifiedlldb/source/Host/common/Editline.cpp
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/include/lldb/Host/Editline.h
Commit 39dac1f7f65691487dbdc969e343108db5b0f765 by Anshil.Gandhi
[clang] Add clang builtins support for gfx90a

Implement target builtins for gfx90a including fadd64, fadd32, add2h,
max and min on various global, flat and ds address spaces for which
intrinsics are implemented.

Differential Revision: https://reviews.llvm.org/D106909
The file was addedclang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx7-err.cl
The file was addedclang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
The file was modifiedclang/include/clang/Basic/BuiltinsAMDGPU.def
The file was addedclang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
The file was addedclang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx908-err.cl
The file was addedclang/test/CodeGenOpenCL/builtins-fp-atomics-gfx1030.cl
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit e790b2b7443adb601ce54a63e64fdfc670c8df45 by jay.foad
[AMDGPU] Make more use of getHiHalf64 and split64BitValue. NFCI.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Commit 13c8ec44e6385127f4aaba333dcad705dd5888c6 by Lang Hames
[llvm-jitlink] Don't try to guess the ORC runtime path.

ORC-runtime regression tests will now explicitly specify the runtime path.
The file was modifiedcompiler-rt/test/orc/lit.cfg.py
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit 0b8471e91bb62f1174a46607e6533fcea2ac12c6 by fraser
[SelectionDAG] Correctly determine the VECREDUCE_SEQ_FMUL action

The LegalizeAction for this node should follow the logic for
`VECREDUCE_SEQ_FADD` and be determined using the vector operand's type.

here isn't an in-tree target that makes use of this, but I think it's safe to
say this is how it should behave, should a target want to customize the action
for this node.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D107478
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit e345b45bf1b5db03f00c3b3612d2653790a2b879 by oliver.stannard
Mark tests as requiring AMDGPU target
The file was modifiedclang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
The file was modifiedclang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
Commit 9bd78932c7afe227542d674746bb00a363846b3d by jay.foad
[AMDGPU] Generate checks for ctlz_zero_undef/cttz_zero_undef
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
Commit 55fd6f292fac7294fcd302e79065eb4fd7a89dfc by nealsid
Revert "D106035: Remove conditional compilation for WCHAR support in libedit"

This reverts commit 7529f0e3e1427fea93a6a66a2aed5394710e5fb5.
The file was modifiedlldb/source/Host/common/Editline.cpp
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/include/lldb/Host/Editline.h
Commit 92b00ffe0fb3199515c9267a1fad96d3bf44d1ea by sven.vanhaastregt
[OpenCL] Reduce duplicate defs by using multiclasses; NFC

Builtin definitions with pointer arguments were duplicated to provide
overloads differing in the pointer argument's address space.

Reduce this duplication by capturing the definitions in multiclasses.
This still results in the same number of builtins in the generated
tables, but the description is more concise now.

Differential Revision: https://reviews.llvm.org/D107151
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit 55a96155995465416118774add8ef09c30dbebda by andrzej.warzynski
[flang][driver] Refactor boolean options

For boolean options, e.g. `-fxor-operator`/`-fno-xor-operator`, we ought
to be using TableGen multi-classes. This way, we only have to write one
definition to have both forms auto-generated. This patch refactors all
of Flang's boolean options to use two new multi-classes:
`OptInFC1FFOption` and `OptOutFC1FFOption`. These multi-classes are
based on `OptInFFOption`/`OptOutFFOption`, respectively. I've also
simplified the processing of the updated options in
CompilerInvocation.cpp.

With the new approach, "empty" help text (i.e. no `HelpText`) is now
replaced with an empty string (i.e. HelpText<"">). When running
flang-new --help, that's considered as non-empty help messages, which is
then printed (that's controlled by `printHelp` from
llvm/lib/Option/OptTable.cpp). This means that with this patch,
flang-new --help will start printing e.g. -fno-backslash, even though
there is no actual help text to print for this option (apart from the
empty string ""). Tests are updated accordingly.

Note that with this patch, both `-fxor-operator` and `-fno-xor-operator`
(and other boolean options refactored here) remain available in
`flang-new` and `flang-new -fc1`. In this respect, nothing changes. In a
forthcoming patch, I will refine this so that `flang-new -fc1` only
accepts `-ffoo` (`OptInFC1FFOption`) or `-fno-foo` (`OptOutCC1FFOption`).

For clarity, `OptInFFOption`/`OptOutFFOption` are renamed as
`OptInCC1FFOption`/`OptOutCC1FFOption`, respectively. Otherwise, this is
an NFC from Clang's perspective.

Differential Revision: https://reviews.llvm.org/D105881
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/test/Driver/driver-help-hidden.f90
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Driver/driver-help.f90
Commit 530ea28fefc4652823a187a149e8001cbf4af18f by aaron
Correct a lot of diagnostic wordings for the driver

Clang diagnostics should not start with a capital letter or use
trailing punctuation (https://clang.llvm.org/docs/InternalsManual.html#the-format-string),
but quite a few driver diagnostics were not following this advice. This
corrects the grammar and punctuation to improve consistency, but does
not change the circumstances under which the diagnostics are produced.
The file was modifiedclang/test/Driver/defsym.s
The file was modifiedclang/test/Driver/rocm-detect.cl
The file was modifiedclang/test/Driver/amdgpu-invalid-target-id.s
The file was modifiedclang/test/Driver/aarch64-outliner.c
The file was modifiedclang/test/Frontend/round-trip-cc1-args.c
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was modifiedclang/test/Driver/arm-thumb-only-cores.c
The file was modifiedclang/test/Driver/cuda-detect.cu
The file was modifiedclang/test/Driver/cl-inputs.c
The file was modifiedclang/test/Driver/fuse-ld.c
The file was modifiedclang/test/Driver/cuda-options-freebsd.cu
The file was modifiedclang/test/Driver/hip-inputs.hip
The file was modifiedclang/test/Driver/hip-invalid-target-id.hip
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/test/Driver/cuda-version-check.cu
The file was modifiedclang/test/Driver/openmp-offload.c
The file was modifiedclang/test/Driver/rocm-not-found.cl
The file was modifiedclang/test/Driver/cuda-omp-unsupported-debug-options.cu
The file was modifiedclang/test/OpenMP/target_messages.cpp
The file was modifiedclang/test/Driver/rocm-detect.hip
The file was modifiedclang/test/Driver/aix-object-mode.c
The file was modifiedclang/test/Frontend/invalid-cxx-abi.cpp
The file was modifiedclang/test/Driver/amdgpu-openmp-system-arch-fail.c
The file was modifiedclang/test/Driver/invalid-target-id.cl
The file was modifiedclang/test/Driver/msp430-hwmult.c
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/cuda-bad-arch.cu
The file was modifiedclang/test/Driver/cuda-options.cu
Commit c7a4ede3511692a58627a9eedb8518dcef6c9a97 by dvyukov
tsan: make IsMetaMem accept u32*

MemToMeta returns u32*, so it's reasonable for IsMetaMem
to accept u32* as well.
Changing the argument type just removes few type casts.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107481
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_debugging.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
Commit a82c7476a76a8305905a6423d337ea5bbd66c837 by dvyukov
tsan: introduce RawShadow type

Currently we hardcode u64 type for shadow everywhere
and do lots of uptr<->u64* casts. It makes it hard to
change u64 to another type (e.g. u32) and makes it easy
to introduce bugs.
Introduce RawShadow type and use it in MemToShadow, ShadowToMem,
IsShadowMem and throughout the code base as u64 replacement.
This makes it possible to change u64 to something else in future
and generally improves static typing.

Depends on D107481.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107482
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_debugging.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
Commit cc947e29ea0afa6efa506ffbf74115879be64c6d by dominik.montada
[GlobalISel] Combine shr(shl x, c1), c2 to G_SBFX/G_UBFX

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D107330
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-shr.mir
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit e78bf49a58ed0beca9fa594bddd61a0655fcedb0 by llvm-dev
[X86] Rename Subtarget Tuning Feature Flag Prefix. NFC.

As suggested on D107370, this patch renames the tuning feature flags to start with 'Tuning' instead of 'Feature'.

Differential Revision: https://reviews.llvm.org/D107459
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 7217b01481566092c440f249d65a10efee8c50ad by jay.foad
[AMDGPU] Add globalisel checks for ctlz_zero_undef/cttz_zero_undef
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
Commit 7b73ca3043fecfc5fa6bbf5b28edfee61a83ff9f by andrzej.warzynski
[flang][driver] Delete `f18` (i.e. the old Flang driver)

This patch removes `f18`, a.k.a. the old driver. It is being replaced
with the new driver, `flang-new`, which has reached feature parity with
`f18` a while ago. This was discussed in [1] and also in [2].

With this change, `FLANG_BUILD_NEW_DRIVER` is no longer needed and is
also deleted. This means that we are making the dependency on Clang permanent
(i.e. it cannot be disabled with a CMake flag).

LIT set-up is updated accordingly. All references to `f18` or `f18.cpp`
are either updated or removed.

The `F18_FC` variable from the `flang` bash script is replaced with
`FLANG_FC`. The former is still supported for backwards compatibility.

[1] https://lists.llvm.org/pipermail/flang-dev/2021-June/000742.html
[2] https://reviews.llvm.org/D103177

Differential Revision: https://reviews.llvm.org/D105811
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedflang/unittests/CMakeLists.txt
The file was modifiedflang/include/flang/Frontend/CompilerInvocation.h
The file was modifiedflang/CMakeLists.txt
The file was modifiedflang/test/CMakeLists.txt
The file was modifiedflang/include/flang/Frontend/FrontendOptions.h
The file was removedflang/tools/f18/f18.cpp
The file was modifiedflang/docs/ImplementingASemanticCheck.md
The file was modifiedflang/test/lit.cfg.py
The file was addedflang/tools/f18/flang
The file was modifiedllvm/CMakeLists.txt
The file was removedflang/test/Driver/help-f18.f90
The file was removedflang/tools/f18/flang.in
The file was modifiedflang/lib/CMakeLists.txt
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/docs/Overview.md
The file was modifiedflang/tools/CMakeLists.txt
The file was modifiedflang/tools/f18/CMakeLists.txt
Commit 66de26b1f9ecf22193aea2edfac03db03f138feb by petar.avramovic
GlobalISel: Fix matchEqualDefs for instructions with multiple defs

Instructions that produceSameValue produce same values for operands with
same index. matchEqualDefs used to return true for any two values from
different instructions that produce same values. Fix this by checking if
values are defined by operands with the same index.

Differential Revision: https://reviews.llvm.org/D107362
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-select.mir
Commit 8d2a8ced00dc45605cb856845385d289e8cc45ed by flo
[VectorCombine] Add additional tests with freeze combinations.

Suggested in D107364.
The file was modifiedllvm/test/Transforms/VectorCombine/load-insert-store.ll
Commit 75aa3d520d53fb0d2a279736245ad255ec720a5b by paul.robinson
Add a DIExpression const-folder to prevent silly expressions.

It's entirely possible (because it actually happened) for a bool
variable to end up with a 256-bit DW_AT_const_value.  This came about
when a local bool variable was initialized from a bitfield in a
32-byte struct of bitfields, and after inlining and constant
propagation, the variable did have a constant value. The sequence of
optimizations had it carrying "i256" values around, but once the
constant made it into the llvm.dbg.value, no further IR changes could
affect it.

Technically the llvm.dbg.value did have a DIExpression to reduce it
back down to 8 bits, but the compiler is in no way ready to emit an
oversized constant *and* a DWARF expression to manipulate it.
Depending on the circumstances, we had either just the very fat bool
value, or an expression with no starting value.

The sequence of optimizations that led to this state did seem pretty
reasonable, so the solution I came up with was to invent a DWARF
constant expression folder.  Currently it only does convert ops, but
there's no reason it couldn't do other ops if that became useful.

This broke three tests that depended on having convert ops survive
into the DWARF, so I added an operator that would abort the folder to
each of those tests.

Differential Revision: https://reviews.llvm.org/D106915
The file was modifiedllvm/test/DebugInfo/X86/convert-loclist.ll
The file was modifiedllvm/test/DebugInfo/X86/convert-linked.ll
The file was modifiedllvm/test/DebugInfo/X86/convert-debugloc.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was addedllvm/test/DebugInfo/X86/DIExpr-const-folding.ll
The file was modifiedllvm/unittests/IR/MetadataTest.cpp
Commit 21bf8172dbbc0b542e236c04e0065132106e9048 by david.sherwood
[NFC] Remove redundant test in Transforms/LoopVectorize/lifetime.ll

The two tests (@testloopvariant and @testbitcast) are actually
identical as in both loops the bitcast gets widened, forcing the
lifetime marker to be replicated using each lane of the input
vector.

Differential Revision: https://reviews.llvm.org/D107150
The file was modifiedllvm/test/Transforms/LoopVectorize/lifetime.ll
Commit 8d08a847457444679b40da5094f19149a9672b42 by sander.desmalen
[LV] Remove a change that was added in D106164.

This change wasn't strictly necessary for D106164 and could be removed.
This patch addresses the post-commit comments from @fhahn on D106164, and
also changes sve-widen-gep.ll to use the same IR test as shown in
pointer-induction.ll.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D106878
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
Commit 0e08891ec1a63850c99cfe270ae5370150a12d29 by bmahjour
[DA] control compile-time spent by MIV tests

Function exploreDirections() in DependenceAnalysis implements a recursive
algorithm for refining direction vectors. This algorithm has worst-case
complexity of O(3^(n+1)) where n is the number of common loop levels.
In this patch I'm adding a threshold to control the amount of time we
spend in doing MIV tests (which most of the time end up resulting in over
pessimistic direction vectors anyway).

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D107159
The file was addedllvm/test/Analysis/DependenceAnalysis/MIVMaxLevelThreshold.ll
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
Commit 5181be344adbf7ba7dffc73526893d4e7750d34c by sd.fertile
[PowerPC][AIX] Limit attribute aligned to 4096.

Limit the maximum alignment for attribute aligned to 4096 to match
the limit of the .align pseudo op in the system assembler.

Differential Revision: https://reviews.llvm.org/D107497
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/Sema/aix-attr-aligned-limit.c
Commit 1172a8a7639399fe0b8a6c78a7123b1c3f9cf833 by david.sherwood
[NFC] Clean up tests in test/Transforms/LoopVectorize/assume.ll

The tests previously had lots of unnecessary CHECK lines, where
all we really need to check is the presence (or absence) of the
assume intrinsic and the correct input operands.

Differential Revision: https://reviews.llvm.org/D107157
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll
Commit d0c3b61498ecc04c9d95f6af7eb7560727500d56 by kparzysz
Delay initialization of OptBisect

When LLVM is used in other projects, it may happen that global cons-
tructors will execute before the call to ParseCommandLineOptions.
Since OptBisect is initialized via a constructor, and has no ability
to be updated at a later time, passing "-opt-bisect-limit" to the
parse function may have no effect.

To avoid this problem use a cl::cb (callback) to set the bisection
limit when the option is actually processed.

Differential Revision: https://reviews.llvm.org/D104551
The file was modifiedllvm/lib/IR/OptBisect.cpp
The file was modifiedllvm/include/llvm/IR/OptBisect.h
Commit f8cdde71950760675f81fa89fcd603b4391908a4 by dawid_jurek
[SimplifyLibCalls][NFC] Clean up LibCallSimplifier from 'memset + malloc into calloc' transformation

FoldMallocMemset can be safely removed because since https://reviews.llvm.org/D103009
such transformation is already performed in DSE.

Differential Revision: https://reviews.llvm.org/D103451
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modifiedllvm/test/Transforms/InstCombine/memset-1.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 91e399519580930623e1eb7be43374f0ba8aba41 by fanbo.meng
Revert "[SystemZ][z/OS] Update target specific __attribute__((aligned)) value for test"

This reverts commit d91234b21c1a1a34d98157089a8769d8f9a32f06.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D107565
The file was modifiedclang/test/Sema/struct-packed-align.c
Commit 95800da914938129083df2fa0165c1901909c273 by david.sherwood
[LoopVectorize] Add support for replication of more intrinsics with scalable vectors

This patch adds more instructions to the Uniforms list, for example certain
intrinsics that are uniform by definition or whose operands are loop invariant.
This list includes:

  1. The intrinsics 'experimental.noalias.scope.decl' and 'sideeffect', which
  are always uniform by definition.
  2. If intrinsics 'lifetime.start', 'lifetime.end' and 'assume' have
  loop invariant input operands then these are also uniform too.

Also, in VPRecipeBuilder::handleReplication we check if an instruction is
uniform based purely on whether or not the instruction lives in the Uniforms
list. However, there are certain cases where calls to some intrinsics can
be effectively treated as uniform too. Therefore, we now also treat the
following cases as uniform for scalable vectors:

  1. If the 'assume' intrinsic's operand is not loop invariant, then we
  are free to treat this as uniform anyway since it's only a performance
  hint. We will get the benefit for the first lane.
  2. When the input pointers for 'lifetime.start' and 'lifetime.end' are loop
  variant then for scalable vectors we assume these still ultimately come
  from the broadcast of an alloca. We do not support scalable vectorisation
  of loops containing alloca instructions, hence the alloca itself would
  be invariant. If the pointer does not come from an alloca then the
  intrinsic itself has no effect.

I have updated the assume test for fixed width, since we now treat it
as uniform:

  Transforms/LoopVectorize/assume.ll

I've also added new scalable vectorisation tests for other intriniscs:

  Transforms/LoopVectorize/scalable-assume.ll
  Transforms/LoopVectorize/scalable-lifetime.ll
  Transforms/LoopVectorize/scalable-noalias-scope-decl.ll

Differential Revision: https://reviews.llvm.org/D107284
The file was addedllvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
The file was addedllvm/test/Transforms/LoopVectorize/scalable-assume.ll
The file was addedllvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 06206a8cd1b1538e265f79e245c34180c640e334 by dawid_jurek
[BuildLibCalls][NFC] Remove redundant attribute list from emitCalloc

Additionally with this patch aligned DSE which is the only user of emitCalloc.

Differential Revision: https://reviews.llvm.org/D103523
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
Commit 38b098be6605494cc7308ea9b08f920c4c3fe4ce by flo
[VectorCombine] Limit scalarization known non-poison indices.

We can only trust the range of the index if it is guaranteed
non-poison.

Fixes PR50949.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D107364
The file was modifiedllvm/test/Transforms/VectorCombine/load-insert-store.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 2cbf9fd402afe8c33272bf60997cfb7e1f7c5f69 by llvm-dev
[DAG] DAGCombiner::visitVECTOR_SHUFFLE - recognise INSERT_SUBVECTOR patterns

IR typically creates INSERT_SUBVECTOR patterns as a widening of the subvector with undefs to pad to the destination size, followed by a shuffle for the actual insertion - SelectionDAGBuilder has to do something similar for shuffles when source/destination vectors are different sizes.

This combine attempts to recognize these patterns by looking for a shuffle of a subvector (from a CONCAT_VECTORS) that starts at a modulo of its size into an otherwise identity shuffle of the base vector.

This uncovered a couple of target-specific issues as we haven't often created INSERT_SUBVECTOR nodes in generic code - aarch64 could only handle insertions into the bottom of undefs (i.e. a vector widening), and x86-avx512 vXi1 insertion wasn't keeping track of undef elements in the base vector.

Fixes PR50053

Differential Revision: https://reviews.llvm.org/D107068
The file was modifiedllvm/test/CodeGen/X86/2012-04-26-sdglue.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-copy.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/pr34592.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Commit d99e9461b07988914cba573800cd1862f277e155 by mgorny
[clang] [clang-repl] Fix linking against LLVMLineEditor

LLVMLineEditor library is part of the LLVM dylib.  Move it into
LLVM_LINK_COMPONENTS to avoid duplicate linking when dylib is being
used.  This fixes building standalone clang against installed LLVM
without static libraries.

Differential Revision: https://reviews.llvm.org/D107558
The file was modifiedclang/tools/clang-repl/CMakeLists.txt
Commit 15eb431537dc88d1e4fe4d276ecaa453647b9802 by dvyukov
tsan: modernize MaybeReportThreadLeak

Use C++ casts and auto.
Rename to CollectThreadLeaks b/c it's only collecting, not reporting.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107568
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Commit fc545c52cdfe1593967598ac9c3645095d5405c6 by dvyukov
tsan: handle bugs in symbolizer more gracefully

For symbolizer we only process SIGSEGV signals synchronously
(which means bug in symbolizer or in tsan).
But we still want to reset in_symbolizer to fail gracefully.
Symbolizer and user code use different memory allocators,
so if we don't reset in_symbolizer we can get memory allocated
with one being feed with another, which can cause more crashes.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107564
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit f171149e0d541ca7da7af5fe59bd6d9a77267d24 by momchil.velikov
[SimpifyCFG] Speculate a store preceded by a local non-escaping load

In SimplifyCFG we may simplify the CFG by speculatively executing
certain stores, when they are preceded by a store to the same
location.  This patch allows such speculation also when the stores are
similarly preceded by a load.

In order for this transformation to be correct we need to ensure that
the memory location is writable and the store in the new location does
not introduce a data race.

Local objects (created by an `alloca` instruction) are always
writable, so once we are past a read from a location it is valid to
also write to that same location.

Seeing just a load does not guarantee absence of a data race (unlike
if we see a store) - the load may still be part of a race, just not
causing undefined behaviour
(cf. https://llvm.org/docs/Atomics.html#optimization-outside-atomic).

In the original program, a data race might have been prevented by the
condition, but once we move the store outside the condition, we must
be sure a data race wasn't possible anyway, no matter what the
condition evaluates to.

One way to be sure that a local object is never concurrently
read/written is check that its address never escapes the function.

Hence this transformation is restricted to local, non-escaping
objects.

Reviewed By: nikic, lebedev.ri

Differential Revision: https://reviews.llvm.org/D107281
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculate-store.ll
Commit cb7b0a5f34e54db8e3f56eabd9f477ab02b95f98 by dvyukov
tsan: don't include tsan_interceptors.h for Go

None of the interceptors machinery is used/enabled for Go,
so don't include the header, it's not needed (must not be).
The problem is that we have fields in ThreadState that are
not present in the Go build, so changes in thread_interceptors.h
can cause Go build breakages due to missing fields.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107561
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_external.cpp
Commit c6a485caf69326d2fd3300a4f8944889bdd189cd by dvyukov
tsan: qualify autos

clang-tidy warning requires qualifying auto pointers:

clang-tidy: warning: 'auto ctx' can be declared as 'auto *ctx' [llvm-qualified-auto]

Fix remaing cases we have in tsan.

Depends on D107561.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107562
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
Commit 35816163f26b14122895ce0d0ea3b44e9d23ff3f by dvyukov
tsan: pass thr/pc to MemoryResetRange

Pass thr/pc args to MemoryResetRange as we do everywhere.
Currently they are unused by MemoryResetRange,
but there is no reason to be inconsistent.

Depends on D107562.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107563
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
Commit e6c364a62456409f22470e163ffd7f68772d4198 by jay.foad
[AMDGPU][SDag] Better lowering for 64-bit ctlz/cttz

Differential Revision: https://reviews.llvm.org/D107546
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
Commit 2b63933115f75f4b06c317a77fdef0e4e5656976 by jay.foad
[AMDGPU][SDag] Better lowering for 32-bit ctlz/cttz

Differential Revision: https://reviews.llvm.org/D107566
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz.ll
Commit fd7f6a3c812a5aebefb93370ec130e725d80238e by eopxd
[NFC][LoopIdiom] rename boolean variable NegStride to IsNegStride

Rename variable for better code readability.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D107570
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Commit f888e442bcc547301b58e77667eb261c0391b897 by sd.fertile
[PowerPC][AIX] attribute aligned cannot decrease align of a vector var.

On AIX an aligned attribute cannot decrease the alignment of a variable
when placed on a variable declaration of vector type.

Differential Revision: https://reviews.llvm.org/D107522
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/Sema/aix-attr-aligned-vector-warn.c
The file was addedclang/test/CodeGen/aix-vector-attr-aligned.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 3e47f009ff2c28c2a24150b1da46b61afa847a44 by sander.desmalen
[LV] Consider ExtractValue as uniform.

Since all operands to ExtractValue must be loop-invariant when we deem
the loop vectorizable, we can consider ExtractValue to be uniform.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D107286
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
Commit e9177b09585a8be62fb9d9d28f063323c5e36760 by david.sherwood
Fix build issues caused by 95800da914938129083df2fa0165c1901909c273
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit f7076cfd3ad39ac71314c2deb5c5517c7c6bfd61 by craig.topper
[DAGCombiner][RISCV][AMDGPU] Call SimplifyDemandedBits at the end of visitMULHU to enable known bits contant folding.

We don't have real demanded bits support for MULHU, but we can
still use the known bits based constant folding support at the end
of SimplifyDemandedBits to simplify a MULHU. This helps with cases
where we know the LHS and RHS have enough leading zeros so that
the high multiply result is always 0.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D106471
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/stepvector.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/rvv-vscale.i64.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit e7c3eaa8aeba497bcd61adeeaafce5b99ff756a8 by a.bataev
[SLP]Do not emit extra shuffle for insertelements vectorization.

If the vectorized insertelements instructions form indentity subvector
(the subvector at the beginning of the long vector), it is just enough
to extend the vector itself, no need to generate inserting subvector
shuffle.

Differential Revision: https://reviews.llvm.org/D107494
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
Commit 72661f337ae03f5cb2988717bc1486cd9bc4baef by kazu
[Transforms] Drop unnecessary const from return types (NFC)

Identified with readability-const-return-type.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 6b0f35931a44b0fbd27297f83087d3a4c352e83f by jennifer.yu
Fix signal during the call to checkOpenMPLoop.

The root problem is a null pointer is accessed during the call to
checkOpenMPLoop, because loop up bound expr is an error expression
due to error diagnostic was emit early.

To fix this, in setLCDeclAndLB, setUB and setStep instead return false,
return true when LB, UB or Step contains Error, so that the checking is
stopped in checkOpenMPLoop.

Differential Revision: https://reviews.llvm.org/D107385
The file was modifiedclang/test/OpenMP/teams_distribute_loop_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 97469d4c20615e7e7986a23d6c42a59f011590a3 by flo
[SLP] Add additional memory version tests.
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
Commit 180f4a87c5cfa0133ec4d4554350e38e672a145c by kubak
Add llvm-stress binary to Bazel build configuration.

The `llvm-stress` binary is currently missing from the Bazel `BUILD` file for llvm. This patch adds it.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D107571
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit f3f3098afe1ca21671922e39328f127e79b7dd3c by Jessica Paquette
[AArch64][GlobalISel] Mark v16s8 <- v8s8, v8s8 G_CONCAT_VECTOR as legal

G_CONCAT_VECTORS shows up from time to time when legalizing other instructions.

We actually import patterns for the v16s8 <- v8s8, v8s8 case so marking it
as legal gives us selection for free.

Differential Revision: https://reviews.llvm.org/D107512
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-concat-vectors.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit bd17ced1db9a674fc8aa6632899e245672c7aa35 by benny.kra
Revert "[X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats"

This reverts commits f819e4c7d0f6efef3cc1042cc45582320bf6c0a2 and
35c0848b570214ed2b2d96cca4dd62bb7ae725cd. It triggers an infinite loop during
compilation.

$ cat t.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @MaxPoolGradGrad_1.65() local_unnamed_addr #0 {
entry:
  %wide.vec78 = load <64 x i32>, <64 x i32>* null, align 16
  %strided.vec83 = shufflevector <64 x i32> %wide.vec78, <64 x i32> poison, <8 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60>
  %0 = lshr <8 x i32> %strided.vec83, <i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16>
  %1 = add <8 x i32> zeroinitializer, %0
  %2 = shufflevector <8 x i32> %1, <8 x i32> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
  %3 = shufflevector <16 x i32> %2, <16 x i32> undef, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
  %interleaved.vec = shufflevector <32 x i32> undef, <32 x i32> %3, <64 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56, i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57, i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58, i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59, i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60, i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61, i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62, i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63>
  store <64 x i32> %interleaved.vec, <64 x i32>* undef, align 16
  unreachable
}

$ llc < t.ll -mcpu=skylake
<hang>
The file was modifiedllvm/test/CodeGen/X86/sse41.ll
The file was modifiedllvm/test/CodeGen/X86/pr15296.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Commit b4c0307d598004cfd96c770d2a4a84a37c838ba9 by Jon Roelofs
Fix clang-interpreter build after 2487db1f286222e2501c2fa8e8244eda13f6afc3
The file was modifiedclang/examples/clang-interpreter/main.cpp
Commit 976bd2361237f2fafc736d26dc78d1b95cd80d94 by hoy
[llvm-ar] Fix for handling thin archive with SYM64 and a test case for it

WHen thin archives are created which have symbol table of type SYM64 then all the tools will not work since they cannot read the files properly.
One can reproduce the problem as follows:
1. Take a hello world program and create an archive out of it. The SYM64_THRESHOLD=0 will force the generation of SYM64 symbol table.
    clang -c hello.cpp
    SYM64_THRESHOLD=0 llvm-ar crsT mylib.a hello.o
2. Now try to use any of the tools on this mylib.a and it will fail.
    llvm-nm -M mylib.a

THis fix will eliminate these failures. A regression test is created in llvm/test/Object/archive-symtab.test

Reviewed By: MaskRay, Ramesh

Differential Revision: https://reviews.llvm.org/D107322
The file was modifiedllvm/lib/Object/Archive.cpp
The file was modifiedllvm/test/Object/archive-symtab.test
Commit a756239e727842f2c274208acd8fb93fa745d04a by Dan Liew
Fix COMPILER_RT_DEBUG build for targets that don't support thread local storage.

022439931f5be77efaf80b44d587666b0c9b13b5 added code that is only enabled
when COMPILER_RT_DEBUG is enabled. This code doesn't build on targets
that don't support thread local storage because the code added uses the
THREADLOCAL macro. Consequently the COMPILER_RT_DEBUG build broke for
some Apple targets (e.g. 32-bit iOS simulators).

```
/Volumes/user_data/dev/llvm/llvm.org/main/src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp:216:8: error: thread-local storage is not supported for the current target
static THREADLOCAL InternalDeadlockDetector deadlock_detector;
       ^
/Volumes/user_data/dev/llvm/llvm.org/main/src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:227:24: note: expanded from macro 'THREADLOCAL'
# define THREADLOCAL   __thread
                        ^
1 error generated.
```

To fix this, this patch introduces a `SANITIZER_SUPPORTS_THREADLOCAL`
macro that is `1` iff thread local storage is supported by the current
target. That condition is then added to `SANITIZER_CHECK_DEADLOCKS` to
ensure the code is only enabled when thread local storage is available.

The implementation of `SANITIZER_SUPPORTS_THREADLOCAL` currently assumes
Clang. See `llvm-project/clang/include/clang/Basic/Features.def` for the
definition of the `tls` feature.

rdar://81543007

Differential Revision: https://reviews.llvm.org/D107524
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
Commit c020be17ce0a43c32554585e1075627769f364f3 by Jonas Devlieghere
[lldb] Use a struct to pass function search options to Module::FindFunction

Rather than passing two booleans around, which is especially error prone
with them being next to each other, use a struct with named fields
instead.

Differential revision: https://reviews.llvm.org/D107295
The file was modifiedlldb/source/Core/ModuleList.cpp
The file was modifiedlldb/source/Core/SourceManager.cpp
The file was modifiedlldb/source/Commands/CommandCompletions.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
The file was modifiedlldb/include/lldb/Core/ModuleList.h
The file was modifiedlldb/source/Commands/CommandObjectSource.cpp
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/source/Commands/CommandObjectDisassemble.cpp
The file was modifiedlldb/include/lldb/Core/Module.h
The file was modifiedlldb/source/Breakpoint/BreakpointResolverName.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/source/API/SBModule.cpp
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Core/Module.cpp
Commit a46bcc60e52fe080ee87af1788e8cdc00f9c035f by Jonas Devlieghere
[lldb] Refactor IRExecutionUnit::FindInSymbols (NFC)

This patch refactors IRExecutionUnit::FindInSymbols. It eliminates a few
potential pitfalls and tries to be more explicit about the state carried
between symbol resolution attempts.

Differential revision: https://reviews.llvm.org/D107206
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
Commit 72d070b4db2da7216f63f09407bd96f49dc90bd1 by i
[ELF] Support copy relocation on non-default version symbols

Copy relocation on a non-default version symbol is unsupported and can crash at
runtime. Fortunately there is a one-line fix which works for most cases:
ensure `getSymbolsAt` unconditionally returns `ss`.

If two non-default version symbols are defined at the same place and both
are copy relocated, our implementation will copy relocated them into different
addresses. The pointer inequality is very unlikely an issue. In GNU ld, copy
relocating version aliases seems to create more pointer inequality problems than
us.

(
In glibc, sys_errlist@GLIBC_2.2.5 sys_errlist@GLIBC_2.3 sys_errlist@GLIBC_2.4
are defined at the same place, but it is unlikely they are all copy relocated in
one executable. Even if so, the variables are read-only and pointer inequality
should not be a problem.
)

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D107535
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/test/ELF/Inputs/copy-rel-version.s
The file was modifiedlld/test/ELF/copy-rel-version.s
Commit 9854f2f30f84123ca78aa3603102e7cef4ec33c8 by isanbard
[llvm-diff] Create libLLVMDiff library

Some tools may want to use the LLVM "diff" code. Move the code into a
library for easy use.

No functionality change intende.

Differential Revision: https://reviews.llvm.org/D107392
The file was modifiedllvm/tools/llvm-diff/CMakeLists.txt
The file was addedllvm/tools/llvm-diff/lib/DiffConsumer.h
The file was removedllvm/tools/llvm-diff/DiffConsumer.h
The file was addedllvm/tools/llvm-diff/lib/DifferenceEngine.cpp
The file was addedllvm/tools/llvm-livepatch/CMakeLists.txt
The file was addedllvm/tools/llvm-diff/lib/DifferenceEngine.h
The file was removedllvm/tools/llvm-diff/DiffLog.cpp
The file was addedllvm/tools/llvm-diff/lib/DiffConsumer.cpp
The file was removedllvm/tools/llvm-diff/DiffLog.h
The file was removedllvm/tools/llvm-diff/DiffConsumer.cpp
The file was modifiedllvm/tools/llvm-diff/llvm-diff.cpp
The file was addedllvm/tools/llvm-diff/lib/DiffLog.h
The file was addedllvm/tools/llvm-diff/lib/CMakeLists.txt
The file was removedllvm/tools/llvm-diff/DifferenceEngine.cpp
The file was addedllvm/tools/llvm-diff/lib/DiffLog.cpp
The file was removedllvm/tools/llvm-diff/DifferenceEngine.h
Commit 16605aea844060c2973df079c9f91650132c099d by lebedev.ri
[NFC][Codegen][X86] Add testcase that hanged after D107009

From Benjamin Kramer @ https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20210802/945642.html
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
Commit c0586ff05dd08e4cbfc6fb7881274d8d89913463 by lebedev.ri
[NFC][X86] combineX86ShuffleChain(): hoist Mask variable higher up

Having `NewMask` outside of an if and rebinding `BaseMask` `ArrayRef`
to it is confusing. Instead, just move the `Mask` vector higher up,
and change the code that earlier had no access to it but now does
to use `Mask` instead of `BaseMask`.

This has no other intentional changes.

This is a recommit of 35c0848b570214ed2b2d96cca4dd62bb7ae725cd,
that was reverted to simplify reversion of an earlier change.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 509854b69cea0c9261ac21ceb22012a53e7a800b by jonathanchesterfield
[clang] Replace asm with __asm__ in cuda header

Asm is a gnu extension for C, so at present -fopenmp -std=c99
and similar fail to compile on nvptx, bug 51344

Changing to `__asm__` or `__asm` works for openmp, all three appear to work
for cuda. Suggesting `__asm__` here as `__asm` is used by MSVC with different
syntax, so this should make for better error diagnostics if the header is
passed to a compiler other than clang.

Reviewed By: tra, emankov

Differential Revision: https://reviews.llvm.org/D107492
The file was modifiedclang/lib/Headers/__clang_cuda_device_functions.h
Commit fec8f1a008c311d96689dbe7876b23ecc82d00d5 by isanbard
Remove unintended commit.
The file was removedllvm/tools/llvm-livepatch/CMakeLists.txt
Commit a9628e96ca5b3d264d88147494c82cb63e8ac973 by hedingarcia
[libc] Add diff and perf targets for more math functions

Comparing the run time of math functions from LLVM libc
with the MSVCRT libc:
|function |perf-LLVM libc     |perf-MSVCRT
|ceilf |2.36 mins (141491389600 ns)|47.10 sec (47100940100 ns)
|exp2f             |6.37 mins (358441794700 ns)|12.39 mins (719404388300 ns)
|expf |6.35 mins (381204661800 ns)|6.17 mins (346150163200 ns)
|fabsf |1.18 mins (78425546600 ns) |53.75 sec (53745301900 ns)
|floorf |3.15 mins (164770963800 ns)|45.94 sec (45935988400 ns)
|logbf |4.38 mins (262508058800 ns)|55.47 sec (55466377700 ns)
|nearbyintf |3.20 mins (167972868000 ns)|9.13 mins (523822963600 ns)
|rintf |3.20 mins (168001498700 ns)|22.35 mins (1341266448800 ns)
|roundf |2.35 mins (141151500600 ns)|1.42 mins (85326429800 ns)
|truncf |2.31 mins (114846424000 ns)|59.41 sec (59414309100 ns)

Evaluating the number of differing results in Windows:
|function |diff
|ceilf          |8388606 differing results
|exp2f         |213303887 differing results
|expf           |193922 differing results
|fabsf          |8388606 differing results
|floorf         |8388606 differing results
|logbf          |0 differing results
|nearbyintf     |0 differing results
|rintf          |0 differing results
|roundf         |0 differing results
|truncf |0 differing results

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D107462
The file was addedlibc/test/src/math/differential_testing/logbf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/rintf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/fabsf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/truncf_perf.cpp
The file was modifiedlibc/test/src/math/differential_testing/CMakeLists.txt
The file was addedlibc/test/src/math/differential_testing/expf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/logbf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/exp2f_diff.cpp
The file was addedlibc/test/src/math/differential_testing/fabsf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/nearbyintf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/nearbyintf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/floorf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/expf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/roundf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/floorf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/rintf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/exp2f_perf.cpp
The file was addedlibc/test/src/math/differential_testing/ceilf_diff.cpp
The file was modifiedlibc/test/src/math/differential_testing/sqrtf_perf.cpp
The file was addedlibc/test/src/math/differential_testing/ceilf_perf.cpp
The file was modifiedlibc/test/src/math/differential_testing/sqrtf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/truncf_diff.cpp
The file was addedlibc/test/src/math/differential_testing/roundf_diff.cpp
Commit f8b6e1faa913748695fa920a6d4d91f780c291f8 by gcmn
[Bazel] Update for 9854f2f30f (Diff library)

Updates the Bazel build for
https://github.com/llvm/llvm-project/commit/9854f2f30f by extracting a
library from llvm-diff. Note that this does not include the new
llvm-livepatch binary, for which the CMake file was added accidentally
and reverted in https://github.com/llvm/llvm-project/commit/fec8f1a008.

Differential Revision: https://reviews.llvm.org/D107586
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit b260f3fdda63bbddb7834c42cfeeb2b0a8b86a23 by dimitry
sanitizer_common: disable thread safety annotations for googletest

Recently in 0da172b1766e thread safety warnings-as-errors were enabled.
However, googletest is currently not compatible with thread safety
annotations. On FreeBSD, which has the pthread functions marked with
such annotations, this results in errors when building the compiler-rt
tests:

    In file included from compiler-rt/lib/interception/tests/interception_test_main.cpp:15:
    In file included from llvm/utils/unittest/googletest/include/gtest/gtest.h:62:
    In file included from llvm/utils/unittest/googletest/include/gtest/internal/gtest-internal.h:40:
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1636:3: error: mutex 'mutex_' is still held at the end of function [-Werror,-Wthread-safety-analysis]
      }
      ^
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1633:32: note: mutex acquired here
        GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_));
                                   ^
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1645:32: error: releasing mutex 'mutex_' that was not held [-Werror,-Wthread-safety-analysis]
        GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_));
                                   ^
    2 errors generated.

At some point googletest will hopefully be made compatible with thread
safety annotations, but for now add corresponding `-Wno-thread-*` flags
to `COMPILER_RT_GTEST_CFLAGS` to silence these warnings-as-errors.

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D107491
The file was modifiedcompiler-rt/CMakeLists.txt
Commit ec5137029bf267bf3b6a52f035cf02ddc1932539 by mascasa
Revert "[llvm-diff] Create libLLVMDiff library"

This reverts commit 9854f2f30f84123ca78aa3603102e7cef4ec33c8 since it
broke all the builds.
The file was removedllvm/tools/llvm-diff/lib/DiffConsumer.h
The file was removedllvm/tools/llvm-diff/lib/CMakeLists.txt
The file was removedllvm/tools/llvm-diff/lib/DifferenceEngine.h
The file was addedllvm/tools/llvm-diff/DiffConsumer.cpp
The file was modifiedllvm/tools/llvm-diff/llvm-diff.cpp
The file was addedllvm/tools/llvm-diff/DifferenceEngine.h
The file was addedllvm/tools/llvm-diff/DifferenceEngine.cpp
The file was removedllvm/tools/llvm-diff/lib/DiffLog.cpp
The file was addedllvm/tools/llvm-diff/DiffLog.h
The file was removedllvm/tools/llvm-diff/lib/DiffLog.h
The file was modifiedllvm/tools/llvm-diff/CMakeLists.txt
The file was removedllvm/tools/llvm-diff/lib/DiffConsumer.cpp
The file was addedllvm/tools/llvm-diff/DiffConsumer.h
The file was addedllvm/tools/llvm-diff/DiffLog.cpp
The file was removedllvm/tools/llvm-diff/lib/DifferenceEngine.cpp
Commit 113a06f7a50010b555a0fdabc9db0a8338e2f2a8 by chris.jackson
{DebugInfo][LSR] Don't cache dbg.value that are already undef

The SCEV-based salvaging method caches dbg.value information pre-LSR so
that salvaging may be attempted post-LSR. If the dbg.value are already
undef pre-LSR then a salvage attempt would be fruitless, so avoid
caching them.

Reviewed By: StephenTozer

Differential Revision: https://reviews.llvm.org/D107448
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/pr51329.ll
Commit 892990c56cc05188ad38c29c0acb283dcdf05b1e by arthur.j.odwyer
[libc++] IWYU to fix complaints when compiling with Modules. NFCI.

Differential Revision: https://reviews.llvm.org/D107583
The file was modifiedlibcxx/include/__ranges/common_view.h
The file was modifiedlibcxx/include/__iterator/counted_iterator.h
The file was modifiedlibcxx/include/__ranges/take_view.h
The file was modifiedlibcxx/include/__iterator/iter_swap.h
The file was modifiedlibcxx/include/__ranges/ref_view.h
The file was modifiedlibcxx/include/__ranges/single_view.h
The file was modifiedlibcxx/include/__ranges/access.h
The file was modifiedlibcxx/include/__ranges/transform_view.h
The file was modifiedlibcxx/include/__ranges/subrange.h
Commit 881faf41909b47376595e8d7bb9c9a109182d20b by mascasa
Enable extra coverage counters on Windows

- Enable extra coverage counters on Windows.
- Update extra_counters.test to run on Windows also.
- Update TableLookupTest.cpp to include the required pragma/declspec for the extra coverage counters.

Patch By: MichaelSquires

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D106676
The file was addedcompiler-rt/lib/fuzzer/FuzzerExtraCountersWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
The file was addedcompiler-rt/lib/fuzzer/FuzzerExtraCountersDarwin.cpp
The file was modifiedcompiler-rt/test/fuzzer/TableLookupTest.cpp
The file was modifiedcompiler-rt/test/fuzzer/extra-counters.test
The file was modifiedcompiler-rt/lib/fuzzer/CMakeLists.txt
Commit 98f38c151b5a8272c7e9a609f6c7c71623fb652b by Jon Roelofs
[AArch64][GlobalISel] Legalize ctpop s128

This is re-landing the same patch again, but without the changes to
LegalizerHelper that regressed the Mips test:

test/CodeGen/Mips/GlobalISel/llvm-ir/ctpop.ll

Differential revision: https://reviews.llvm.org/D106494
The file was modifiedllvm/test/CodeGen/AArch64/popcount.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
Commit 4d293f215dfb6ab6af966175717e86468f708b1c by isanbard
[llvm-diff] Create libLLVMDiff library

Some tools may want to use the LLVM "diff" code. Move the code into a
library for easy use.

No functionality change intende.

Differential Revision: https://reviews.llvm.org/D107392
The file was addedllvm/tools/llvm-diff/lib/DiffConsumer.cpp
The file was removedllvm/tools/llvm-diff/DiffConsumer.cpp
The file was removedllvm/tools/llvm-diff/DiffConsumer.h
The file was addedllvm/tools/llvm-diff/lib/DiffConsumer.h
The file was addedllvm/tools/llvm-diff/lib/DiffLog.h
The file was removedllvm/tools/llvm-diff/DiffLog.h
The file was modifiedllvm/tools/llvm-diff/CMakeLists.txt
The file was removedllvm/tools/llvm-diff/DiffLog.cpp
The file was addedllvm/tools/llvm-diff/lib/CMakeLists.txt
The file was addedllvm/tools/llvm-diff/lib/DiffLog.cpp
The file was removedllvm/tools/llvm-diff/DifferenceEngine.cpp
The file was addedllvm/tools/llvm-diff/lib/DifferenceEngine.cpp
The file was removedllvm/tools/llvm-diff/DifferenceEngine.h
The file was addedllvm/tools/llvm-diff/lib/DifferenceEngine.h
The file was modifiedllvm/tools/llvm-diff/llvm-diff.cpp
Commit c38efb4899eac7b82daaf1320ad79f6271f9648a by i
[clang] Implement -falign-loops=N (N is a power of 2) for non-LTO

GCC supports multiple forms of -falign-loops=.
-falign-loops= is currently ignored in Clang.

This patch implements the simplest but the most useful form where N is a
power of 2.

The underlying implementation uses a `llvm::TargetOptions` option for now.
Bitcode generation ignores this option.

Differential Revision: https://reviews.llvm.org/D106701
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was addedclang/test/CodeGen/align-loops.c
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/falign-loops.c
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 7ca2b9aac782c223a9b3d59af9572a574e3a21d8 by mascasa
[libFuzzer] Add missing include on Darwin.
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCountersDarwin.cpp
Commit 50eaa82cdbc72588f0841658bbad9695855eba85 by llvm-project
[Polly][test] Test difference between isl::stat:ok() and isl::stat::error().

The foreach callback wrappers tests check the return values of isl::stat:ok() and isl::stat::error() separately. However, due to the the container they are iterating over containing just one element, they are actually not testing the difference between them.

This patch changes to set to be iterated over to contain 2 element to make returning sl::stat:ok (continue iterating the next element) and isl::stat::error (break after current element) have different effects other than the return value of the foreach itself.

Reviewed By: patacca

Differential Revision: https://reviews.llvm.org/D107395
The file was modifiedpolly/unittests/Isl/IslTest.cpp
Commit 0f50ffb3365eefaf114f3d1de6e8acee4fe8f169 by llvm-project
[Polly][test] Add tests for IslMaxOperationsGuard.

Add unittests for IslMaxOperationsGuard and the behaviour of the isl-noexception.h wrapper under exceeded max_operations.

Reviewed By: patacca

Differential Revision: https://reviews.llvm.org/D107401
The file was modifiedpolly/unittests/Isl/IslTest.cpp
Commit ddb26e2e003bd21de5a021bea67cf70c9c5b6e4b by thakis
[gn build] manually port 4d293f215dfb (LLVMDiff lib)
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-diff/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/tools/llvm-diff/lib/BUILD.gn
Commit 11565320fd55117f04b9cc812e28a30962283c3e by thakis
[lldb] Remove a few unused .exports files

They used to be referenced from the .xcodeproj files, but those are long gone.

No behavior change.

Differential Revision: https://reviews.llvm.org/D107444
The file was removedlldb/source/API/liblldb.xcode.exports
The file was removedlldb/tools/argdumper/argdumper.exports
The file was removedlldb/tools/lldb-server/lldb-server.exports
Commit 7dd29ad4ae49b2716483f50af5661abc98f484e0 by nathan
Clean up instcombine stpcpy test

Deduplicate some code and add an additional test to verify that the
sprintf->stpcpy optimization still works on android21 (which properly
supports it).

This follows up 58481663692b55.

Differential Revision: https://reviews.llvm.org/D107526
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
Commit e71fdc1acf054271031200f87a6bfc276d8a1ebd by thakis
[lldb] Stop referencing "host_lib" in cmake files

It hasn't had an effect since https://reviews.llvm.org/rG7b968969db.

No behavior change.

Differential Revision: https://reviews.llvm.org/D107446
The file was modifiedlldb/tools/lldb-test/CMakeLists.txt
The file was modifiedlldb/tools/lldb-vscode/CMakeLists.txt
Commit c2a3fb303f1fffeb0856863cc5eff1529e1db5e7 by Vitaly Buka
[msan] Don't track origns in signal handlers

Origin::CreateHeapOrigin is not async-signal-safe and can deadlock.

Differential Revision: https://reviews.llvm.org/D107431
The file was addedcompiler-rt/test/msan/poison_in_signal.cpp
The file was modifiedcompiler-rt/lib/msan/msan_poisoning.cpp
Commit 51bd4e874fa51412e7399fe7f863169b4f4829bc by Jessica Paquette
[AArch64][GlobalISel] Overhaul G_EXTRACT legalization

This simplifies our existing G_EXTRACT rules and adds some test coverage. Mostly
changing this because it should make it easier to improve legalization for
instructions which use G_EXTRACT as part of the legalization process.

This also adds support for legalizing some weird types. Similar to other recent
legalizer changes, this changes the order of widening/clamping.

There was some dead code in our existing rules (e.g. the p0 case would never get
hit), so this knocks those out and makes the types we want to handle explicit.

This also removes some checks which, nowadays, are handled by the
MachineVerifier.

Differential Revision: https://reviews.llvm.org/D107505
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
Commit 42b9c2a17a0b63cccf3ac197a82f91b28e53e643 by Stanislav.Mekhanoshin
[AMDGPU] add v2i32 and v2f32 insert_vector_elt tests. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
Commit c46cb72fea73467dbd72050a9e250080d5757e89 by Stanislav.Mekhanoshin
[Thumb2] generate checks in ldr-str-imm12.ll. NFC.

That seems this test does not check what was stated in the
comment anymore. Just switch to generated checks.

Differential Revision: https://reviews.llvm.org/D107590
The file was modifiedllvm/test/CodeGen/Thumb2/ldr-str-imm12.ll
Commit 36498374d471272ab094b622dbc55874d8713a8f by Jessica Paquette
[AArch64][GlobalISel] Widen G_BSWAP before clamping

This allows us to avoid odd type breakdowns + allows us to legalize types like
s88 in the first place.

Add some testcases for known legal types + testcases for s4 and s88.

Differential Revision: https://reviews.llvm.org/D107607
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
Commit a91916500d67155ca17bfdf3294541f871f90a45 by wanyu9511
[AIX] "aligned" attribute should not decrease type alignment returned by __alignof__

`__alignof__(x)` always returns `ABIAlign` if the "x" is marked `__attribute__((aligned()))`. However, the "aligned" attribute should only increase the alignment of a struct, or struct member, unless it's used together with the "packed" attribute, or used as a part of a typedef, in which case, the "aligned" attribute can both increase and decrease alignment.

Reviewed By: sfertile

Differential Revision: https://reviews.llvm.org/D107598
The file was addedclang/test/Layout/aix-alignof-align-and-pack-attr.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 649cf4514dd32e0e7944f6f8d82a1b72c87a2870 by david.green
[AArch64] Expand the SVE min/max reduction costs to NEON

This takes the existing SVE costing for the various min/max reduction
intrinsics and expands it to NEON, where I believe it applies equally
well.

In the process it changes the lowering to use min/max cost, as opposed
to summing up the cost of ICmp+Select.

Differential Revision: https://reviews.llvm.org/D106239
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit 41ba39dfcd0a765f238561ce1b52f843c825ff9a by aheejin
[WebAssembly] Don't do SjLj transformation when there's only setjmp

When there is a `setjmp` call in a function, we transform every callsite
of `setjmp` to record its information by calling `saveSetjmp` function,
and we also transform every callsite of a function that can longjmp to
to check if a longjmp occurred and if so jump to the corresponding
post-setjmp BB. Currently we are doing this for every function that
contains a call to `setjmp`, but if there is no other function call
within that function that can longjmp, this transformation of `setjmp`
callsite and all the preparation of `setjmpTable` in the entry of the
function are not necessary.

This checks if a setjmp-calling function has any other calls that can
longjmp, and if not, skips the function for the SjLj transformation.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D107530
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj-alias.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
Commit 41aaf82911252c7cd4958b16131b7b1bf1f0e39f by Jinsong Ji
[PowerPC] Add scalar vector test
The file was addedllvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
Commit b4fe4358905d2739283bb04570d60b970869db2b by Jinsong Ji
[PowerPC] Remove accidently left checks
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
Commit d71924fbfef2efd343388d189309bfb1e38e8021 by Stanislav.Mekhanoshin
[AMDGPU] Improve v2i32/v2f32 insertelt patterns

Using REG_SEQUENCE produces better code than INSERT_SUBREG,
we can omit one move instruction in many cases.

Fixes: SWDEV-298028

Differential Revision: https://reviews.llvm.org/D107602
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
Commit 8a557d8311593627efd08d03178889971d5ae02b by Jessica Paquette
[AArch64][GlobalISel] Widen extloads before clamping during legalization

Allows us to avoid awkward type breakdowns on types like s88, like the other
commits.

Differential Revision: https://reviews.llvm.org/D107587
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extload.mir
Commit 623cf3dfdf3e202b99e4d0529c37eb7ef2474860 by rprichard
Mark getc_unlocked as unavailable by default

Before D45736, getc_unlocked was available by default, but turned off
for non-Cygwin/non-MinGW Windows. D45736 then added 9 more unlocked
functions, which were unavailable by default, but it also:
* left getc_unlocked enabled by default,
* removed the disabling line for Windows, and
* added code to enable getc_unlocked for GNU, Android, and OSX.

For consistency, make getc_unlocked unavailable by default. Maybe this
was the intent of D45736 anyway.

Reviewed By: MaskRay, efriedma

Differential Revision: https://reviews.llvm.org/D107527
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
Commit 2b89f40a411cb9717232df61371b24d73ae84cb8 by gclayton
[LLDB][GUI] Refactor form drawing using subsurfaces

This patch adds a new method SubSurface to the Surface class. The method
returns another surface that is a subset of this surface. This is
important to further abstract away drawing from the ncurses objects. For
instance, fields could previously be drawn on subpads only but can now
be drawn on any surface. This is needed to create the file search
dialogs and similar functionalities.

There is an opportunity to refactor window drawing in general using
surfaces, but we shall consider this separately later.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D107182
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit a8a38ef3d99ce2b180f9c5ff968e5b930a99b10b by wlei
[llvm-profgen] Fix bug of loop scope mismatch

One performance issue happened in profile generation and it turned out the line 525 loop is the bottleneck.
Moving the code outside of loop scope can fix this issue. The run time is improved from 30+mins to ~30s.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D107529
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
Commit ce6eb4f15a159e652bdccf92a9d3da8a972d1596 by Jon Roelofs
[GlobalISel][KnownBits] Implement G_CTPOP

Implementation copied almost verbatim from ValueTracking.

Differential revision: https://reviews.llvm.org/D107606
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 1577c41090a0606432688a9a9cd1744cddcccbda by Amara Emerson
[GlobalISel] Allow the ArtifactValueFinder to return the best available register on failure.

In some cases, like with inserts, we may have a matching size register already,
but still decide to try to look further. This change adds a CurrentBest
register to the value finder state, and any time a method fails to make progress,
returns that register (which may just be an empty Register).

To facilitate this, add a new entry point to the findValueFromDef() function
which initializes this state.

Also fix the build vector finder to return the current build_vector if all
sources are being requested.

Differential Revision: https://reviews.llvm.org/D107017
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
Commit 5fc7b1a260f2d33a70cf5202ce9f780f1fbf5f2c by Jon Roelofs
Revert "[GlobalISel][KnownBits] Implement G_CTPOP"

This reverts commit ce6eb4f15a159e652bdccf92a9d3da8a972d1596.

It's broken on the windows bots: https://reviews.llvm.org/D107606#2930121
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 23651c5ae02a209ff214e4283dddb5ab65d1003a by sd.fertile
[PowerPC][AIX] Create multiple constant sections.

Fixes issue where late materialized constants can be more strictly
aligned then their containing csect.

Differential Revision: https://reviews.llvm.org/D103103
The file was addedllvm/test/CodeGen/PowerPC/aix-constant-align.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-space.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-rodata-align.ll
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
Commit 562c8e14d9f19220fe0a9a35dafa0bcf2485bc0f by Jessica Paquette
[AArch64][GlobalISel] Widen G_IMPLICIT_DEF and G_FREEZE before clamping

Similar to other cleanup commits which widen instructions before clamping
during legalization. Purpose of this is to avoid weird type breakdowns.

In terms of G_IMPLICIT_DEF, this simplifies legalization for other instructions.
The legalizer has to emit G_IMPLICIT_DEF to legalize certain instructions, so
this can help with emitting merges elsewhere.

Differential Revision: https://reviews.llvm.org/D107604
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
Commit e6a3944ea9dee8ffaa318c347287027480311552 by Jessica Paquette
[AArch64][GlobalISel] Overhaul G_INSERT legalization

Similar cleanup to G_EXTRACT (51bd4e874fa51412e7399fe7f863169b4f4829bc).

Also swap the order of clamp/widen to avoid unnecessary complex merges.

Add a bunch of missing testcases to legalize-inserts while we're at it.

Differential Revision: https://reviews.llvm.org/D107601
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
Commit 66b1e629d89543cb7542c184f7dfb32deee732e1 by springerm
[mlir] Cleanup: Fix warnings in MLIR

Tested with gcc-10. Other compilers may generate additional warnings. This does not fix all warnings. There are a few extra ones in LLVMCore and MLIR.

* `OpEmitter::getAttrNameIndex`: -Wunused-function (function is private and not used anywhere)
* `PrintOpPass` copy constructor: -Wextra ("Base class should be explicitly initialized in the copy constructor")
* `LegalizeForLLVMExport.cpp`: -Woverflow (overflow is expected, silence warning by making the cast explicit)

Differential Revision: https://reviews.llvm.org/D107525
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
Commit dae7adda949993bd96aa50c551dc64ddebba7923 by powerman1st
[AVR][clang] Pass '-fno-use-init-array' to cc1 as default

On AVR, '.ctors' is used, not '.init_array'. Make this the default
unless specifically overridden by driver argument.

This matches gcc, and it matches the behavior in (e.g.) the NetBSD
driver (for certain OS variants).

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D107610
The file was modifiedclang/test/Driver/avr-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/AVR.h
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
Commit 4d3d182c1dcb99ddcce7d077060d87111cb8dbfa by Jason Molenda
Revert "[LLDB][GUI] Refactor form drawing using subsurfaces"

Temporarily revert this patch to unbreak the bots/builds
until we can understand what was intended; is_pad() call
isn't defined.

This reverts commit 2b89f40a411cb9717232df61371b24d73ae84cb8.
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 28939b6ae5de95c38e28a5ef619c2d3c5b30a3fd by tianshilei1992
[NFC] Clean up and clang-format openmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 43018f03ed18df18876cb83e72dcc4c75b853291 by lkail
[PowerPC] Pre-commit test for D107428. NFC.
The file was addedllvm/test/CodeGen/PowerPC/vec_int_to_double_shuffle.ll
Commit 7138f1cd13d394903d5b38165b78515b0d01bc50 by Vitaly Buka
[NFC][sanitizer] clang-format sem related block
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 9d10be70a8289b50b1df32605516a0060854c91a by jpienaar
[mlir] std.call reference function return types in failure

Makes it easier to see type mismatch from failure locally.

Differential Revision: https://reviews.llvm.org/D107288
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
Commit 6f84d94b9c56be65f50cdf9ca0f20810ef83cc65 by Jinsong Ji
[PowerPC] Fix copy/paste error in scalar_to_vector patterns

https://reviews.llvm.org/D100478 refactoring added a copy/paste error
for v8i16 patterns.

Reviewed By: #powerpc, shchenz

Differential Revision: https://reviews.llvm.org/D107609
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
Commit ac42f7609027e96fec94d35db8a638d6a583e8f8 by arthur.j.odwyer
[libc++] s/_VSTD::_IsSame/_IsSame/. NFCI.
The file was modifiedlibcxx/include/concepts
Commit 7ece20505f12b92d63aa6de0c92d41ac25ab8820 by i
[Lanai] fix lowering wide returns

This implements LanaiTargetLowering::CanLowerReturn, thereby ensuring
all return values conform to the RetCC and get sret-demoted as
necessary.

A regression test is also added that exercises this functionality.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D107086
The file was addedllvm/test/CodeGen/Lanai/lowering-128.ll
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.h
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.cpp
Commit daab81cda18a1e33aa8973ee34589960b4382f25 by rprichard
Replace "CHECK-NOT: #{{.*}}" with same-line positive checks. NFC.

The intent of the negative #{{.*}} checks is to verify that the line
declaring/defining a function has no attribute, but they could restrict
later function declarations instead.

The 2008-09-02-FunctionNotes.ll check had allowed @fn3 to have an
attribute, because there is only a single "define void @fn3()" in the
output.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107614
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
The file was modifiedllvm/test/Assembler/2008-09-02-FunctionNotes.ll
Commit a1b21ed3fb4a9f4b85d8fa29f95c31b737e0840f by aeubanks
[GCov] Emit memset instead of stores in __llvm_gcov_reset

For a very large module, __llvm_gcov_reset can become very large.
__llvm_gcov_reset previously emitted stores to a bunch of globals in one
huge basic block. MemCpyOpt would turn many of these stores into
memsets, and updating MemorySSA would be extremely slow.

Verified that this makes the compile time of certain files go down
drastically (20min -> 5min).

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107538
The file was modifiedllvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
The file was addedllvm/test/Transforms/GCOVProfiling/reset.ll
Commit ab737d5367cdea30df71ef66f87fe2c6d88e7246 by martin
[fuzzer] Fix building on case sensitive mingw platforms

Include windows.h with an all lowercase filename; Windows SDK headers
aren't self consistent so they can't be used in an entirely
case sensitive setting, and mingw headers use all lowercase names
for such headers.

This fixes building after 881faf41909b47376595e8d7bb9c9a109182d20b.
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCountersWindows.cpp
Commit 666ee849f0778160b4660acccb796ac5bd238b2d by lkail
[PowerPC] Fix shift amount of xxsldwi when performing vector int_to_double

POC
```
// main.c
#include <stdio.h>
#include <altivec.h>
extern vector double foo(vector int s);
int main() {
  vector int s = {0, 1, 0, 4};
  vector double vd;
  vd = foo(s);
  printf("%lf %lf\n", vd[0], vd[1]);
  return 0;
}
// poc.c
vector double foo(vector int s) {
  int x1 = s[1];
  int x3 = s[3];
  double d1 = x1;
  double d3 = x3;
  vector double x = { d1, d3 };
  return x;
}
```
Compiled with `poc.c main.c -mcpu=pwr8 -O3` on BE machine.
Current clang gives
```
4.000000 1.000000
```
while xlc gives
```
1.000000 4.000000
```
Xlc's output should be correct.

Reviewed By: shchenz, #powerpc

Differential Revision: https://reviews.llvm.org/D107428
The file was modifiedllvm/test/CodeGen/PowerPC/build-vector-tests.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/vec_int_to_double_shuffle.ll
Commit 4fee756c75af4bb6367508626ceb5ba12bd04eb8 by Amara Emerson
Delete copy-ctor of MachineFrameInfo.

I just hit a nasty bug when writing a unit test after calling MF->getFrameInfo()
without declaring the variable as a reference.

Deleting the copy-constructor also showed a place in the ARM backend which was
doing the same thing, albeit it didn't impact correctness there from the looks of it.
The file was modifiedllvm/include/llvm/CodeGen/MachineFrameInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit d6b4993736c2b2e52f1417c72e0f34bba5b5b40e by akuegel
[mlir][MemRef] Fix canonicalization of BufferCast(TensorLoad).

CastOp::areCastCompatible does not check whether casts are definitely compatible.
When going from dynamic to static offset or stride, the canonicalization cannot
know whether it is really cast compatible. In that case, it can only canonicalize
to an alloc plus copy.

Differential Revision: https://reviews.llvm.org/D107545
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
Commit dc9b41f3b45fdd88c5a259e8abd6ede57f457ad0 by 932494295
[JITLink][RISCV] Add relocation fixup test

This patch add R_RISCV_HI20, R_RISCV_LO12 and R_RISCV_CALL relocation test

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D107327
The file was modifiedllvm/test/ExecutionEngine/JITLink/RISCV/ELF_pc_indirect.s
The file was addedllvm/test/ExecutionEngine/JITLink/RISCV/ELF_abs_reloc.s
Commit 82ca845b479359057410c14600f586fd7c86fd5b by yedeng.yd
[NFC] [FuncSpec] Update the Todo list for recursive functions

Now the recursive functions may get specialized many times when
`func-specialization-max-iters` increases. See discussion in
https://reviews.llvm.org/D106426 for details.
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Commit 4b8806d9576959dc75a42f0b461c83157109c3b1 by kuhnel
[doc] added links to discord and discourse

Some folks are not aware that we have a Discourse server in addition to the mailing lists and a Discord server in addition to IRC. So I think we should add that.
These were announced on the mailing list a while ago: https://lists.llvm.org/pipermail/llvm-dev/2019-November/136880.html

Differential Revision: https://reviews.llvm.org/D100943
The file was modifiedllvm/docs/GettingInvolved.rst
Commit 2d9af3db79e623d59da4557c2038535f64135402 by Amara Emerson
[GlobalISel] Make GLoadStore::getMemSize[InBits]() const.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
Commit 835cbfa8cf6330e31498f751baae3df83eab076a by stellaraccident
[mlir][python] Make a number of imports relative.

Avoiding absolute imports allows the code to be relocatable (which is used for out of tree integrations).

Differential Revision: https://reviews.llvm.org/D107617
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/dsl.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/affine.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
Commit 3e58dd19dfa3c2537c3168a4885a5d757b3f1a6a by flo
[LV] Move reduction PHI node fixup to VPlan::execute (NFC).

All information to fix-up the reduction phi nodes in the vectorized loop
is available in VPlan now. This patch moves the code to do so, to make
this clearer. Fixing up the loop exit value still relies on other
information and remains outside of VPlan for now.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D100113
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
Commit 4c4093e6e39fe6601f9c95a95a6bc242ef648cd5 by sepavloff
Introduce intrinsic llvm.isnan

This is recommit of the patch 16ff91ebccda1128c43ff3cee104e2c603569fb2,
reverted in 0c28a7c990c5218d6aec47c5052a51cba686ec5e because it had
an error in call of getFastMathFlags (base type should be FPMathOperator
but not Instruction). The original commit message is duplicated below:

    Clang has builtin function '__builtin_isnan', which implements C
    library function 'isnan'. This function now is implemented entirely in
    clang codegen, which expands the function into set of IR operations.
    There are three mechanisms by which the expansion can be made.

    * The most common mechanism is using an unordered comparison made by
      instruction 'fcmp uno'. This simple solution is target-independent
      and works well in most cases. It however is not suitable if floating
      point exceptions are tracked. Corresponding IEEE 754 operation and C
      function must never raise FP exception, even if the argument is a
      signaling NaN. Compare instructions usually does not have such
      property, they raise 'invalid' exception in such case. So this
      mechanism is unsuitable when exception behavior is strict. In
      particular it could result in unexpected trapping if argument is SNaN.

    * Another solution was implemented in https://reviews.llvm.org/D95948.
      It is used in the cases when raising FP exceptions by 'isnan' is not
      allowed. This solution implements 'isnan' using integer operations.
      It solves the problem of exceptions, but offers one solution for all
      targets, however some can do the check in more efficient way.

    * Solution implemented by https://reviews.llvm.org/D96568 introduced a
      hook 'clang::TargetCodeGenInfo::testFPKind', which injects target
      specific code into IR. Now only SystemZ implements this hook and it
      generates a call to target specific intrinsic function.

    Although these mechanisms allow to implement 'isnan' with enough
    efficiency, expanding 'isnan' in clang has drawbacks:

    * The operation 'isnan' is hidden behind generic integer operations or
      target-specific intrinsics. It complicates analysis and can prevent
      some optimizations.

    * IR can be created by tools other than clang, in this case treatment
      of 'isnan' has to be duplicated in that tool.

    Another issue with the current implementation of 'isnan' comes from the
    use of options '-ffast-math' or '-fno-honor-nans'. If such option is
    specified, 'fcmp uno' may be optimized to 'false'. It is valid
    optimization in general, but it results in 'isnan' always returning
    'false'. For example, in some libc++ implementations the following code
    returns 'false':

        std::isnan(std::numeric_limits<float>::quiet_NaN())

    The options '-ffast-math' and '-fno-honor-nans' imply that FP operation
    operands are never NaNs. This assumption however should not be applied
    to the functions that check FP number properties, including 'isnan'. If
    such function returns expected result instead of actually making
    checks, it becomes useless in many cases. The option '-ffast-math' is
    often used for performance critical code, as it can speed up execution
    by the expense of manual treatment of corner cases. If 'isnan' returns
    assumed result, a user cannot use it in the manual treatment of NaNs
    and has to invent replacements, like making the check using integer
    operations. There is a discussion in https://reviews.llvm.org/D18513#387418,
    which also expresses the opinion, that limitations imposed by
    '-ffast-math' should be applied only to 'math' functions but not to
    'tests'.

    To overcome these drawbacks, this change introduces a new IR intrinsic
    function 'llvm.isnan', which realizes the check as specified by IEEE-754
    and C standards in target-agnostic way. During IR transformations it
    does not undergo undesirable optimizations. It reaches instruction
    selection, where is lowered in target-dependent way. The lowering can
    vary depending on options like '-ffast-math' or '-ffp-model' so the
    resulting code satisfies requested semantics.

    Differential Revision: https://reviews.llvm.org/D104854
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/aarch64-fpclass.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/X86/strictfp_builtins.c
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/test/CodeGen/strictfp_builtins.c
The file was addedllvm/test/CodeGen/X86/x86-fpclass.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedclang/test/CodeGen/aarch64-strictfp-builtins.c
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was addedllvm/test/CodeGen/PowerPC/ppc-fpclass.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was addedllvm/test/Transforms/InstSimplify/ConstProp/fpclassify.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was addedllvm/test/Transforms/InstCombine/fpclass.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Commit cc3f40bb41a7e818f68c9bda4457cb6776a183f3 by yedeng.yd
[FuncSpec] Move invariant computation for spec cost out of loop (NFC-ish)

Noticed that the computation for function specialization cost of a
function wouldn't change during the traversal of the arguments for the
function. We could hoist the computation out of the traversal. I
observed about ~1% improvement on compile time for spec2017. But I guess
it may not be precise. This should be NFC and fine.

Reviewed By: Sjoerd Meijer

Differential Revision: https://reviews.llvm.org/D107621
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Commit 62fc3e0ad6e402d842ce3551bfe3c3e28e92f084 by yedeng.yd
[NFC] [FuncSpec] Remove unused variables in isArgumentInteresting
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Commit cd2594e1c67836bfeb8dd416ac32c77abba3f290 by jay.foad
[GlobalISel] Improve legalization of narrow CTTZ

Differential Revision: https://reviews.llvm.org/D107457
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Commit d77b43c385276536c48c02761d7149e0dbad5aae by jay.foad
[AMDGPU][GlobalISel] Add G_AMDGPU_FFBL_B32

This is the counterpart to G_AMDGPU_FFBH_U32 which already exists. These
instructions have a defined result of -1 when the input is zero.

Differential Revision: https://reviews.llvm.org/D107441
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-ffbl-b32.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbl-b32.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit 24b67a9024cc1a757466b4a40c05b4fd8e4b3c69 by jay.foad
[AMDGPU][GlobalISel] Improve regbankselect for 64-bit VGPR ctlz_zero_undef/cttz_zero_undef

We can improve on the generic splitting by using ffbh/ffbl, which have a
defined result when the input is zero.

Differential Revision: https://reviews.llvm.org/D107442
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ctlz-zero-undef.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-cttz-zero-undef.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz.ll
Commit 83610d4eb025c07c311c4ff73accac53e21cf759 by jay.foad
[AMDGPU][GlobalISel] Better legalization of 32-bit ctlz/cttz

Differential Revision: https://reviews.llvm.org/D107474
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-cttz-zero-undef.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbh-u32.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbl-b32.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz.ll
Commit 43a5c750d1830e50b4c1b256aea82126caba6b2e by david.sherwood
Revert "[LoopVectorize] Add support for replication of more intrinsics with scalable vectors"

This reverts commit 95800da914938129083df2fa0165c1901909c273.
The file was removedllvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll
The file was removedllvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was removedllvm/test/Transforms/LoopVectorize/scalable-assume.ll
Commit 2919ac8971727930d939aeccfc9a4e50ad6b9884 by esme.yi
[llvm-readobj][XCOFF] Warn about invalid offset

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107398
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
Commit 0fd03feb4ba5d86835ac386eebe16cbc3cfb36ec by yedeng.yd
[FuncSpec] Return changed if function is changed by tryToReplaceWithConstant

The may get changed before specialization by RunSCCPSolver. In other
words, the pass may change the function without specialization happens.
Add test and comment to reveal this.
And it may return No Changed if the function get changed by
RunSCCPSolver before the specialization. It looks like a potential bug.

Test Plan: check-all

Reviewed By: https://reviews.llvm.org/D107622

Differential Revision: https://reviews.llvm.org/D107622
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
Commit 59f59d1c621cf6844c41fd92ad32a897fc9d10bd by vlad.vinogradov
[mlir] Allow to override type/attr aliases from various hooks

Use new return type for `OpAsmDialectInterface::getAlias`:

* `AliasResult::NoAlias` if an alias was not provided.
* `AliasResult::OverridableAlias` if an alias was provided, but it might be overriden by other hook.
* `AliasResult::FinalAlias` if an alias was provided and it should be used (no other hooks will be checked).

In that case `AsmPrinter` will use either the first alias with `FinalAlias` result or
the last alias with `OverridableAlias` result (it depends on dialect array order).

Used `OverridableAlias` result for `BuiltinOpAsmDialectInterface`.

Use case: provide more informative alias for built-in attributes like `AffineMapAttr`
instead of generic "map<N>".

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D107437
The file was modifiedmlir/test/IR/print-attr-type-aliases.mlir
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/IR/BuiltinDialect.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 3fd96e1b2e129b981f1bc1be2615486187e74687 by david.sherwood
[LoopVectorize] Improve vectorisation of some intrinsics by treating them as uniform

This patch adds more instructions to the Uniforms list, for example certain
intrinsics that are uniform by definition or whose operands are loop invariant.
This list includes:

  1. The intrinsics 'experimental.noalias.scope.decl' and 'sideeffect', which
  are always uniform by definition.
  2. If intrinsics 'lifetime.start', 'lifetime.end' and 'assume' have
  loop invariant input operands then these are also uniform too.

Also, in VPRecipeBuilder::handleReplication we check if an instruction is
uniform based purely on whether or not the instruction lives in the Uniforms
list. However, there are certain cases where calls to some intrinsics can
be effectively treated as uniform too. Therefore, we now also treat the
following cases as uniform for scalable vectors:

  1. If the 'assume' intrinsic's operand is not loop invariant, then we
  are free to treat this as uniform anyway since it's only a performance
  hint. We will get the benefit for the first lane.
  2. When the input pointers for 'lifetime.start' and 'lifetime.end' are loop
  variant then for scalable vectors we assume these still ultimately come
  from the broadcast of an alloca. We do not support scalable vectorisation
  of loops containing alloca instructions, hence the alloca itself would
  be invariant. If the pointer does not come from an alloca then the
  intrinsic itself has no effect.

I have updated the assume test for fixed width, since we now treat it
as uniform:

  Transforms/LoopVectorize/assume.ll

I've also added new scalable vectorisation tests for other intriniscs:

  Transforms/LoopVectorize/scalable-assume.ll
  Transforms/LoopVectorize/scalable-lifetime.ll
  Transforms/LoopVectorize/scalable-noalias-scope-decl.ll

Differential Revision: https://reviews.llvm.org/D107284
The file was addedllvm/test/Transforms/LoopVectorize/scalable-assume.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll
The file was addedllvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
Commit 22fdf617b6103df30ffae6cf469b78036e4ba615 by sven.vanhaastregt
[OpenCL][Docs] Adding builtins requires adding to both now

As we are trying to reach parity between opencl-c.h and
-fdeclare-opencl-builtins, ensure the documentation mentions that new
builtins should be added to both.

Reviewed by: Anastasia Stulova
The file was modifiedclang/docs/OpenCLSupport.rst
Commit 08bc4411740b93bdeaf61c164d80d3e94ea0be54 by cullen.rhodes
[AArch64] NFC: drop unnecessary llvm:: namespace prefix on MCInst
The file was modifiedllvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
Commit 9c63e5b415d1d62116fec160c6ac1f3c00933ed9 by Stefan Gränitz
[Orc][examples] Temporarily disable tests for the C API due to failures on sanitizer bots

These tests were added while the OrcV2Example tests had been disabled:
https://reviews.llvm.org/rGe5d8cfb2f134fcf0235ec1a35eec875a9cd36b21

Failures on sanitizer bots:
https://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/7992/testReport/
The file was modifiedllvm/test/Examples/lit.local.cfg
Commit a5a2f05dcc803e79a797fb82dc0932a1a00ac46f by Justas.Janickas
[C++4OpenCL] Introduces __remove_address_space utility

This change provides a way to conveniently declare types that have
address space qualifiers removed.

Since OpenCL adds address spaces implicitly even when they are not
specified in source, it is useful to allow deriving address space
unqualified types.

Fixes llvm.org/PR45326

Differential Revision: https://reviews.llvm.org/D106785
The file was addedclang/test/CodeGenOpenCLCXX/remove-address-space.clcpp
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/docs/LanguageExtensions.rst
Commit aa2210a830699fbf6e218789ac3da7abffee0b0c by pifon
[linalg] Expose `rewriteAsPaddedOp` function.

Differential Revision: https://reviews.llvm.org/D107629
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Commit 18e6a03b1a15b2661259af15ae604b4c4850cd61 by llvm-dev
[X86][AVX] Extract SUBV_BROADCAST constant bits from just the lower subvector range (PR51281)

As reported on PR51281, an internal fuzz test encountered an issue when extracting constant bits from a SUBV_BROADCAST node from a constant pool source larger than the broadcasted subvector width.

The getTargetConstantBitsFromNode was assuming that the Constant would the same size as the subvector, resulting in the incorrect packing of the per-element bits data.

This patch attempts to solve this by using the SUBV_BROADCAST node to determine the subvector width, and then ensuring we extract only the lowest bits from Constant of that subvector bitsize.

Differential Revision: https://reviews.llvm.org/D107158
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr51281.ll
Commit dbce6a8d9d7c78e6aee989db8a9f29ad8b7cf0a7 by llvm-dev
[ARM] Fold insert_subvector to concat_vectors

D107068 fixed the same problem on aarch64 but the arm variant wasn't exposed in existing test coverage.

I've copied the arm64-neon-copy tests (and stripped the intrinsic test from it) for testing on arm neon builds as well.
The file was addedllvm/test/CodeGen/ARM/neon-copy.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 5173854f1994a8cbeb1da0ca074e8f9bcff2be92 by Reshabhkumar.Sharma
[AMDGPU] Handle functions in llvm's global ctors and dtors list

This patch introduces a new code object metadata field, ".kind"
which is used to add support for init and fini kernels.

HSAStreamer will use function attributes, "device-init" and
"device-fini" to distinguish between init and fini kernels from
the regular kernels and will emit metadata with ".kind" set to
"init" and "fini" respectively.

To reduce the number of init and fini kernels, the ctors and
dtors present in the llvm's global.ctors and global.dtors lists
are called from a single init and fini kernel respectively.

Reviewed by: yaxunl

Differential Revision: https://reviews.llvm.org/D105682
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ctor-dtor-list.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was addedllvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was addedllvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was addedllvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
Commit 6385abd0c4490e0516cb31c0b86c0fbcc052f815 by aaron
Split 'qualifier on reference type has no effect' out into a new flag

This introduces a new flag ignored-reference-qualifiers for the
existing "'A' qualifier on reference type B has no effect" diagnostic,
as a child of ignored-qualifiers.

Rationale:
This particular diagnostic is enabled by default, but other parts of
ignored-qualifiers are not. Anecdotally, a user may encounter this
diagnostic in the wild, and, seeing it to be valuable, might try to
raise it to error with -Werror=ignored-qualifiers, whereupon the other
diagnostics the flag covers will also be raised, to the user's surprise
and confusion. By splitting this diagnostic out into a separate flag,
and marking it as a child of ignored-qualifiers, we allow the user more
granular control of the diagnostics they care about, while maintaining
backwards compatibility with existing build scripts.
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit ae1a2a09e41ee7464e785e8925f360f256d0eaca by mtrofin
[NFC][MLGO] Make logging more robust

1) add some self-diagnosis (when asserts are enabled) to check that all
features have the same nr of entries

2) avoid storing pointers to mutable fields because the proto API
contract doesn't actually guarantee those stay fixed even if no further
mutation of the object occurs.

Differential Revision: https://reviews.llvm.org/D107594
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
Commit 779714f89bef33f153841b7ec969578ee22b3694 by ro
[profile] Only use NT_GNU_BUILD_ID if supported

The Solaris buildbots have been broken for some time by the unconditional
use of `NT_GNU_BUILD_ID`, e.g. Solaris/sparcv9
<https://lab.llvm.org/staging/#/builders/50/builds/4910> and Solaris/amd64
<https://lab.llvm.org/staging/#/builders/101/builds/3751>.  Being a GNU
extension, it is not defined in `<sys/elf.h>`.  However, providing a
fallback definition doesn't help because the code also relies on
`__ehdr_start`, another unportable GNU extension that most likely never
will be implemented in Solaris `ld`.  Besides, there's reallly no point in
supporting build ids since they aren't used on Solaris at all.

This patch fixes this by making the relevant code conditional on the
definition of `NT_GNU_BUILD_ID`.

Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D107556
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformLinux.c
Commit 3709822d2602b8b7db2d9bcc0e856f676582f25d by andrzej.warzynski
[flang][docs] Document the `flang` wrapper script

Differential Revision: https://reviews.llvm.org/D107543
The file was modifiedflang/docs/FlangDriver.md
Commit 4aafd5f00c2a772337ec065d4542ef158453a343 by Jan Svoboda
[clang] Remove misleading assertion in FullSourceLoc

D31709 added an assertion was added to `FullSourceLoc::hasManager()` that ensured a valid `SourceLocation` is always paired with a `SourceManager`, and missing `SourceManager` is always paired with an invalid `SourceLocation`.

This appears to be incorrect, since clients never cared about constructing `FullSourceLoc` to uphold that invariant, or always checking `isValid()` before calling `hasManager()`.

The assertion started failing when serializing diagnostics pointing into an explicit module. Explicit modules don't have valid `SourceLocation` for the `import` statement, since they are "imported" from the command-line argument `-fmodule-name=x.pcm`.

This patch removes the assertion, since `FullSourceLoc` was never intended to uphold any kind of invariants between the validity of `SourceLocation` and presence of `SourceManager`.

Reviewed By: arphaman

Differential Revision: https://reviews.llvm.org/D106862
The file was modifiedclang/include/clang/Basic/SourceLocation.h
The file was addedclang/test/Modules/Inputs/explicit-build-diags/a.h
The file was addedclang/test/Modules/explicit-build-diags.cpp
The file was addedclang/test/Modules/Inputs/explicit-build-diags/module.modulemap
Commit 02b1c3f0529e525a4ffa671478050f4704b3f472 by dmitry.preobrazhensky
[AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description.

Corrected sendmsg description (bug https://bugs.llvm.org/show_bug.cgi?id=49648).
The file was modifiedllvm/docs/AMDGPU/gfx9_msg.rst
The file was modifiedllvm/docs/AMDGPU/gfx8_msg.rst
The file was modifiedllvm/docs/AMDGPU/gfx10_msg.rst
The file was modifiedllvm/docs/AMDGPU/gfx90a_msg.rst
Commit 3bf77980d934c4aa383e4ea9a9a5de86598bea9b by kadircet
[clangd] Strip mutliple arch options

This patch strips all the arch options in case of multiple ones. As it
results in multiple compiler jobs, which clangd cannot handle.

It doesn't pick any over the others as it is unclear which one the user wants
and defaulting to host architecture seems less surprising. Users also have the
ability to explicitly specify the architecture they want via clangd config
files.

Fixes https://github.com/clangd/clangd/issues/827.

Differential Revision: https://reviews.llvm.org/D107634
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
Commit 79c2616d315f54d72bcdeebb6576c84be7b585d8 by kadircet
[clangd] Canonicalize inputs provided with `--`

We already strip all the inputs provided without `--`, this patch also
handles the cases with `--`.

Differential Revision: https://reviews.llvm.org/D107637
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
Commit f221d905b131158cbe3cbc4320d1ecd1376c3f22 by arthur.j.odwyer
[libc++] IWYU to fix Modules complaints about _LIBCPP_ASSERT. NFCI.

This fixes all places that used _LIBCPP_ASSERT without including <__debug>.

    git grep -l _LIBCPP_ASSERT | xargs git grep -L __debug
The file was modifiedlibcxx/include/__ranges/view_interface.h
The file was modifiedlibcxx/include/__functional/function.h
The file was modifiedlibcxx/include/__ranges/drop_view.h
The file was modifiedlibcxx/include/__algorithm/sample.h
Commit 57b9107e3f8dd449cbb7a8e50cf596eb4d49a9e1 by jay.foad
[GlobalISel] Improve widening of cttz/cttz_zero_undef

Differential Revision: https://reviews.llvm.org/D107631
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz-zero-undef.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz.ll
Commit 420e1d4cf45d78a6f9edb935f44dfa4249de16f4 by Jake.Egan
[AIX] Define __THW_BIG_ENDIAN__ macro

%%%
This patch defines the macro __THW_BIG_ENDIAN__ for AIX.
%%%

Tested with SPEC.

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D107241
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/init-ppc.c
Commit 3189dd205a581272b9a0cfc614e8f341495fc716 by Jake.Egan
[AIX] Define __THW_PPC__ macro

%%%
This patch defines the macro __THW_PPC__ for AIX.
%%%

Tested with SPEC.

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D107243
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/test/Preprocessor/init-ppc.c
Commit 3c8e94bc20e5829ab5167d21d242b6b624dd934e by aaron
Disallow narrowing conversions to bool in noexcept specififers

Completes the support for P1401R5.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/test/CXX/except/except.spec/p1.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/SemaCXX/ignored-reference-qualifiers-disabled.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/SemaCXX/cxx2a-explicit-bool.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp
Commit 131b4620ee7847102479f399ce3e35a3c1cb5461 by aaron
Implement P1937 consteval in unevaluated contexts

In an unevaluated contexts, consteval functions should not be
immediately evaluated.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-consteval.cpp
The file was modifiedclang/test/CXX/basic/basic.def.odr/p2-typeid.cpp
The file was modifiedclang/www/cxx_status.html
Commit 100a7b6197863d4d5ebc97761d7e98063e164e26 by paul.robinson
[lit] Have REQUIRES support the target triple

Currently the UNSUPPORTED and XFAIL clauses support specifying
substrings of the target triple; but REQUIRES does not, which can trip
people up or lead to hacking config files to insert substitute feature
names.  Consistency across all three lit clauses seems preferable.

Differential Revision: https://reviews.llvm.org/D107162
The file was modifiedllvm/utils/lit/lit/Test.py
The file was modifiedllvm/utils/lit/tests/Inputs/xunit-output/lit.cfg
The file was modifiedllvm/utils/lit/tests/shtest-format.py
The file was modifiedllvm/utils/lit/tests/Inputs/shtest-format/requires-triple.txt
The file was modifiedllvm/docs/TestingGuide.rst
Commit 869d07ee88a4355f5954ef9e2b2e79ceff225ddb by Jake.Egan
[AIX] Define __HOS_AIX__ macro

%%%
This patch defines __HOS_AIX__ macro for AIX in case of a cross compiler implementation.
%%%
Tested with SPEC.

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D107242
The file was addedclang/test/Preprocessor/host-aix.c
The file was addedclang/test/Preprocessor/not-host-aix.c
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
Commit 41bcfe81742ed6462096ccb42aa5f2b9d67027fc by Jake.Egan
[AIX] Define _ARCH_PPC64 macro for 32-bit

%%%
The macro _ARCH_PPC64 is already defined for 64-bit, but this patch defines it for 32-bit on AIX to follow xlc. See: https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.0?topic=features-macros-related-architecture-settings

Note: This change creates a discrepancy between GCC, which defines _ARCH_PPC64 only for 64-bit mode.

Tested with SPEC.
%%%

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D107244
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/test/Preprocessor/init-ppc.c
Commit 17e9732f48adcc0b1211ee9f3c5151ba3870cb50 by paul.robinson
Fix test failure found by "Have REQUIRES support the target triple"
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/2012-04-23-Neon-Intrinsics.ll
Commit c4c103097660b7b130eaf134919516726d7bd9e6 by zinenko
[mlir] support collapsed loops in OpenMP-to-LLVM translation

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D105706
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
The file was modifiedmlir/test/Target/LLVMIR/openmp-llvm.mlir
Commit 276be84d0abc1a730df956417a89f35b75afd59b by kazu
[CodeGen] Remove computeDefOperandLatency (NFC)

The last use was removed on Oct 9, 2016 in commit
5c924d71173afc93aa0f0d115bd445a7496f4294.
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
Commit ca6baf1e1da2ef1dcfcae837242ef0024a75f400 by gcmn
[MLIR][std] Introduce bitcast operation

This patch introduces a bitcast operation to the standard dialect.
RFC: https://llvm.discourse.group/t/rfc-introduce-a-bitcast-op/3774

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D105376
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Standard/ops.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
Commit 825a08f898f0eb727408e67fb75acc1ebdc1b85b by Jonas Devlieghere
[lldb] Fix TestFunctionStarts.py on AS

The tests strips the binary which invalidates the code signature. Skip
code signing for this test.
The file was modifiedlldb/test/API/macosx/function-starts/TestFunctionStarts.py
Commit e4cc071e9220333d47d5f9b399080e5ab21051f5 by paul.robinson
Disable a dataflow fuzz test after "Have REQUIRES support the target triple"

See: https://lab.llvm.org/buildbot/#/builders/75/builds/8095/steps/8/logs/stdio

which shows:
unsupported option '-fsanitize=dataflow' for target 'i386-unknown-linux-gnu'

The other dataflow tests in the same directory were already disabled,
so I think it's fine to disable this one as well.
The file was modifiedcompiler-rt/test/fuzzer/dataflow.test
Commit 16ebb7ab5c462518388527b6ebee2f0e1080b777 by pirama
[llvm-objcopy] [COFF] Do not patch debug entries if PointerToRawData is zero

Fix an edge case missed by https://reviews.llvm.org/D78921.  For e.g.,
the Repro debug entry (generated with the /Brepro linker flag) does not
have a debug-directory payload.  Do not attempt to patch Debug entries
without a payload.

Differential Revision: https://reviews.llvm.org/D107324
The file was modifiedllvm/test/tools/llvm-objcopy/COFF/debug-dir-unmapped.test
The file was addedllvm/test/tools/llvm-objcopy/COFF/debug-entry-no-payload.test
The file was modifiedllvm/tools/llvm-objcopy/COFF/Writer.cpp
Commit f88ad8d00f970ea937e8d3fcb71f4d4019f2821a by paul.robinson
Speculative fix for MachO lld test after "Have REQUIRES support the target triple"

See: http://45.33.8.238/macm1/15677/step_10.txt

This is a test that has `REQUIRES: x86` which means it never ran
before; I don't have a MachO environment but based on the FileCheck
output it looks like it should be sufficient to remove one CHECK line.
The file was modifiedlld/test/MachO/search-paths-darwin.test
Commit 77e8f4eeeeed516a1c79365a4b8128da463d96c4 by david.green
[ARM] Define ComplexPatternFuncMutatesDAG

Some of the Arm complex pattern functions call canExtractShiftFromMul,
which can modify the DAG in-place. For this to be valid and handled
successfully we need to define ComplexPatternFuncMutatesDAG.

Differential Revision: https://reviews.llvm.org/D107476
The file was modifiedllvm/test/CodeGen/ARM/shifter_operand.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit b2ca4dc935859b324fd7e9ca804160913a7468a5 by craig.topper
[LegalizeTypes] Add a simple expansion for SMULO when a libcall isn't available.

This isn't optimal, but prevents crashing when the libcall isn't
available. It just calculates the full product and makes sure the high bits
match the sign of the low half. Each of the pieces should go through their own
type legalization.

This can make D107420 unnecessary.

Needs tests, but I wanted to start discussion about D107420.

Reviewed By: FreddyYe

Differential Revision: https://reviews.llvm.org/D107581
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was addedllvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d1cacd59281937fccc682babbb8a259a6aa79c68 by michael.hliao
[MemCpyOpt] Teach memcpyopt to handle loads from the constant memory.

- Loads from the constant memory (either explicit one or as the source
  of memory transfer intrinsics) won't alias any stores.

Reviewed By: asbirlea, efriedma

Differential Revision: https://reviews.llvm.org/D107605
The file was modifiedllvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/test/Transforms/MemCpyOpt/memmove.ll
Commit eae4a44c1d4b3352443dc0021149fb9ca45d5727 by Jon Roelofs
[GlobalISel][KnownBits] Implement G_CTPOP

Implementation copied almost verbatim from ValueTracking.

Differential revision: https://reviews.llvm.org/D107606
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 30b0c455b150c9e29f2a4f500fa721dea82d5e37 by Jinsong Ji
[LoopCacheAnalysis]: handle mismatch type for Numerator and CacheLineSize

fix an assertion due to mismatch type for Numerator and CacheLineSize in loop cache analysis pass.

Reviewed By: bmahjour

Differential Revision: https://reviews.llvm.org/D107618
The file was addedllvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost-m32.ll
The file was modifiedllvm/lib/Analysis/LoopCacheAnalysis.cpp
Commit 5522ec00bcff05cf882328c49ef4d2f20d265cb4 by markus.boeck02
[mlir][NFC] Fix typos in DataLayoutInterfaces.td
The file was modifiedmlir/include/mlir/Interfaces/DataLayoutInterfaces.td
Commit 4ad9ec8a328ccb3b836c993bba954366f05b2fd4 by sam.mccall
[clangd] Rename Features.h -> Feature.h to avoid confilct with libstdc++

Fixes https://github.com/clangd/clangd/issues/835

Differential Revision: https://reviews.llvm.org/D107624
The file was modifiedclang-tools-extra/clangd/Transport.h
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was removedclang-tools-extra/clangd/Features.cpp
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was addedclang-tools-extra/clangd/Feature.cpp
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was removedclang-tools-extra/clangd/Features.h
The file was addedclang-tools-extra/clangd/Feature.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
Commit 772d2093fc30b545df61c25d3b05a90ed2909e92 by llvmgnsyncbot
[gn build] Port 4ad9ec8a328c
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit c120edc7b3e1907127c3107b30e2667f1fde1ee2 by michaelrj
[libc][nfc] move ctype_utils and FPUtils to __support

Some ctype functions are called from other libc functions (e.g. isspace
is used in atoi). By moving ctype_utils.h to __support it becomes easier
to include just the implementations of these functions. For these
reasons the implementation for isspace was moved into
ctype_utils as well.

FPUtils was moved to simplify the build order, and to clarify which
files are a part of the actual libc.

Many files were modified to accomodate these changes, mostly changing
the #include paths.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D107600
The file was modifiedlibc/src/fenv/fesetexceptflag.cpp
The file was modifiedlibc/src/fenv/feraiseexcept.cpp
The file was modifiedlibc/src/fenv/feupdateenv.cpp
The file was modifiedlibc/src/math/generic/round.cpp
The file was removedlibc/utils/FPUtil/x86_64/FMA.h
The file was modifiedlibc/test/src/math/exhaustive/sinf_test.cpp
The file was modifiedlibc/test/src/math/generic/CMakeLists.txt
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/math/exhaustive/expm1f_test.cpp
The file was addedlibc/src/__support/FPUtil/DivisionAndRemainderOperations.h
The file was modifiedlibc/src/fenv/fegetenv.cpp
The file was removedlibc/utils/FPUtil/TestHelpers.h
The file was modifiedlibc/src/math/generic/fdimf.cpp
The file was modifiedlibc/src/math/generic/nextafterl.cpp
The file was modifiedlibc/src/fenv/feholdexcept.cpp
The file was modifiedlibc/test/src/math/exp2f_test.cpp
The file was modifiedlibc/src/math/generic/floor.cpp
The file was modifiedlibc/src/math/generic/lrint.cpp
The file was modifiedlibc/src/math/generic/lrintf.cpp
The file was modifiedlibc/src/math/generic/fabs.cpp
The file was modifiedlibc/src/ctype/toupper.cpp
The file was addedlibc/src/__support/FPUtil/BasicOperations.h
The file was removedlibc/utils/FPUtil/FloatProperties.h
The file was modifiedlibc/test/src/math/FloorTest.h
The file was addedlibc/src/__support/FPUtil/NormalFloat.h
The file was modifiedlibc/src/math/generic/copysignf.cpp
The file was modifiedlibc/src/math/generic/nextafter.cpp
The file was modifiedlibc/src/math/generic/fminf.cpp
The file was addedlibc/src/__support/FPUtil/generic/README.md
The file was modifiedlibc/src/ctype/isspace.cpp
The file was modifiedlibc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
The file was addedlibc/src/__support/FPUtil/FloatProperties.h
The file was removedlibc/utils/FPUtil/DummyFEnvImpl.h
The file was modifiedlibc/src/math/generic/truncf.cpp
The file was modifiedlibc/src/math/generic/ilogbf.cpp
The file was modifiedlibc/test/src/math/RIntTest.h
The file was modifiedlibc/src/math/generic/copysign.cpp
The file was removedlibc/utils/FPUtil/TestHelpers.cpp
The file was modifiedlibc/src/math/generic/remainderf.cpp
The file was modifiedlibc/src/math/generic/nearbyintf.cpp
The file was modifiedlibc/test/src/math/FMinTest.h
The file was modifiedlibc/src/math/generic/fmax.cpp
The file was modifiedlibc/test/src/math/expf_test.cpp
The file was modifiedlibc/src/math/generic/CMakeLists.txt
The file was modifiedlibc/src/math/generic/ldexpl.cpp
The file was removedlibc/utils/FPUtil/FPBits.h
The file was modifiedlibc/src/math/generic/floorl.cpp
The file was modifiedlibc/src/math/generic/remquo.cpp
The file was modifiedlibc/test/utils/FPUtil/CMakeLists.txt
The file was addedlibc/src/__support/FPUtil/PolyEval.h
The file was modifiedlibc/src/math/generic/ceill.cpp
The file was modifiedlibc/test/src/fenv/CMakeLists.txt
The file was removedlibc/utils/FPUtil/FMA.h
The file was removedlibc/utils/FPUtil/x86_64/FEnvImpl.h
The file was modifiedlibc/test/src/math/sin_test.cpp
The file was modifiedlibc/src/ctype/isalnum.cpp
The file was modifiedlibc/src/math/generic/roundf.cpp
The file was addedlibc/src/__support/FPUtil/x86_64/FMA.h
The file was modifiedlibc/src/math/generic/frexpf.cpp
The file was addedlibc/src/__support/FPUtil/TestHelpers.h
The file was modifiedlibc/src/fenv/fegetround.cpp
The file was modifiedlibc/src/math/generic/hypotf.cpp
The file was removedlibc/utils/FPUtil/SqrtLongDoubleX86.h
The file was modifiedlibc/src/math/CMakeLists.txt
The file was modifiedlibc/src/math/generic/llround.cpp
The file was modifiedlibc/src/math/generic/fdiml.cpp
The file was modifiedlibc/src/math/generic/roundl.cpp
The file was removedlibc/utils/FPUtil/FPExceptMatcher.h
The file was modifiedlibc/src/math/generic/modf.cpp
The file was modifiedlibc/test/src/math/FAbsTest.h
The file was addedlibc/src/__support/FPUtil/NextAfterLongDoubleX86.h
The file was modifiedlibc/src/fenv/fetestexcept.cpp
The file was removedlibc/utils/FPUtil/FEnvUtils.h
The file was addedlibc/src/__support/FPUtil/Hypot.h
The file was removedlibc/utils/FPUtil/PolyEval.h
The file was modifiedlibc/src/math/generic/expm1f.cpp
The file was addedlibc/src/__support/FPUtil/FPExceptMatcher.h
The file was modifiedlibc/test/src/math/FrexpTest.h
The file was modifiedlibc/src/math/generic/ceil.cpp
The file was modifiedlibc/test/src/fenv/feupdateenv_test.cpp
The file was modifiedlibc/test/src/math/ilogb_test.cpp
The file was modifiedlibc/src/math/generic/truncl.cpp
The file was addedlibc/src/__support/FPUtil/SqrtLongDoubleX86.h
The file was modifiedlibc/test/src/math/CeilTest.h
The file was modifiedlibc/test/src/math/fdimf_test.cpp
The file was addedlibc/src/__support/FPUtil/FEnvUtils.h
The file was modifiedlibc/test/src/fenv/exception_status_test.cpp
The file was addedlibc/src/__support/FPUtil/FPExceptMatcher.cpp
The file was removedlibc/utils/FPUtil/PlatformDefs.h
The file was modifiedlibc/test/src/math/FDimTest.h
The file was modifiedlibc/src/math/generic/fdim.cpp
The file was modifiedlibc/src/math/generic/lround.cpp
The file was addedlibc/src/__support/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp
The file was removedlibc/utils/FPUtil/NextAfterLongDoubleX86.h
The file was modifiedlibc/src/fenv/feclearexcept.cpp
The file was addedlibc/src/__support/FPUtil/generic/FMA.h
The file was modifiedlibc/src/math/generic/modff.cpp
The file was modifiedlibc/test/src/fenv/getenv_and_setenv_test.cpp
The file was modifiedlibc/src/math/generic/rintl.cpp
The file was removedlibc/utils/FPUtil/generic/FMA.h
The file was removedlibc/utils/FPUtil/LongDoubleBitsX86.h
The file was addedlibc/src/__support/FPUtil/LongDoubleBitsX86.h
The file was modifiedlibc/test/src/math/fdiml_test.cpp
The file was modifiedlibc/src/math/generic/fminl.cpp
The file was modifiedlibc/test/src/math/differential_testing/CMakeLists.txt
The file was removedlibc/utils/FPUtil/Hypot.h
The file was modifiedlibc/src/math/generic/llroundl.cpp
The file was addedlibc/src/__support/FPUtil/Sqrt.h
The file was removedlibc/utils/FPUtil/aarch64/FMA.h
The file was modifiedlibc/src/ctype/isgraph.cpp
The file was modifiedlibc/src/math/generic/ilogb.cpp
The file was removedlibc/utils/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/src/ctype/CMakeLists.txt
The file was modifiedlibc/utils/CMakeLists.txt
The file was modifiedlibc/test/src/math/NextAfterTest.h
The file was modifiedlibc/src/math/generic/lroundf.cpp
The file was modifiedlibc/src/math/generic/rintf.cpp
The file was modifiedlibc/fuzzing/math/CMakeLists.txt
The file was modifiedlibc/src/math/generic/ldexp.cpp
The file was addedlibc/src/__support/FPUtil/aarch64/FMA.h
The file was removedlibc/utils/FPUtil/FPExceptMatcher.cpp
The file was modifiedlibc/src/math/generic/fmaxl.cpp
The file was modifiedlibc/test/src/math/RoundToIntegerTest.h
The file was modifiedlibc/src/math/generic/fmaxf.cpp
The file was modifiedlibc/src/math/generic/logb.cpp
The file was modifiedlibc/src/ctype/ispunct.cpp
The file was modifiedlibc/src/ctype/isxdigit.cpp
The file was modifiedlibc/test/src/math/ILogbTest.h
The file was removedlibc/utils/FPUtil/Sqrt.h
The file was modifiedlibc/src/math/fma.cpp
The file was modifiedlibc/src/math/generic/remainder.cpp
The file was addedlibc/src/__support/FPUtil/FMA.h
The file was modifiedlibc/test/src/math/exhaustive/CMakeLists.txt
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/src/math/generic/ilogbl.cpp
The file was modifiedlibc/test/src/fenv/feholdexcept_test.cpp
The file was modifiedlibc/test/src/math/TruncTest.h
The file was modifiedlibc/src/fenv/fegetexceptflag.cpp
The file was addedlibc/src/__support/FPUtil/FPBits.h
The file was modifiedlibc/src/math/generic/ldexpf.cpp
The file was removedlibc/utils/FPUtil/BasicOperations.h
The file was modifiedlibc/src/ctype/isalpha.cpp
The file was modifiedlibc/src/math/generic/copysignl.cpp
The file was modifiedlibc/fuzzing/math/RemQuoDiff.h
The file was modifiedlibc/src/fenv/fesetenv.cpp
The file was modifiedlibc/test/utils/FPUtil/x86_long_double_test.cpp
The file was modifiedlibc/test/src/fenv/exception_flags_test.cpp
The file was modifiedlibc/test/src/math/CopySignTest.h
The file was removedlibc/utils/FPUtil/DivisionAndRemainderOperations.h
The file was modifiedlibc/src/math/generic/hypot.cpp
The file was modifiedlibc/src/math/generic/logbl.cpp
The file was modifiedlibc/test/src/math/expm1f_test.cpp
The file was removedlibc/utils/FPUtil/CMakeLists.txt
The file was modifiedlibc/src/math/generic/fmin.cpp
The file was modifiedlibc/src/math/generic/llrintl.cpp
The file was addedlibc/src/__support/FPUtil/x86_64/FEnvImpl.h
The file was modifiedlibc/src/math/generic/trunc.cpp
The file was modifiedlibc/fuzzing/math/Compare.h
The file was removedlibc/utils/FPUtil/generic/README.md
The file was removedlibc/utils/FPUtil/aarch64/FEnvImpl.h
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
The file was modifiedlibc/test/src/math/cos_test.cpp
The file was modifiedlibc/fuzzing/math/TwoInputSingleOutputDiff.h
The file was addedlibc/src/__support/FPUtil/TestHelpers.cpp
The file was modifiedlibc/src/math/generic/nearbyintl.cpp
The file was modifiedlibc/src/math/generic/sqrtf.cpp
The file was modifiedlibc/test/src/math/exhaustive/sqrtf_test.cpp
The file was modifiedlibc/test/src/math/ilogbl_test.cpp
The file was modifiedlibc/src/math/generic/modfl.cpp
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was addedlibc/src/__support/FPUtil/DummyFEnvImpl.h
The file was removedlibc/utils/FPUtil/NearestIntegerOperations.h
The file was modifiedlibc/src/math/generic/remquof.cpp
The file was modifiedlibc/src/__support/CMakeLists.txt
The file was modifiedlibc/src/math/generic/lroundl.cpp
The file was modifiedlibc/test/src/math/tan_test.cpp
The file was modifiedlibc/src/math/generic/frexp.cpp
The file was addedlibc/src/__support/FPUtil/aarch64/FEnvImpl.h
The file was modifiedlibc/src/math/generic/remainderl.cpp
The file was removedlibc/utils/FPUtil/NormalFloat.h
The file was modifiedlibc/src/math/generic/nextafterf.cpp
The file was modifiedlibc/test/src/math/CMakeLists.txt
The file was removedlibc/src/ctype/ctype_utils.h
The file was modifiedlibc/src/math/generic/llrint.cpp
The file was modifiedlibc/src/math/fmaf.cpp
The file was modifiedlibc/src/ctype/tolower.cpp
The file was modifiedlibc/utils/MPFRWrapper/CMakeLists.txt
The file was modifiedlibc/test/src/fenv/feclearexcept_test.cpp
The file was modifiedlibc/src/math/generic/frexpl.cpp
The file was modifiedlibc/test/src/math/FmaTest.h
The file was modifiedlibc/src/math/generic/sqrt.cpp
The file was modifiedlibc/test/src/math/ilogbf_test.cpp
The file was addedlibc/src/__support/FPUtil/PlatformDefs.h
The file was modifiedlibc/test/src/math/HypotTest.h
The file was modifiedlibc/test/src/math/fdim_test.cpp
The file was modifiedlibc/src/math/generic/ceilf.cpp
The file was modifiedlibc/src/ctype/islower.cpp
The file was modifiedlibc/src/fenv/CMakeLists.txt
The file was addedlibc/src/__support/ctype_utils.h
The file was modifiedlibc/src/math/generic/sqrtl.cpp
The file was modifiedlibc/src/ctype/isdigit.cpp
The file was addedlibc/src/__support/FPUtil/CMakeLists.txt
The file was modifiedlibc/src/math/generic/logbf.cpp
The file was modifiedlibc/test/src/math/ModfTest.h
The file was modifiedlibc/src/math/generic/floorf.cpp
The file was modifiedlibc/src/math/generic/remquol.cpp
The file was modifiedlibc/test/src/math/LogbTest.h
The file was modifiedlibc/src/math/generic/rint.cpp
The file was modifiedlibc/test/src/math/exhaustive/cosf_test.cpp
The file was modifiedlibc/test/src/math/FMaxTest.h
The file was modifiedlibc/src/math/generic/llroundf.cpp
The file was modifiedlibc/test/src/math/LdExpTest.h
The file was modifiedlibc/src/ctype/isupper.cpp
The file was modifiedlibc/test/src/math/SqrtTest.h
The file was modifiedlibc/fuzzing/math/SingleInputSingleOutputDiff.h
The file was modifiedlibc/test/src/math/RoundTest.h
The file was modifiedlibc/src/math/generic/llrintf.cpp
The file was modifiedlibc/src/math/generic/fabsl.cpp
The file was addedlibc/src/__support/FPUtil/NearestIntegerOperations.h
The file was modifiedlibc/src/fenv/fesetround.cpp
The file was modifiedlibc/test/src/math/RemQuoTest.h
The file was modifiedlibc/src/math/generic/lrintl.cpp
The file was modifiedlibc/src/math/generic/nearbyint.cpp
The file was modifiedlibc/src/math/generic/fabsf.cpp
Commit 34035b1044c10c9b1350f25cf280f1d0f58910f9 by paul.robinson
2nd Speculative fix for MachO lld test after "Have REQUIRES support the target triple"

See: http://45.33.8.238/macm1/15677/step_10.txt

Follow-up to f88ad8d as it appears the lld invocations both emit an
error message; so, try adding 'not' to the RUN lines.
The file was modifiedlld/test/MachO/search-paths-darwin.test
Commit dddd524bb8844b225d42c98d381d745d4fd549ea by sd.fertile
Revert "[PowerPC][AIX] Limit attribute aligned to 4096."

This reverts commit 5181be344adbf7ba7dffc73526893d4e7750d34c.

Break libcxx type_traits header which uses aligned storage with
alignments greater than 4096. Reverting untill we can fix the header.
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was removedclang/test/Sema/aix-attr-aligned-limit.c
Commit f59f6598790c8a74bcb1ab7e045484925e8bf551 by phosek
[CMake] Check the builtins library value first

When the builtins library isn't found, find_compiler_rt_library
returns NOTFOUND so we'll end up linking against -lNOTFOUND. We need
to check the return value before adding it to the list.

Differential Revision: https://reviews.llvm.org/D107627
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit 6a9cf21f5a2dcd02f90075d6d3576a87f1abd8a9 by tra
[CUDA, MemCpyOpt] Add a flag to force-enable memcpyopt and use it for CUDA.

Attempt to enable MemCpyOpt unconditionally in D104801 uncovered the fact that
there are users that do not expect LLVM to materialize `memset` intrinsic.

While other passes can do that, too, MemCpyOpt triggers it more frequently and
breaks sanitizers and some downstream users.

For now introduce a flag to force-enable the flag and opt-in only CUDA
compilation with NVPTX back-end.

Differential Revision: https://reviews.llvm.org/D106401
The file was modifiedllvm/test/Transforms/MemCpyOpt/no-libcalls.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
Commit a552debdcf01d422ef8d28c0bdc153cff350710a by pifon
[mlir] Add patterns for vector.transfer_read/write to Linalg bufferization.

Differential Revision: https://reviews.llvm.org/D107643
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
Commit 889a1e69bd2d65c368712ec653450099446aed33 by mgorny
[llvm] [cmake] Export LLVM_ENABLE_NEW_PASS_MANAGER into LLVMConfig.cmake

Include the vaue of LLVM_ENABLE_NEW_PASS_MANAGER in generated
LLVMConfig.cmake since it is needed by clang's build system.  This fixes
test failures when the new pass manager is enabled (i.e. by default)
by having clang's CMake files correctly detect that and skip relevant
tests.

Differential Revision: https://reviews.llvm.org/D107628
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
Commit dfce2909ee1ea1523ec27b834a0e56429e9c2beb by ashermancinelli
[flang] Lift -Werror checks into local functions

Lift checks for -Werror into local functions.

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D101261
The file was modifiedflang/test/Driver/parse-error.f95
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
Commit 4389a413e2129d7d55ee779638b649aa852b6f8a by zahira.ammarguellat
Revert "[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on"

This reverts commit 48ad446a0fb2c9b98cb7047e4daf8a84c29cef8f.
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/docs/UsersManual.rst
Commit f8a449514931bf2b3a0b36328e821365ed8bf5c6 by marksl
[ARC] Add codegen for llvm.ctlz intrinsic for the ARC backend

    Differential Revision: https://reviews.llvm.org/D107611
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
The file was modifiedllvm/lib/Target/ARC/ARCISelLowering.cpp
The file was addedllvm/test/CodeGen/ARC/ctlz.ll
The file was modifiedclang/lib/Basic/Targets/ARC.h
The file was modifiedllvm/lib/Target/ARC/ARCExpandPseudos.cpp
Commit 5b9a94414eb93e526ed507d5144ca71bc8f63fb2 by ditaliano
[MachO] Introduce chained fixups related load commands.
The file was modifiedllvm/include/llvm/BinaryFormat/MachO.def
Commit 71ae2e0221a99958ed82175781d92a73ea05597c by dimitry
[libomptarget][amdgpu] don't declare Elf_Note on FreeBSD

On FreeBSD, the system `<libelf.h>` already declares `struct Elf_Note`
indirectly (via `<sys/elf_common.h>`). This results in compile errors
when building the libomptarget amdgpu plugin. Avoid redeclaring `struct
Elf_Note` on FreeBSD to fix the errors.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D107661
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
Commit 2b067e333572a26431d1f3f4e8c226f0f7cccc0a by Amara Emerson
Change TargetLowering::canMergeStoresTo() to take a MF instead of DAG.

DAG is unnecessary and we need this hook to implement store merging on GlobalISel too.
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
Commit 9ed7416aaf257b13079b48f856df9b45d783fab2 by Jonas Devlieghere
[lldb] Try harder to find the __NSCFBoolean addresses

It looks like recent CoreFoundation builds strip the non-public symbol
that we were looking for to find the 2 boolean "classes". The public
symbol is of course there, and it contains the address of the private
one. If we don't find the private symbol directly, go through a memory
read at the public symbol's location instead.
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Commit a4bdcdadc6ffab250b218bbdae9a0ced05bebfc9 by sam.mccall
Support Attr in DynTypedNode and ASTMatchers.

Differential Revision: https://reviews.llvm.org/D89743
The file was modifiedclang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchFinder.h
The file was modifiedclang/include/clang/AST/ASTFwd.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang/lib/AST/ParentMapContext.cpp
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/unittests/AST/ASTTypeTraitsTest.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 3241680f111ddf3eac37db88cacac199083543f0 by sam.mccall
Revert "Support Attr in DynTypedNode and ASTMatchers."

This reverts commit a4bdcdadc6ffab250b218bbdae9a0ced05bebfc9.

Fails bots:
https://lab.llvm.org/buildbot/#/builders/109/builds/20231/steps/6/logs/stdio
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang/include/clang/AST/ASTFwd.h
The file was modifiedclang/lib/AST/ParentMapContext.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
The file was modifiedclang/unittests/AST/ASTTypeTraitsTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchFinder.h
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
Commit c8f148274f42aa2ae8c18e1420fa28fefec05a53 by sam.mccall
Reapply "Support Attr in DynTypedNode and ASTMatchers."

This reverts commit 3241680f111ddf3eac37db88cacac199083543f0.
Fixed mangled post-test formatting :-(
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/AST/ParentMapContext.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
The file was modifiedclang/include/clang/AST/ASTFwd.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchFinder.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h
The file was modifiedclang/unittests/AST/ASTTypeTraitsTest.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
Commit bb81e7083d25bfc9bcf2bd69f5431d0c53b86a32 by sam.mccall
[clangd] Add basic support for attributes (selection, hover)

These aren't terribly common, but we currently mishandle them badly.
Not only do we not recogize the attributes themselves, but we often end up
selecting some node other than the parent (because source ranges aren't accurate
in the presence of attributes).

Differential Revision: https://reviews.llvm.org/D89785
The file was modifiedclang-tools-extra/clangd/AST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
The file was modifiedclang-tools-extra/clangd/Selection.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
Commit d238b60285820691b08bcca3ec510d13ea46a5ed by ndesaulniers
[Clang][DiagnosticSemaKinds] combine diagnostic texts

The diagnostic texts for warning on attributes that don't appear on the
initial declaration is generally useful.  We'd like to re-use it in
D106030, but first let's combine two that already are very similar so we
may re-use it a third time in that commit.

Also, fix a few places that were using notePreviousDefinition to point
to declarations, to instead use diag::note_previous_declaration.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D107613
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/internal_linkage.c
The file was modifiedclang/test/SemaCXX/internal_linkage.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/attr-weak.c
The file was modifiedclang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
Commit 8c4208d5c1671d1b44eaf87e8f876b7d635f5114 by zequanwu
[Profile][NFC] Clean up initializeProfileForContinuousMode

Merge two versions of `initializeProfileForContinuousMode` function into one.

Differential Revision: https://reviews.llvm.org/D107591
The file was modifiedcompiler-rt/lib/profile/InstrProfilingUtil.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingUtil.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
Commit 05783e1cfe40ce20b080c9fce1b148515c027fa4 by michael.hliao
[amdgpu] Revise the conversion from i64 to f32.

- Replace 'cmp+sel' with 'umin' if possible.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D107507
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
Commit 67d499445d47a5f2690954c8f15e1d22d696077e by spatel
[InstCombine] add tests for icmp of casted vector; NFC

https://llvm.org/PR51315
The file was modifiedllvm/test/Transforms/InstCombine/icmp-vec.ll
Commit 0369714b31682dc36e55f1a2b3a36c25fb1b6f98 by spatel
[InstCombine] reduce vector casting before icmp

There may be some generalizations (see test comments) of these patterns,
but this should handle the cases motivated by:
https://llvm.org/PR51315
https://llvm.org/PR51259

The backend may want to transform differently, but at least for
the x86 examples that I looked at, there does not appear to be
any significant perf diff either way.
The file was modifiedllvm/test/Transforms/InstCombine/icmp-vec.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 41a6b50c25961addc04438b567ee1f4ef9e40f98 by huberjn
[OpenMP]Fix PR51349: Remove AlwaysInline for if regions.

After D94315 we add the `NoInline` attribute to the outlined function to handle
data environments in the OpenMP if clause. This conflicted with the `AlwaysInline`
attribute added to the outlined function. for better performance in D106799.
The data environments should ideally not require NoInline, but for now this
fixes PR51349.

Reviewed By: mikerice

Differential Revision: https://reviews.llvm.org/D107649
The file was addedclang/test/OpenMP/parallel_if_codegen_PR51349.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 2129c4a861a99407981502ac5a19ac16473277c2 by zequanwu
Fix Windows bots failure caused by 8c4208d5c1671d1b44eaf87e8f876b7d635f5114
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
Commit 3229c971512404c512e041c3e88f22dbec2b650b by paul.robinson
Revert "[lit] Have REQUIRES support the target triple"

This reverts commit 100a7b6197863d4d5ebc97761d7e98063e164e26.

Speculating that this is the reason behind a sanitizer failure:
https://lab.llvm.org/buildbot/#/builders/37/builds/5945
The file was modifiedllvm/utils/lit/tests/shtest-format.py
The file was modifiedllvm/utils/lit/tests/Inputs/shtest-format/requires-triple.txt
The file was modifiedllvm/utils/lit/tests/Inputs/xunit-output/lit.cfg
The file was modifiedllvm/docs/TestingGuide.rst
The file was modifiedllvm/utils/lit/lit/Test.py
Commit f362b05d0dcd176348f19a63f8b7f4d4c0498bba by jingham
Add a "current" token to the ThreadID option to break set/modify.

This provides a convenient way to limit a breakpoint
to the current thread when setting it from the command line w/o
having to figure out what the current thread is.

Differential Revision: https://reviews.llvm.org/D107015
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
The file was modifiedlldb/test/API/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
Commit 1962b33d3ff525806c8dacaa64f7f98beeb5a7fc by Stanislav.Mekhanoshin
[AMDGPU] Added test for MachineLICM reg pressure. NFC.

The test shows excessive register pressure after the MachineLICM.
This is a pre-commit for the patch fixing it.

Differential Revision:
The file was addedllvm/test/CodeGen/AMDGPU/licm-regpressure.mir
Commit 34d78b6a6755946e547afc47d38b59b6a2854457 by Jonas Devlieghere
[lldb] Upstream support for Foundation constant classes

Upstream support for NSConstantArray, NSConstantIntegerNumber,
NSConstant{Float,Double}Number and NSConstantDictionary.

We would've upstreamed this earlier but testing it requires
-fno-constant-nsnumber-literals, -fno-constant-nsarray-literals and
-fno-constant-nsdictionary-literals which haven't been upstreamed yet.
As a temporary workaround use the system compiler (xcrun clang) for the
constant variant of the tests.

I'm just upstreaming this. The patch and the tests were all authored by
Fred Riss.

Differential revision: https://reviews.llvm.org/D107660
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
The file was modifiedlldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
The file was modifiedlldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
The file was modifiedlldb/test/API/lang/objc/orderedset/TestOrderedSet.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
The file was modifiedlldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
The file was addedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py
The file was modifiedlldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
The file was modifiedlldb/source/Plugins/Language/ObjC/NSDictionary.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
The file was modifiedlldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
Commit 1b4c85fc02cc87b4abcd794c98e6ff91a3d3766b by tra
[NVPTX] Add NVPTX intrinsics for CUDA PTX 6.5 ldmatrix instructions

Adds NVPTX intrinsics for the CUDA PTX `ldmatrix.sync.aligned` instructions added in PTX 6.5.

PTX ISA description of `ldmatrix.sync.aligned`: https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-ldmatrix

Authored-by: Steffen Larsen <steffen.larsen@codeplay.com>

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D107046
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
The file was modifiedllvm/test/CodeGen/NVPTX/wmma.py
The file was modifiedllvm/lib/Target/NVPTX/NVPTXIntrinsics.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsNVVM.td
Commit 1854db74c549d952c0282096be1bb93d5d64f81b by airlied
opencl-c.h: add 3.0 optional extension support for a few more bits

These 3 are fairly simple, pipes, workgroups and subgroups.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D105858
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/lib/Headers/opencl-c.h
Commit 0b8cb87e0d6b092a9c94f9cc0f16e56e954eddfd by stilis
[MLIR][STD] Add safe scalar constant propagation for FPTruncOp

Perform scalar constant propagation for FPTruncOp only if the resulting value can be represented without precision loss or rounding.

Example:
%cst = constant 1.000000e+00 : f32
%0 = fptrunc %cst : f32 to bf16
-->
%cst = constant 1.000000e+00 : bf16

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D107518
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit bfeb281fbd8e348edfadf5052e9266e13b832171 by jingham
Use LC_DYLD_EXPORTS_TRIE to locate the dyld trie structure if present

The pointer to the dyld trie data structure which lldb needs to parse to get
"trampoline kinds" on Darwin used to be a field in the LC_DYLD_INFO load command. A
new load command was added recently dedicated to this purpose: LC_DYLD_EXPORTS_TRIE.
The format of the trie did not change, however. So all we have to do is use the new
command if present. The commands are supposed to be mutually exclusive, so I added
an lldb_assert to warn if they are not.

Differential Revision: https://reviews.llvm.org/D107673
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit 4e5af6ef48590e7248e344ddabf245bb3de71c51 by saugustine
Revert "[lldb] Upstream support for Foundation constant classes"

This reverts commit 34d78b6a6755946e547afc47d38b59b6a2854457.

This breaks build bots witha  missing file:
/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/source/Plugins/Language/ObjC/Cocoa.cpp:10:10: fatal error: 'objc/runtime.h' file not found
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
The file was modifiedlldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
The file was modifiedlldb/test/API/lang/objc/orderedset/TestOrderedSet.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
The file was removedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
The file was modifiedlldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py
The file was modifiedlldb/source/Plugins/Language/ObjC/NSDictionary.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
The file was modifiedlldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
The file was modifiedlldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
Commit 9d5e95d094ffc1a49aa4c9d379cec7c2b60fd3f2 by Jonas Devlieghere
Re-land "[lldb] Upstream support for Foundation constant classes"

Upstream support for NSConstantArray, NSConstantIntegerNumber,
NSConstant{Float,Double}Number and NSConstantDictionary.

We would've upstreamed this earlier but testing it requires
-fno-constant-nsnumber-literals, -fno-constant-nsarray-literals and
-fno-constant-nsdictionary-literals which haven't been upstreamed yet.
As a temporary workaround use the system compiler (xcrun clang) for the
constant variant of the tests.

I'm just upstreaming this. The patch and the tests were all authored by
Fred Riss.

Differential revision: https://reviews.llvm.org/D107660
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
The file was modifiedlldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
The file was modifiedlldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py
The file was modifiedlldb/test/API/lang/objc/orderedset/TestOrderedSet.py
The file was modifiedlldb/source/Plugins/Language/ObjC/NSDictionary.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
The file was modifiedlldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
The file was modifiedlldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
The file was addedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py
Commit 5a2a179695832dd8cc332108e2e29aa039f59b90 by mcgrathr
[profile][Fuchsia] Add missing system header #include

The _zx_vmar_root_self function is not a system call but
a libc function declared in a separate header.

Reviewed By: gulfem

Differential Revision: https://reviews.llvm.org/D107616
The file was modifiedcompiler-rt/lib/profile/InstrProfilingUtil.c
Commit 71e71067f3fa621d961e2607f1c8cea7cdce3f9d by powerman1st
[AVR][clang] Add '$SYSROOT/avr' to possible avr-libc locations

Reviewed by: benshi001

Differential Revision: https://reviews.llvm.org/D107672
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
Commit 62fe3dcf98d17ea027492fd723dbb9b6dc295761 by nemanja.i.ibm
Fix PPC buildbot break caused by 4c4093e6e39fe6601f9c95a95a6bc242ef648cd5

This commit adds the isnan intrinsic and provides a default expansion
for it in the SDAG. However, it makes the assumption that types
it operates on are IEEE-compliant types. This is not always the case.
An example of that is PPC "double double" which has a representation
that
- Does not need to conform to IEEE requirements for isnan as it is
  not an IEEE-compliant type
- Does not have a representation that allows for straightforward
  reinterpreting as an integer and use of integer operations

The result was that this commit broke __builtin_isnan for ppc_fp128
making many valid numeric values report a NaN.

This patch simply changes the expansion to always expand to unordered
comparison (regardless of whether FP exceptions are tracked). This
is inline with previous semantics.
The file was modifiedllvm/test/CodeGen/PowerPC/ppc-fpclass.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit bfb77364d0be8a5b159cdcf4eaf8e7a720802e89 by roger.ferrer
[OpenMP] Fix accidental reuse of VLA size

We were using an OpaqueValueExpr allocated on the stack to store
the size of a VLA. Because the VLASizeMap in CodegenFunction
uses the address of the expression to avoid recomputing VLAs,
we were accidentally reusing an earlier llvm::Value. This led to
invalid LLVM IR.

This is a temporary solution until VLASizeMap can be pushed and popped
based on the context.

Differential Revision: https://reviews.llvm.org/D107666
The file was addedclang/test/OpenMP/vla_iterator_cache_bug.c
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 4c2e01232cfc397a438eab57a8f9e3a849a6e9f1 by Amara Emerson
[GlobalISel] Fix a combine causing DBG_VALUE with dangling vregs.

We should use MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval()
instead of eraseFromParent().

We should probably use that in other places too but fix this issue which
affects clang bootstrap builds for now.
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-shift-of-shifted-dbg-value-fallback.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit c6ebc651b6fac9cf1d9f8c00ea49d29093003f85 by simon
[LLD] Support compressed input sections on big-endian targets

This patch enables compressed input sections on big-endian targets by
checking the target endianness and selecting an appropriate `Chdr`
structure.

Fixes PR51369

Differential Revision: https://reviews.llvm.org/D107635
The file was modifiedlld/test/ELF/compressed-debug-input-err.s
The file was modifiedlld/test/ELF/compressed-debug-input.s
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/ELF/InputSection.h

Summary

  1. removing windows deployment (details)
  2. Add a libc x86_64 windows worker and a debug builder running on it (details)
  3. Add buildbot for OpenMP on AMDGPU (details)
  4. Added jobs param for hip-vega20-0 worker, as getOpenMPCMakeBuildFactory cannot handle optional params. (details)
  5. Reverted 8ff202c1648d4dba1803aa0cade81790a8382c6c. Added jobs param for the right worker - omp-vega20-0, as getOpenMPCMakeBuildFactory cannot handle optional params. (details)
Commit a7a5cb5face77ca247d4a3ee2c919c93645b7366 by kuhnel
removing windows deployment

It's been unmaintained for a while and it's unclear
if we need a 32bit setup at all
The file was modifiedbuildbot/google/terraform/main.tf
Commit 7d9ffd49c6358b9f20ddff6f29c79e186ee1be33 by hedingarcia
Add a libc x86_64 windows worker and a debug builder running on it

Differential Revision: https://reviews.llvm.org/D106981
The file was modifiedbuildbot/osuosl/master/config/status.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit bc9f85040092ec7a969821f38e73f1ba2d946b08 by gkistanova
Add buildbot for OpenMP on AMDGPU

Build OpenMP for AMDGPU target

Differential revision: https://reviews.llvm.org/D106928
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 8ff202c1648d4dba1803aa0cade81790a8382c6c by gkistanova
Added jobs param for hip-vega20-0 worker, as getOpenMPCMakeBuildFactory cannot handle optional params.
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit 8ff6d7cdb9b7de4a8a26c948c0eb2fb760636994 by gkistanova
Reverted 8ff202c1648d4dba1803aa0cade81790a8382c6c. Added jobs param for the right worker - omp-vega20-0, as getOpenMPCMakeBuildFactory cannot handle optional params.
The file was modifiedbuildbot/osuosl/master/config/workers.py