UnstableChanges

Summary

  1. Reword description of ISD::BUILD_VECTOR (details)
  2. [InstSimplify] Handle not inserted instruction gracefully (PR46638) (details)
  3. Revert "[NFC] Separate Peeling Properties into its own struct" (details)
  4. [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms (details)
  5. Recover more gracefully from stack exhaustion during template argument (details)
  6. Revert "[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)" (details)
  7. [libclang] Fix crash when visiting a captured VLA (details)
  8. [opt] Remove obsolete --quiet option (details)
  9. [libc++] Make sure the ENABLE_FILESYSTEM variable is always bound (details)
  10. GlobalISel: Verify G_BITCAST changes the type (details)
  11. PR46640: Permit the first parameter of a destroying 'operator delete' to (details)
  12. sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r (details)
  13. [mlir] [VectorOps] Expose lowering pass options programmatically (details)
  14. Unify the ExecutionContextScope computation in Materializer. (details)
  15. [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison (details)
  16. DAG: Remove redundant handling of reg fixups (details)
  17. Updated the list of supported platforms in LLDB to include Apple silicon. (details)
  18. [OpenMP] Initial support for std::complex in target regions (details)
  19. [gn build] Port d999cbc9883 (details)
  20. DAG: Remove redundant finalizeLowering call (details)
  21. [Sanitizer]: Require !android for protoent test (details)
  22. [NFC] Fix some docs warnings (details)
  23. [openmp] Use switch in isAllowedClauseForDirective instead of multiple if (details)
  24. [lit] Add --show-xxx command line options (details)
  25. Fix debugserver reporting of deployment target (details)
  26. [flang] Fix negative unit number hashing (details)
  27. Improve diagnostics for constant evaluation that fails because a (details)
  28. [mlir] Print 0 element DenseElementsAttr as dense<> to fix parser bugs with expected shape. (details)
  29. [Legalizer] Fix wrong operand in split vector helper (details)
  30. Add missing CMake bool canonicalizations. (details)
  31. Fix a typo in an error message. (details)
  32. [DWARFYAML][unittest] Refactor parseDWARFYAML(). (details)
  33. [ORC] Modify LazyCallThroughManager to support asynchronous resolution. (details)
  34. [libc++] Fix test failures in C++14 mode (details)
  35. [OpenMP] Make complex soft-float functions on the GPU weak definitions (details)
  36. Increase DIAG_SIZE_AST as we have hit it. (details)
  37. [X86] Remove unnecessary union from getHostCPUFeatures. NFC (details)
  38. [StackSafety,NFC] Update documentation (details)
  39. [PowerPC] Only make copies of registers on stack in variadic function when va_start is called (details)
  40. [clangd] Fix error handling in config.yaml parsing. (details)
  41. Fix return status of AtomicExpandPass (details)
  42. [MC] Simplify the logic of applying fixup for fragments, NFCI (details)
  43. [CodeGen] Matching promoted type for 16-bit integer bitcasts from fp16 operand (details)
  44. [PredicateInfo] Add additional RenamedOp field to PB. (details)
  45. [clangd] Enable async preambles by default (details)
  46. [llvm-objdump] Display locations of variables alongside disassembly (details)
  47. Correctly update return status for MVEGatherScatterLowering (details)
  48. [mlir] Add additional Canonicalization of shape.cstr_broadcastable. (details)
  49. [yaml][clang-tidy] Fix multiline YAML serialization (details)
  50. VersionPrinter - use const auto& iterator in for-range-loop. (details)
  51. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  52. ConstantFoldScalarCall3 - use const APInt& returned by getValue() (details)
  53. [Coroutines] Refactor sinkLifetimeStartMarkers (details)
  54. [change-namespace][NFC] Clean up joinNamespaces (details)
  55. DebugCounterList::printOptionInfo - use const auto& iterator in for-range-loop. (details)
  56. [llvm-readelf] - Stop using 'unwrapOrError()' in 'ELFDumper<ELFT>::getSymbolVersion'. (details)
  57. [SVE] Disable some BUILD_VECTOR related code generator features. (details)
  58. [SVE] Scalarize fixed length masked loads and stores. (details)
  59. [DWARFYAML] Use override instead of virtual for better safety. (details)
  60. [clangd] Implement path and URI translation for remote index (details)
  61. Make helpers static. NFC. (details)
  62. [SCCP] Use conditional info with AND/OR branch conditions. (details)
  63. [DebugInfo] Do not hang when parsing a malformed .debug_pub* section. (details)
  64. [DebugInfo] Add more checks to parsing .debug_pub* sections. (details)
  65. [DebugInfo] Fix pessimizing move. NFC. (details)
  66. SpeculativeExecution: Fix for logic change introduced in D81730. (details)
  67. [RISCV] Avoid Splitting MBB in RISCVExpandPseudo (details)
  68. BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI. (details)
  69. [X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X) (details)
  70. make -fmodules-codegen and -fmodules-debuginfo work also with PCHs (details)
  71. [analyzer] Add CTUImportCppThreshold for C++ files (details)
  72. OpaquePtr: Don't check pointee type for byval/preallocated (details)
  73. [BasicAA] Enable -basic-aa-recphi by default (details)
  74. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  75. AMDGPU/GlobalISel: Work around verifier error in test (details)
  76. [NFC] Add SExt multiuses test (details)
  77. [flang] partially revert upstreamed code to support complex values in runtime support to avoid warnings. (details)
  78. [MLIR][SPIRVToLLVM] SPIR-V types size in bytes function (details)
  79. [PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation (details)
  80. Fix warning caused by __builtin_expect_with_probability was not handled (details)
  81. [MLIR][SPIRVToLLVM] Conversion of SPIR-V array, runtime array, and pointer types (details)
  82. [MSP430] Align the _Complex ABI with current msp430-gcc (details)
  83. Refactored NumericLiteralParser to not require a Preprocessor (details)
  84. Revert 51b0da73 "Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."" (details)
  85. [SCCP] Move tests using only ipsccp from IPConstantProp to SCCP (NFC). (details)
  86. [PowerPC] Split s34imm into two types (details)
  87. [AliasSetTracker] More precise AAInfo intersection check (details)
  88. [compiler-rt] Better Windows support for running tests in external shell (details)
  89. [lldb] Use enum constant instead of raw value (details)
  90. [compiler-rt] [test] Use the parent process env as base env in tests (details)
  91. [runtimes] Allow passing Lit parameters through CMake (details)
  92. [compiler-rt] [test] Allow expanding lit substitutions recursively (details)
  93. [PGO][PGSO] Add profile guided size optimization tests to X86 ISel Lowering. (details)
  94. [libc++] Fix test failure in C++03 mode (details)
  95. [libc++] Move the stdlib Lit parameter to the DSL (details)
  96. [libc++] Move the long_tests Lit feature to the DSL (details)
  97. Merge TableGen files used for clang options (details)
  98. [ValueLattice] Simplify canTrackGlobalVariableInterprocedurally (NFC). (details)
  99. [Function] Lock the function when parsing call site info (details)
  100. [lldb/Function] Reflow doxygen comments for member variables, NFC (details)
  101. [libc++] Clean up some outdated documentation about running libc++ tests (details)
  102. [PowerPC] Fix test case from beb52b12cb17 (details)
  103. [X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests. (details)
  104. [PGO][PGSO] Add profile guided size optimization to X86 ISel Lowering. (details)
  105. Remove unnecessary 'rm' in llvm-reduce tests (details)
  106. [X86] Immediately call LowerShift from lowerBuildVectorToBitOp. (details)
  107. [libc++] Move the enable_experimental Lit param to the DSL (details)
  108. [InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison (details)
  109. Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch. (details)
  110. [libc++] The enable_experimental Lit feature should be False by default (details)
  111. [OPENMP50] extend array section for stride (Parsing/Sema/AST) (details)
  112. [NFC][test] Adding fastcc test case for promoted 16-bit integer bitcasts. (details)
  113. [lldb/Reproducers] Rename developer-oriented reproducer flags. (details)
  114. [LLDB/Reproducers] Add flag to avoid installing the signal handler. (details)
  115. [NFC][AArch64] Refactor getArgumentPopSize (details)
  116. [AST][test] Add regression test forPointerExprEvaluator::VisitCXXNewExpr (details)
  117. [MLIR] IR changes to add yield semantics for affine.if and affine.parallel (details)
  118. [Clang][Driver] Recognize the AIX OBJECT_MODE environment setting (details)
  119. [libc++] Get rid of the %{libcxx_src_root} substitution (details)
  120. [InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison (details)
  121. [SVE] Remove calls to VectorType::getNumElements from CodeGen (details)
  122. [LPM] Port CGProfilePass from NPM to LPM (details)
  123. [CMake][Fuchsia] Support for building with MSVC (details)
  124. Revert "[InstCombine] Lower infinite combine loop detection thresholds" (details)
  125. [Docs] CodingStandards: for_each is discouraged (details)
  126. [NFCI][llvm-reduce] OperandBundleCounter: drop pointless constructor (details)
  127. [NFC][llvm-reduce] Purify for_each usage in Operand Bundles into range-based for loop (details)
  128. [llvm-reduce] Reducing attributes (details)
  129. [CallGraph] Ignore callback uses (details)
  130. Revert D83013 "[LPM] Port CGProfilePass from NPM to LPM" (details)
  131. Temporarily Revert "[PowerPC] Split s34imm into two types" (details)
  132. Temporarily Revert "Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch." (details)
  133. Revert "[CallGraph] Ignore callback uses" (details)
  134. [PredicateInfo] Print RenamedOp (NFC) (details)
  135. [DAGCombiner] add helper function to manage list of consecutive stores; NFC (details)
  136. [DAGCombiner] add helper function for store merging of constants; NFC (details)
  137. [DAGCombiner] add helper function for store merging of extracts; NFC (details)
  138. [DAGCombiner] add helper function for store merging of loaded values; NFC (details)
  139. [DAGCombiner] convert if-chain in store merging to switch; NFC (details)
  140. [AMDGPU] Return restricted number of regs from TTI (details)
  141. Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  142. [FileCheck] Improve -dump-input documentation (details)
  143. [PowerPC][Power10] Add Instruction definition/MC Tests for Load/Store Rightmost VSX Vector (details)
  144. [Lexer] Fix missing coverage line after #endif (details)
  145. Switch to using -debug-info-kind=constructor as default (from =limited) (details)
  146. [flang] Fix a crash when creating generics from a copy (details)
  147. Revert "[Lexer] Fix missing coverage line after #endif" (details)
  148. [flang] Fix frontend build with -DBUILD_SHARED_LIBS=On (details)
  149. [flang] ifdef to avoid warning about supposedly dead function (details)
  150. [AArch64][SVE] Add lowering for llvm.fma. (details)
  151. Initial boiler-plate for python bindings. (details)
  152. [NFC] Extract the code to write instr profile into function writeInstrProfile (details)
  153. [NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder. (details)
  154. [NFC] Derive from PassInfoMixin for no-op/printing passes (details)
  155. [AArch64][GlobalISel] Add more specific debug info tests for 613f12dd8e2403f5630ab299d2a1bb2cb111ead1. (details)
  156. [MLIR][SPIRV] Support two memory access attributes in OpCopyMemory. (details)
  157. Move default argument instantiation to SemaTemplateInstantiateDecl.cpp. (details)
  158. Push parameters into the local instantiation scope before instantiating (details)
  159. PR46648: Do not eagerly instantiate default arguments for a generic (details)
  160. [Sanitizer] Update macOS version checking (details)
  161. [StackSafety,NFC] Reduce FunctionSummary size (details)
  162. [lldb] Declare extern template instantiation to fix linking issues. (details)
  163. [SCEV][IndVarSimplify] insert point should not be block front. (details)
  164. CrashTracer: clang at clang: llvm::BitstreamWriter::ExitBlock (details)
  165. [demangler] Don't allow the template parameters from the <encoding> in a (details)
  166. Add Python bindings guide. (details)
  167. [CMake][Fuchsia] Move runtimes to outer scope (details)
  168. [demangler] More properly save and restore the template parameter state (details)
  169. [NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD) (details)
  170. [llvm-symbolizer][test] Fix options-from-env.test (details)
  171. [CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils (details)
  172. [clangd] Factor out some helper functions related to heuristic resolution in TargetFinder (details)
  173. [RISCV] Refactor FeatureRVCHints to make ProcessorModel more intuitive (details)
  174. Add diagnostic option backing field for -fansi-escape-codes (details)
  175. [LLDB] Update AArch64 Dwarf and EH frame register numbers (details)
  176. [CodeGen] Replace calls to getVectorNumElements() in SelectionDAG::SplitVector (details)
  177. [MLIR][SPIRVToLLVM] Conversion of SPIR-V struct type without offset (details)
  178. [WebAssembly][NFC] Simplify vector shift lowering and add tests (details)
  179. [CodeGen] Replace calls to getVectorNumElements() in DAGTypeLegalizer::SetSplitVector (details)
  180. [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses (details)
  181. [builtins] Optimize udivmodti4 for many platforms. (details)
  182. [analyzer][tests] Measure peak memory consumption for every project (details)
  183. [analyzer][tests] Make test interruption safe (details)
  184. [analyzer][tests] Fix zip unpacking (details)
  185. [X86][AVX] Attempt to fold PACK(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(PACK(X,Y)). (details)
  186. Fix check-all with -DLLVM_USE_SANITIZER=Address (details)
  187. extractConstantWithoutWrapping - use const APInt& returned by SCEVConstant::getAPInt() (details)
  188. [AMDGPU][GlobalISel] Fix G_AMDGPU_TBUFFER_STORE_FORMAT mapping (details)
  189. [LV] Pick vector loop body as insert point for SCEV expansion. (details)
  190. [clang-tidy] More strict on matching the standard memset function in memset-usage check. (details)
  191. [lldb/pecoff] Use a different llvm createBinary overload for parsing (details)
  192. [SVE] Code generation for fixed length vector truncates. (details)
  193. [NFC] Change isFPPredicate comparison to ignore lower bound (details)
  194. [X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD. NFCI. (details)
  195. StackSafetyAnalysis.cpp - pass ConstantRange arg as const reference. (details)
  196. [clang-tidy] Use Options priority in enum options where it was missing (details)
  197. DomTreeUpdater::dump() - use const auto& iterator in for-range-loop. (details)
  198. [ABI] Handle C++20 [[no_unique_address]] attribute (details)
  199. [PowerPC] Implement R_PPC64_REL24_NOTOC calls, callee also has no TOC (details)
  200. [clangd] Config: If.PathExclude (details)
  201. Revert "[BasicAA] Enable -basic-aa-recphi by default" (details)
  202. Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." (details)
  203. Normalize default value for -triple correctly (details)
  204. [mlir][Vector] Fold chains of ExtractOp (details)
  205. [clangd] Fix hover crash on InitListExpr. (details)
  206. [mlir][Linalg] Generalize Vectorization of Linalg contractions (details)
  207. [FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." (details)
  208. [NFCI][InstCombine] PR46661: multiple stores eligible for merging into successor - worklist issue (details)
  209. [InstCombine] After merging store into successor, queue prev. store to be visited (PR46661) (details)
  210. Reland "[InstCombine] Lower infinite combine loop detection thresholds"" (details)
  211. [clangd] Update semanticTokens support to reflect latest LSP draft (details)
  212. [PDB] Fix out-of-bounds acces when sorting GSI buckets (details)
  213. [FileCheck] Implement -dump-input-context (details)
  214. [FileCheck] In input dump, elide only if ellipsis is shorter (details)
  215. [FileCheck] Implement -dump-input-filter (details)
  216. [mlir][Vector] Add ExtractOp folding when fed by a TransposeOp (details)
  217. [DAGCombiner] move/rename variables for readability; NFC (details)
  218. [AArch64][x86] add tests for rotated store merge; NFC (details)
  219. [ARM] Add test with tcreturn and debug value. (details)
  220. [DomTreeUpdater] Use const auto * when iterating over pointers (NFC). (details)
  221. [Attributor][NFC] Update tests after recent changes (details)
  222. [ARM] Pass -verify-machineinstr to test and XFAIL until fixed. (details)
  223. Delete CC1Options.td, since it should have happened in D82574 (details)
  224. Revert "[OpenMPOpt] ICV Tracking" (details)
  225. [LPM] Port CGProfilePass from NPM to LPM (details)
  226. [Lexer] Fix missing coverage line after #endif (details)
  227. [NFC][PowerPC] Add a new MIR file to test mi-peephole pass (details)
  228. Fix crash on `user defined literals` (details)
  229. Add kinded UDL for raw literal operator and  numeric literal operator template (details)
  230. Use FileRange::text instead of Lexer::getSpelling (details)
  231. repair standalone clang builds (details)
  232. Remove clang options that were added back when merging the TableGen files (details)
  233. Revert "[compiler-rt] [test] Use the parent process env as base env in tests" (details)
  234. [CGProfile] Fix layering, IPO depends in Instrumentation. (details)
  235. [ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and LLVM (details)
  236. [IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison. (details)
  237. Re-land [CodeView] Add full repro to LF_BUILDINFO record (details)
  238. [OpenCL] Fixed typo for ctor stub name in UsersManual (details)
  239. This is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two. (details)
  240. Revert "[NFC] Derive from PassInfoMixin for no-op/printing passes" (details)
  241. [PowerPC] Enable default support of quad precision operations (details)
  242. [libc] Add strchr implementation. Fixes bug in memchr. (details)
  243. [NFC] Separate Peeling Properties into its own struct (re-land after minor fix) (details)
  244. [PredicateInfo] Add test for multiple branches on same condition (NFC) (details)
  245. [Sema] Emit a -Wformat warning for printf("%s", (void*)p) (details)
  246. [lldb] on s390x fix override issue (details)
  247. AArch64: Fix unused variables (details)
  248. [mlir] [VectorOps] Allow AXPY to be expressed as special case of OUTERPRODUCT (details)
  249. [AST][ObjC] Fix crash when printing invalid objc categories (details)
  250. [ldb/Reproducers] Add YamlRecorder and MultiProvider (details)
  251. Reland [NFC] Derive from PassInfoMixin for no-op/printing passes (details)
  252. Change behavior with zero-sized static array extents (details)
  253. [mlir] [VectorOps] Merge OUTER/AXPY vector.contract lowering into single case (details)
  254. [analyzer] Silence a warning. (details)
  255. [mlir][Vector]  Add folding for vector.transfer ops (details)
  256. [FileCheck] Fix up -dump-input* docs (details)
  257. [clang-shlib] Don't link with static clang libraries (details)
  258. [Polly] Fix -polly-opt-isl -analyze (details)
  259. [Polly] Fix prevectorization of fused loops. (details)
  260. [mlir][linalg] Improve aliasing approximation for hoisting transfer read/write (details)
  261. [X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types. (details)
  262. AMDGPU: Remove .value_type from kernel metadata (details)
  263. Temporarily revert "[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)" (details)
  264. [docs] LLVM Security Group and Process (details)
  265. [PDB] Attempt fix for debug-info-codeview-buildinfo.c test (details)
  266. Remove unnecessary/erroneous "static" from function templates in headers (details)
  267. [libc] [Obvious] Remove unneeded header in strchr. (details)
  268. Revert "Re-land [CodeView] Add full repro to LF_BUILDINFO record" (details)
  269. [Sanitizers] Change protoent test to check for IPv6 instead of RDP (details)
  270. [lldb-vscode] Add Support for Module Event (details)
  271. [lldb-vscode] Add Compile Unit List to Modules View (details)
  272. [lldb-vscode] Fix TestVSCode_module (details)
  273. [OpenMP] Use __OPENMP_NVPTX__ instead of _OPENMP in wrapper headers (details)
  274. [BPI] Compile time improvement when erasing blocks (NFC) (details)
  275. Revert "[lldb-vscode] Fix TestVSCode_module" (details)
  276. [COFF] Add cg_profile directive and .llvm.call-graph-profile section (details)
  277. [OpenMP][NFC] Remove unused and untested code from the device runtime (details)
  278. [openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen (details)
  279. Fix nesting of #ifdef (details)
  280. [InstSimplify] add tests for maxnum (PR46627); NFC (details)
  281. [CodeGen] Store the return value of the target function call to the (details)
  282. Reland "[OpenMPOpt] ICV Tracking" (details)
  283. Fix build error (details)
  284. Create TestReducer pass (details)
  285. [openmp] Fix warning in generated OMP.cpp (details)
  286. [WebAssembly] Prefer v128.const for constant splats (details)
  287. Summary: [clang] Provide a way for WhileStmt to report the location of its LParen and RParen. (details)
  288. [RISCV][test] Add a test for (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2) transformation (details)
  289. [PowerPC][MachinePipeliner] Enable pipeliner if hasInstrSchedModel (details)
  290. [X86][MMX] Optimize MMX shift intrinsics. (details)
  291. [HIP] Fix rocm detection (details)
  292. [lldb/Test] Fix missing yaml2obj in Xcode standalone build. (details)
  293. [OpenMP][CUDA] Fix std::complex in GPU regions (details)
  294. Fix signed vs unsigned comparison warnings a different way. (details)
  295. [OpenMP][NFC] Remove unused (always fixed) arguments (details)
  296. [OpenMP][NFC] Fix some typos (details)
  297. [OpenMP][NFC] Add convenient helper and early exit check (details)
  298. [OpenMP] Identify GPU kernels (aka. OpenMP target regions) (details)
  299. [OpenMP] Compute a proper module slice for the CGSCCC pass (details)
  300. [OpenMP] Replace function pointer uses in GPU state machine (details)
  301. Remove unused variable `KMPC_KERNEL_PARALLEL_WORK_FN_PTR_ARG_NO` (NFC) (details)
  302. [OpenMP][FIX] remove unused variable and long if-else chain (details)
  303. [clang-tidy] Reworked enum options handling(again) (details)
  304. Fix gn builds after 943660fd1 (details)
  305. Revert "Fix gn builds after 943660fd1" (details)
  306. Reland Fix gn build after 943660f (details)
  307. [gn build] (manually) merge 943660fd15f193 (details)
  308. Revert "Reland "[InstCombine] Lower infinite combine loop detection thresholds""" (details)
  309. [TRE] allow TRE for non-capturing calls. (details)
  310. [AMDGPU] Move LowerSwitch pass to CodeGenPrepare. (details)
  311. [Attributor][NFC] Add more debug output for deleted functions (details)
  312. [fix-irreducible] Skip unreachable predecessors. (details)
  313. Fix `-Wunused-variable` warnings. NFC. (details)
  314. [MLIR] Parallelize affine.for op to 1-D affine.parallel op (details)
Commit 898065a7b879f204874820f16e4e16ea2a961de0 by mcinally
Reword description of ISD::BUILD_VECTOR

Move operand type restriction to the end of the description. This
hopefully makes the intention more clear.

Differential Revision: https://reviews.llvm.org/D83413
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit a48cf72238e740adb2a45012736c0c655070fb8f by nikita.ppv
[InstSimplify] Handle not inserted instruction gracefully (PR46638)

When simplifying comparisons using a dominating assume, bail out
if the context instruction is not inserted.
The file was addedllvm/test/Transforms/SimplifyCFG/pr46638.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 0b39d2d75275b80994dac06b7ad05031cbd09393 by nikita.ppv
Revert "[NFC] Separate Peeling Properties into its own struct"

This reverts commit 0369dc98f958a1ca2ec05f1897f091129bb16e8a.

Many failing tests.
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
Commit 9b1e95329af7bb005275f18225b2c130ec3ea98d by craig.topper
[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms

As noted here https://lists.llvm.org/pipermail/llvm-dev/2016-October/106182.html and by alive2, this transform isn't valid. If X is poison this potentially propagates poison when it shouldn't.

This same transform still exists in DAGCombiner.

Differential Revision: https://reviews.llvm.org/D83360
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/dup.c
Commit 4544c2d95ad0217e1f28ddd84253cd09a91148c0 by richard
Recover more gracefully from stack exhaustion during template argument
deduction.

Template argument deduction can trigger substitution, both with
explicitly-specified template arguments and with deduced template
arguments in various ways. We previously had no check for stack
exhaustion along some of those codepaths, making it fairly easy to crash
clang with a template resulting in a substitution that referred back to
that same template. We should now produce a proper diagnostic for such
cases rather than crashing.
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/SemaTemplate/stack-exhaustion.cpp
Commit 27d52cd86a2cf82214b71519dffd450c54cf87ae by ditaliano
Revert "[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)"

This reverts commit 695b33a56919af8873eecb47cb83fa17a271e99f beacuse
it broke the macOS bot.
The file was modifiedlldb/test/API/python_api/sbenvironment/TestSBEnvironment.py
The file was modifiedlldb/source/API/SBLaunchInfo.cpp
Commit 6e089e98a9d5d7d0dda259f68b8ba7f4556cc5b3 by Jan Korous
[libclang] Fix crash when visiting a captured VLA

Array returned by LambdaExpr::capture_inits() can contain nullptrs.

Differential Revision: https://reviews.llvm.org/D82629
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/test/Index/evaluate-cursor.cpp
Commit 930eaadacfd11273af2f9c3ae21664648dc1e26f by aeubanks
[opt] Remove obsolete --quiet option

git blame shows these were last touched in 2004?
Obsoleted in r13844.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D83409
The file was modifiedllvm/tools/opt/PassPrinters.cpp
The file was modifiedllvm/tools/opt/PassPrinters.h
The file was modifiedllvm/include/llvm/Support/SystemUtils.h
The file was modifiedllvm/lib/Support/SystemUtils.cpp
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/tools/llvm-extract/llvm-extract.cpp
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp
The file was modifiedllvm/tools/llvm-as/llvm-as.cpp
Commit 7a5d79de9511e3e84aad2adb327b27c9069703ea by Louis Dionne
[libc++] Make sure the ENABLE_FILESYSTEM variable is always bound

The script always fails otherwise, since we run with 'set -u'
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh
Commit 74a148ad39ab32317948a2d6291264acd84bfa00 by Matthew.Arsenault
GlobalISel: Verify G_BITCAST changes the type

Updated the AArch64 tests the best I could with my vague, inferred
understanding of AArch64 register banks. As far as I can tell, there
is only one 32-bit/64-bit type which will use the gpr register bank,
so we have to use the fpr bank for the other operand.
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/MachineVerifier/test_g_bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
Commit 903bda14c330505ebede522a1f55673d88909c6d by richard
PR46640: Permit the first parameter of a destroying 'operator delete' to
be dependent if it names the right type.

This matches the GCC behavior, but no longer matches the standard
wording. However, the standard wording in this case is not in line with
the intent, which was to require the enclosing class type to be named
directly. I've reported this wording oversight to the committee.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-destroying-delete.cpp
Commit 339f1b49037bd7fbd1454c872bcfd1bb6c380f5d by guiand
sanitizers: Add interceptors for getproto{ent,byname,bynumber}_r

This also allows intercepting these getprotoent functions on Linux as
well, since Linux exposes them.

Differential Revision: https://reviews.llvm.org/D82424
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Commit 1bfdf7c7e310d69190bbf8c9adcbd853b6b83596 by ajcbik
[mlir] [VectorOps] Expose lowering pass options programmatically

The ConvertVectorToLLVM pass defines options that can be passed
on the command line (currently only reassociation of FP reductions
through -convert-vector-to-llvm='reassociate-fp-reductions). This
CL enables setting these options programmatically (forward looking
to more options than just reassociation, as well as setting the
values from code rather than command line).

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83420
The file was modifiedmlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
Commit 3728133d3f124c4c6972b118b0265de48ba89db1 by Adrian Prantl
Unify the ExecutionContextScope computation in Materializer.

This is an NFC cleanup for Clang, and a bugfix for the Swift
branch. In swift-lldb one target may have multiple scratch
TypeSystems, so it is important to pick the one that belongs to the
current frame, rather than the one for the current target.

<rdar://problem/65001402>
The file was modifiedlldb/source/Expression/Materializer.cpp
Commit ac0af12ed2fc60cba494a7e5df1778fd6dedd481 by craig.topper
[InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison

Part of addressing post-commit feedback from D83360
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 2ec5fc0c61fb4472bd5f9ea71130cdba215ed9a8 by Matthew.Arsenault
DAG: Remove redundant handling of reg fixups

It looks like 9cac4e6d1403554b06ec2fc9d834087b1234b695 accidentally
added a second copy of this from a bad rebase or something. This
second copy was added, and the finalizeLowering call was not deleted
as intended.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 9726dc4d072376f71c40024804e3bf1193ba5dd8 by Adrian Prantl
Updated the list of supported platforms in LLDB to include Apple silicon.
The file was modifiedlldb/docs/index.rst
Commit d999cbc98832154e15e786b98281211d5c1b9f5d by johannes
[OpenMP] Initial support for std::complex in target regions

This simply follows the scheme we have for other wrappers. It resolves
the current link problem, e.g., `__muldc3 not found`, when std::complex
operations are used on a device.

This will not allow complex make math function calls to work properly,
e.g., sin, but that is more complex (pan intended) anyway.

Reviewed By: tra, JonChesterfield

Differential Revision: https://reviews.llvm.org/D80897
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
The file was addedclang/lib/Headers/openmp_wrappers/complex
The file was addedclang/lib/Headers/openmp_wrappers/complex.h
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was modifiedclang/test/Headers/Inputs/include/cmath
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was modifiedclang/test/Headers/Inputs/include/cstdlib
The file was addedclang/test/Headers/nvptx_device_math_complex.cpp
The file was addedclang/test/Headers/Inputs/include/complex
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
Commit 3101fc692d2443226e749b8a643603efee695acc by llvmgnsyncbot
[gn build] Port d999cbc9883
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 18bd821f02261065a2235e43c7290b57d55224c8 by Matthew.Arsenault
DAG: Remove redundant finalizeLowering call

9cac4e6d1403554b06ec2fc9d834087b1234b695/D32628 intended to eliminate
this, and move all isel pseudo expansion to FinalizeISel. This was a
bad rebase or something, and failed to actually delete this call.

GlobalISel also has a redundant call of finalizeLowering. However, it
requires more work to remove it since it currently triggers a lot of
verifier errors in tests.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 158feabde4cb98021469ed4126682d8ee57456eb by guiand
[Sanitizer]: Require !android for protoent test
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
Commit 5a98581d196ba1ad9edaf36b1d1db122287b01eb by 31459023+hctim
[NFC] Fix some docs warnings

Summary:
Fixes two minor issues in the docs present under `ninja docs-llvm-html`:

1 - A header is too small:
```
Warning, treated as error:
llvm/llvm/docs/Passes.rst:70:Title underline too short.

``-basic-aa``: Basic Alias Analysis (stateless AA impl)
------------------------------------------------------
```

2 - Multiple definitions on a non-anonymous target (llvm-dev mailing list):
```
Warning, treated as error:
llvm/llvm/docs/DeveloperPolicy.rst:3:Duplicate explicit target name: "llvm-dev mailing list".
```

Reviewers: lattner

Reviewed By: lattner

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83416
The file was modifiedllvm/docs/DeveloperPolicy.rst
The file was modifiedllvm/docs/Passes.rst
Commit 23084878e96cadba4ade809b08229f3ee908aee9 by clementval
[openmp] Use switch in isAllowedClauseForDirective instead of multiple if

Summary:
Change the test in isAllowedClauseForDirective from if with multiple conditions
to a main switch on directive and then switches on clause for each directive. Version
check is still done with a condition in the return statment.

Reviewers: jdoerfert, jdenny

Reviewed By: jdenny

Subscribers: yaxunl, guansong, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83363
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedllvm/test/TableGen/directive2.td
The file was modifiedllvm/test/TableGen/directive1.td
Commit f06d2420b738adef6cea80812fdde0bc36c4ea41 by julian.lettner
[lit] Add --show-xxx command line options

Provide `--show-xxx` flags for all non-failure result codes, just as we
already do for `--show-xfail` and `--show-unsupported`.

Reviewed By: jdenny

Differential Revision: https://reviews.llvm.org/D82233
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/xfail.txt
The file was addedllvm/utils/lit/tests/show-result-codes.py
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/lit.cfg
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/unsupported.txt
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/fail.txt
The file was addedllvm/utils/lit/tests/Inputs/show-result-codes/pass.txt
The file was modifiedllvm/utils/lit/lit/main.py
Commit 15149e406486092a3665791545ab9474471c0f14 by Adrian Prantl
Fix debugserver reporting of deployment target

This patch fixes debugserver incorrectly returning the SDK version
instead of the minimum deployment target version.

rdar://problem/65001691

Differential Revision: https://reviews.llvm.org/D83443
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Commit cffc6036173d540e0d0215ce177a667c838336c5 by pklausler
[flang] Fix negative unit number hashing

Ensure that external unit number hashing produces a valid
index for a negative unit number, viz. a NEWUNIT=.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83428
The file was modifiedflang/runtime/unit-map.h
Commit 00068c452a599c328986e8afcbb3311331d09d26 by richard
Improve diagnostics for constant evaluation that fails because a
variable's initializer is not known.

The hope is that a better diagnostic for this case will reduce the rate
at which duplicates of non-bug PR41093 are reported.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/CXX/expr/expr.const/p2-0x.cpp
The file was modifiedclang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
Commit 24aa4efffd831a1125b4eb835e1911fa38f501d7 by riddleriver
[mlir] Print 0 element DenseElementsAttr as dense<> to fix parser bugs with expected shape.

Depending on where the 0 dimension is within the shape, the parser will currently reject .mlir generated by the printer.

Differential Revision: https://reviews.llvm.org/D83445
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/test/IR/parser.mlir
Commit 4254ed5c325c4a366a5f763487822414df6a0de4 by qiucofan
[Legalizer] Fix wrong operand in split vector helper

This should be a typo introduced in D69275, which may cause an unknown
segment fault in getNode.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D83376
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit abd6574b4542958bbde0d5b9568598f32417ef0a by stellaraccident
Add missing CMake bool canonicalizations.

Summary:
* This allows these flags to be passed on the command line with normal CMake bool-interpreted values like ON/OFF instead of requiring 0/1.
* As-is, if passing ON/OFF, these will cause a parse error in lit.site.cfg.py because Python tries to interpret the string literally.

Reviewers: stephenneuendorffer

Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83451
The file was modifiedmlir/test/CMakeLists.txt
Commit 371c94fca039bb85298756305758a56af129a1ce by echristo
Fix a typo in an error message.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 683a1bb253ef47ece27aad93812f22e8c51260fa by Xing
[DWARFYAML][unittest] Refactor parseDWARFYAML().

In this change, `parseDWARFYAML()` is refactored to be able to parse
YAML decription into different data structures. We don't have to craft
the whole DWARF structure for a small test in the future.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83220
The file was modifiedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
Commit 670915094462d831e3733e5b01a76471b8cf6dd8 by Lang Hames
[ORC] Modify LazyCallThroughManager to support asynchronous resolution.

Asynchronous resolution is a better fit for handling reentry over
IPC/RPC where we want to avoid blocking a communication handler/thread.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Commit 305b500eaf8c3b6a319e4571b4279a4694645d0d by Louis Dionne
[libc++] Fix test failures in C++14 mode
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
Commit e3e47e80355422df2e730cf97a0c80bb6de3915e by johannes
[OpenMP] Make complex soft-float functions on the GPU weak definitions

To avoid linkage errors we have to ensure the linkage allows multiple
definitions of these compiler inserted functions. Since they are on the
cold path of complex computations, we want to avoid `inline`. Instead,
we opt for `weak` and `noinline` for now.
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/test/Headers/nvptx_device_math_complex.cpp
Commit f9888462cc76fb486161709d88522bd419a89504 by douglas.yung
Increase DIAG_SIZE_AST as we have hit it.
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
Commit c96877ff62253aeeaba4ea165861045263d25207 by craig.topper
[X86] Remove unnecessary union from getHostCPUFeatures. NFC

This seems to be leftover copied from an older implementation
of getHostCPUName where we needed this to check the name of
CPU vendor. We don't check the CPU vendor at all in
getHostCPUFeatures so this union and the variable are unneeded.
The file was modifiedllvm/lib/Support/Host.cpp
Commit e38727a0bbbf2a0ee8f29458163a56f3c821f010 by Vitaly Buka
[StackSafety,NFC] Update documentation

It's follow up for D80908

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D82941
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
Commit e2b93185b84bd88264377f785465933a89faa4f8 by lkail
[PowerPC] Only make copies of registers on stack in variadic function when va_start is called

On PPC64, for a variadic function, if va_start is not called, it won't
access any variadic argument on stack, thus we can save stores of
registers used to pass arguments.

Differential Revision: https://reviews.llvm.org/D82361
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-varargs.ll
The file was modifiedllvm/test/CodeGen/PowerPC/legalize-vaarg.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit f36518637d7dfe5f8e619db1bd65dc90c92b5afa by sam.mccall
[clangd] Fix error handling in config.yaml parsing.

Summary:
A few things were broken:
- use of Document::parseBlockNode() is incorrect and prevents moving to the
   next doc in error cases. Use getRoot() instead.
- bailing out in the middle of iterating over a list/dict isn't allowed,
   unless you are going to throw away the parser: the next skip() asserts.
   Always consume all items.
- There were two concepts of fatal errors: error-diagnostics and drop-fragment.
   (The latter is the "return false" case in the parser). They didn't coincide.
   Now, parser errors and explicitly emitted error diagnostics are fatal.

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

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83436
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
Commit a60c31fd6229d2b2e578fa7e192e98303e69223c by sguelton
Fix return status of AtomicExpandPass

Correctly reflect change in the return status.

Differential Revision: https://reviews.llvm.org/D83457
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
Commit e59e39b7c4092ead733d25e7801429fd9dab7007 by shengchen.kan
[MC] Simplify the logic of applying fixup for fragments, NFCI

Replace mutiple `if else`  clauses with a `switch` clause and remove redundant checks. Before this patch, we need to add a statement like `if(!isa<MCxxxFragment>(Frag)) `  here each time we add a new kind of `MCEncodedFragment` even if it has no fixups. After this patch, we don't need to do that.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D83366
The file was modifiedllvm/lib/MC/MCAssembler.cpp
Commit fc39a9ca0ef4f7b07c485e0d3c61ec0776f7a38c by lucas.prates
[CodeGen] Matching promoted type for 16-bit integer bitcasts from fp16 operand

Summary:
When legalizing a biscast operation from an fp16 operand to an i16 on a
target that requires both input and output types to be promoted to
32-bits, an assertion can fail when building the new node due to a
mismatch between the the operation's result size and the type specified to
the node.

This patches fix the issue by making sure the bit width of the types
match for the FP_TO_FP16 node, covering the difference with an extra
ANYEXTEND operation.

Reviewers: ostannard, efriedma, pirama, jmolloy, plotfi

Reviewed By: efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82552
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/ARM/arm-half-promote.ll
Commit b805e944773e119461903e5140389072c02796bf by flo
[PredicateInfo] Add additional RenamedOp field to PB.

OriginalOp of a predicate always refers to the original IR
value that was renamed. So for nested predicates of the same value, it
will always refer to the original IR value.

For the use in SCCP however, we need to find the renamed value that is
currently used in the condition associated with the predicate. This
patch adds a new RenamedOp field to do exactly that.

NewGVN currently relies on the existing behavior to merge instruction
metadata. A test case to check for exactly that has been added in
195fa4bfae10.

Reviewers: efriedma, davide, nikic

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D78133
The file was modifiedllvm/include/llvm/Transforms/Utils/PredicateInfo.h
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
Commit 1c7c5019a7adfb16e0449ffb1d0e10631998d854 by kadircet
[clangd] Enable async preambles by default

Summary:
We've been testing this internally for a couple weeks now and it seems
to be stable enough. Let's flip the flag before branch cut to increase testing
coverage and have enough time to revert if need be.

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83290
The file was modifiedclang-tools-extra/clangd/TUScheduler.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit dc4a6f5db4f0178bae43ef615cc8902c759d6195 by oliver.stannard
[llvm-objdump] Display locations of variables alongside disassembly

This adds the --debug-vars option to llvm-objdump, which prints
locations (registers/memory) of source-level variables alongside the
disassembly based on DWARF info. A vertical line is printed for each
live-range, with a label at the top giving the variable name and
location, and the position and length of the line indicating the program
counter range in which it is valid.

Differential revision: https://reviews.llvm.org/D70720
The file was modifiedllvm/docs/CommandGuide/llvm-objdump.rst
The file was addedllvm/test/tools/llvm-objdump/ARM/Inputs/debug.c
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf4-sections.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
The file was addedllvm/test/tools/llvm-objdump/ARM/Inputs/wide-char.c
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf4.s
The file was addedllvm/test/tools/llvm-objdump/PowerPC/debug-vars.s
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf5.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-dwarf5-sections.s
The file was addedllvm/test/tools/llvm-objdump/ARM/debug-vars-wide-chars.s
Commit e4ec6d0afe14ca4ba6cebd35c7f46f3ce0859ecf by sguelton
Correctly update return status for MVEGatherScatterLowering

`Changed` should reflect all possible changes.

Differential Revision: https://reviews.llvm.org/D83459
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit 2ef71cb7fdb76acd2dc69584d05dacd041a7a522 by tpopp
[mlir] Add additional Canonicalization of shape.cstr_broadcastable.

Summary:
Added canonicalization and folding was:
- Folding when either input is an attribute indicating a scalar input
which can always be broadcasted.
- Canonicalization where it can be determined that either input shape is
a scalar.
- Canonicalization where the partially specified input shapes can be
proven to be broadcastable always.

Differential Revision: https://reviews.llvm.org/D83194
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Traits.h
The file was modifiedmlir/lib/Dialect/Traits.cpp
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 9e7fddbd36f567217255c1df1cb816b79f0250af by dmitry.polukhin
[yaml][clang-tidy] Fix multiline YAML serialization

Summary:
New line duplication logic introduced in https://reviews.llvm.org/D63482
has two issues: (1) there is no logic that removes duplicate newlines
when clang-apply-replacment reads YAML and (2) in general such logic
should be applied to all strings and should happen on string
serialization level instead in YAML parser.

This diff changes multiline strings quotation from single quote `'` to
double `"`. It solves problems with internal newlines because now they are
escaped. Also double quotation solves the problem with leading whitespace after
newline. In case of single quotation YAML parsers should remove leading
whitespace according to specification. In case of double quotation these
leading are internal space and they are preserved. There is no way to
instruct YAML parsers to preserve leading whitespaces after newline so
double quotation is the only viable option that solves all problems at
once.

Test Plan: check-all

Reviewers: gribozavr, mgehre, yvvan

Subscribers: xazax.hun, hiraditya, cfe-commits, llvm-commits

Tags: #clang-tools-extra, #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80301
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/remarks-shared-subtrees.ll
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedllvm/unittests/Support/YAMLIOTest.cpp
The file was modifiedclang/unittests/Tooling/ReplacementsYamlTest.cpp
The file was modifiedclang/include/clang/Tooling/ReplacementsYaml.h
Commit dbed9d5ce7f5ab870b3ff20a14ee6c366c803fdb by llvm-dev
VersionPrinter - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Support/CommandLine.cpp
Commit 397c68202a990c80a71de2816cee413cd5b5865e by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 03fe47a29c95dbda5ecd548e35627bb16f7dfc6d by llvm-dev
ConstantFoldScalarCall3 - use const APInt& returned by getValue()

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit f0bfad2ed9b4a0eec68b71c7df2ee588806788c2 by JunMa
[Coroutines] Refactor sinkLifetimeStartMarkers

Differential Revision: https://reviews.llvm.org/D83379
The file was addedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was removedllvm/test/Transforms/Coroutines/coro-split-sink-lifetime.ll
Commit 6a3b10e294feceb94064f32450de5c068a13dd03 by n.james93
[change-namespace][NFC] Clean up joinNamespaces
The file was modifiedclang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
Commit 58a85717cce5166b0952aee4d13375dda94f7497 by llvm-dev
DebugCounterList::printOptionInfo - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Support/DebugCounter.cpp
Commit 54bdde1dc0cde8176ef5616c82ee793218173cab by grimar
[llvm-readelf] - Stop using 'unwrapOrError()' in 'ELFDumper<ELFT>::getSymbolVersion'.

This allows to propagate an error and report a warning properly.

Differential revision: https://reviews.llvm.org/D83393
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/versym-invalid.test
Commit 614fb09645c8710f106dedb5f244f75ef97a1acb by paul.walker
[SVE] Disable some BUILD_VECTOR related code generator features.

Fixed length vector code generation for SVE does not yet custom
lower BUILD_VECTOR and instead relies on expansion.  At the same
time custom lowering for VECTOR_SHUFFLE is also not available so
this patch updates isShuffleMaskLegal to reject vector types that
require SVE.

Related to this it also prevents the merging of stores after
legalisation because this only works when BUILD_VECTOR is either
legal or can be elminated.  When this is not the case the code
generator enters an infinite legalisation loop.

Differential Revision: https://reviews.llvm.org/D83408
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 6b403319f86f55f1d6e16bde58d792d696e9fa8f by paul.walker
[SVE] Scalarize fixed length masked loads and stores.

When adding support for scalable vector masked loads and stores we
accidently opened up likewise for fixed length vectors. This patch
restricts support to scalable vectors only, thus ensuring fixed
length vectors are treated the same regardless of SVE support.

Differential Revision: https://reviews.llvm.org/D83341
The file was addedllvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
The file was addedllvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Commit 47c4ce41a16412efe49da1715be3144861cbf50a by Xing
[DWARFYAML] Use override instead of virtual for better safety.

Functions in DWARFYML::FixupVisitor are declared as
virtual functions in its base class DWARFYAML::Visitor.
We should use the mordern "override" keyword instead
of "virtual" for virtual functions in subclasses for
better safety.

Besides, the visibility is changed from private to
protected to make it consistent with
DWARFYAML::FixupVisitor class and DWARFYAML::Visitor
class.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83452
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 93bb9944cb577f0529636dc5acfba16026740962 by kbobyrev
[clangd] Implement path and URI translation for remote index

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: ormris, ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82938
The file was modifiedclang-tools-extra/clangd/index/remote/Client.h
The file was modifiedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
The file was modifiedclang-tools-extra/clangd/index/remote/unimplemented/UnimplementedClient.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
Commit b44470547e2ec8a52abb67c3f538ecc49ee27970 by benny.kra
Make helpers static. NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/MC/MCDisassembler/MCDisassembler.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
Commit a86ce06fafaa051554c6a21d487fa70e998dcafe by flo
[SCCP] Use conditional info with AND/OR branch conditions.

Currently SCCP does not combine the information of conditions joined by
AND in the true branch or OR in the false branch.

For branches on AND, 2 copies will be inserted for the true branch, with
one being the operand of the other as in the code below. We can combine
the information using intersection. Note that for the OR case, the
copies are inserted in the false branch, where using intersection is
safe as well.

    define void @foo(i32 %a) {
    entry:
      %lt = icmp ult i32 %a, 100
      %gt = icmp ugt i32 %a, 20
      %and = and i1 %lt, %gt
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %lt = icmp ult i32 %a, 100 Edge: [label %entry,label %true] }
      %a.0 = call i32 @llvm.ssa.copy.140247425954880(i32 %a)
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %gt = icmp ugt i32 %a, 20 Edge: [label %entry,label %false] }
      %a.1 = call i32 @llvm.ssa.copy.140247425954880(i32 %a.0)
      br i1 %and, label %true, label %false

    true:                                             ; preds = %entry
      call void @use(i32 %a.1)
      %true.1 = icmp ne i32 %a.1, 20
      call void @use.i1(i1 %true.1)
      ret void

    false:                                            ; preds = %entry
      call void @use(i32 %a.1)
      ret void
    }

Reviewers: efriedma, davide, mssimpso, nikic

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D77808
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges.ll
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
Commit 68f5a8b2042b8c4dc83d1851b462a0570eb3410f by ikudrin
[DebugInfo] Do not hang when parsing a malformed .debug_pub* section.

The parsing method did not check reading errors and might easily fall
into an infinite loop on an invalid input because of that.

Differential Revision: https://reviews.llvm.org/D83049
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
The file was modifiedlld/ELF/DWARF.h
The file was addedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
Commit ca4d8da0c33cd9bcd05f94b4b3ac125b72be2a2a by ikudrin
[DebugInfo] Add more checks to parsing .debug_pub* sections.

The patch adds checking for various potential issues in parsing name
lookup tables and reporting them as recoverable errors, similarly as we
do for other tables.

Differential Revision: https://reviews.llvm.org/D83050
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_error_cases.s
The file was modifiedlld/test/ELF/gdb-index.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was modifiedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was modifiedlld/test/ELF/Inputs/gdb-index.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
The file was removedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit d36b8414bdde1f361c40e6f6d53788c43ffe53c1 by benny.kra
[DebugInfo] Fix pessimizing move. NFC.

DWARFDebugPubTable.cpp:80:31: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Commit 167767a775f3db5cd94053d4da6a4f419b6211cd by dfukalov
SpeculativeExecution: Fix for logic change introduced in D81730.

Summary:
The test case started to hoist bitcasts to upper BB after D81730.
Reverted unintentional logic change. Some instructions may have zero cost but
will not be hoisted by different limitation so should be counted for threshold.

Reviewers: aprantl, arsenm, nhaehnle

Reviewed By: aprantl

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82761
The file was modifiedllvm/test/Transforms/SpeculativeExecution/PR46267.ll
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
Commit 97106f9d80f6ba1bf5eafbd5a6f88d72913ec5a1 by selliott
[RISCV] Avoid Splitting MBB in RISCVExpandPseudo

Since the `RISCVExpandPseudo` pass has been split from
`RISCVExpandAtomicPseudo` pass, it would be nice to run the former as
early as possible (The latter has to be run as late as possible to
ensure correctness). Running earlier means we can reschedule these pairs
as we see fit.

Running earlier in the machine pass pipeline is good, but would mean
teaching many more passes about `hasLabelMustBeEmitted`. Splitting the
basic blocks also pessimises possible optimisations because some
optimisations are MBB-local, and others are disabled if the block has
its address taken (which is notionally what `hasLabelMustBeEmitted`
means).

This patch uses a new approach of setting the pre-instruction symbol on
the AUIPC instruction to a temporary symbol and referencing that. This
avoids splitting the basic block, but allows us to reference exactly the
instruction that we need to. Notionally, this approach seems more
correct because we do actually want to address a specific instruction.

This then allows the pass to be moved much earlier in the pass pipeline,
before both scheduling and register allocation. However, to do so we
must leave the MIR in SSA form (by not redefining registers), and so use
a virtual register for the intermediate value. By using this virtual
register, this pass now has to come before register allocation.

Reviewed By: luismarques, asb

Differential Revision: https://reviews.llvm.org/D82988
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp
The file was modifiedllvm/test/CodeGen/RISCV/mir-target-flags.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/RISCV/tls-models.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/test/CodeGen/RISCV/pic-models.ll
Commit 4597bfddf11b7d9dcf373525d0bc889bcc212b13 by llvm-dev
BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI.

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/include/llvm/Analysis/BasicAliasAnalysis.h
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit f54402b63a4f5b0b4b15e0f82ce8ff8501b206e6 by llvm-dev
[X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X)

If we're extracting a subvector from a shuffle that is shuffling entire subvectors we can peek through and extract the subvector from the shuffle source instead.

This helps remove some cases where concat_vectors(extract_subvector(),extract_subvector()) legalizations has resulted in BLEND/VPERM2F128 shuffles of the subvectors.
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/packss.ll
Commit 31b05692cd33b6dcc39402169b36d895e1aa87f4 by l.lunak
make -fmodules-codegen and -fmodules-debuginfo work also with PCHs

Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here. The patch is fairly simple, it basically just
duplicates -fmodules checks to also alternatively check
-building-pch-with-obj.

This already got committed as cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74,
but then got reverted in 7ea9a6e0220da36ff2fd1fbc29c2755be23e5166
because of PR44953, as discussed in D74846. This is a corrected version
which does not include two places for the PCH case that aren't included
in the modules -fmodules-codegen path either.

Differential Revision: https://reviews.llvm.org/D69778
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/Modules/Inputs/codegen-flags/foo.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was addedclang/test/PCH/codegen.cpp
Commit d12d0b73f1c9c3a711c5cc15266a2b493cd712e9 by gabor.marton
[analyzer] Add CTUImportCppThreshold for C++ files

Summary:
The default CTUImportThreshold (8) seems to be too conservative with C projects.
We increase this value to 24 and we introduce another threshold for C++ source
files (defaulted to 8) because their AST is way more compilcated than C source
files.

Differential Revision: https://reviews.llvm.org/D83475
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
The file was modifiedclang/test/Analysis/ctu-import-threshold.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/test/Analysis/analyzer-config.c
Commit 6f5d9136b27eefc981333d8c23ea9c0a38033d7b by Matthew.Arsenault
OpaquePtr: Don't check pointee type for byval/preallocated

Since none of these users really care about the actual type, hide the
type under a new size-getting attribute to go along with
hasPassPointeeByValueAttr. This will work better for the future byref
attribute, which may end up only tracking the byte size and not the IR
type.

We currently have 3 parameter attributes that should carry the type
(technically inalloca does not yet). The APIs are somewhat awkward
since preallocated/inalloca piggyback on byval in some places, but in
others are treated as distinct attributes. Since these are all
mutually exclusive, we should probably just merge all the attribute
infrastructure treating these as totally distinct attributes.
The file was modifiedllvm/include/llvm/IR/Argument.h
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/lib/IR/Mangler.cpp
Commit af839a96187e3538d63ad57571e4bdf01e2b15c5 by david.green
[BasicAA] Enable -basic-aa-recphi by default

This option was added a while back, to help improve AA around pointer
phi loops. It looks for phi(gep(phi, const), x) loops, checking if x can
then prove more precise aliasing info.

Differential Revision: https://reviews.llvm.org/D82998
The file was modifiedllvm/test/Analysis/BasicAA/phi-loop.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
Commit 3514f58fbea5967a967468633c901e9b2f241594 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
Commit fdde69aac9b99a5cda49c5b738dc8dc67ea4cbbd by Matthew.Arsenault
AMDGPU/GlobalISel: Work around verifier error in test

The unfortunate split between finalizeLowering and the selector pass
means there's a point where the verifier fails. The DAG selector pass
skips the verifier, but this seems to not work when using the
GlobalISel fallback.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
Commit a0e981c190ffa0ad6b521222bc2fba504c9750ec by diogo.sampaio
[NFC] Add SExt multiuses test
The file was addedllvm/test/Transforms/BDCE/sext_multi_uses.ll
Commit 7cd1b0ff347d7aa4864624501efbe2ac609e67d7 by eschweitz
[flang] partially revert upstreamed code to support complex values in runtime support to avoid warnings.
The file was modifiedflang/runtime/pgmath.h.inc
The file was modifiedflang/lib/Evaluate/intrinsics-library.cpp
Commit 5d075beae73f3d9570230c0780e74dc32dda39a9 by georgemitenk0v
[MLIR][SPIRVToLLVM] SPIR-V types size in bytes function

Added `getSizeInBytes()` function as a class member to several SPIR-V types:
`ScalarType`, `ArrayType` and `VectorType`. This function aims at exposing
the functionality of `getTypeNumBytes()` from `SPIRVLowering.cpp`. Support
of more types will be added on demand.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83285
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
Commit beb52b12cb175d0df9bf168837d153f857f69eda by kamau.bridgeman
[PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation

The R_PPC64_REL24 is used in function calls when the caller requires a
valid TOC pointer. If the callee shares the same TOC or does not clobber
the TOC pointer then a direct call can be made. If the callee does not
share the TOC a thunk must be added to save the TOC pointer for the caller.

Up until PC Relative was introduced all local calls on medium and large code
models were assumed to share a TOC. This is no longer the case because
if the caller requires a TOC and the callee is PC Relative then the callee
can clobber the TOC even if it is in the same DSO.

This patch is to add support for a TOC caller calling a PC Relative callee that
clobbers the TOC.

Reviewed By: sfertile, MaskRay

Differential Revision: https://reviews.llvm.org/D82950
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was addedlld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s
The file was addedlld/test/ELF/ppc64-toc-call-to-pcrel.s
The file was modifiedlld/ELF/Thunks.cpp
The file was addedlld/test/ELF/ppc64-error-toc-local-call.s
Commit 4d4d9037670a3537c14092807a717284ea0c4f92 by erich.keane
Fix warning caused by __builtin_expect_with_probability was not handled
in places such as constant folding

Previously some places that should have handled
__builtin_expect_with_probability is missing, so in some case it acts
differently than __builtin_expect.
For example it was not handled in constant folding, thus in the
following program, the "if" condition should be constantly true and
folded, but previously it was not handled and cause warning "control may
reach end of non-void function" (while __builtin_expect does not):

__attribute__((noreturn)) extern void bar();
int foo(int x, int y) {
  if (y) {
    if (__builtin_expect_with_probability(1, 1, 1))
      bar();
  }
  else
    return 0;
}

Now it's fixed.

Differential Revisions: https://reviews.llvm.org/D83362
The file was modifiedclang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
Commit 28cd3cbc12577fa44f9b15c2ffaf9fb1bc280590 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion of SPIR-V array, runtime array, and pointer types

This patch adds type conversion for 4 SPIR-V types: array, runtime array, pointer
and struct. This conversion is integrated using a separate function
`populateSPIRVToLLVMTypeConversion()` that adds new type conversions. At the moment,
this is a basic skeleton that allows to perfom conversion from SPIR-V array,
runtime array and pointer types to LLVM typesystem. There is no support of array
strides or storage classes. These will be supported on the case by case basis.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83399
The file was addedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir
The file was addedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVMPass.cpp
The file was modifiedmlir/include/mlir/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.h
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
Commit 67422e4294754e08f277b1ba22820487eb76b918 by atrosinenko
[MSP430] Align the _Complex ABI with current msp430-gcc

Assembler output is checked against msp430-gcc 9.2.0.50 from TI.

Reviewed By: asl

Differential Revision: https://reviews.llvm.org/D82646
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was addedclang/test/CodeGen/msp430-abi-complex.c
Commit 3cca818efabbccdde36b06609cf75ee7caa8e012 by gribozavr
Refactored NumericLiteralParser to not require a Preprocessor

Summary:
We would like to use NumericLiteralParser in the implementation of the
syntax tree builder, and plumbing a preprocessor there seems
inconvenient and superfluous.

Reviewers: eduucaldas

Reviewed By: eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83480
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/include/clang/Lex/LiteralSupport.h
Commit 9ecda9aa804dcb49e30e46161b29976494b0a1f9 by hans
Revert 51b0da73 "Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def.""

It gets miscompiled with GCC 5.3, causing Clang to crash with
"error: unknown target CPU 'x86-64'"

See the llvm-commits thread for reproduction steps.

This reverts commit 51b0da731af75c68dd521e04cc576d5a611b1612.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/lib/Support/Host.cpp
Commit 9477d39e61f8e0076e47fef81941e8a24e979d6f by flo
[SCCP] Move tests using only ipsccp from IPConstantProp to SCCP (NFC).

Some of the tests in the llvm/test/Transforms/IPConstantProp directory
actually only use -ipsccp. Those tests belong to the other (IP)SCCP
tests in llvm/test/Transforms/SCCP/ and this commits moves them there to
avoid confusion with IPConstantProp.
The file was removedllvm/test/Transforms/IPConstantProp/musttail-call.ll
The file was removedllvm/test/Transforms/IPConstantProp/2009-09-24-byval-ptr.ll
The file was removedllvm/test/Transforms/IPConstantProp/remove-call-inst.ll
The file was removedllvm/test/Transforms/IPConstantProp/PR16052.ll
The file was addedllvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
The file was removedllvm/test/Transforms/IPConstantProp/PR26044.ll
The file was addedllvm/test/Transforms/SCCP/PR26044.ll
The file was addedllvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
The file was removedllvm/test/Transforms/IPConstantProp/dangling-block-address.ll
The file was removedllvm/test/Transforms/IPConstantProp/global.ll
The file was removedllvm/test/Transforms/IPConstantProp/fp-bc-icmp-const-fold.ll
The file was removedllvm/test/Transforms/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
The file was addedllvm/test/Transforms/SCCP/PR16052.ll
The file was addedllvm/test/Transforms/SCCP/musttail-call.ll
The file was addedllvm/test/Transforms/SCCP/user-with-multiple-uses.ll
The file was addedllvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
The file was addedllvm/test/Transforms/SCCP/global.ll
The file was addedllvm/test/Transforms/SCCP/remove-call-inst.ll
The file was removedllvm/test/Transforms/IPConstantProp/user-with-multiple-uses.ll
The file was addedllvm/test/Transforms/SCCP/dangling-block-address.ll
Commit bd2068031121adf5a0e28d9306a1741d6f0bbd87 by kamau.bridgeman
[PowerPC] Split s34imm into two types

Currently the instruction paddi always takes s34imm as the type for the
34 bit immediate. However, the PC Relative form of the instruction should
not produce the same fixup as the non PC Relative form.
This patch splits the s34imm type into s34imm and s34imm_pcrel so that two
different fixups can be emitted.

Reviewed By: kamaub, nemanjai

Differential Revision: https://reviews.llvm.org/D83255
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was addedllvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
Commit afc1a709433e3754ee3819efd9e144b657919131 by nikita.ppv
[AliasSetTracker] More precise AAInfo intersection check

The code currently checks whether the intersection has one of TBAA,
Scope or NoAlias unset -- however, those might have already been
unset in the first place, in which case we will unnecessarily
report a change. Instead, compare the intersection result to the
original AAInfo.

This makes for a 0.5% geomean compile-time saving on CTMark.

Differential Revision: https://reviews.llvm.org/D83430
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
Commit a89d54fd61a6e7a05f7434491135e667306a22e7 by jaskiewiczs
[compiler-rt] Better Windows support for running tests in external shell

Summary:
These changes are necessary to support remote running compiler-rt tests
that were compiled on Windows.

Most of the code here has been copy-pasted from other lit configs.

Why do we remove the conversions to ASCII in the crt config?

We set the `universal_newlines` argument to `True` in `Popen` instead.
This is supported in both Python 2.7 and 3, is easier
(no need to do the `str(dir.decode('ascii'))` dance) and less
error prone.

Also, this is necessary because if the config is executed on Windows,
and `execute_external` is `True`, we take the branch
`if sys.platform in ['win32'] and execute_external`,
and if we use Python 3, then the `dir` variable is a byte-like object,
not str, but the ``replace method on byte-like objects requires its
arguments to also be byte-like objects, which is incompatible with
Python 2 etc etc.

It is a lot simpler to just work with strings in the first place, which
is achieved by setting `universal_newlines` to `True`. As far as
I understand, this way wasn't taken because of the need to support
Python <2.7, but this is not the case now.

Reviewers: compnerd, phosek, weimingz

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83485
The file was modifiedcompiler-rt/test/crt/lit.cfg.py
The file was modifiedcompiler-rt/test/builtins/Unit/lit.cfg.py
Commit e529d774c4d5d1eba13dcad5eef2195dd06741c6 by Fred Riss
[lldb] Use enum constant instead of raw value
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MachO.h
Commit 5ab446cfe5503fd4431a94db4d741cf3b5fdcd15 by jaskiewiczs
[compiler-rt] [test] Use the parent process env as base env in tests

Summary:
Right now the lit config builds up an environment that the tests will be run in. However, it does it from scratch instead of adding new variables to the parent process environment. This may (and does) result in strange behavior when running tests with an executor (i. e. with the `COMPILER_RT_EMULATOR` CMake variable set to something), since the executor may need some of the parent process's environment variables.

Here this is fixed.

Reviewers: compnerd, phosek

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83486
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit 6f69318c7248275b509ecf0f88eb2ba725aaeb82 by Louis Dionne
[runtimes] Allow passing Lit parameters through CMake

This allows passing parameters to the test suites without using
LLVM_LIT_ARGS. The problem is that we sometimes want to set some
Lit arguments on the CMake command line, but the Lit parameters in
a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS,
the command-line entry overrides the cache one, and the parameters
set by the cache are ignored.

This fixes a current issue with the build bots that they completely
ignore the 'std' param set by Lit, because other Lit arguments are
provided via LLVM_LIT_ARGS on the CMake command-line.
The file was modifiedlibcxx/cmake/caches/Generic-cxx2a.cmake
The file was modifiedlibcxx/cmake/caches/Generic-cxx14.cmake
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/cmake/caches/Generic-cxx03.cmake
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibcxxabi/test/CMakeLists.txt
The file was modifiedlibcxx/cmake/caches/Generic-cxx17.cmake
The file was modifiedlibcxx/cmake/caches/Generic-cxx11.cmake
Commit 8372d505082aceb38417e0b561cd32f2e227597b by jaskiewiczs
[compiler-rt] [test] Allow expanding lit substitutions recursively

Summary:
This allows using lit substitutions in the `COMPILER_RT_EMULATOR` variable.

(For reference, the ability to expand substitutions recursively has been introduced in https://reviews.llvm.org/D76178.)

Reviewers: phosek, compnerd

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83489
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit 06fc125d8c5d7d1244ee2160fba52bc1b91ddb99 by yamauchi
[PGO][PGSO] Add profile guided size optimization tests to X86 ISel Lowering.
The file was modifiedllvm/test/CodeGen/X86/phaddsub-extract.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
Commit 6a8ed4a8ffdc7ec2dcc6038a494924a3d5a2b3a3 by Louis Dionne
[libc++] Fix test failure in C++03 mode
The file was modifiedlibcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp
Commit c1a83c30e10c19cdd83277bf2e5ceca7ce6471c8 by Louis Dionne
[libc++] Move the stdlib Lit parameter to the DSL
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 4598a3c7841bed32c21608a78b879e197f5002e2 by Louis Dionne
[libc++] Move the long_tests Lit feature to the DSL
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit fccd29dddee92ffa7cd8a9adec6e626760538dae by dany.grumberg
Merge TableGen files used for clang options

Summary:
Putting all the options in the same file is needed so they can be
ordered based on the dependencies between them.

Reviewers: Bigcheese, jdoerfert

Subscribers: dexonsmith, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82574
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/include/clang/Driver/CLCompatOptions.td
Commit 0b72b9d07fcdf888a7020f16f8e497f1e83d2d90 by flo
[ValueLattice] Simplify canTrackGlobalVariableInterprocedurally (NFC).

using all_of and checking for valid users in the lambda seems more
straight forward. Also adds a comment explaining what we are checking.
The file was modifiedllvm/lib/Analysis/ValueLatticeUtils.cpp
Commit 6cfc90b9b791a023368b9384f57c2c3120894247 by Vedant Kumar
[Function] Lock the function when parsing call site info

Summary:
DWARF-parsing methods in SymbolFileDWARF which update module state
typically take the module lock. ParseCallEdgesInFunction doesn't do
this, but higher-level locking within lldb::Function (which owns the
storage for parsed call edges) is necessary.

The lack of locking could explain some as-of-yet unreproducible crashes
which occur in Function::GetTailCallingEdges(). In these crashes, the
`m_call_edges` vector is non-empty but contains a nullptr, which
shouldn't be possible. (If this vector is non-empty, it _must_ contain a
non-null unique_ptr.)

This may address rdar://55622443 and rdar://65119458.

Reviewers: jasonmolenda, friss, jingham

Subscribers: aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83359
The file was modifiedlldb/include/lldb/Symbol/Function.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Symbol/Function.cpp
Commit f8f259ce4aca381896c114738a3d83a90c5c32be by Vedant Kumar
[lldb/Function] Reflow doxygen comments for member variables, NFC

As suggested in the review for https://reviews.llvm.org/D83359.
The file was modifiedlldb/include/lldb/Symbol/Function.h
Commit b785396525562661ffba887501c540fea951633f by Louis Dionne
[libc++] Clean up some outdated documentation about running libc++ tests

The documentation is still awfully outdated, but it's a bit better at least.
The file was modifiedlibcxx/docs/TestingLibcxx.rst
The file was modifiedlibcxx/utils/libcxx/test/target_info.py
Commit 6f7727db478b452a262b2beea2beceef096eb68c by stefanp
[PowerPC] Fix test case from beb52b12cb17

Forgot to add the REQUIRES ppc line to the test.
The file was modifiedlld/test/ELF/ppc64-error-toc-local-call.s
Commit 3e75912005cbbdc7c7244b73319cb7441e64682f by craig.topper
[X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests.

Technically a VSELECT expects a vector of all 1s or 0s elements
for its condition. But we aren't guaranteeing that the sign bit
and the non sign bits match in these locations. So we should use
BLENDV which is more relaxed.

Differential Revision: https://reviews.llvm.org/D83447
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 2c1a9006dd73e4e9f446fb6fa6cf2328eee1558f by yamauchi
[PGO][PGSO] Add profile guided size optimization to X86 ISel Lowering.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/phaddsub-extract.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
Commit 8769611f0af2598177d8d03ad6dbbe064210bfed by dblaikie
Remove unnecessary 'rm' in llvm-reduce tests

These were initially added to cleanup some transient/leftover files in
r372054. Now that's all cleaned up, these are no longer needed.
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
The file was modifiedllvm/test/Reduce/remove-metadata.ll
The file was modifiedllvm/test/Reduce/remove-operand-bundles.ll
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-global-vars-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-args-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-args.ll
Commit 918e6531863187d65895fd68bbc622369b3d79f3 by craig.topper
[X86] Immediately call LowerShift from lowerBuildVectorToBitOp.

If we don't immediately lower the vector shift, the splat
constant vector we created may get turned into a constant pool
load before we get around to lowering the shift. This makes it
a lot more difficult to create a shift by constant. Sometimes we
fail to see through the constant pool at all and end up trying
to lower as if it was a variable shift. This requires custom
handling and may create an unsupported vselect on pre-sse-4.1
targets. Since we're after LegalizeVectorOps we are unable to
legalize the unsupported vselect as that code is in LegalizeVectorOps
rather than LegalizeDAG.

So calling LowerShift immediately ensures that we get see the
splat constant.

Fixes PR46527.

Differential Revision: https://reviews.llvm.org/D83455
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/pr46527.ll
Commit f5f58f1f733b880decfb8f12ebba6126da818496 by Louis Dionne
[libc++] Move the enable_experimental Lit param to the DSL
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 122b0640fc97202bacb630744dfc6da58f11af42 by craig.topper
[InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison

We can't fold to the non-undef value unless we know it isn't poison. So check each element with isGuaranteedNotToBeUndefOrPoison. This currently rules out all constant expressions.

Differential Revision: https://reviews.llvm.org/D83442
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit c2827083166cd5150232d8fd3ada3cf8fa8c9ac3 by echristo
Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
Commit cfb36754108deae438c0b822f80cdbc7c1c26593 by Louis Dionne
[libc++] The enable_experimental Lit feature should be False by default

This preserves existing behavior before f5f58f1f733b.
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit 2da9572a9b10c8e4d0db2f3267f1a2c0ea31c896 by cchen
[OPENMP50] extend array section for stride (Parsing/Sema/AST)

Reviewers: ABataev, jdoerfert

Reviewed By: ABataev

Subscribers: yaxunl, guansong, arphaman, sstefan1, cfe-commits, sandoval, dreachem

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82800
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_messages.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/test/OpenMP/target_enter_data_depend_messages.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_data_messages.c
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_messages.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/test/OpenMP/target_exit_data_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_depend_messages.cpp
The file was modifiedclang/include/clang/AST/ExprOpenMP.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_messages.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
Commit 7e169cec74b09dc7a0eeafcb21e9f827314265ef by plotfi
[NFC][test] Adding fastcc test case for promoted 16-bit integer bitcasts.

The following: https://reviews.llvm.org/D82552

fixed an assert in the SelectionDag ISel legalizer for some CCs on armv7.

I noticed that this fix also fixes the assert when using fastcc, so I am
adding a fastcc regression test here.

Differential Revision: https://reviews.llvm.org/D82443
The file was modifiedllvm/test/CodeGen/ARM/arm-half-promote.ll
Commit 84557c18b3ca3cfc8d1f8ee988d8c19e2719f124 by Jonas Devlieghere
[lldb/Reproducers] Rename developer-oriented reproducer flags.

This is a preparatory rename of the developer facing reproducer flags.

reproducer-skip-version-check -> reproducer-no-version-check
reproducer-auto-generate      -> reproducer-generate-on-quit
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/test/Shell/Reproducer/TestDriverOptions.test
The file was modifiedlldb/tools/driver/Options.td
The file was modifiedlldb/test/Shell/Reproducer/TestVersionCheck.test
The file was modifiedlldb/utils/lldb-repro/lldb-repro.py
Commit 10aa9e19fa2f4bf214131d30d7885f8b258b216f by Jonas Devlieghere
[LLDB/Reproducers] Add flag to avoid installing the signal handler.

There are bugs where you don't want the signal handler to trigger, most
notably when that will cause another crash. Examples of this are lldb
running out of memory or a bug in the reproducer generation code. This
adds an escape hatch trough a (developer oriented) flag to not install
the signal handler.

rdar://problem/65149595

Differential revision: https://reviews.llvm.org/D83496
The file was modifiedlldb/tools/driver/Options.td
The file was modifiedlldb/test/Shell/Reproducer/TestCrash.test
The file was modifiedlldb/tools/driver/Driver.cpp
Commit 7af27b65b3ce4690da97fd8048be7237e0358ef5 by plotfi
[NFC][AArch64] Refactor getArgumentPopSize

Differential Revision: https://reviews.llvm.org/D83456
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit e81f9cd2137f258fd1ec6a169db836387bcca84a by Jan Korous
[AST][test] Add regression test forPointerExprEvaluator::VisitCXXNewExpr

This assert was failing:
assert(CAT && "unexpected type for array initializer");

until this patch landed:
9a7eda1bece887ca9af085d79fe6e4fb8826dcda
PR45350: Handle unsized array CXXConstructExprs in constant evaluation
The file was addedclang/test/AST/regression-new-expr-crash.cpp
Commit 2ede89187516ccd4ba06b83303e9d07c5d555ecf by jeremy.bruestle
[MLIR] IR changes to add yield semantics for affine.if and affine.parallel

Reviewed By: bondhugula, flaub

Differential Revision: https://reviews.llvm.org/D82600
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/lib/Dialect/Affine/EDSC/Builders.cpp
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was addedmlir/include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
Commit 25ec96d91a3a5326a403496fa5532ff0bdb6a15b by daltenty
[Clang][Driver] Recognize the AIX OBJECT_MODE environment setting

Summary:
AIX uses an environment variable called OBJECT_MODE to indicate to
utilities in the toolchain whether they should be operating in 32-bit or
64-bit mode. This patch makes the clang driver recognize the current
OBJECT_MODE setting when we are operating with an AIX target and adds a
custom diagnostic for invalid settings.

For more details about OBJECT_MODE on AIX see:

https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/tusetenv1.html
https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/opt_3264.html

Reviewers: stevewan, hubert.reinterpretcast, ShuhongL, jasonliu

Reviewed By: hubert.reinterpretcast, jasonliu

Subscribers: jasonliu, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82476
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/aix-object-mode.c
Commit 389b67b809cd75470819d69102d62bb316d15967 by Louis Dionne
[libc++] Get rid of the %{libcxx_src_root} substitution

This reduces the set of substitutions required to run the test suite.
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
The file was modifiedlibcxx/test/pretty_printers/gdb_pretty_printer_test.sh.cpp
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
Commit 469da663f2df150629786df3f82c217062924f5e by craig.topper
[InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison

Follow up from the transform being removed in D83360. If X is probably not poison, then the transform is safe.

Still plan to remove or adjust the code from ConstantFolding after this.

Differential Revision: https://reviews.llvm.org/D83440
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit ff5b9a7b3b2736db02c6550bb4eae84ae65e294c by ctetreau
[SVE] Remove calls to VectorType::getNumElements from CodeGen

Reviewers: efriedma, fpetrogalli, sdesmalen, RKSimon, arsenm

Reviewed By: RKSimon

Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82210
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/lib/CodeGen/InterleavedAccessPass.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/CodeGen/LowLevelType.cpp
The file was modifiedllvm/lib/CodeGen/ExpandReductions.cpp
Commit c92a8c0a0f68fbbb23e3fdde071007e63a552e82 by zequanwu
[LPM] Port CGProfilePass from NPM to LPM

Reviewers: hans, chandlerc!, asbirlea, nikic

Reviewed By: hans, nikic

Subscribers: steven_wu, dexonsmith, nikic, echristo, void, zhizhouy, cfe-commits, aeubanks, MaskRay, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D83013
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was removedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
Commit 53e38c85a8a6cdcf7776b936d72fb94ec737dc84 by phosek
[CMake][Fuchsia] Support for building with MSVC

This change adds the necessary flags for building the full Fuchsia
toolchain on Windows with MSVC.

Differential Revision: https://reviews.llvm.org/D73810
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedclang/cmake/caches/Fuchsia.cmake
Commit caa423eef0d128f35ac11ddbce34964caafb61c1 by lebedev.ri
Revert "[InstCombine] Lower infinite combine loop detection thresholds"

And just after 3 days, we have a hit in `InstCombiner::mergeStoreIntoSuccessor()`:
https://bugs.llvm.org/show_bug.cgi?id=46661

To be recommitted once that is addressed.

This reverts commit cd7f8051ac7b6f08734102446482c1e5d951bfcc.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 29a9dd5bfe50be9b6aecbe95c6670734e5ee29c5 by lebedev.ri
[Docs] CodingStandards: for_each is discouraged

Summary:
As per disscussion in D83351, using `for_each` is potentially confusing,
at least in regards to inconsistent style (there's less than 100 `for_each`
usages in LLVM, but ~100.000 `for` range-based loops

Therefore, it should be avoided.

Reviewers: dblaikie, nickdesaulniers

Reviewed By: dblaikie, nickdesaulniers

Subscribers: hubert.reinterpretcast, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83431
The file was modifiedllvm/docs/CodingStandards.rst
Commit d8bf5e8048dbd1f726d50b43fa4f8ed4fa9a5178 by lebedev.ri
[NFCI][llvm-reduce] OperandBundleCounter: drop pointless constructor

Reviewers: nickdesaulniers, dblaikie

Reviewed By: nickdesaulniers

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83435
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Commit 6b824415a21c188adfcabbb61ac8cf5d44b8e236 by lebedev.ri
[NFC][llvm-reduce] Purify for_each usage in Operand Bundles into range-based for loop

Summary:
As per lengthy/heated disscussion in D83351,
and CodingStandards D83431.

Reviewers: dblaikie, nickdesaulniers

Reviewed By: nickdesaulniers

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83434
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Commit 03640ee0fa73c6eaf8cb12050203027239136789 by lebedev.ri
[llvm-reduce] Reducing attributes

Summary:
This handles all three places where attributes could currently be - `GlobalVariable`, `Function` and `CallBase`.
For last two, it correctly handles all three possible attribute locations (return value, arguments and function itself)

There was a previous attempt at it D73853,
which was committed in rGfc62b36a000681c01e993242b583c5ec4ab48a3c,
but then reverted all the way back in rGb12176d2aafa0ccb2585aa218fc3b454ba84f2a9
due to some (osx?) test failures.

Reviewers: nickdesaulniers, dblaikie, diegotf, george.burgess.iv, jdoerfert, Tyker, arsenm

Reviewed By: nickdesaulniers

Subscribers: wdng, MaskRay, arsenm, llvm-commits, mgorny

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83351
The file was addedllvm/test/Reduce/remove-global-variable-attributes.ll
The file was addedllvm/test/Reduce/remove-attributes-from-intrinsics.ll
The file was addedllvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
The file was addedllvm/test/Reduce/remove-attributes-from-intrinsic-like-functions.ll
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.h
The file was addedllvm/test/Reduce/remove-call-site-attributes.ll
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was addedllvm/tools/llvm-reduce/deltas/ReduceAttributes.h
The file was addedllvm/test/Reduce/remove-function-attributes.ll
Commit 205dc0922d5f7305226f7457fcbcb4224c92530c by georgakoudis1
[CallGraph] Ignore callback uses

Summary:
Ignore callback uses when adding a callback function
in the CallGraph. Callback functions are typically
created when outlining, e.g. for OpenMP, so they have
internal scope and linkage. They should not be added
to the ExternalCallingNode since they are only callable
by the specified caller function at creation time.

A CGSCC pass, such as OpenMPOpt, may need to update
the CallGraph by adding a new outlined callback function.
Without ignoring callback uses, adding breaks CGSCC
pass restrictions and results to a broken CallGraph.

Reviewers: jdoerfert

Subscribers: hiraditya, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83370
The file was modifiedllvm/lib/Analysis/CallGraph.cpp
The file was addedllvm/test/Analysis/CallGraph/ignore-callback-uses.ll
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
Commit c025bdf25a59a79d60a2e99962c8653547a825d8 by maskray
Revert D83013 "[LPM] Port CGProfilePass from NPM to LPM"

This reverts commit c92a8c0a0f68fbbb23e3fdde071007e63a552e82.

It breaks builds and has unaddressed review comments.
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
The file was addedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit ce1e4853b5a15d679bd662ac5777a2390daf0391 by echristo
Temporarily Revert "[PowerPC] Split s34imm into two types"
as it was failing in Release+Asserts mode with an assert.

This reverts commit bd2068031121adf5a0e28d9306a1741d6f0bbd87.
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was removedllvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
Commit 98eec7700c3f397283a3937b1d3ddfe4e6d3b910 by echristo
Temporarily Revert "Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch."
as it's causing build errors with another clang so I'll need to approach
this differently.

This reverts commit c2827083166cd5150232d8fd3ada3cf8fa8c9ac3.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
Commit c2a61ef3885019c5e0444d8789de63e1ce4d5003 by lebedev.ri
Revert "[CallGraph] Ignore callback uses"

This likely has broken test/Transforms/Attributor/IPConstantProp/ tests.
http://45.33.8.238/linux/22502/step_12.txt

This reverts commit 205dc0922d5f7305226f7457fcbcb4224c92530c.
The file was modifiedllvm/lib/Analysis/CallGraph.cpp
The file was removedllvm/test/Analysis/CallGraph/ignore-callback-uses.ll
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedllvm/lib/IR/Function.cpp
Commit c0308fd154f9a945608bd42630dc81dce5edfb40 by nikita.ppv
[PredicateInfo] Print RenamedOp (NFC)

Make it easier to debug renaming issues.
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/condprop.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
Commit 6890e2a17b75211cf65fca597ada768bda348c4c by spatel
[DAGCombiner] add helper function to manage list of consecutive stores; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 8d74cb01b732a55f0942a9fabe9f779820f2c06b by spatel
[DAGCombiner] add helper function for store merging of constants; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit f98a602c2e37648f637aac15cba7cbe86906e720 by spatel
[DAGCombiner] add helper function for store merging of extracts; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit b476e6a642d08aefaf391df026893078cd6ea9b2 by spatel
[DAGCombiner] add helper function for store merging of loaded values; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit a46cf40240adb3f3171f08705e65d7300b2719cb by spatel
[DAGCombiner] convert if-chain in store merging to switch; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 77f8f813a9ae20152129a8ebb9fea5fcec859194 by Stanislav.Mekhanoshin
[AMDGPU] Return restricted number of regs from TTI

This is practically NFC at the moment because nothing really
asks the real number or does anything useful with it.

Differential Revision: https://reviews.llvm.org/D82202
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Commit f40b11325e368667cf1dd91922d57dcef8069c8a by craig.topper
Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

This time without the change to make operator| use operator&=.
That seems to be the source of the gcc 5.3 miscompile.

Original commit message:
These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 839f8e4fe2dcf490a0972d7761f95e5a6b287faf by jdenny.ornl
[FileCheck] Improve -dump-input documentation

Document the default of `fail` in `-help`.  Extend `-dump-input=help`
to help users find related command-line options, but let `-help`
provide their full documentation.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D83091
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/dump-input-enable.txt
Commit 5ffec467202808f92c378adae95d9972926aba7d by amy.kwan1
[PowerPC][Power10] Add Instruction definition/MC Tests for Load/Store Rightmost VSX Vector

This patch adds the instruction definitions and the assembly/disassembly
tests for the Load/Store VSX Vector Rightmose instructions.

Differential Revision: https://reviews.llvm.org/D83364
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
Commit 672ae621e91ff5cdefb2535bdd530641536685ea by zequanwu
[Lexer] Fix missing coverage line after #endif

Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660

Reviewers: vsk, efriedma, arphaman

Reviewed By: vsk

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83514
The file was modifiedclang/test/CoverageMapping/preprocessor.c
The file was modifiedclang/lib/Lex/PPDirectives.cpp
Commit 227db86a1b7dd6f96f7df14890fcd071bc4fe1f5 by akhuang
Switch to using -debug-info-kind=constructor as default (from =limited)

Summary:
-debug-info-kind=constructor reduces the amount of class debug info that
is emitted; this patch switches to using this as the default.

Constructor homing emits the complete type info for a class only when the
constructor is emitted, so it is expected that there will be some classes that
are not defined in the debug info anymore because they are never constructed,
and we shouldn't need debug info for these classes.

I compared the PDB files for clang, and there are 273 class types that are defined with `=limited`
but not with `=constructor` (out of ~60,000 total class types).
We've looked at a number of the types that are no longer defined with =constructor. The vast
majority of cases are something like class A is used as a parameter in a member function of
some other class B, which is emitted. But the function that uses class A is never called, and class A
is never constructed, and therefore isn't emitted in the debug info.

Bug: https://bugs.llvm.org/show_bug.cgi?id=46537

Subscribers: aprantl, cfe-commits, lldb-commits

Tags: #clang, #lldb

Differential Revision: https://reviews.llvm.org/D79147
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/test/Driver/clang-g-opts.c
The file was modifiedclang/test/Driver/myriad-toolchain.c
The file was modifiedclang/test/Driver/cuda-dwarf-2.cu
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedclang/test/Driver/debug-options-as.c
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
The file was modifiedclang/test/Driver/integrated-as.s
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/cl-options.c
Commit 85d9745c83a105692a8784b8c8a83482696b4900 by psteinfeld
[flang] Fix a crash when creating generics from a copy

Summary:
When a program unit creates a generic based on one defined in a module, the
function `CopyFrom()` is called to create the `GenericDetails`.  This function
copied the `specificProcs_` but failed to copy the `bindingNames_`.  If the
function `CheckGeneric()` then gets called, it tries to index into the empty
binding names and causes the crash.

I fixed this by adding code to `CopyFrom()` to copy the binding names.

I also added a test that causes the crash.

Reviewers: klausler, tskeith, DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D83491
The file was modifiedflang/lib/Semantics/symbol.cpp
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/test/Semantics/resolve53.f90
Commit 8be204fe75caac4ce6ed1e2cf5659011476bde79 by zequanwu
Revert "[Lexer] Fix missing coverage line after #endif"

This reverts commit 672ae621e91ff5cdefb2535bdd530641536685ea.
The file was modifiedclang/test/CoverageMapping/preprocessor.c
The file was modifiedclang/lib/Lex/PPDirectives.cpp
Commit 8a8bb078a3c839f0708917d9920ed4299680de1e by pklausler
[flang] Fix frontend build with -DBUILD_SHARED_LIBS=On

Fix fronted shared library builds by eliminating dependences of
the parser on other component libraries, moving some code around that
wasn't in the right library, and making some dependences
explicit in the CMakeLists.txt files.  The lowering library
does not yet build as a shared library due to some undefined
names.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D83515
The file was modifiedflang/lib/Semantics/tools.cpp
The file was modifiedflang/include/flang/Evaluate/expression.h
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/include/flang/Evaluate/call.h
The file was modifiedflang/tools/f18-parse-demo/stub-evaluate.cpp
The file was modifiedflang/lib/Semantics/CMakeLists.txt
The file was modifiedflang/include/flang/Common/indirection.h
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/call.cpp
The file was modifiedflang/tools/f18/CMakeLists.txt
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was modifiedflang/unittests/Evaluate/CMakeLists.txt
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/lib/Evaluate/expression.cpp
The file was modifiedflang/include/flang/Semantics/tools.h
The file was modifiedflang/lib/Evaluate/tools.cpp
The file was modifiedflang/lib/Evaluate/CMakeLists.txt
The file was modifiedflang/lib/Parser/parse-tree.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
Commit 9263e08251ae7ab6feaa6cda37d70fbd6971cfc4 by eschweitz
[flang] ifdef to avoid warning about supposedly dead function
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
Commit 56ae2cebcdf7884470212ed2a04c1bce73d5c996 by efriedma
[AArch64][SVE] Add lowering for llvm.fma.

This is currently bare-bones; we aren't taking advantage of any of the
FMA variant instructions.  But it's enough to at least generate
code.

Differential Revision: https://reviews.llvm.org/D83444
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 722475a375697513797a71afe6c37db3e3763bfc by stellaraccident
Initial boiler-plate for python bindings.

Summary:
* Native '_mlir' extension module.
* Python mlir/__init__.py trampoline module.
* Lit test that checks a message.
* Uses some cmake configurations that have worked for me in the past but likely needs further elaboration.

Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83279
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/test/Bindings/Python/lit.local.cfg
The file was addedmlir/lib/Bindings/Python/mlir/__init__.py
The file was addedmlir/lib/Bindings/Python/CMakeLists.txt
The file was modifiedmlir/lib/CMakeLists.txt
The file was addedmlir/test/Bindings/Python/smoke_test.py
The file was modifiedmlir/test/lit.cfg.py
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was addedmlir/lib/Bindings/CMakeLists.txt
The file was addedmlir/lib/Bindings/Python/MainModule.cpp
The file was addedmlir/lib/Bindings/Python/unix_version.lds
The file was modifiedmlir/CMakeLists.txt
Commit 78fe6a3ee244cf1b590cd2a169c81ec00de08cb2 by wmi
[NFC] Extract the code to write instr profile into function writeInstrProfile

So that the function writeInstrProfile can be used in other places.

Differential Revision: https://reviews.llvm.org/D83521
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
Commit e296e9dfd6ceade1271e48a0afacd1a4826676be by wmi
[NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder.

Change file static function getEntryForPercentile to be a static member function
in ProfileSummaryBuilder so it can be used by other files.

Differential Revision: https://reviews.llvm.org/D83439
The file was modifiedllvm/lib/Analysis/ProfileSummaryInfo.cpp
The file was modifiedllvm/lib/ProfileData/ProfileSummaryBuilder.cpp
The file was modifiedllvm/include/llvm/ProfileData/ProfileCommon.h
Commit 8039d2c3bf14585ef37dc9343bf393ecad9aead9 by aeubanks
[NFC] Derive from PassInfoMixin for no-op/printing passes

PassInfoMixin should be used for all NPM passes, rater than a custom
`name()`.

This caused ambiguous references in LegacyPassManager.cpp, so had to
remove "using namespace llvm::legacy" and move some things around.

The passes had to be moved to the llvm namespace, or else they would get
printed as "(anonymous namespace)::FooPass".

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D83498
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
Commit ce22527c0c7a38ce0ac2037104a2a89443754836 by Amara Emerson
[AArch64][GlobalISel] Add more specific debug info tests for 613f12dd8e2403f5630ab299d2a1bb2cb111ead1.

As requested, these tests check for specific debug locs on the output of the
legalizer. The only one that I couldn't write was for moreElementsVector, which
AFAICT we don't trigger on AArch64.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr-debugloc.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shift-imm-promote-dloc.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-memlib-debug-loc.mir
Commit 3847a6ae759e0be06b9a3cd3d303099a6cd41d7d by antiagainst
[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory.

This commit augments spv.CopyMemory's implementation to support 2 memory
access operands. Hence, more closely following the spec. The following
changes are introduces:

- Customize logic for spv.CopyMemory serialization and deserialization.
- Add 2 additional attributes for source memory access operand.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83241
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
Commit 7462793be771712092de4c31fef1b04ac365ccea by richard
Move default argument instantiation to SemaTemplateInstantiateDecl.cpp.

No functionality change intended.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit a5569f089844209dbea2e3241460173d7b6b1420 by richard
Push parameters into the local instantiation scope before instantiating
a default argument.

Default arguments can (after recent language changes) refer to
parameters of the same function. Make sure they're added to the local
instantiation scope before transforming a default argument so that we
can remap such references to them properly.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/test/SemaTemplate/default-arguments-cxx0x.cpp
The file was modifiedclang/lib/AST/Decl.cpp
Commit f721e0582b158c60c56d2601235b6d60758f4d7a by richard
PR46648: Do not eagerly instantiate default arguments for a generic
lambda when instantiating a call operator specialization.

We previously incorrectly thought that such substitution was happening
in the context of substitution into a local scope, which is a context
where we should perform eager default argument instantiation.
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/test/SemaTemplate/dependent-expr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaTemplate/default-arguments-cxx0x.cpp
The file was modifiedclang/lib/AST/DeclBase.cpp
Commit bed3e1a99b41f5a9525bc0edf12ecbcf63aab0cf by julian.lettner
[Sanitizer] Update macOS version checking

Support macOS 11 in our runtime version checking code and update
`GetMacosAlignedVersionInternal()` accordingly.  This follows the
implementation of `Triple::getMacOSXVersion()` in the Clang driver.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D82918
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp
Commit 57f2a789ca074165baa1c8eea3332007477c9f91 by Vitaly Buka
[StackSafety,NFC] Reduce FunctionSummary size

Most compiler infocations will not need ParamAccess,
so we can optimize memory usage there with smaller unique_ptr
instead of empty vector.
Suggested in D80908 review.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D83458
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
Commit fbef6c55bc2f349110bd601b716889d73e101c92 by rupprecht
[lldb] Declare extern template instantiation to fix linking issues.

NativeProcessELF::GetELFImageInfoAddress<...>() is declared in NativeProcessELF.h, but only defined in NativeProcessELF.cpp. Via some optimized builds (e.g. thinlto), this instantiation may be removed when it is used in a different TU (NativeProcessELFTest.cpp).
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.h
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
Commit f1efb8bb4ba0584a9b994f3404a2c62920ce6652 by czhengsz
[SCEV][IndVarSimplify] insert point should not be block front.

The block front may be a PHI node, inserting a cast instructions like
BitCast, PtrToInt, IntToPtr among PHIs is not right.

Reviewed By: lebedev.ri

Differential Revision:  https://reviews.llvm.org/D80975
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was addedllvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit 00c9a504aeed2603bd8bc9b89d753534e929c8e8 by JF Bastien
CrashTracer: clang at clang: llvm::BitstreamWriter::ExitBlock

Add a guard for re-entering an SDiagsWriter's HandleDiagnostics
method after we've started finalizing. This is a generic catch
all for unexpected fatal errors so we don't recursive crash inside
the generic llvm error handler.

We also add logic to handle the actual error case in
llvm::~raw_fd_ostream caused by failing to clear errors before
it is destroyed.

<rdar://problem/63335596>
The file was modifiedclang/lib/Frontend/SerializedDiagnosticPrinter.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
Commit 553dbb6d7b32cc786281dea2c58a420bcbc9bb82 by richard
[demangler] Don't allow the template parameters from the <encoding> in a
<local-name> to leak out into later parts of the name.

This caused us to fail to demangle certain constructs involving generic
lambdas.
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit c20c1960c15adb3b897aeb1ab83b6fa4caab2505 by stellaraccident
Add Python bindings guide.

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83527
The file was addedmlir/docs/Bindings/Python.md
Commit ceb76d2fe73d39f2230bf55d47b8fd68849d47d7 by phosek
[CMake][Fuchsia] Move runtimes to outer scope

This is needed for runtimes to be properly configured, addressing an
issue introduced in 53e38c85.
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit b03f1756fb4fd5ac5d606a7e4fd8aea1d9f18541 by richard
[demangler] More properly save and restore the template parameter state
when parsing an encoding.
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
Commit 30582457b47004dec8a78144abc919a13ccbd08c by gchatelet
[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)

This is preparatory work to unable storing alignment for AtomicCmpXchgInst.
See D83136 for context and bug: https://bugs.llvm.org/show_bug.cgi?id=27168

Differential Revision: https://reviews.llvm.org/D83375
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
Commit 760bbda2d8200481d03a46a74587035059dd12cc by maskray
[llvm-symbolizer][test] Fix options-from-env.test

options-from-env.test (D71668) does not test it intended to test:
`llvm-symbolizer 0x20112f` prints `0x20112f` in the absence of an environment
variable.
The file was modifiedllvm/test/tools/llvm-symbolizer/options-from-env.test
Commit e71c7b593a2d1b7d60dc8aaa4b8ede03de7bbd00 by rithiksh02
[CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils
Summary: This patch moves OrderedInstructions to CodeMoverUtils as It was
the only place where OrderedInstructions is required.
Authored By: RithikSharma
Reviewer: Whitney, bmahjour, etiotto, fhahn, nikic
Reviewed By: Whitney, nikic
Subscribers: mgorny, hiraditya, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80643
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was removedllvm/lib/Analysis/OrderedInstructions.cpp
The file was removedllvm/unittests/Analysis/OrderedInstructionsTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
The file was removedllvm/include/llvm/Analysis/OrderedInstructions.h
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
Commit 98d763ad051f5eab89fa46167516fc8a84f471d0 by zeratul976
[clangd] Factor out some helper functions related to heuristic resolution in TargetFinder

Summary:
Two helpers are introduced:

* Some of the logic previously in TargetFinder::Visit*() methods is
   factored out into resolveDependentExprToDecls().

* Some of the logic in getMembersReferencedViaDependentName() is
   factored out into resolveTypeToRecordDecl().

D82739 will build on this and use these functions in new ways.

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83371
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 04b9a46c842f793a2baedcad64de35fcbd3e93b7 by zakk.chen
[RISCV] Refactor FeatureRVCHints to make ProcessorModel more intuitive

Reviewers: luismarques, asb, evandro

Reviewed By: asb, evandro

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77030
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/test/MC/RISCV/rv32c-invalid.s
Commit 50f24331fd91e70de6bf6c3efe45272ddfc711fd by dany.grumberg
Add diagnostic option backing field for -fansi-escape-codes

Summary:
Keep track of -fansi-escape-codes in DiagnosticOptions and move the
option to the new option parsing system.

Depends on D82860

Reviewers: Bigcheese

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82874
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.def
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit a65da5f5924fbb7bad28bbb397e3e9a94959df4c by omair.javaid
[LLDB] Update AArch64 Dwarf and EH frame register numbers

This patch updates ARM64_ehframe_Registers.h and ARM64_DWARF_Registers.h
with latest register numbers in line with AArch64 SVE support.

For refernce take a look at "DWARF for the ARM® 64-bit Architecture (AArch64)
with SVE support" manual from Arm.
Version used: abi_sve_aadwarf_100985_0000_00_en.pdf
The file was modifiedlldb/source/Utility/ARM64_DWARF_Registers.h
The file was modifiedlldb/source/Utility/ARM64_ehframe_Registers.h
Commit 229dfb4728f45cf9607aaa564155c267f3a0f59c by david.sherwood
[CodeGen] Replace calls to getVectorNumElements() in SelectionDAG::SplitVector

This patch replaces some invalid calls to getVectorNumElements() with calls
to getVectorMinNumElements() instead, since the code paths changed in this
patch work for both fixed and scalable vector types.

Fixes warnings in this test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83203
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit eb6b7c5d4fd4aeaf92d0ad560e0c078a95d66902 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion of SPIR-V struct type without offset

This patch introduces type conversion for SPIR-V structs. Since
handling offset case requires thorough testing, it was left out
for now. Hence, only structs with no offset are currently
supported. Also, structs containing member decorations cannot
be translated.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83403
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
Commit 043eaa9a4a0808fe4e82b2ef1823ccafa491c065 by tlively
[WebAssembly][NFC] Simplify vector shift lowering and add tests

This patch builds on 0d7286a652 by simplifying the code for detecting
splat values and adding new tests demonstrating the lowering of
splatted absolute value shift amounts, which are common in code
generated by Halide. The lowering is very bad right now, but
subsequent patches will improve it considerably. The tests will be
useful for evaluating the improvements in those patches.

Reviewed By: aheejin

Differential Revision: https://reviews.llvm.org/D83493
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll
Commit da731894a2fe45fd5bec9698f3206c1fdee2829a by david.sherwood
[CodeGen] Replace calls to getVectorNumElements() in DAGTypeLegalizer::SetSplitVector

In DAGTypeLegalizer::SetSplitVector I have changed calls in the assert
from getVectorNumElements() to getVectorElementCount(), since this
code path works for both fixed and scalable vectors.

This fixes up one warning in the test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83196
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
Commit 7bf168390fd05460b1c0df3fa570758c6be718fd by diogo.sampaio
[BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses

Summary: This allows to convert any SExt to a ZExt when we know none of the extended bits are used, specially in cases where there are multiple uses of the value.

Reviewers: dmgreen, eli.friedman, spatel, lebedev.ri, nikic

Reviewed By: lebedev.ri, nikic

Subscribers: hiraditya, dmgreen, craig.topper, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60413
The file was modifiedllvm/lib/Transforms/Scalar/BDCE.cpp
The file was modifiedllvm/test/Transforms/BDCE/sext_multi_uses.ll
Commit 68c011aa085ab8ec198198e45c83de605a7dc31f by courbet
[builtins] Optimize udivmodti4 for many platforms.

Summary:
While benchmarking uint128 division we found out that it has huge latency for small divisors

https://reviews.llvm.org/D83027

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            13.0           13.0     55000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     14.3           14.3     50000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         13.5           13.5     52000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  14.1           14.1     50000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>             153            153        5000000
BM_DivideIntrinsic128SmallDivisor<__int128>                      170            170        3000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>          153            153        5000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                   155            155        5000000
```

This patch suggests a more optimized version of the division:

If the divisor is 64 bit, we can proceed with the divq instruction on x86 or constant multiplication mechanisms for other platforms. Once both divisor and dividend are not less than 2**64, we use branch free subtract algorithm, it has at most 64 cycles. After that our benchmarks improved significantly

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            11.0           11.0     64000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     13.8           13.8     51000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         11.6           11.6     61000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  13.7           13.7     52000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              27.1           27.1     26000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       29.4           29.4     24000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           27.9           27.8     26000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    29.1           29.1     25000000
```

If not using divq instrinsics, it is still much better

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            12.2           12.2     58000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     13.5           13.5     52000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         12.7           12.7     56000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  13.7           13.7     51000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              30.2           30.2     24000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       33.2           33.2     22000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           31.4           31.4     23000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    33.8           33.8     21000000
```

PowerPC benchmarks:

Was
```
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            22.3           22.3     32000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     23.8           23.8     30000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         22.5           22.5     32000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  24.9           24.9     29000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>             394            394        2000000
BM_DivideIntrinsic128SmallDivisor<__int128>                      397            397        2000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>          399            399        2000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                   397            397        2000000
```

With this patch
```
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            21.7           21.7     33000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     23.0           23.0     31000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         21.9           21.9     33000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  23.9           23.9     30000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              32.7           32.6     23000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       33.4           33.4     21000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           31.1           31.1     22000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    33.2           33.2     22000000
```

My email: danilak@google.com, I don't have commit rights

Reviewers: howard.hinnant, courbet, MaskRay

Reviewed By: courbet

Subscribers: steven.zhang, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D81809
The file was modifiedcompiler-rt/lib/builtins/udivmodti4.c
Commit 21bacc215413d10df53a4690e9561e9b96698742 by vsavchenko
[analyzer][tests] Measure peak memory consumption for every project

Differential Revision: https://reviews.llvm.org/D82967
The file was modifiedclang/utils/analyzer/SATestBuild.py
The file was modifiedclang/utils/analyzer/Dockerfile
The file was addedclang/utils/analyzer/requirements.txt
The file was modifiedclang/utils/analyzer/SATestUtils.py
Commit 9c7ff0a4aaef0a1efa33e9ff8a12a064087bded9 by vsavchenko
[analyzer][tests] Make test interruption safe

Differential Revision: https://reviews.llvm.org/D83373
The file was modifiedclang/utils/analyzer/SATest.py
Commit 00997d1cad9ecd40c92aeae40269f6bfb9e58d11 by vsavchenko
[analyzer][tests] Fix zip unpacking

Differential Revision: https://reviews.llvm.org/D83374
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit 77133cc1e2c91678082d2098b959757e72dfce60 by llvm-dev
[X86][AVX] Attempt to fold PACK(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(PACK(X,Y)).

Truncations lowered as shuffles of multiple (concatenated) vectors often leave us with lane-crossing shuffles that feed a PACKSS/PACKUS, if both shuffles are fed from the same 2 vector sources, then we can PACK the sources directly and shuffle the result instead.

This is currently limited to whole i128 lanes in a 256-bit vector, but we can extend this if the need arises (but I'm not seeing many examples in real world code).
The file was modifiedllvm/test/CodeGen/X86/bitcast-and-setcc-512.ll
The file was modifiedllvm/test/CodeGen/X86/avg.ll
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-compare-results.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/packss.ll
Commit c06417b24dfbfd62650ab05aff78e188b5d00681 by Vitaly Buka
Fix check-all with -DLLVM_USE_SANITIZER=Address
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedclang/test/SemaTemplate/stack-exhaustion.cpp
The file was modifiedllvm/test/tools/gold/lit.local.cfg
Commit 9a3e8b11a8317b1a3d7440b0585b011cc9527494 by llvm-dev
extractConstantWithoutWrapping - use const APInt& returned by SCEVConstant::getAPInt()

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit cf40db21af489e3e5bc1c39cea855cc068c4ce48 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Fix G_AMDGPU_TBUFFER_STORE_FORMAT mapping

Add missing mappings and tablegen definitions for TBUFFER_STORE_FORMAT.

Differential Revision: https://reviews.llvm.org/D83240
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.f16.ll
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.i8.ll
Commit 264ab1e2c815728ede5d1fce257abbd04044cc27 by flo
[LV] Pick vector loop body as insert point for SCEV expansion.

Currently the DomTree is not kept up to date for additional blocks
generated in the vector loop, for example when vectorizing with
predication. SCEVExpander relies on dominance checks when looking for
existing instructions to re-use and in some cases that can lead to the
expander picking instructions that do not actually dominate their insert
point (e.g. as in PR46525).

Unfortunately keeping the DT up-to-date is a bit tricky, because the CFG
is only patched up after generating code for a block. For now, we can
just use the vector loop header, as this ensures the inserted
instructions dominate all uses in the vector loop. There should be no
noticeable impact on the generated code, as other passes should sink
those instructions, if profitable.

Fixes PR46525.

Reviewers: Ayal, gilr, mkazantsev, dmgreen

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D83288
The file was addedllvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 5f41ca48d1c46fc78958d47c0edfb2dbcde47217 by hokein.wu
[clang-tidy] More strict on matching the standard memset function in memset-usage check.

The check assumed the matched function call has 3 arguments, but the
matcher didn't guaranteed that.

Differential Revision: https://reviews.llvm.org/D83301
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-suspicious-memset-usage.cpp
Commit d372a8e8bce266bb4043e6a0bfd76c7e5bf457a5 by pavel
[lldb/pecoff] Use a different llvm createBinary overload for parsing

Change the code the use the version which accepts a memory buffer,
instead of the one taking a file name.

This ensures we are not loading the file into memory twice
(ObjectFilePECOFF also loads a copy), reducing our memory footprint, as
well as enabling additional goodies in the future, like being able to
open files which don't exist on disk (D83512).
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
Commit f78e6a3095ca82d7621def46b2531b922a56e8f9 by paul.walker
[SVE] Code generation for fixed length vector truncates.

Lower fixed length vector truncates to a sequence of SVE UZP1 instructions.

Differential Revision: https://reviews.llvm.org/D83395
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 69a89b54c62696d45731b48c26686cc4f9d652c6 by david.stuttard
[NFC] Change isFPPredicate comparison to ignore lower bound

Summary:
Since changing the Predicate to be an unsigned enum, the lower bound check for
isFPPredicate no longer needs to check the lower bound, since
it will always evaluate to true.

Also fixed a similar issue in SIISelLowering.cpp by removing the need for
comparing to FIRST and LAST predicates

Added an assert to the isFPPredicate comparison to flag if the
FIRST_FCMP_PREDICATE is ever changed to anything other than 0, in which case the
logic will break.

Without this change warnings are generated in VS.

Change-Id: I358f0daf28c0628c7bda8ad4cab4e1757b761bab

Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83540
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 4cc26a44ca8b29abf9e73a1048e8a36ac87b1fa1 by llvm-dev
[X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9ce98312896c5c67adb3a137506758d2cac8bb37 by llvm-dev
StackSafetyAnalysis.cpp - pass ConstantRange arg as const reference.

Avoids unnecessary copies and silences clang tidy warning - we do this in most places, there are just a few that were missed.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit a25487fd8cb91f99cfc1db1d4159184ac2a816a9 by n.james93
[clang-tidy] Use Options priority in enum options where it was missing
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Commit b69e0f674fb5a05224fbe50cae9a9e4137a2c0e1 by llvm-dev
DomTreeUpdater::dump() - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/DomTreeUpdater.cpp
Commit 4c5a93bd58bad70e91ac525b0e020bd5119a321a by ulrich.weigand
[ABI] Handle C++20 [[no_unique_address]] attribute

Many platform ABIs have special support for passing aggregates that
either just contain a single member of floatint-point type, or else
a homogeneous set of members of the same floating-point type.

When making this determination, any extra "empty" members of the
aggregate type will typically be ignored.  However, in C++ (at least
in all prior versions), no data member would actually count as empty,
even if it's type is an empty record -- it would still be considered
to take up at least one byte of space, and therefore make those ABI
special cases not apply.

This is now changing in C++20, which introduced the [[no_unique_address]]
attribute.  Members of empty record type, if they also carry this
attribute, now do *not* take up any space in the type, and therefore
the ABI special cases for single-element or homogeneous aggregates
should apply.

The C++ Itanium ABI has been updated accordingly, and GCC 10 has
added support for this new case.  This patch now adds support to
LLVM.  This is cross-platform; it affects all platforms that use
the single-element or homogeneous aggregate ABI special case and
implement this using any of the following common subroutines
in lib/CodeGen/TargetInfo.cpp:
  isEmptyField
  isEmptyRecord
  isSingleElementStruct
  isHomogeneousAggregate
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
Commit 118366dcb6c35239c1c816d109230d6f7f3660af by wei.huang
[PowerPC] Implement R_PPC64_REL24_NOTOC calls, callee also has no TOC

The PC Relative code allows for calls that are marked with the relocation
R_PPC64_REL24_NOTOC. This indicates that the caller does not have a valid TOC
pointer in R2 and does not require R2 to be restored after the call.

This patch is added to support local calls to callees tha also do not have a TOC.

Reviewed By: sfertile, MaskRay, stefanp

Differential Revision: https://reviews.llvm.org/D82816
The file was addedlld/test/ELF/ppc64-pcrel-call-to-pcrel.s
The file was addedlld/test/ELF/Inputs/ppc64-callee-global-hidden.s
The file was modifiedlld/ELF/Arch/PPC64.cpp
Commit 86f1313424fb578b0fd6c950d3ce7cb241f326ea by sam.mccall
[clangd] Config: If.PathExclude

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83511
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
Commit e1135b486aaed207f87a6d2e890678ef133b816e by david.green
Revert "[BasicAA] Enable -basic-aa-recphi by default"

This reverts commit af839a96187e3538d63ad57571e4bdf01e2b15c5.

Some issues appear to be being caused by this. Reverting whilst we
investigate.
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/phi-loop.ll
Commit d4ce862f2aa8b7e4b11462bd72014b08ab9468b3 by kevin.neal
Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."

We currently have strict floating point/constrained floating point enabled
for all targets. Constrained SDAG nodes get converted to the regular ones
before reaching the target layer. In theory this should be fine.

However, the changes are exposed to users through multiple clang options
already in use in the field, and the changes are _completely_ _untested_
on almost all of our targets. Bugs have already been found, like
"https://bugs.llvm.org/show_bug.cgi?id=45274".

This patch disables constrained floating point options in clang everywhere
except X86 and SystemZ. A warning will be printed when this happens.

Use the new -fexperimental-strict-floating-point flag to force allowing
strict floating point on hosts that aren't already marked as supporting
it (X86 and SystemZ).

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/aarch64-neon-misc-constrained.c
The file was modifiedclang/test/CodeGen/builtins-ppc-fpconstrained.c
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/CodeGen/arm64-vrnd-constrained.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was addedclang/test/CodeGen/fp-strictfp-exp.cpp
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding-constrained.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
The file was addedclang/test/CodeGen/fp-strictfp.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/docs/ClangCommandLineReference.rst
Commit 0555db0a5df4d669ce4c2125668ec7a8a42fcd9d by dany.grumberg
Normalize default value for -triple correctly
The file was modifiedclang/include/clang/Driver/Options.td
Commit 22c8a08fd8a1487159564f74f24561964f6a6c97 by ntv
[mlir][Vector] Fold chains of ExtractOp

This revision adds folding to ExtractOp by simply concatenating the position attributes.
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 015a0faa5e9ef3095d521e1daf03fab9683ba028 by hokein.wu
[clangd] Fix hover crash on InitListExpr.

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

Differential Revision: https://reviews.llvm.org/D83546
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 56c638b5c1caf018da3fa1a95b603267e607c89c by ntv
[mlir][Linalg] Generalize Vectorization of Linalg contractions

This revision adds support for vectorizing named and generic contraction ops to vector.contract. Cases in which the memref is 0-D are special cased to emit std.load/std.store instead of vector.transfer. Relevant tests are added.

Differential revision: https://reviews.llvm.org/D83307
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
Commit 523a8513f8ba4d6b111496c541b9ba9f4d5f0261 by kevin.neal
[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."

Use the new -fexperimental-strict-floating-point flag in more cases to
fix the arm and aarch64 bots.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
Commit ef0ecb7b03332fd5076a7ea641eadf0d01cd32c0 by lebedev.ri
[NFCI][InstCombine] PR46661: multiple stores eligible for merging into successor - worklist issue

The testcase should pass with a single instcombine iteration.
The file was addedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
Commit 2655a70a046b67abe3bca01059d8767030f6e1c9 by lebedev.ri
[InstCombine] After merging store into successor, queue prev. store to be visited (PR46661)

We can happen to have a situation with many stores eligible for transform,
but due to our visitation order (top to bottom), when we have processed
the first eligible instruction, we would not try to reprocess the previous
instructions that are now also eligible.

So after we've successfully merged a store that was second-to-last instruction
into successor, if the now-second-to-last instruction is also a such store
that is eligible, add it to worklist to be revisited.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46661
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
Commit 7103c87596efccd532e9fe04a6ba6a200fed8481 by lebedev.ri
Reland "[InstCombine] Lower infinite combine loop detection thresholds""

This relands commit cd7f8051ac7b6f08734102446482c1e5d951bfcc that was
reverted since lower threshold have successfully found an issue.
Now that the issue is fixed, let's wait until the next one is reported.

This reverts commit caa423eef0d128f35ac11ddbce34964caafb61c1.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 5fea54bc05a71e81e843fd9284d258cd38d7fe23 by sam.mccall
[clangd] Update semanticTokens support to reflect latest LSP draft

Summary: Mostly a few methods and message names have been renamed.

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83556
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/test/semantic-tokens.test
Commit 23cd70d71c10dc0b31ac37a733349f9de2e9b84c by alexandre.ganea
[PDB] Fix out-of-bounds acces when sorting GSI buckets

When building in Debug on Windows-MSVC after b7402edce315, a lot of tests were failing because we were dereferencing an element past the end of HashRecords. This happened towards the end of the table, in unused slots.
The file was modifiedllvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Commit bce8fced41b96260a42dfbb254240a49769fafa9 by jdenny.ornl
[FileCheck] Implement -dump-input-context

This patch is motivated by discussions at each of:

* <https://reviews.llvm.org/D81422>
* <http://lists.llvm.org/pipermail/llvm-dev/2020-June/142369.html>

When input is dumped as specified by `-dump-input=fail`, this patch
filters the dump to show only input lines that are the starting lines
of error diagnostics plus the number of contextual lines specified
`-dump-input-context` (defaults to 5).

When `-dump-input=always`, there might be not be any errors, so all
input lines are printed, as without this patch.

Here's some sample output with `-dump-input-context=3 -vv`:

```
<<<<<<
           .
           .
           .
          13: foo
          14: foo
          15: hello world
check:1       ^~~~~~~~~~~
          16: foo
check:2'0     X~~ error: no match found
          17: foo
check:2'0     ~~~
          18: foo
check:2'0     ~~~
          19: foo
check:2'0     ~~~
           .
           .
           .
          27: foo
check:2'0     ~~~
          28: foo
check:2'0     ~~~
          29: foo
check:2'0     ~~~
          30: goodbye word
check:2'0     ~~~~~~~~~~~~
check:2'1     ?            possible intended match
          31: foo
check:2'0     ~~~
          32: foo
check:2'0     ~~~
          33: foo
check:2'0     ~~~
           .
           .
           .
>>>>>>
```

Reviewed By: mehdi_amini, arsenm, jhenderson, rsmith, SjoerdMeijer, Meinersbur, lattner

Differential Revision: https://reviews.llvm.org/D82203
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/dump-input-enable.txt
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was addedllvm/test/FileCheck/dump-input-filter.txt
The file was addedllvm/test/FileCheck/dump-input-context.txt
Commit 77b6ddf1bd77da90407316345156415dc646e744 by jdenny.ornl
[FileCheck] In input dump, elide only if ellipsis is shorter

For example, given `-dump-input-context=3 -vv`, the following now
shows more leading context for the error than requested because a
leading ellipsis would occupy the same number of lines as it would
elide:

```
<<<<<<
         1: foo6
         2: foo5
         3: foo4
         4: foo3
         5: foo2
         6: foo1
         7: hello world
check:1     ^~~~~
check:2           X~~~~ error: no match found
         8: foo1
check:2     ~~~~
         9: foo2
check:2     ~~~~
        10: foo3
check:2     ~~~~
         .
         .
         .
>>>>>>
```

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D83526
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/dump-input-context.txt
Commit 9fd4b5faacbdfb887389c9ac246efa23be1cd334 by jdenny.ornl
[FileCheck] Implement -dump-input-filter

This makes the input dump filtering implemented by D82203 more
configurable.  D82203 enables filtering out everything but the initial
input lines of error diagnostics (plus some context).  This patch
enables including any line with any kind of annotation.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D83097
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/dump-input-filter.txt
Commit a490d387e6e6085b35a6850581b62db3d2d47009 by ntv
[mlir][Vector] Add ExtractOp folding when fed by a TransposeOp

TransposeOp are often followed by ExtractOp.
In certain cases however, it is unnecessary (and even detrimental) to lower a TransposeOp to either a flat transpose (llvm.matrix intrinsics) or to unrolled scalar insert / extract chains.

Providing foldings of ExtractOp mitigates some of the unnecessary complexity.

Differential revision: https://reviews.llvm.org/D83487
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/IR/AffineMap.cpp
The file was modifiedmlir/include/mlir/IR/AffineMap.h
Commit 02fec9d2a5f4a6f169bcf2e850eb244fb919309f by spatel
[DAGCombiner] move/rename variables for readability; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit d84b4e163da7fba26594f960fca10fa31f7c611a by spatel
[AArch64][x86] add tests for rotated store merge; NFC
The file was modifiedllvm/test/CodeGen/AArch64/merge-store-dependency.ll
The file was modifiedllvm/test/CodeGen/X86/stores-merging.ll
Commit eb5c7f6b8fe0e66bbbc2aa23cc899fa11b750030 by flo
[ARM] Add test with tcreturn and debug value.

In the attached test case, a non-terminator instruction (DBG_VALUE) is
inserted after a terminator, producing an invalid MBB.
The file was addedllvm/test/CodeGen/ARM/dbg-tcreturn.ll
Commit ec00aa99dd4cd46c328219cffefcfdf8a8bd53a0 by flo
[DomTreeUpdater] Use const auto * when iterating over pointers (NFC).

This silences the warning below:

llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:20: warning: loop variable 'BB' is always a copy because the range of type 'const SmallPtrSet<llvm::BasicBlock *, 8>' does not return a reference [-Wrange-loop-analysis]
  for (const auto &BB : DeletedBBs) {
                   ^
llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:8: note: use non-reference type 'llvm::BasicBlock *'
  for (const auto &BB : DeletedBBs) {
       ^~~~~~~~~~~~~~~~
1 warning generated.
The file was modifiedllvm/lib/Analysis/DomTreeUpdater.cpp
Commit 43d8d59d6d2c03165a219022430e3b1cbf6351a2 by johannes
[Attributor][NFC] Update tests after recent changes

Attributor tests are mostly updated using the auto upgrade scripts but
sometimes we forget. If we do it manually or continue using old check
lines that still match we see unrelated changes down the line. This is
just a cleanup.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/internal-noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
Commit 864586d0fd7df8efb2ac1f85ad1122e9a8fae349 by flo
[ARM] Pass -verify-machineinstr to test and XFAIL until fixed.

Some bots run with -verify-machineinstr enabled. Add it to the new test
and XFAIL it until fixed.
The file was modifiedllvm/test/CodeGen/ARM/dbg-tcreturn.ll
Commit 3607aacc59817f76bffb9b567f128871340d54d2 by dany.grumberg
Delete CC1Options.td, since it should have happened in D82574
The file was removedclang/include/clang/Driver/CC1Options.td
Commit 1d542f0ca83fa1411d6501a8d088450d83abd5b8 by lebedev.ri
Revert "[OpenMPOpt] ICV Tracking"

There appears to be some kind of memory corruption/use-after-free/etc
going on here. In particular, in `OpenMPOpt::deleteParallelRegions()`,
in `DeleteCallCB()`, `CI` is garbage.

WIll post reproducer in the original review.

This reverts commit 6c4a5e9257bac022ffe60e466686ba7fc96ffd1a.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
Commit 1fbb719470c6e0395abaab66c68fae3b8ae405d0 by zequanwu
[LPM] Port CGProfilePass from NPM to LPM

Reviewers: hans, chandlerc!, asbirlea, nikic

Reviewed By: hans, nikic

Subscribers: steven_wu, dexonsmith, nikic, echristo, void, zhizhouy, cfe-commits, aeubanks, MaskRay, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D83013
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was removedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
Commit dcd76c0c0716a4417110423718c7cae4b516b4d0 by zequanwu
[Lexer] Fix missing coverage line after #endif

Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660

Reviewers: vsk, efriedma, arphaman

Reviewed By: vsk

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83514
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang/test/CoverageMapping/preprocessor.c
The file was modifiedclang/lib/Lex/PPDirectives.cpp
Commit e5123ea248eb460c6695dc28ed2f1cc53495356b by shkzhang
 [NFC][PowerPC] Add a new MIR file to test mi-peephole pass
The file was addedllvm/test/CodeGen/PowerPC/mi-peephole.mir
Commit f33c2c27a8d4ea831aa7c2c2649066be91318d85 by ecaldas
Fix crash on `user defined literals`

Summary:
Given an UserDefinedLiteral `1.2_w`:
Problem: Lexer generates one Token for the literal, but ClangAST
references two source locations
Fix: Ignore the operator and interpret it as the underlying literal.
e.g.: `1.2_w` token generates syntax node IntegerLiteral(1.2_w)

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82157
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 1db5b348c4c93b6610afb4fd515b389989efc302 by ecaldas
Add kinded UDL for raw literal operator and  numeric literal operator template
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit a474d5bae4773782d50d4a5a62300c0f4a2dff28 by ecaldas
Use FileRange::text instead of Lexer::getSpelling

* as we are using them only for integer and floating literals they have
the same behavior
* FileRange::text is simpler to call and is within the context of
syntax trees
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit aa7a5ad56b6028e0963e1a8d45b4e82f3f6bc70e by Saleem Abdulrasool
repair standalone clang builds

Add missing C++ language standard setup for clang standalone build.

Patch by Michele Scandale!

Differential Revision: https://reviews.llvm.org/D83426
The file was modifiedclang/CMakeLists.txt
Commit a2cffb11e287f0e35685ac404400edab12cae51e by dany.grumberg
Remove clang options that were added back when merging the TableGen files
The file was modifiedclang/include/clang/Driver/Options.td
Commit 979c5023d3f0656cf51bd645936f52acd62b0333 by jaskiewiczs
Revert "[compiler-rt] [test] Use the parent process env as base env in tests"

This reverts commit 5ab446cfe5503fd4431a94db4d741cf3b5fdcd15.

That commit caused memory sanitizer test failures on PowerPC buildbots
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit b887da81cc179575932302b87ae8dc7d3f5e3690 by benny.kra
[CGProfile] Fix layering, IPO depends in Instrumentation.
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
Commit 954db63cd149df031d9b660bf68f0fe1de1defb9 by luke.geeson
[ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and LLVM

This patch upstreams support for the Arm-v8 Cortex-A78 and Cortex-X1
processors for AArch64 and ARM.

In detail:
- Adding cortex-a78 and cortex-x1 as cpu options for aarch64 and arm targets in clang
- Adding Cortex-A78 and Cortex-X1 CPU names and ProcessorModels in llvm

details of the CPU can be found here:
https://www.arm.com/products/cortex-x

https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78

The following people contributed to this patch:
- Luke Geeson
- Mikhail Maltsev

Reviewers: t.p.northover, dmgreen

Reviewed By: dmgreen

Subscribers: dmgreen, kristof.beyls, hiraditya, danielkiss, cfe-commits,
llvm-commits, miyuki

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83206
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/test/Driver/aarch64-cpus.c
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-a32.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/test/CodeGen/AArch64/remat.ll
The file was modifiedclang/test/Driver/arm-cortex-cpus.c
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-t32.s
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/test/MC/AArch64/armv8.2a-dotprod.s
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.def
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was modifiedllvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/test/CodeGen/AArch64/cpus.ll
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
Commit 1cf6f210a2ed87dcda2183fffd6f9aa17b5c493c by craig.topper
[IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.

This matches the recent change to InstSimplify from D83440.

Differential Revision: https://reviews.llvm.org/D83535
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
Commit add59ecb34e3003311b7e2318b16a0ef10c76d79 by alexandre.ganea
Re-land [CodeView] Add full repro to LF_BUILDINFO record

This patch adds some missing information to the LF_BUILDINFO which allows for rebuilding an .OBJ without any external dependency but the .OBJ itself (other than the compiler executable).

Some tools need this information to reproduce a build without any knowledge of the build system. The LF_BUILDINFO therefore stores a full path to the compiler, the PWD (which is the CWD at program startup), a relative or absolute path to the TU, and the full CC1 command line. The command line needs to be freestanding (not depend on any environment variable). In the same way, MSVC doesn't store the provided command-line, but an expanded version (somehow their equivalent of CC1) which is also freestanding.

For more information see PR36198 and D43002.

Differential Revision: https://reviews.llvm.org/D80833
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was addedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedlld/COFF/PDB.cpp
The file was addedlld/test/COFF/pdb-relative-source-lines2.test
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
Commit 8c8a2fd1f015525d048444610a6e27c66aa96293 by anastasia.stulova
[OpenCL] Fixed typo for ctor stub name in UsersManual
The file was modifiedclang/docs/UsersManual.rst
Commit e337350be9d6efd72027c331f95ef33df61fdc43 by jingham
This is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two.

The problem is that synthetic value objects can sometimes represent objects in target memory, and other times they might be made up wholly in lldb memory, with pointers from one synthetic object to another, and so the ValueObjectVariable computation was not appropriate.

This patch delegates the computation to the root of the ValueObject in question. That solves the problem for ValueObjectVariable while not messing up the computation for ValueObjectConstResult or ValueObjectSynthetic.

Differential Revision: https://reviews.llvm.org/D83450
The file was modifiedlldb/include/lldb/Core/ValueObjectVariable.h
The file was modifiedlldb/source/Core/ValueObjectVariable.cpp
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/source/Core/ValueObject.cpp
Commit fdb7856d54a1f81bab0ac0c8a4e984620589e699 by ditaliano
Revert "[NFC] Derive from PassInfoMixin for no-op/printing passes"

This reverts commit 8039d2c3bf14585ef37dc9343bf393ecad9aead9 as
it breaks the modules build on macOS.
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
Commit 90b1a710aede2b276cda47538142fef6f5253361 by lei
[PowerPC] Enable default support of quad precision operations

Summary: Remove option guarding support of quad precision operations.

Reviewers: nemanjai, #powerpc, steven.zhang

Reviewed By: nemanjai, #powerpc, steven.zhang

Subscribers: qiucf, wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83437
The file was modifiedllvm/test/CodeGen/PowerPC/constant-pool.ll
The file was modifiedllvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-bitcast.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-passByValue.ll
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p9-f128.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-aggregates.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-fma.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-rounding.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-compare.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/f128-truncateNconv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/float-load-store-pair.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll
The file was modifiedllvm/test/CodeGen/PowerPC/recipest.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-conv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-vecExtractNconv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-arith.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-f128.ll
Commit a4f0c58c6e3f4ec0f5bb8c5232a77dd452df0fb5 by gyurgyikcp
[libc] Add strchr implementation. Fixes bug in memchr.

Summary: [libc] Adds strchr implementation with unit tests. Fixes signed character bug in memchr.

Reviewers: sivachandra, PaulkaToast

Reviewed By: sivachandra

Subscribers: mgorny, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D83353
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/string/memchr.cpp
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/string/strchr.h
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was addedlibc/test/src/string/strchr_test.cpp
The file was modifiedlibc/test/src/string/memchr_test.cpp
The file was addedlibc/src/string/strchr.cpp
Commit e541e1b757237172c247904b670c9894d6b3759d by anhtuyen
[NFC] Separate Peeling Properties into its own struct (re-land after minor fix)

Summary:
This patch separates the peeling specific parameters from the UnrollingPreferences,
and creates a new struct called PeelingPreferences. Functions which used the
UnrollingPreferences struct for peeling have been updated to use the PeelingPreferences struct.

Author: sidbav (Sidharth Baveja)

Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel), anhtuyen (Anh Tuyen Tran), nikic (Nikita Popov)

Reviewed By: Meinersbur (Michael Kruse)

Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM

Tag: LLVM

Differential Revision: https://reviews.llvm.org/D80580
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
Commit a0b549602612fa2577068bcdcae3bfbc6c9c3264 by nikita.ppv
[PredicateInfo] Add test for multiple branches on same condition (NFC)

This illustrates a case where RenamedOp does not correspond to the
value used in the condition, which it ideally should.
The file was addedllvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
Commit dafc3106d2069b806a10e072306a2196f1cda585 by erik.pilkington
[Sema] Emit a -Wformat warning for printf("%s", (void*)p)

Its dangerous to assume that the opaque pointer points to a null-terminated
string, and this has an easy fix (casting to char*).

rdar://62432331
The file was modifiedclang/lib/AST/FormatString.cpp
The file was modifiedclang/test/Sema/format-strings.c
Commit ecfa01e956a49ed349683f1cfcfbbec423114b68 by kkleine
[lldb] on s390x fix override issue

Summary:
This fixes an override issue by marking a function as const so that the
signature maps to the signature of the function in the base class.

This is the original error:

In file included from /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp:11:
/root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h:79:10: error: 'size_t lldb_private::process_linux::NativeRegisterContextLinux_s390x::GetGPRSize()' marked 'override', but does not override
   79 |   size_t GetGPRSize() override { return sizeof(m_regs); }
      |          ^~~~~~~~~~

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83580
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h
Commit 9ff310d5bfa56bb5f29645e2d2fee12115c3ddb7 by Matthew.Arsenault
AArch64: Fix unused variables
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 9bf6354301ac4e1c7a00e4ef46decba38840fe62 by ajcbik
[mlir] [VectorOps] Allow AXPY to be expressed as special case of OUTERPRODUCT

This specialization allows sharing more code where an AXPY follows naturally
in cases where an OUTERPRODUCT on a scalar would be generated.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83453
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit ea201e83e292f39c3ee7fe8810a348ee98000398 by davg
[AST][ObjC] Fix crash when printing invalid objc categories

Summary:
If no valid interface definition was found previously we would crash.

With this change instead we just print `<<error-type>>` in place
of the NULL interface. In the future this could be improved by
saving the invalid interface's name and using that.

Reviewers: sammccall, gribozavr

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83513
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
Commit 169c83208f37f8e5539b1386030d9f3e4b15f16a by Jonas Devlieghere
[ldb/Reproducers] Add YamlRecorder and MultiProvider

This patch does several things that are all closely related:

- It introduces a new YamlRecorder as a counterpart to the existing
   DataRecorder. As the name suggests the former serializes data as yaml
   while the latter uses raw texts or bytes.

- It introduces a new MultiProvider base class which can be backed by
   either a DataRecorder or a YamlRecorder.

- It reimplements the CommandProvider in terms of the new
   MultiProvider.

Finally, it adds unit testing coverage for the MultiProvider, a naive
YamlProvider built on top of the new YamlRecorder and the existing
MutliLoader.

Differential revision: https://reviews.llvm.org/D83441
The file was modifiedlldb/unittests/Utility/ReproducerTest.cpp
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit 21b4cc1db9f4eb6d6956802257e3a80f86045c67 by aeubanks
Reland [NFC] Derive from PassInfoMixin for no-op/printing passes

PassInfoMixin should be used for all NPM passes, rater than a custom
`name()`.

This caused ambiguous references in LegacyPassManager.cpp, so had to
remove "using namespace llvm::legacy" and move some things around.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D83498
The file was modifiedllvm/include/llvm/module.modulemap
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 006c49d890da633d1ce502117fc2a49863cd65b7 by aaron
Change behavior with zero-sized static array extents

Currently, Clang previously diagnosed this code by default:
  void f(int a[static 0]);
saying that "static has no effect on zero-length arrays", which was
accurate.

However, static array extents require that the caller of the function
pass a nonnull pointer to an array of *at least* that number of
elements, but it can pass more (see C17 6.7.6.3p6). Given that we allow
zero-sized arrays as a GNU extension and that it's valid to pass more
elements than specified by the static array extent, we now support
zero-sized static array extents with the usual semantics because it can
be useful in cases like:

  void my_bzero(char p[static 0], int n);
  my_bzero(&c+1, 0); //ok
  my_bzero(t+k,n-k); //ok, pattern from actual code
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/CodeGen/vla.c
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/Sema/static-array.c
Commit 365434a584078577a7af6b91ffd2640c72c6d265 by ajcbik
[mlir] [VectorOps] Merge OUTER/AXPY vector.contract lowering into single case

We temporarily had separate OUTER lowering (for matmat flavors) and
AXPY lowering (for matvec flavors). With the new generalized
"vector.outerproduct" semantics, these cases can be merged into
a single lowering method. This refactoring will simplify future
decisions on cost models and lowering heuristics.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83585
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
Commit cb6c1106141efa721a3902a98c37a54d135464fd by Artem Dergachev
[analyzer] Silence a warning.

An old clang warns that the const object has no default constructor so it may
remain uninitialized forever. That's a false alarm because all fields
have a default initializer. Apply the suggested fixit anyway.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit ec2f2cec769cb07bbf8691f2e0e800747266f857 by ntv
[mlir][Vector]  Add folding for vector.transfer ops

This revision folds vector.transfer operations by updating the `masked` bool array attribute when more unmasked dimensions can be discovered.

Differential revision: https://reviews.llvm.org/D83586
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/IR/AffineMap.cpp
The file was modifiedmlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp
Commit 6dda6ff0e094b667311dbd7a46d4e36aa787e033 by jdenny.ornl
[FileCheck] Fix up -dump-input* docs

In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`,
and fix some `-dump-input` documentation.

In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for
`-dump-input-filter`, so just drop it.

Extend `-dump-input=help` to mention FILECHECK_OPTS.
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 1d68a780b34e1f18f865d0754fce6c6177dc5d21 by tstellar
[clang-shlib] Don't link with static clang libraries

Summary:
If we are building static libraries we don't need to link them into
clang-shlib, since clang-shlib already has all the individual object
files linked in.

Reviewers: smeenai

Reviewed By: smeenai

Subscribers: mgorny, cfe-commits, llvm-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82694
The file was modifiedclang/tools/clang-shlib/CMakeLists.txt
Commit 32bf46842025b740de870dbcd446e4b0f203c9aa by llvm-project
[Polly] Fix -polly-opt-isl -analyze

The member LastSchedule was never set, such that printScop would always
print "n/a" instead of the last schedule.

To ensure that the isl_ctx lives as least as long as the stored
schedule, also store a shared_ptr.

Also set the schedule tree output style to ISL_YAML_STYLE_BLOCK to avoid
printing everything on a single line.

`opt -polly-opt-isl -analyze` will be used in the next commit.
The file was modifiedpolly/test/ScheduleOptimizer/tile_after_fusion.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
The file was modifiedpolly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
Commit c0bc995429c417c1e206841d6b9727218fab3f73 by llvm-project
[Polly] Fix prevectorization of fused loops.

The schedule of a fused loop has one isl_space per statement, such that
a conversion to a isl_map fails. However, the prevectorization is
interested in the schedule space only: Converting to the non-union
representation only after extracting the schedule range fixes the problem.

This fixes llvm.org/PR46578
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was addedpolly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
Commit 6d5aeb0dceebd4c4d4ac9d9d78919362db28f081 by thomasraoux
[mlir][linalg] Improve aliasing approximation for hoisting transfer read/write

Improve the logic deciding if it is safe to hoist vector transfer read/write
out of the loop. Change the logic to prevent hoisting operations if there are
any unknown access to the memref in the loop no matter where the operation is.
For other transfer read/write in the loop check if we can prove that they
access disjoint memory and ignore them in this case.

Differential Revision: https://reviews.llvm.org/D83538
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
Commit 122a45fbac059be0fb88b2b909191d7a93ce9c09 by craig.topper
[X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types.
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-512.ll
Commit 31f4e43f3f391e5c5034580f972e0acc78f99b63 by Matthew.Arsenault
AMDGPU: Remove .value_type from kernel metadata

This doesn't appear used for anything, and is emitted incorrectly
based on the description. This also depends on the IR type, and
pointee element type.
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
The file was modifiedllvm/lib/Support/AMDGPUMetadata.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-images-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll
The file was modifiedllvm/include/llvm/Support/AMDGPUMetadata.h
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
The file was modifiedllvm/test/MC/AMDGPU/hsa-metadata-kernel-args.s
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
Commit cc28058c13e89ecc85dac7e1bd5d13a2ce1bb620 by echristo
Temporarily revert "[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)"
as it wasn't NFC and is causing issues with thinlto bitcode reading.

I've followed up offline with reproduction instructions and testcases.

This reverts commit 30582457b47004dec8a78144abc919a13ccbd08c.
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 7bf73bcf6d9335938bd072b11809d305173c7c1e by JF Bastien
[docs] LLVM Security Group and Process

Summary:
See the corresponding RFC on llvm-dev for a discussion of this proposal.
  http://lists.llvm.org/pipermail/llvm-dev/2019-November/136839.html

Subscribers: jkorous, dexonsmith, arphaman, ributzka, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70326
The file was modifiedllvm/docs/Contributing.rst
The file was modifiedllvm/docs/Reference.rst
The file was addedllvm/docs/Security.rst
The file was modifiedllvm/docs/HowToSubmitABug.rst
The file was modifiedllvm/docs/index.rst
Commit 41d2813a5faea1c18b7d329109e0287c5cd9ffea by alexandre.ganea
[PDB] Attempt fix for debug-info-codeview-buildinfo.c test

This is a bit a shot in the dark, as it doesn't occur on my Windows 10 machines, nor on x64 Linux Ubuntu 18.04.
This patch tries to fix the following kind of error:
- http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/31511/steps/cmake%20stage%201/logs/stdio
- http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/25150/steps/ninja%20check%201/logs/FAIL%3A%20Clang%3A%3Adebug-info-codeview-buildinfo.c
- http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/7947/steps/check/logs/stdio
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit 854e8f88e96bd6a75844d2af061cacc61fb0defe by dblaikie
Remove unnecessary/erroneous "static" from function templates in headers

This risks ODR violations in inline functions that call these functions
(if they remain static) & otherwise just causes some object size
increase, potentially, by these functions not being deduplicated by the
linker.
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 7859242a3713eb84b57430625b2a70efe30efbf2 by gyurgyikcp
[libc] [Obvious] Remove unneeded header in strchr.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: mgorny, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D83589
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/strchr.cpp
Commit b71499ac9eebbddd3a45ac15f161f89eb3378918 by alexandre.ganea
Revert "Re-land [CodeView] Add full repro to LF_BUILDINFO record"

This reverts commit add59ecb34e3003311b7e2318b16a0ef10c76d79 and 41d2813a5faea1c18b7d329109e0287c5cd9ffea.
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was removedlld/test/COFF/pdb-relative-source-lines2.test
The file was removedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedlld/COFF/PDB.cpp
Commit e54b228408852e385d89b5202573bdd8d8da58cf by guiand
[Sanitizers] Change protoent test to check for IPv6 instead of RDP

Looks like RDP isn't present on some of LLVM's buildbot machines
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
Commit f7f80159753ba725f7e32529fcc369bc358efbb3 by waltermelon
[lldb-vscode] Add Support for Module Event

Summary:
Whenever a module is created, removed or changed, lldb-vscode is now sending an event that can be interpreted by the IDE so that modules can be rendered in the IDE, like the tree view in this screenshot

{F12229758}

Reviewers: wallace, clayborg, kusmour, aadsm

Reviewed By: clayborg

Subscribers: cfe-commits, labath, lldb-commits

Tags: #lldb, #clang

Differential Revision: https://reviews.llvm.org/D82477
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
The file was addedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was addedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
Commit 03ef61033ff5e1e40518f14f642e4ad8d686974c by waltermelon
[lldb-vscode] Add Compile Unit List to Modules View

Summary: User can expand and check compile unit list for the modules that have debug info.

Reviewers: wallace, clayborg

Reviewed By: clayborg

Subscribers: aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83072
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
The file was modifiedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
Commit 881af6eb0030986876d3b80668193e5c3c04a87c by waltermelon
[lldb-vscode] Fix TestVSCode_module

For some reason this works on the original author's machine, but not on my. So I'm using a safer approach of using an unstripped dynamic library to place breakpoints on. The author was placing a breakpoint on the main symbol of a stripped library and for some reason it worked on their machine, but it shouldn't have...

Offender diff: D82477
The file was modifiedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was modifiedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
The file was modifiedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/foo.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/foo.h
Commit 7f1e6fcff9427adfa8efa3bfeeeac801da788b87 by johannes
[OpenMP] Use __OPENMP_NVPTX__ instead of _OPENMP in wrapper headers

Due to recent changes we cannot use OpenMP in CUDA files anymore
(PR45533) as the math handling of CUDA is different when _OPENMP is
defined. We actually want this different behavior only if we are
offloading with OpenMP to NVIDIA, thus generating NVPTX. With this patch
we do not interfere with the CUDA math handling except if we are in
NVPTX offloading mode, as indicated by the presence of __OPENMP_NVPTX__.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D78155
The file was modifiedclang/lib/Headers/__clang_cuda_device_functions.h
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was modifiedclang/lib/Headers/__clang_cuda_cmath.h
The file was modifiedclang/lib/Headers/__clang_cuda_libdevice_declares.h
The file was modifiedclang/lib/Headers/openmp_wrappers/math.h
The file was modifiedclang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
The file was modifiedclang/lib/Headers/openmp_wrappers/cmath
Commit 3e5173dbc352317712ca35788333c6e118cbf79c by tejohnson
[BPI] Compile time improvement when erasing blocks (NFC)

Summary:
eraseBlock is trying to erase all probability info for the given BB.
This info is stored in a DenseMap organized like so:
   using Edge = std::pair<const BasicBlock *, unsigned>;
   DenseMap<Edge, BranchProbability> Probs;
where the unsigned in the Edge key is the successor id.

It was walking through every single map entry, checking if the BB in the
key's pair matched the given BB. Much more efficient is to do what
another method (getEdgeProbability) was already doing, which is to walk
the successors of the BB, and simply do a map lookup on the key formed
from each <BB, successor id> pair.

Doing this dropped the overall compile time for a file containing a
very large function by around 32%.

Reviewers: davidxl, xur

Subscribers: llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83596
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
Commit c60216db15132401ff60c08ccef899321f63b6b6 by waltermelon
Revert "[lldb-vscode] Fix TestVSCode_module"
This reverts commit 881af6eb0030986876d3b80668193e5c3c04a87c.

Revert "[lldb-vscode] Add Compile Unit List to Modules View"
This reverts commit 03ef61033ff5e1e40518f14f642e4ad8d686974c.

Revert "[lldb-vscode] Add Support for Module Event"
This reverts commit f7f80159753ba725f7e32529fcc369bc358efbb3.

The debian buildbot has reported issues with the modules test.
http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/13767/steps/test/logs/stdio

Reverting it for now.
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was removedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was removedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was removedlldb/test/API/tools/lldb-vscode/module/foo.cpp
The file was removedlldb/test/API/tools/lldb-vscode/module/foo.h
The file was removedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
Commit 0f0c5af3db9b0159d9b1a89faff3bd047510b628 by zequanwu
[COFF] Add cg_profile directive and .llvm.call-graph-profile section

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83597
The file was modifiedllvm/test/MC/AsmParser/directive_cgprofile.s
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
The file was modifiedllvm/lib/MC/MCParser/MCAsmParserExtension.cpp
The file was modifiedllvm/include/llvm/MC/MCWinCOFFStreamer.h
The file was addedllvm/test/MC/COFF/cgprofile.s
The file was modifiedllvm/lib/MC/MCParser/COFFAsmParser.cpp
The file was modifiedllvm/lib/MC/WinCOFFObjectWriter.cpp
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
The file was modifiedllvm/lib/MC/MCWinCOFFStreamer.cpp
Commit cd0ea03e6f157e8fb477cd8368b29e1448eeb265 by johannes
[OpenMP][NFC] Remove unused and untested code from the device runtime

Summary:
We carried a lot of unused and untested code in the device runtime.
Among other reasons, we are planning major rewrites for which reduced
size is going to help a lot.

The number of code lines reduced by 14%!

Before:
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
CUDA                            13            489            841           2454
C/C++ Header                    14            322            493           1377
C                               12            117            124            559
CMake                            4             64             64            262
C++                              1              6              6             39
-------------------------------------------------------------------------------
SUM:                            44            998           1528           4691
-------------------------------------------------------------------------------

After:
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
CUDA                            13            366            733           1879
C/C++ Header                    14            317            484           1293
C                               12            117            124            559
CMake                            4             64             64            262
C++                              1              6              6             39
-------------------------------------------------------------------------------
SUM:                            44            870           1411           4032
-------------------------------------------------------------------------------

Reviewers: hfinkel, jhuber6, fghanim, JonChesterfield, grokos, AndreyChurbanov, ye-luo, tianshilei1992, ggeorgakoudis, Hahnfeld, ABataev, hbae, ronlieb, gregrodgers

Subscribers: jvesely, yaxunl, bollu, guansong, jfb, sstefan1, aaron.ballman, openmp-commits, cfe-commits

Tags: #clang, #openmp

Differential Revision: https://reviews.llvm.org/D83349
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/libcall.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/support.h
Commit 943660fd15f193dc6961597c25541fee2e01ebbb by clementval
[openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen

Summary:
Diff D83176 moved the last piece of code from OMPConstants.cpp and now this file was only
useful to include the tablegen generated file. This patch replace OMPConstants.cpp with OMP.cpp
generated by tablegen.

Reviewers: sstefan1, jdoerfert, jdenny

Reviewed By: sstefan1

Subscribers: mgorny, yaxunl, hiraditya, guansong, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83583
The file was modifiedllvm/lib/Frontend/OpenMP/CMakeLists.txt
The file was modifiedllvm/test/TableGen/directive2.td
The file was modifiedllvm/test/TableGen/directive1.td
The file was removedllvm/lib/Frontend/OpenMP/OMPConstants.cpp
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedllvm/include/llvm/Frontend/Directive/DirectiveBase.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/CMakeLists.txt
Commit 851cc2f8f60ad86a8af4f57d23df0c930efdc4da by Adrian Prantl
Fix nesting of #ifdef

This fixes a compile error when building for an arm64 host.

Differential Revision: https://reviews.llvm.org/D83582
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
Commit 351f2b3c0ab357d42b3bda319979fa537f1565c3 by spatel
[InstSimplify] add tests for maxnum (PR46627); NFC
The file was modifiedllvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Commit e9bf0a710c993b932fa69c95ef6d0130fd721115 by Akira
[CodeGen] Store the return value of the target function call to the
thunk's return value slot directly when the return type is an aggregate
instead of doing so via a temporary

This fixes PR45997 (https://bugs.llvm.org/show_bug.cgi?id=45997), which
is caused by a bug that has existed since we started passing and
returning C++ structs with ObjC strong pointer members (see
https://reviews.llvm.org/D44908) or structs annotated with trivial_abi
directly.

rdar://problem/63740936

Differential Revision: https://reviews.llvm.org/D82513
The file was modifiedclang/lib/CodeGen/CGCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/lib/CodeGen/CGVTables.cpp
Commit b8235d2bd87158c280dded0a40c0f9ddc9cb519b by sstipanovic
 Reland "[OpenMPOpt] ICV Tracking"

This reverts commit 1d542f0ca83fa1411d6501a8d088450d83abd5b8.

`recollectUses()` is added to prevent looking at dead uses after
Attributor run.

This is the first and most basic ICV Tracking implementation. For this
first version, we only support deduplication within the same BB.

Reviewers: jdoerfert, JonChesterfield, hamax97, jhuber6, uenoku,
baziotis, lebedev.ri

Differential Revision: https://reviews.llvm.org/D81788
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/include/llvm/ADT/EnumeratedArray.h
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
The file was addedllvm/test/Transforms/OpenMP/dead_use.ll
Commit 3a5617c02e38618bd5534491077afbc7178adf3f by Akira
Fix build error
The file was modifiedclang/lib/CodeGen/CGCXXABI.cpp
Commit 16e9ccb2be7a2ebb04e781bbe4a4f9ce93a06c8e by sifontes
Create TestReducer pass

- Create a pass that generates bugs based on trivially defined behavior for the purpose of testing the MLIR Reduce Tool.
- Implement the functionality inside the pass to crash mlir-opt in the presence of an operation with the name "crashOp".
- Register the pass as a test pass in the mlir-opt tool.

Reviewed by: jpienaar

Differential Revision: https://reviews.llvm.org/D83422
The file was addedmlir/test/lib/Reducer/CMakeLists.txt
The file was addedmlir/test/lib/Reducer/MLIRTestReducer.cpp
The file was addedmlir/test/mlir-reduce/test-reducer-pass.mlir
The file was modifiedmlir/test/lib/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
Commit 7b67bc16ef1b954eea5f99e478ccd4840ebe7a06 by clementval
[openmp] Fix warning in generated OMP.cpp
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
Commit b59c6fcaf3fc8fd4c42daeecf0545e47b37b1aa7 by tlively
[WebAssembly] Prefer v128.const for constant splats

In BUILD_VECTOR lowering, we used to generally prefer using splats
over v128.const instructions because v128.const has a very large
encoding. However, in d5b7a4e2e8 we switched to preferring consts
because they are expected to be more efficient in engines. This patch
updates the ISel patterns to match this current preference.

Differential Revision: https://reviews.llvm.org/D83581
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-arith.ll
Commit 17ea41e472566823e16d3a04661221fbd18d9fae by vyng
Summary: [clang] Provide a way for WhileStmt to report the location of its LParen and RParen.

Summary: This helps avoiding hacks downstream.

Reviewers: shafik

Subscribers: martong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83529
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/AST/Stmt.cpp
The file was modifiedclang/unittests/AST/SourceLocationTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseStmt.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
Commit 28acaf84230fd246311f1cf18bad34b4bc3e5c0c by maskray
[RISCV][test] Add a test for (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2) transformation

Reviewed By: lenary, MaskRay

Differential Revision: https://reviews.llvm.org/D83159
The file was addedllvm/test/CodeGen/RISCV/addimm-mulimm.ll
Commit 3e3acc1cc773f61470d815165704288118cb27e1 by Jinsong Ji
[PowerPC][MachinePipeliner] Enable pipeliner if hasInstrSchedModel

P9 is the only one with InstrSchedModel, but we may have more in the
future, we should not hardcoded it to P9, check hasInstrSchedModel
instead.

Reviewed By: hfinkel

Differential Revision: https://reviews.llvm.org/D83590
The file was modifiedllvm/test/CodeGen/PowerPC/sms-remark.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
Commit e6280925249c87c11568a305a074581cc073bd45 by pengfei.wang
[X86][MMX] Optimize MMX shift intrinsics.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D83534
The file was modifiedllvm/test/CodeGen/X86/mmx-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 849d4405f534434ebbda9889f24ff20122e34671 by Yaxun.Liu
[HIP] Fix rocm detection

Do not detect device library by default in rocm detector.
Only detect device library in Rocm and HIP toolchain.

Separate detection of HIP runtime and Rocm device library.

Detect rocm path by version file in host toolchains.

Also added detecting rocm version and printing rocm
installation path and version with -v.

Fixed include path and device library detection for
ROCm 3.5.

Added --hip-version option. Renamed --hip-device-lib-path
to --rocm-device-lib-path.

Fixed default value for -fhip-new-launch-api.

Added default -std option for HIP.

Differential Revision: https://reviews.llvm.org/D82930
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/Inputs/rocm/bin/.hipVersion
The file was modifiedclang/test/Driver/hip-include-path.hip
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/rocm-detect.cl
The file was modifiedclang/test/Driver/rocm-detect.hip
The file was modifiedclang/lib/Driver/ToolChains/ROCm.h
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was addedclang/test/Driver/hip-version.hip
The file was modifiedclang/test/Driver/rocm-not-found.cl
The file was addedclang/test/Driver/hip-launch-api.hip
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was addedclang/test/Driver/hip-std.hip
Commit 8ee225744f109b19e7d2412cbc50d4586991d8cf by Jonas Devlieghere
[lldb/Test] Fix missing yaml2obj in Xcode standalone build.

Rather than trying to find the yaml2obj from dotest we should pass it in
like we do for dsymutil and FileCheck.
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
The file was modifiedlldb/test/API/lit.cfg.py
The file was modifiedlldb/utils/lldb-dotest/lldb-dotest.in
The file was modifiedlldb/test/API/lit.site.cfg.py.in
Commit b5667d00e0447747419a783697b84a37f59ce055 by johannes
[OpenMP][CUDA] Fix std::complex in GPU regions

The old way worked to some degree for C++-mode but in C mode we actually
tried to introduce variants of macros (e.g., isinf). To make both modes
work reliably we get rid of those extra variants and directly use NVIDIA
intrinsics in the complex implementation. While this has to be revisited
as we add other GPU targets which want to reuse the code, it should be
fine for now.

Reviewed By: tra, JonChesterfield, yaxunl

Differential Revision: https://reviews.llvm.org/D83591
The file was modifiedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/test/Headers/nvptx_device_math_complex.cpp
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was modifiedclang/lib/Headers/__clang_cuda_complex_builtins.h
Commit 256e4d46a67517056d1e45d71c02424db01eff44 by echristo
Fix signed vs unsigned comparison warnings a different way.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
Commit c98699582a6333bbe76ff7853b4cd6beb45754cf by johannes
[OpenMP][NFC] Remove unused (always fixed) arguments

There are various runtime calls in the device runtime with unused, or
always fixed, arguments. This is bad for all sorts of reasons. Clean up
two before as we match them in OpenMPOpt now.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83268
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
Commit b726c55709a0a5e31a26c8e381544348c5dcd402 by johannes
[OpenMP][NFC] Fix some typos
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 54bd3751ceebe6eb67804a1ed8be72943817852f by johannes
[OpenMP][NFC] Add convenient helper and early exit check
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit e8039ad4def0c4a2499cfbaba38bcc8ef48dee92 by johannes
[OpenMP] Identify GPU kernels (aka. OpenMP target regions)

We now identify GPU kernels, that is entry points into the GPU code.
These kernels (can) correspond to OpenMP target regions. With this patch
we identify and on request print them via remarks.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83269
The file was modifiedllvm/include/llvm/Transforms/IPO/OpenMPOpt.h
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/gpu_kernel_detection_remarks.ll
Commit 624d34afff5de099a6f84e678c81055556c3d42d by johannes
[OpenMP] Compute a proper module slice for the CGSCCC pass

The module slice describes which functions we can analyze and transform
while working on an SCC as part of the CGSCC OpenMPOpt pass. So far, we
simply restricted it to the SCC. In a follow up we will need to have a
bigger scope which is why this patch introduces a proper identification
of the module slice. In short, everything that has a transitive
reference to a function in the SCC or is transitively referenced by one
is fair game.

Reviewed By: sstefan1

Differential Revision: https://reviews.llvm.org/D83270
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 5b0581aedc2252481462970503d1085dc27e65eb by johannes
[OpenMP] Replace function pointer uses in GPU state machine

In non-SPMD mode we create a state machine like code to identify the
parallel region the GPU worker threads should execute next. The
identification uses the parallel region function pointer as that allows
it to work even if the kernel (=target region) and the parallel region
are in separate TUs. However, taking the address of a function comes
with various downsides. With this patch we will identify the most common
situation and replace the function pointer use with a dummy global
symbol (for identification purposes only). That means, if the parallel
region is only called from a single target region (or kernel), we do not
use the function pointer of the parallel region to identify it but a new
global symbol.

Fixes PR46450.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83271
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
Commit c44702bcdf8aa829e28399d0d4ac4bfc5ac4fff1 by joker.eph
Remove unused variable `KMPC_KERNEL_PARALLEL_WORK_FN_PTR_ARG_NO` (NFC)

This fixes a compiler warning.
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit dce6bc18c4e1d086182f9faa3f984912566a3c20 by johannes
[OpenMP][FIX] remove unused variable and long if-else chain

MSVC throws an error if you use "too many" if-else in a row:
  `Frontend/OpenMP/OMPKinds.def(570): fatal error C1061: compiler limit:
    blocks nested too deeply`
We work around it now...
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit c3bdc9814d947946bf8e1062f6bf41b7f8813f80 by n.james93
[clang-tidy] Reworked enum options handling(again)

Reland b9306fd after fixing the issue causing mac builds to fail unittests.

Following on from D77085, I was never happy with the passing a mapping to the option get/store functions. This patch addresses this by using explicit specializations to handle the serializing and deserializing of enum options.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82188
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
Commit 4abdcdb45ee22d77dd64a71cb41e967d35361280 by n.james93
Fix gn builds after 943660fd1
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Commit 8fb91dfeed1bd1ffdfd31a345e1bf7cf0b7c86e2 by n.james93
Revert "Fix gn builds after 943660fd1"

This reverts commit 4abdcdb45ee22d77dd64a71cb41e967d35361280.
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Commit 35af6f11e04b777b73035f59bfabb68a08ca4ad9 by n.james93
Reland Fix gn build after 943660f
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Commit 09a95f51fb1fb86442418d891f67a43e2a3ca698 by thakis
[gn build] (manually) merge 943660fd15f193
The file was modifiedllvm/lib/Frontend/OpenMP/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Frontend/OpenMP/BUILD.gn
Commit 4500db8c59621a31c622862a2946457fdee481ce by lebedev.ri
Revert "Reland "[InstCombine] Lower infinite combine loop detection thresholds"""

And there's a new hit: https://bugs.llvm.org/show_bug.cgi?id=46680
This reverts commit 7103c87596efccd532e9fe04a6ba6a200fed8481.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit f7907e9d223d8484f9afd457ba614c2db2ae4743 by a.v.lapshin
[TRE] allow TRE for non-capturing calls.

The current implementation of Tail Recursion Elimination has a very restricted
pre-requisite: AllCallsAreTailCalls. i.e. it requires that no function
call receives a pointer to local stack. Generally, function calls that
receive a pointer to local stack but do not capture it - should not
break TRE. This fix allows us to do TRE if it is proved that no pointer
to the local stack is escaped.

Reviewed by: efriedma

Differential Revision: https://reviews.llvm.org/D82085
The file was addedllvm/test/Transforms/TailCallElim/tre-noncapturing-alloca-calls.ll
The file was addedllvm/test/Transforms/TailCallElim/tre-multiple-exits.ll
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modifiedllvm/test/Transforms/TailCallElim/basic.ll
Commit d7a05698efcfa6c596bcaadd8d5154612990f8f3 by cdevadas
[AMDGPU] Move LowerSwitch pass to CodeGenPrepare.

It is possible that LowerSwitch pass leaves certain blocks
unreachable from the entry. If not removed, these dead blocks
can cause undefined behavior in the subsequent passes.
It caused a crash in the AMDGPU backend after the instruction
selection when a PHI node has its incoming values coming from
these unreachable blocks.

In the AMDGPU pass flow, the last invocation of UnreachableBlockElim
precedes where LowerSwitch is currently placed and eventually
missed out on the opportunity to get these blocks eliminated.
This patch ensures that LowerSwitch pass get inserted earlier
to make use of the existing unreachable block elimination pass.

Reviewed By: sameerds, arsenm

Differential Revision: https://reviews.llvm.org/D83584
The file was addedllvm/test/CodeGen/AMDGPU/switch-default-block-unreachable.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Commit 850b150cff3dfb5f2113d9c3c483e2d22b318ced by sstipanovic
[Attributor][NFC] Add more debug output for deleted functions
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 0b4cf802fad4f504aefbeb70c061e60cff10d153 by michael.hliao
[fix-irreducible] Skip unreachable predecessors.

Summary:
- Skip unreachable predecessors during header detection in SCC. Those
  unreachable blocks would be generated in the switch lowering pass in
  the corner cases or other frontends. Even though they could be removed
  through the CFG simplification, we should skip them during header
  detection.

Reviewers: sameerds

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83562
The file was addedllvm/test/Transforms/FixIrreducible/unreachable.ll
The file was modifiedllvm/lib/Transforms/Utils/FixIrreducible.cpp
Commit 81db614411bdc8f95e5b7e2acaf551507eb7201b by michael.hliao
Fix `-Wunused-variable` warnings. NFC.
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 102828249c8ec9ab43ee84f496274f2853ed899c by uday
[MLIR] Parallelize affine.for op to 1-D affine.parallel op

Introduce pass to convert parallel affine.for op into 1-D affine.parallel op.
Run using --affine-parallelize. Removes test-detect-parallel: pass for checking
parallel affine.for ops.

Signed-off-by: Yash Jain <yash.jain@polymagelabs.com>

Differential Revision: https://reviews.llvm.org/D83193
The file was removedmlir/test/Dialect/Affine/parallelism-detection.mlir
The file was removedmlir/test/lib/Dialect/Affine/TestParallelismDetection.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.h
The file was modifiedmlir/include/mlir/Dialect/Affine/Utils.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp
The file was addedmlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
The file was addedmlir/test/Dialect/Affine/parallelize.mlir
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td

Summary

  1. [libc++] NFC: Remove unused ability to pass additional Lit features (details)
Commit a5b58cdd800d0d45b1bdd1f7fe058db6acbfd918 by Louis Dionne
[libc++] NFC: Remove unused ability to pass additional Lit features
The file was modifiedzorg/buildbot/builders/LibcxxAndAbiBuilder.py