FailedChanges

Summary

  1. Upstream debugserver arm64e support. (details)
  2. Add help text for parray and poarray aliases. (details)
  3. [llvm] Fixing MIRVRegNamerUtils to properly handle 2+ (details)
  4. Add parray example for lldb, vrs. *ptr@count gdb cmd. (details)
  5. [clang][IFS] Adding support for new clang interface stubs decl types. (details)
  6. [analyzer] Fix more ObjC accessor body farms after 2073dd2d. (details)
  7. Revert "Reland [AArch64][MachineOutliner] Return address signing for (details)
  8. [lldb/Reproducers] Override capture with LLDB_CAPTURE_REPRODUCER env var (details)
  9. [lldb/Reproducers] Propagate LLDB_CAPTURE_REPRODUCER to the test suite (details)
  10. [clangd] NFC, add getLangOpts helper to ParsedAST (details)
  11. [clangd]  Add a tweak refactoring to wrap Objective-C string literals in (details)
  12. gn build: Merge 27f12444575 (details)
  13. [clang][IFS] Ignoring -Xlinker/-Xclang arguments in InterfaceStubs pass (details)
  14. [GlobalISel] Fix compiler crash lowering G_LOAD in AArch64. (details)
  15. Reland [AArch64][MachineOutliner] Return address signing for outlined (details)
  16. [lldb/Reproducers] Add missing instrumentation for SBFile (details)
  17. Clear out the python class name in OptionParsingStarted for the (details)
  18. [X86] Remove override of shouldUseStrictFP_TO_INT for fp80. NFC (details)
  19. [lldb/Reproducers] Add missing instrumentation for SBFile (2/2) (details)
  20. [lldb/Reproducers] Don't instrument SBFileSpec::GetPath (details)
  21. [c++17] Fix assert / wrong code when passing a noexcept pointer to (details)
  22. Properly convert all declaration non-type template arguments when (details)
  23. [MachineCopyPropagation] Extend MCP to do trivial copy backward (details)
  24. [clangd] Add xref for macro to static index. (details)
  25. [fix][unittests][llvm] Fix running unit tests without assertions. [NFCI] (details)
  26. [Signal] Allow one-shot SIGPIPE handler to be reached (details)
  27. [AArch64][SVE] Add intrinsics and patterns for logical predicate (details)
  28. Add a default copy-assignment or copy-constructor for -Wdeprecated-copy (details)
  29. Revert "[MachineCopyPropagation] Extend MCP to do trivial copy backward (details)
  30. Revert "Properly convert all declaration non-type template arguments (details)
  31. Reland [MachineCopyPropagation] Extend MCP to do trivial copy backward (details)
  32. Fix the macro fusion table for X86 according to Intel optimization (details)
  33. [llvm-readelf/llvm-readobj] - Remove getSecTypeName() helper. (details)
  34. Avoid triple corruption while merging core info (details)
  35. [MIBundle] Turn MachineOperandIteratorBase into a forward iterator. (details)
  36. [MCRegInfo] Add forward sub and super register iterators. (NFC) (details)
  37. [ORC] Remove the automagic Main JITDylib fram ExecutionSession. (details)
  38. [clangd] Fix an incorrect comment, NFC. (details)
  39. [LLD][ELF] Add support for PT_GNU_PROPERTY (details)
  40. [Checkers] Added support for freopen to StreamChecker. (details)
  41. Reland "[LiveDebugValues] Introduce entry values of unmodified params" (details)
  42. [LLD][ELF][AArch64] .note.gnu.property sections should have alignment 8 (details)
  43. [AArch64][SVE] Implement element count intrinsics (details)
  44. [lldb] Don't put compile unit name into the support file list and (details)
  45. Fix the clang interpreter example which was broken by 4fc68b9b7f3e0. (details)
  46. [DebugInfo] Handle call site values for instructions before call bundle (details)
  47. [clangd] More unittests for cross-file rename. (details)
  48. [LiveDebugValues] Silence the unused var warning; NFC (details)
  49. [llvm/DWARF] Return section offset from (details)
  50. [lldb/cpluspluslanguage] Add constructor substitutor (details)
  51. Reapply af57dbf12e54 "Add support for options -frounding-math, (details)
  52. [lldb/DWARF] Switch to llvm debug_rnglists parser (details)
  53. [AST] Enable expression of OpenCL language address spaces an attribute (details)
  54. [InstCombine] Extend `0 - (X sdiv C) -> (X sdiv -C)` fold to non-splat (details)
  55. Also check /Fo when deciding on the .gcna / .gcda filename (PR44208) (details)
  56. [lldb][NFC] Move Address and AddressRange functions out of Stream and (details)
  57. [AST] Traverse the class type loc inside the member type loc. (details)
  58. [ARM] Enable TypePromotion by default (details)
  59. gn build: Merge 7f93cb62280 (details)
  60. [clangd] Simplify the code, NFC. (details)
  61. [AArch64][SVE] Integer reduction instructions pattern/intrinsics. (details)
  62. [OPENMP50]Add support for if clause for simd part in master taskloop (details)
  63. [Syntax] Show input code on tests failures. NFC (details)
  64. [OPENMP][DOCS]Update list of the supported features, NFC. (details)
  65. [InstCombine] add tests for fpext+select+fptrunc; NFC (details)
  66. [DebugInfo] Re-apply two patches to MachineSink (details)
  67. [DebugInfo] Don't reorder DBG_VALUEs when sunk (details)
  68. [DebugInfo] Don't create multiple DBG_VALUEs when sinking (details)
  69. [InstCombine] add FMF guard to builder in fptrunc transform; NFC (details)
  70. [InstCombine] narrow select with FP casts (details)
  71. [AMDGPU][HIP] Improve opt-level handling (details)
  72. [OPENMP50]Add support for if clause for simd part in parallel master (details)
  73. [ASTImporter] Various source location and range import fixes. (details)
  74. [scan-build-py] Set of small fixes (details)
  75. [ELF][PPC64] Don't copy ppc64BranchltIndex in replaceWithDefined (details)
  76. [DSE] Fix for a dangling point bug in DeadStoreElimination. (details)
  77. [llvm] llvm-ifs: Support for handling empty IFS and merging weak+strong (details)
  78. [LLDB] Replacing use of ul suffix in GetMaxU64Bitfield since it not (details)
  79. [AArch64] Fix MUL/SUB fusing (details)
  80. [ELF][PPC64] Support long branch thunks with addends (details)
  81. [InstCombine] Invert `add A, sext(B) --> sub A, zext(B)` (details)
  82. [OPENMP50]Add support for if clause for simd part in distribute parallel (details)
  83. Revert "[InstCombine] keep assumption before sinking calls" (details)
  84. [X86] Remove ProcIntelGLM/ProcIntelGLP/ProcIntelTRM and replace them (details)
  85. [GlobalISel] Localizer: Allow targets not to run the pass conditionally (details)
  86. scudo: Fix the build of wrappers_c_test.cpp on Android. (details)
  87. scudo: Fix one of the C wrapper tests on Android. (details)
  88. LowerDbgDeclare: look through bitcasts. (details)
  89. Revert "[DSE] Fix for a dangling point bug in DeadStoreElimination." (details)
  90. [clangd] Find reference to template parameter in 'sizeof...' expression (details)
  91. [clangd] Highlighting dependent types in more contexts (details)
  92. Use diff -b on zlib tests so they pass on Windows (details)
  93. [OpenMP50] Add parallel master construct (details)
  94. Add documentation headings for the OpenCL attributes. (details)
  95. [AIX] Make sure to use QualNames for external global objects (details)
  96. [libomptarget][nfc] Move omptarget-nvptx under common (details)
  97. Set a source location for Objective-C accessor stubs even when there is (details)
  98. Debug Info: Assert that location is available for cleanups (details)
  99. DebugInfo: Fix LTO+DWARFv5 loclists (details)
  100. Debug Info: Apply a default location for cleanups if none is available. (details)
  101. [libomptarget][nfc] Introduce SHARED, ALIGN macros (details)
  102. Add a default copy constructor for -Wdeprecated-copy warnings. (details)
  103. Properly convert all declaration non-type template arguments when (details)
  104. [IR] Add a default copy constructor for -Wdeprecated-copy (details)
  105. [IR] Move ctor in the NDEBUG branch (details)
  106. [Concepts] Constraint Enforcement & Diagnostics (details)
  107. [lldb] Update hardcoded Makefile.rules inclusions. (details)
  108. [Concepts] Fix build failures in D41569 (details)
  109. gn build: Merge fdf80e86a52 (details)
  110. [AutoFDO] Properly merge context-sensitive profile of inlinee back to (details)
  111. [AutoFDO] Top-down Inlining for specialization with context-sensitive (details)
  112. Handle two corner cases in creduce-clang-crash.py (details)
  113. [RegisterCoalescer] Fix the creation of subranges when rematerialization (details)
  114. [ThinLTO] Add option to disable readonly/writeonly attribute propagation (details)
  115. Revert "[AST] Traverse the class type loc inside the member type loc." (details)
  116. Add lookup functions for efficient lookups of addresses when using (details)
  117. gn build: Merge 6470497817e (details)
  118. gn build: Merge aeda128a96c (details)
  119. Add strict fp support for instructions fadd/fsub/fmul/fdiv (details)
  120. [X86] Make X86TargetLowering::BuildFILD return a std::pair of SDValues (details)
  121. gn build: Bump Android API level to 29, and NDK to r21. (details)
  122. gn build: Add support for building scudo and its unit tests. (details)
  123. Tighten up CHECK lines added in a9f10ebffa to work on ARM. (details)
  124. Fix crash if a user-defined conversion is applied in the middle of a (details)
  125. [ConstantFold][SVE] Skip scalable vectors in (details)
  126. llvm-reduce: Add a space to an option's --help (details)
  127. DebugInfo: Pull out a common expression. (details)
  128. [JITLink] Remove the Section::symbols_empty() method. (details)
  129. [JITLink] Use Blocks rather than Symbols for SectionRange. (details)
  130. Fix build of LookupResult.cpp from aeda128 with Visual C++. (details)
  131. [LCSSA] Don't use VH callbacks to invalidate SCEV when creating LCSSA (details)
  132. [Dsymutil][NFC] Move NonRelocatableStringpool into common CodeGen (details)
  133. gn build: Merge 9e8c799e2b0 (details)
  134. [compiler-rt] [test] Disable ASLR on ASAN/MSAN/TSAN tests on NetBSD (details)
  135. [lldb] NFC: less nesting in SearchFilter.cpp (details)
  136. [lldb][NFC] Migrate FileSpec::Dump to raw_ostream (details)
  137. [clangd] (take 2) Try harder to find a plausible `clang` as argv0, (details)
  138. gn build: Merge 99768b243cd (details)
  139. [clang-tidy] Fix PR26274 (details)
  140. [lldb/DWARF] Remove DWARFDebugRangesBase abstract class (details)
  141. [lldb/IRExecutionUnit] Stop searching based on demangled names (details)
  142. [lldb] Migrate VMRange::Dump to raw_ostream (details)
  143. [lldb/DWARF] Fix DW_AT_rnglists_base handling for dwo files (details)
  144. [lldb][NFC] Remove ability to pass a custom printf format to (details)
  145. [lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction (details)
  146. [FPEnv][SelectionDAG] Relax chain requirements (details)
  147. [lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue (details)
  148. [clangd] Fix gcc warning about extra ";" [NFC] (details)
  149. [AArch64][SVE] Implement integer compare intrinsics (details)
  150. [X86] Regenerate test to fix build bot failures (details)
  151. [DebugInfo][CGP] Update dbg.values when sinking address computations (details)
  152. [clangd] Try to fix CompileCommandsTests on windows. NFC (details)
  153. [llvm-readobj] - Implement --dependent-libraries flag. (details)
  154. [AArch64][SVE2] Implement while comparison intrinsics (details)
  155. [LV] Record GEP widening decisions in recipe (NFCI) (details)
  156. [llvm-readobj][llvm-readelf] - Refactor parsing of the SHT_GNU_versym (details)
  157. [clangd] Store index::SymbolKind in HoverInfo (details)
  158. [clangd] Switch Hover.All to structured tests (details)
  159. Fix for PR44000. Optimization record for bytecode input missing. Review (details)
  160. Attempt to fix a debuginfo test that wasn't as generic as I thought (details)
  161. Fix building shared libraries broken by 8e48e8e3e32. (details)
  162. gn build: Unbreak mac build after 4066591 (details)
  163. [AArch64] Fix a bug with jump table generation (details)
  164. [OPENMP]Moved warning fo mapping non-trivially copiable types into a (details)
  165. [AIX][XCOFF] created a test case to verify the raw text section of (details)
  166. [ARM][MVE] Fix copy-paste error in VQSHL instruction ids. (details)
  167. [libomptarget][nfc] Move three more files to common (details)
  168. [libomptarget][nfc] Move cuda threadfence functions behind kmpc_impl (details)
  169. [OpenMP] Fix linkage issue on FreeBSD (details)
  170. [LegalizeTypes] Add missing case for STRICT_FP_ROUND softening (details)
  171. [lldb][test] Handle .categories lookup for inline tests. (details)
  172. Cleanup and speedup NativeRegisterContextLinux_arm64 (details)
  173. [NFC][AIX][XCOFF] fixed compile warning on the strncpy. (details)
  174. [clang-format] update trailing newline treatment in clang-format.py (details)
  175. update string comparison in clang-format.py (details)
  176. [NFC][AIX][XCOFF] if the size of Csect is zero, the Csect do not need (details)
  177. [ASTImporter] Implicitly declare parameters for imported ObjCMethodDecls (details)
  178. [MBP] Avoid tail duplication if it can't bring benefit (details)
  179. Add `QualType::hasAddressSpace`. NFC. (details)
  180. [InstCombine] improve readability; NFC (details)
  181. [InstCombine] reduce code duplication; NFC (details)
  182. [InstCombine] improve readability; NFC (details)
  183. [InstCombine] reduce indentation; NFC (details)
  184. [OPENMP]Reorganize OpenMP warning groups. (details)
  185. clang/AMDGPU: Fix default for frame-pointer attribute (details)
  186. [PGO][PGSO] Instrument the code gen / target passes. (details)
  187. [x86] add cost model special-case for insert/extract from element 0 (details)
  188. Revert "ARM-Darwin: keep the frame register reserved even if not (details)
  189. [libcxx{,abi}] Don't link libpthread and libdl on Fuchsia (details)
  190. Revert "[InstCombine] reduce indentation; NFC" (details)
  191. Revert "[InstCombine] improve readability; NFC" (details)
  192. Revert "[InstCombine] reduce code duplication; NFC" (details)
  193. Avoid naming variable after type to fix GCC 5.3 build (details)
  194. Stop checking whether std::strong_* has ::equivalent members. (details)
  195. [AutoFDO] Inline replay for cold/small callees from sample profile (details)
  196. [OPENMP50]Add if clause in distribute simd directive. (details)
  197. Revert "[PGO][PGSO] Instrument the code gen / target passes." (details)
  198. [clang-tidy] Pass -faligned-allocation on the compiler command line to (details)
  199. [X86] Don't setup and teardown memory for a musttail call (details)
  200. [WPD] Remove unused parameter (NFC) (details)
  201. [InstSimplify] add tests for copysign with fneg operand; NFC (details)
  202. [analyzer] Fix false positive on introspection of a block's internal (details)
  203. [TargetLowering] Fix another potential FPE in expandFP_TO_UINT (details)
  204. wrap an rst file to 80 cols, to cycle bots (details)
  205. [ObjC] Make sure that the implicit arguments for direct methods have (details)
  206. [X86] Fix prolog/epilog mismatch for stack protectors on win32-macho. (details)
  207. [MC] Rewrite tablegen for printInstrAlias to comiple faster, NFC (details)
  208. [WebAssebmly][MC] Support .import_name/.import_field asm directives (details)
  209. Make it possible control matcher traversal kind with ASTContext (details)
  210. [CommandLine] Add callbacks to Options (details)
  211. Remove Expr.h include from ASTContext.h, NFC (details)
  212. [Sema][X86] Consider target attribute into the checks in (details)
  213. Use ASTDumper to dump the AST from clang-query (details)
  214. Revert "[Sema][X86] Consider target attribute into the checks in (details)
  215. gn build: Change scudo's list of supported platforms to a whitelist. (details)
  216. Add matchDynamic convenience functions (details)
  217. [lldb/Reproducer] Disable test on Windows to unblock the bot. (details)
  218. [AArch64][GlobalISel] Add support for selection of vector G_SHL with (details)
  219. [c++20] Determine whether a defaulted comparison should be deleted or (details)
  220. Move variable only used in an assert into the assert itself. (details)
  221. [AArch64][GlobalISel] Add missing default statement to a switch in the (details)
  222. Driver: Don't look for libc++ headers in the install directory on (details)
  223. export.sh: Fetch sources from GitHub instead of SVN (details)
  224. [PowerPC] Fix MI peephole optimization for splats (details)
  225. [VPlan] Rename VPlanHCFGTransforms to VPlanTransforms (NFC). (details)
  226. gn build: Merge e60b36cf92e (details)
  227. [FPEnv] Constrained FCmp intrinsics (details)
  228. [OpenMP] Require trivially copyable type for mapping (details)
  229. [SimplifyCFG] Handle AssumptionCache being null. (details)
  230. [BPF] Support weak global variables for BTF (details)
  231. [SimplifyCFG] Account for N being null. (details)
  232. Optionally exclude bitfield definitions from magic numbers check (details)
  233. [SystemZ] Fix build bot failures (details)
  234. Symbol: use elaborated types for `DataExtractor` (details)
  235. [LV] Pick correct BB as insert point when fixing PHI for FORs. (details)
  236. [clangd] Navigation from definition of template specialization to (details)
  237. [ARM] Disable VLD4 under MVE (details)
  238. [ARM] Attempt to use whole register vmovs for MVE shuffles. (details)
  239. [llvm-dwarfdump][Statistics] Unify coverage statistic computation (details)
  240. Revert "Driver: Don't look for libc++ headers in the install directory (details)
  241. [InstSimplify] fold copysign with negated operand (details)
  242. Fix typo in the AST Matcher Reference doc Closes: #54 (details)
  243. [InstSimplify] fold copysign with negated operand, part 2 (details)
  244. [Frontend] Allow OpenMP offloading to aarch64 (details)
  245. [NFC][LivePhysRegs] Fix incorrect comment (details)
  246. [lldb/SWIG] Guard embedded Python code in SWIG interfaces by SWIGPYTHON (details)
  247. Fix a few doc typos, to cycle bots. (details)
  248. [PowerPC] Automatically generate store-constant.ll . NFC (details)
  249. Fix for build bot failure. For more details see: (details)
Commit e11df585800596df2052a475f6191673b8f1a5c1 by Jason Molenda
Upstream debugserver arm64e support.
The changes are minor; primarily debugserver needs to go through
accessor functions/macros when changing pc/fp/sp/lr, and debugserver
needs to clear any existing pointer auth bits from values in two cases.
debugserver can fetch the number of bits used for addressing from a
sysctl, and will include that in the qHostInfo reply.  Update qHostInfo
documentation to document it.
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/tools/debugserver/source/RNBRemote.cpp
The file was modifiedlldb/docs/lldb-gdb-remote.txt
The file was modifiedlldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Commit e001bf6330bb0e935b17c8a619e71bbded67e2eb by Jason Molenda
Add help text for parray and poarray aliases.
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
Commit fdc6f4b97b0e7378d6a3bd45458e7bed206d9305 by puyan
[llvm] Fixing MIRVRegNamerUtils to properly handle 2+
MachineBasicBlocks.
An interplay of code from D70210, along with code from the
Value-Numbering-esque hash-based namer from D70210, as well as some
crusty code from the original MIR-Canon code lead to multiple causes of
failure when canonicalizing or renaming vregs for MIR with multiple
basic blocks. This patch fixes those issues while deleting some no
longer needed code and adding a nice diamond test case to boot.
Differential Revision: https://reviews.llvm.org/D70478
The file was modifiedllvm/lib/CodeGen/MIRCanonicalizerPass.cpp
The file was modifiedllvm/lib/CodeGen/MIRVRegNamerUtils.h
The file was modifiedllvm/lib/CodeGen/MIRNamerPass.cpp
The file was addedllvm/test/CodeGen/MIR/X86/mir-canon-hash-bb.mir
Commit e1a7d042c36509a385668ee04ddb3dad3241f503 by Jason Molenda
Add parray example for lldb, vrs. *ptr@count gdb cmd.
The file was modifiedlldb/docs/use/map.rst
Commit 07e445103e363c85ce7313c542dee20b2294fe72 by puyan
[clang][IFS] Adding support for new clang interface stubs decl types.
NamespaceAliasDecl UnresolvedUsingTypenameDecl CXXDeductionGuideDecl
ConstructorUsingShadowDecl
Differential Revision: https://reviews.llvm.org/D70728
The file was modifiedclang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
The file was addedclang/test/InterfaceStubs/namespace-alias.cpp
The file was addedclang/test/InterfaceStubs/constructor-using-shadow.cpp
The file was addedclang/test/InterfaceStubs/cxxdeduction-guide.cpp
The file was addedclang/test/InterfaceStubs/unresolved-using-typename.cpp
Commit 3c50f2544f7a8f0c41f4fc286064abce2d3629b5 by Artem Dergachev
[analyzer] Fix more ObjC accessor body farms after 2073dd2d.
Fix a crash when constructing a body farm for accessors of a property
that is declared and @synthesize'd in different (but related) interfaces
with the explicit ivar syntax.
This is a follow-up for 0b58b80e.
The file was modifiedclang/test/Analysis/properties.m
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
Commit f65267ee16fbb8b05c167d2459bea0cf357b7d1c by saugustine
Revert "Reland [AArch64][MachineOutliner] Return address signing for
outlined functions"
This reverts commit 02760b750b2ffcc0e2f5d78ecb137c80930c42c3.
The original commit is not asan clean.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/37147/steps/check-llvm%20asan/logs/stdio
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-b.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-a.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
The file was removedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
Commit dfe9a7943bf7a926e51b319a2c2f73e4b4b4cf43 by Jonas Devlieghere
[lldb/Reproducers] Override capture with LLDB_CAPTURE_REPRODUCER env var
Make it possible to override reproducer capture with the
LLDB_CAPTURE_REPRODUCER environment variable.
The goal of this change is twofold.
(1) I want to be able to enable capturing reproducers during regular
   test runs, both locally and on the bots. To do so I need a way to
   force capture. I cannot do this through the Python API, because
   reproducer capture must be enabled *before* the debugger
   initialized, which happens automatically when doing `import lldb`.
(2) I want to provide an escape hatch for when reproducers are enabled
   by default. Downstream we have reproducer capture enabled by default
   in the driver.
This patch solves both problems by overriding the reproducer mode based
on the environment variable. Acceptable values are 0/1 and ON/OFF.
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was addedlldb/test/Shell/Reproducer/TestCaptureEnvOverride.test
The file was modifiedlldb/test/Shell/Reproducer/lit.local.cfg
Commit acda2bc0adf62d9e54bf6d284f91e6cfa5b3cc6e by Jonas Devlieghere
[lldb/Reproducers] Propagate LLDB_CAPTURE_REPRODUCER to the test suite
The file was modifiedlldb/test/Shell/Reproducer/lit.local.cfg
The file was modifiedlldb/test/API/lit.cfg.py
The file was modifiedlldb/test/Shell/lit.cfg.py
Commit c0ee0224c4cf52bc6ba74dec88b30b850deca523 by Alex Lorenz
[clangd] NFC, add getLangOpts helper to ParsedAST
The addition of the helper is split out from
https://reviews.llvm.org/D69543 as suggested by Kadir. I also updated
the existing uses to use the new API.
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/HeaderSourceSwitch.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/RawStringLiteral.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SourceCodeTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
The file was modifiedclang-tools-extra/clangd/SemanticSelection.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
The file was modifiedclang-tools-extra/clangd/ParsedAST.h
The file was modifiedclang-tools-extra/clangd/unittests/CollectMacrosTests.cpp
Commit 27f124445755a80e048a68d2fabbd2fa6f40a723 by Alex Lorenz
[clangd]  Add a tweak refactoring to wrap Objective-C string literals in
`NSLocalizedString` macros
The commit adds a refactoring to Clangd that mimics the existing
refactoring action in Xcode that wraps around an Objective-C string
literal in an NSLocalizedString macro.
Differential Revision: https://reviews.llvm.org/D69543
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
The file was addedclang-tools-extra/clangd/refactor/tweaks/ObjCLocalizeStringLiteral.cpp
Commit 26f06064157272d47a84e2ddcf6ebc4c99c2e9d8 by llvmgnsyncbot
gn build: Merge 27f12444575
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
Commit 4ef9110b8d1004840d70477382c6bd10fb487fb6 by puyan
[clang][IFS] Ignoring -Xlinker/-Xclang arguments in InterfaceStubs pass
for now.
Many of the inputs to clang driver toolchain tools can be things other
than files such as -Xclang and -Xlinker arguments. For now we don't take
such tool pass-through type arguments (although having an -Xifs would be
nice to have to replace things like -emit-merged-ifs). So because for
the moment we are not doing any sort of argument pass-through, I am
going to have InterfaceStubs Merger ignore any non-file type input
arguments.
Differential Revision: https://reviews.llvm.org/D70838
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was addedclang/test/InterfaceStubs/XlinkerInputArgs.cpp
Commit 28f5ad5801d408b35afc437fb3c430104ee3ce3e by Amara Emerson
[GlobalISel] Fix compiler crash lowering G_LOAD in AArch64.
Patch by Daniel Rodríguez Troitiño.
Differential Revision: https://reviews.llvm.org/D70794
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-trunc.mir
Commit cec2d5c17457722113580251c8a045fa9aca9b1b by david.tellenbach
Reland [AArch64][MachineOutliner] Return address signing for outlined
functions
Summary: Reland after fixing an ASan failure by stopping outlining early
if the constraints for return address signing removed too many outlining
candidates.
During AArch64 frame lowering instructions to enable return address
signing are inserted into functions if needed. Functions generated
during machine outlining don't run through target frame lowering and
hence are missing such instructions.
This patch introduces the following changes:
1. If not all functions that potentially participate in function
outlining agree
  on their return address signing scope and their return address signing
key,
  outlining is disabled for these functions. 2. If not all functions
that potentially participate in function outlining agree
  on their support for v8.3A features, outlining is disabled for these
  functions. 3. If an outlining candidate would outline instructions
that modify sp in a way
  that invalidates return address signing, outlining is disabled for
that
  particular candidate. 4. If all candidate functions agree on the
signing scope, signing key and their
  support for v8.3 features, the outlined function behaves as if it had
the
  same scope and key attributes and as if it would provide the same
v8.3A
  support as the original functions.
Reviewers: ostannard, paquette
Reviewed By: ostannard
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70635
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-a.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-b.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
Commit fe5ab6d2cba1ddeb78567ac7c897cd30593ad366 by Jonas Devlieghere
[lldb/Reproducers] Add missing instrumentation for SBFile
This was properly captured by the instrumentation framework when running
TestRunCommandInterpreterAPI.py in capture-mode.
The file was modifiedlldb/source/API/SBFile.cpp
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit 3151d7af72bee375c06318195870942d4bc12002 by jingham
Clear out the python class name in OptionParsingStarted for the
OptionGroupPythonClassWithDict options class.  This value was hanging
around so for instance if you made a scripted breakpoint resolver, then
went to set another breakpoint, it would still think you had passed in a
class name and the breakpoint wouldn't do what you expected.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
The file was modifiedlldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp
Commit 3d43c73f26f2ef3ce8c972d1dfe7013571a01bbc by craig.topper
[X86] Remove override of shouldUseStrictFP_TO_INT for fp80. NFC
I suspect this became unnecessary after r354161. Prior to that we may
have been going through the default expansion of FP_TO_UINT on 64-bit
targets and then ending up back in Custom X86 handling to handle the
FP_TO_SINT for it. Now we just Custom handle the FP_TO_UINT directly. We
already need to handle it for 32-bit mode during type legalization so we
wouldn't save any code by using the default expansion on 64-bit.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
Commit 6ee96ddec89774a534ec93de7266a0bf38de07e8 by Jonas Devlieghere
[lldb/Reproducers] Add missing instrumentation for SBFile (2/2)
Found another issue while running TestDefaultConstructorForAPIObjects.
The file was modifiedlldb/source/API/SBFile.cpp
Commit 039d4b3aa20a8f36ad058f2b9692b73c6909c612 by Jonas Devlieghere
[lldb/Reproducers] Don't instrument SBFileSpec::GetPath
This method uses a char* and length as output arguments and the
reproducer instrumentation doesn't know how to deal with that (yet).
The file was modifiedlldb/source/API/SBFileSpec.cpp
Commit a1d2611c046efa46cf32a10c9e9a8a7a8a06feba by richard
[c++17] Fix assert / wrong code when passing a noexcept pointer to
member function to a non-noexcept pointer to member non-type template
parameter.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
Commit 11d10527852b4d3ed738aa90d8bec0f398160593 by richard
Properly convert all declaration non-type template arguments when
forming non-type template parameter values.
The file was modifiedclang/test/SemaCXX/exceptions-seh.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit 75b3a1c318ccad0f96c38689279bc5db63e2ad05 by lkail
[MachineCopyPropagation] Extend MCP to do trivial copy backward
propagation
Summary: This patch mainly do such transformation
```
$R0 = OP ...
... // No read/clobber of $R0 and $R1
$R1 = COPY $R0 // $R0 is killed
``` Replace $R0 with $R1 and remove the COPY, we have
```
$R1 = OP ...
``` This transformation can also expose more opportunities for existing
copy elimination in MCP.
Differential Revision: https://reviews.llvm.org/D67794
The file was modifiedllvm/test/CodeGen/PowerPC/machine-backward-cp.mir
The file was modifiedllvm/test/CodeGen/RISCV/shifts.ll
The file was modifiedllvm/test/CodeGen/RISCV/alu64.ll
The file was modifiedllvm/test/CodeGen/X86/fshr.ll
The file was modifiedllvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
The file was modifiedllvm/test/CodeGen/X86/mul-i512.ll
The file was modifiedllvm/test/CodeGen/X86/i128-mul.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-i128.ll
The file was modifiedllvm/test/CodeGen/X86/shift-i128.ll
Commit 9347655a275456c08222833b11ec699fafbc6de6 by usx
[clangd] Add xref for macro to static index.
Summary: This adds the references for macros to the SymbolCollector
(used for static index). Enabled if `CollectMacro` option is set.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70489
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.h
Commit 1de214fa413d7c3c0fab832fa1f9857606d2ec78 by francesco.petrogalli
[fix][unittests][llvm] Fix running unit tests without assertions. [NFCI]
The file was modifiedllvm/unittests/Analysis/VectorUtilsTest.cpp
Commit 9a3f892d018238dce5181e458905311db8e682f5 by Vedant Kumar
[Signal] Allow one-shot SIGPIPE handler to be reached
As SIGPIPE is no longer in the IntSigs array, handle SIGPIPE before
handling any interrupt signals.
Thanks to Alexandre Ganea for pointing out the issue here.
The file was modifiedllvm/lib/Support/Unix/Signals.inc
Commit 53b95a3cb6a7598bedbb21b2ecf742dafbd229e7 by amehsan
[AArch64][SVE] Add intrinsics and patterns for logical predicate
instructions
Add instrinics and patters for the following logical predicate
instructions:
-- and, ands, bic, bics, eor, eors
-- sel
-- orr, orrs, orn, orns, nor, nors, nand, nads
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log-pred.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log.ll
The file was addedllvm/test/CodeGen/AArch64/sve-pred-log.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 5312139f779f9f18cc5fa1c4ce5e5c5c1e854e90 by echristo
Add a default copy-assignment or copy-constructor for -Wdeprecated-copy
warnings.
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
Commit 3882edbe191f78547445424cb20983a20b71f4cf by lkail
Revert "[MachineCopyPropagation] Extend MCP to do trivial copy backward
propagation"
This reverts commit 75b3a1c318ccad0f96c38689279bc5db63e2ad05, since it
breaks bootstrap build.
The file was modifiedllvm/test/CodeGen/PowerPC/machine-backward-cp.mir
The file was modifiedllvm/test/CodeGen/RISCV/alu64.ll
The file was modifiedllvm/test/CodeGen/X86/shift-i128.ll
The file was modifiedllvm/test/CodeGen/RISCV/shifts.ll
The file was modifiedllvm/test/CodeGen/X86/i128-mul.ll
The file was modifiedllvm/test/CodeGen/X86/mul-i512.ll
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-i128.ll
The file was modifiedllvm/test/CodeGen/X86/fshr.ll
The file was modifiedllvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
Commit 93cc9dddd82f9e971f382ade6acf6634c5914966 by dlj
Revert "Properly convert all declaration non-type template arguments
when"
This reverts commit 11d10527852b4d3ed738aa90d8bec0f398160593.
This change is problematic with function pointer template parameters.
For example, building libcxxabi with futexes (-D_LIBCXXABI_USE_FUTEX)
produces this diagnostic:
    In file included from
.../llvm-project/libcxxabi/src/cxa_guard.cpp:15:
   .../llvm-project/libcxxabi/src/cxa_guard_impl.h:416:54: error:
address of function 'PlatformThreadID' will always evaluate to 'true'
[-Werror,-Wpointer-bool-conversion]
       has_thread_id_support(this->thread_id_address && GetThreadIDArg),
                                                     ~~ ^~~~~~~~~~~~~~
   .../llvm-project/libcxxabi/src/cxa_guard.cpp:38:26: note: in
instantiation of member function '__cxxabiv1::(anonymous
namespace)::InitByteFutex<&__cxxabiv1::(anonymous
namespace)::PlatformFutexWait, &__cxxabiv1::(anonymous
namespace)::PlatformFutexWake, &__cxxabiv1::(anonymous
namespace)::PlatformThreadID>::InitByteFutex' requested here
     SelectedImplementation imp(raw_guard_object);
                            ^
   .../llvm-project/libcxxabi/src/cxa_guard_impl.h:416:54: note: prefix
with the address-of operator to silence this warning
       has_thread_id_support(this->thread_id_address && GetThreadIDArg),
                                                        ^
                                                        &
   1 error generated.
The diagnostic is incorrect: adding the address-of operator also fails
("cannot take the address of an rvalue of type 'uint32_t (*)()' (aka
'unsigned int
(*)()')").
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaCXX/exceptions-seh.cpp
Commit b200c5180e8d6f9ac4e08512a04739ab02cebdb8 by lkail
Reland [MachineCopyPropagation] Extend MCP to do trivial copy backward
propagation.
Fix assertion error
``` bool llvm::MachineOperand::isRenamable() const: Assertion
`Register::isPhysicalRegister(getReg()) && "isRenamable should only be
checked on physical registers"' failed.
``` by checking if the register is 0 before invoking `isRenamable`.
The file was modifiedllvm/test/CodeGen/X86/i128-mul.ll
The file was modifiedllvm/test/CodeGen/X86/mul-i512.ll
The file was modifiedllvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/test/CodeGen/RISCV/alu64.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-i128.ll
The file was modifiedllvm/test/CodeGen/RISCV/shifts.ll
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/machine-backward-cp.mir
The file was modifiedllvm/test/CodeGen/X86/shift-i128.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/X86/fshr.ll
Commit f3dafd21a36f33f3829a4c81260ff5809c065111 by shengchen.kan
Fix the macro fusion table for X86 according to Intel optimization
manual and add function isMacroFused
Differential Revision: https://reviews.llvm.org/D70999
The file was modifiedllvm/lib/Target/X86/X86MacroFusion.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
Commit e00e5d3347a37d0eda8429a32e3bee68f7bdf970 by grimar
[llvm-readelf/llvm-readobj] - Remove getSecTypeName() helper.
We do not need it, we have
`object::getELFSectionTypeName` that can be used instead.
Differential revision: https://reviews.llvm.org/D71017
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 8b8185bb1b456e0ccf7b1ed1f00bc646853ab004 by omair.javaid
Avoid triple corruption while merging core info
Summary: This patch fixes a bug where when target triple created from
elf information is arm-*-linux-eabihf and platform triple is
armv8l-*-linux-gnueabihf. Merging both triple results in
armv8l--unknown-unknown.
This happens because we order a triple update while calling CoreUpdated
and CoreUpdated creates a new triple with no vendor or environment
information.
Making sure we do not update triple and just update to more specific
core fixes the issue.
Reviewers: labath, jasonmolenda, clayborg
Reviewed By: jasonmolenda
Subscribers: jankratochvil, kristof.beyls, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70155
The file was modifiedlldb/source/Utility/ArchSpec.cpp
The file was modifiedlldb/unittests/Utility/ArchSpecTest.cpp
Commit 1b81964586b4f0fde94f4d238be659bedd85b627 by flo
[MIBundle] Turn MachineOperandIteratorBase into a forward iterator.
This patch turns MachineOperandIteratorBase into a regular forward
iterator, which can be used with iterator_range.
It also adds mi_bundle_ops and const_mi_bundle_ops that return iterator
ranges over all operands in a bundle and updates a use of the old
iterator.
Reviewers: evandro, t.p.northover, paquette, MatzeB, arsenm
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D70561
The file was modifiedllvm/include/llvm/CodeGen/MachineInstrBundle.h
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
Commit 76a5c8421e04b246892157fe18f1c082c908c5e9 by flo
[MCRegInfo] Add forward sub and super register iterators. (NFC)
This patch adds forward iterators mc_difflist_iterator,
mc_subreg_iterator and mc_superreg_iterator, based on the existing
DiffListIterator. Those are used to provide iterator ranges over sub-
and super-register from TRI, which are slightly more convenient than the
existing MCSubRegIterator/MCSuperRegIterator. Unfortunately, it
duplicates a bit of functionality, but the new iterators are a bit more
convenient (and can be used with various existing iterator utilities)
and should probably replace the old iterators in the future.
This patch updates some existing users.
Reviewers: evandro, qcolombet, paquette, MatzeB, arsenm
Reviewed By: qcolombet
Differential Revision: https://reviews.llvm.org/D70565
The file was modifiedllvm/lib/CodeGen/RegisterScavenging.cpp
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/include/llvm/MC/MCRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
Commit 4fc68b9b7f3e07ea4425c6111e1a9455cf4aa322 by Lang Hames
[ORC] Remove the automagic Main JITDylib fram ExecutionSession.
This patch removes the magic "main" JITDylib from ExecutionEngine. The
main JITDylib was created automatically at ExecutionSession construction
time, and all subsequently created JITDylibs were added to the main
JITDylib's links-against list by default. This saves a couple of lines
of boilerplate for simple JIT setups, but this isn't worth introducing
magical behavior for.
ORCv2 clients should now construct their own main JITDylib using
ExecutionSession::createJITDylib and set up its linkages manually using
JITDylib::setSearchOrder (or related methods in JITDylib).
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Commit 60d7e723e3ac5223f1a2f6594a93a9fdfb3e69a7 by hokein.wu
[clangd] Fix an incorrect comment, NFC.
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit 4d6c4cb4269e8e8e04854fca812c2dda13f83f9d by peter.smith
[LLD][ELF] Add support for PT_GNU_PROPERTY
The PT_GNU_PROPERTY program header describes the location of the
.note.gnu.property SHT_NOTES section. The linux kernel uses this program
header to find the .note.gnu.property section rather than parsing.
Executables that have properties that the kernel needs to act on that
don't have the PT_GNU_PROPERTY program header will not boot.
Differential Revision: https://reviews.llvm.org/D70961
The file was modifiedlld/ELF/Writer.cpp
The file was addedlld/test/ELF/pt-gnu-property.s
The file was modifiedlld/test/ELF/aarch64-ifunc-bti.s
The file was modifiedlld/test/ELF/aarch64-feature-pac.s
The file was modifiedlld/test/ELF/aarch64-feature-btipac.s
The file was modifiedlld/test/ELF/aarch64-feature-bti.s
Commit 7eafde981c699efa87c96d4b7714cbfe98c3d1c6 by 1.int32
[Checkers] Added support for freopen to StreamChecker.
Summary: Extend StreamChecker with a new evaluation function for API
call 'freopen'.
Reviewers: NoQ, baloghadamsoftware, Szelethus, martong
Reviewed By: baloghadamsoftware, martong
Subscribers: martong, rnkovacs, dkrupp, Szelethus, gamesh411,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69948
The file was modifiedclang/test/Analysis/stream.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 4b4ede440a2ad51b150cb913775eee76189aac38 by djordje.todorovic
Reland "[LiveDebugValues] Introduce entry values of unmodified params"
Relanding this after resolving the cause of the test failure.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
The file was modifiedllvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
The file was addedllvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
The file was addedllvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
The file was addedllvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
Commit 784f57584fc3b582944d6786738738390e2b5f71 by peter.smith
[LLD][ELF][AArch64] .note.gnu.property sections should have alignment 8
The .note.gnu.property SHT_NOTE sections on AArch64 (a 64-bit target)
should have alignment 8 to more closely match the binutils
implementation where alignment is 4-bytes on 32-bit machines and 8-bytes
on 64-bit machines.
Previously LLD was using 4 for both 32-bit and 64-bit machines.
Differential Revision: https://reviews.llvm.org/D70962
The file was addedlld/test/ELF/gnu-property-align-32.s
The file was addedlld/test/ELF/gnu-property-align.s
The file was modifiedlld/test/ELF/pt-gnu-property.s
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit f0355bc4d15121cd89c7b6d8fce52c192019b3ab by cullen.rhodes
[AArch64][SVE] Implement element count intrinsics
Summary: Adds intrinsics for the following:
    * cntb
   * cnth
   * cntw
   * cntd
   * cntp
Reviewers: sdesmalen, huntergr, dancgr, rengolin, efriedma, rovka
Reviewed By: efriedma
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70967
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit 57f8a998ceaf36e021878e8810bb57a00452c07d by pavel
[lldb] Don't put compile unit name into the support file list and
support DWARF5 line tables
Summary: Lldb's "format-independent" debug info made use of the fact
that DWARF
(<=4) did not use the file index zero, and reused the support file index
zero for storing the compile unit name.
While this provided some convenience for DWARF<=4, it meant that the PDB
plugin needed to artificially remap file indices in order to free up
index 0. Furthermore, DWARF v5 make file index 0 legal, which meant that
similar remapping would be needed in the dwarf plugin too.
What this patch does instead is remove the requirement of having the
compile unit name in the index 0. It is not that useful since the name
can always be fetched from the CompileUnit object. Remapping code in the
pdb plugin(s) has been removed or simplified.
DWARF plugin has started inserting an empty FileSpec at index 0 to
ensure the indices keep matching up (in case of DWARF<=4). For DWARF5,
we insert the file 0 from the line table.
I add a test to ensure we can correctly lookup line table entries
referencing file 0, and in particular the case where the file 0 is also
duplicated in another file entry, as this is how clang produces line
tables in some circumstances (see pr44170). Though this is probably a
bug in clang, this is not forbidden by DWARF, and lldb already has
support for that in some (but not all) cases -- this adds a test for the
code path which was not fixed in this patch.
Reviewers: clayborg, JDevlieghere, jdoerfert
Subscribers: aprantl, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70954
The file was addedlldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
The file was modifiedlldb/source/Symbol/CompileUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
Commit 41eeded804310df0719ecbc92a0e14b438213dbf by Lang Hames
Fix the clang interpreter example which was broken by 4fc68b9b7f3e0.
The file was modifiedclang/examples/clang-interpreter/main.cpp
Commit 54682d871d9e2d8f19ca58ce47a9673401d011ff by david.stenberg
[DebugInfo] Handle call site values for instructions before call bundle
Summary: If a call is bundled then the code that looks for instructions
that produce parameter values would break when reaching the call's
bundle header, due to the `ifCall(/*AnyInBundle*/)` invocation returning
true.
It is not enough to simply ignore bundle headers in the `isCall()`
invocation, as the bundle header may have defines of parameter registers
due to the call, meaning that such registers would incorrectly be
removed from the worklist. Therefore, do not look at bundle headers at
all.
Reviewers: djtodoro, NikolaPrica, aprantl, vsk
Reviewed By: aprantl, vsk
Subscribers: hiraditya, llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D71024
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was addedllvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
Commit 158356b82b8a2fa8f1cb12a3735274f6a6c3c5f2 by hokein.wu
[clangd] More unittests for cross-file rename.
Summary: The previous unittests for cross-file rename was kind of weak.
With this patch, we should have more test coverage, and it is easy to
add more tests in the future.
Reviewers: ilya-biryukov, kbobyrev
Reviewed By: ilya-biryukov
Subscribers: merge_guards_bot, MaskRay, jkorous, arphaman, kadircet,
usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71050
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
Commit 52b231ee84cac576044e147e72d9bd5b290de1f3 by djordje.todorovic
[LiveDebugValues] Silence the unused var warning; NFC
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
Commit 4ee76a922aad743818d56f58630cf8da25602251 by pavel
[llvm/DWARF] Return section offset from
DWARFUnit::get{Loc,Rng}listOffset
Summary: Currently these function return the raw content of the
appropriate table header, which means they are relative to the
DW_AT_{loc,rng}list_base, and one has to relocate them in order to do
anything.
This changes the functions to perform the relocation themselves, which
seems more clearer, particularly as they are sitting right next to the
find{Rng,Loc}listFromOffset functions, but one *cannot* simply take the
result of these functions and take pass them there.
The only effect of this patch is to change what value is dumped for the
DW_AT_ranges attribute, which I think is for the better, as previously
the values appeared to point into thin air.
(The main reason I am looking at this is because I was trying to
implement equivalent functionality in lldb's DWARFUnit, and was stumped
by this behavior.
Reviewers: dblaikie, JDevlieghere, aprantl
Subscribers: hiraditya, llvm-commits, SouraVX
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71006
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/test/DebugInfo/X86/split-dwarf-v5-ranges.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/no_debug_addr.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
Commit c16f0b18c13e88fedaa510bc2442bb693a6230c8 by pavel
[lldb/cpluspluslanguage] Add constructor substitutor
Summary: This patch adds code which will substitute references to the
full object constructors/destructors with their base object versions.
Like all substitutions in this category, this operation is not really
sound, but doing this in a more precise way allows us to get rid of a
much larger hack -- matching function according to their demangled
names, which effectively does the same thing, but also much more.
This is a (very late) follow-up to D54074.
Background: clang has an optimization which can eliminate full object
structors completely, if they are found to be equivalent to their base
object versions. It does this because it assumes they can be regenerated
on demand in the compile unit that needs them (e.g., because they are
declared inline). However, this doesn't work for the debugging scenario,
where we don't have the structor bodies available -- we pretend all
constructors are defined out-of-line as far as clang is concerned. This
causes clang to emit references to the (nonexisting) full object
structors during expression evaluation.
Fun fact: This is not a problem on darwin, because the relevant
optimization is disabled to work around a linker bug.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70721
The file was modifiedlldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Commit 7f9b5138470db1dc58f3bc05631284c653c9ed7a by melanie.blower
        Reapply af57dbf12e54 "Add support for options -frounding-math,
ftrapping-math, -ffp-model=, and -ffp-exception-behavior="
        Patch was reverted because
https://bugs.llvm.org/show_bug.cgi?id=44048
       The original patch is modified to set the strictfp IR attribute
       explicitly in CodeGen instead of as a side effect of IRBuilder.
       In the 2nd attempt to reapply there was a windows lit test fail,
the
       tests were fixed to use wildcard matching.
        Differential Revision: https://reviews.llvm.org/D62731
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/test/Driver/fast-math.c
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/docs/UsersManual.rst
The file was addedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/fp-model.c
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was addedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
Commit f5767e284beaff4e5eb35f0f64270a070b47f6d3 by pavel
[lldb/DWARF] Switch to llvm debug_rnglists parser
Summary: Our rnglist support was working only for the trivial cases (one
CU), because we only ever parsed one contribution out of the
debug_rnglists section. This means we were never able to resolve range
lists for the second and subsequent units (DW_FORM_sec_offset references
came out blang, and DW_FORM_rnglistx references always used the ranges
lists from the first unit).
Since both llvm and lldb rnglist parsers are sufficiently
self-contained, and operate similarly, we can fix this problem by
switching to the llvm parser instead. Besides the changes which are due
to variations in the interface, the main thing is that now the range
list object is a member of the DWARFUnit, instead of the entire symbol
file. This ensures that each unit can get it's own private set of range
list indices, and is consistent with how llvm's DWARFUnit does it
(overall, I've tried to structure the code the same way as the llvm
version).
I've also added a test case for the two unit scenario.
Reviewers: JDevlieghere, aprantl, clayborg
Subscribers: dblaikie, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71021
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
Commit 11a9bae8f66986751078501988b4414f24dbe37e by alexey.bader
[AST] Enable expression of OpenCL language address spaces an attribute
Summary: Enable a way to set OpenCL language address space using
attributes in addition to existing keywords.
Signed-off-by: Victor Lomuller victor@codeplay.com
Reviewers: aaron.ballman, Anastasia
Subscribers: yaxunl, ebevhan, cfe-commits, Naghasan
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71005
Signed-off-by: Alexey Bader <alexey.bader@intel.com>
The file was modifiedclang/test/SemaOpenCL/address-spaces.cl
The file was addedclang/test/AST/language_address_space_attribute.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
Commit 09311459e3750f9dbd164fe7ea40fd9548571128 by lebedev.ri
[InstCombine] Extend `0 - (X sdiv C) -> (X sdiv -C)` fold to non-splat
vectors
Split off from https://reviews.llvm.org/D68408
The file was modifiedllvm/test/Transforms/InstCombine/div.ll
The file was modifiedllvm/include/llvm/IR/Constant.h
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit 18b72d337ef31bc4f1b898ceb17796ffe12dd104 by hans
Also check /Fo when deciding on the .gcna / .gcda filename (PR44208)
Differential revision: https://reviews.llvm.org/D71012
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/clang_f_opts.c
Commit 1462f5a4c138bb20f38a579a29d12ab4e5fb6191 by Raphael Isemann
[lldb][NFC] Move Address and AddressRange functions out of Stream and
let them take raw_ostream
Summary: Yet another step on the long road towards getting rid of lldb's
Stream class.
We probably should just make this some kind of member of
Address/AddressRange, but it seems quite often we just push in random
integers in there and this is just about getting rid of Stream and not
improving arbitrary APIs.
I had to rename another `DumpAddress` function in FormatEntity that is
dumping the content of an address to make Clang happy.
Reviewers: labath
Reviewed By: labath
Subscribers: JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71052
The file was modifiedlldb/source/Core/AddressRange.cpp
The file was modifiedlldb/unittests/Utility/StreamTest.cpp
The file was modifiedlldb/source/Core/FormatEntity.cpp
The file was modifiedlldb/source/Utility/Stream.cpp
The file was modifiedlldb/source/Core/Address.cpp
The file was modifiedlldb/source/Symbol/Block.cpp
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInstruction.cpp
The file was modifiedlldb/include/lldb/Utility/Stream.h
The file was modifiedlldb/source/Target/ThreadPlanRunToAddress.cpp
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepThrough.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOverRange.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/source/Utility/VMRange.cpp
Commit 7f93cb62280a73e3e899d49c45be8bfbac634b7d by hokein.wu
[AST] Traverse the class type loc inside the member type loc.
Summary: We are missing this currently.
This would fix https://github.com/clangd/clangd/issues/216.
Reviewers: ilya-biryukov
Subscribers: mgorny, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70849
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was addedclang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
Commit 393dacacf7e7ff4a123adcda3efc60e92121ecc6 by sam.parker
[ARM] Enable TypePromotion by default
ARMCodeGenPrepare has already been generalized and renamed to
TypePromotion. We've had it enabled and tested downstream for a while,
so enable it by default.
Differential Revision: https://reviews.llvm.org/D70998
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/switch.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/calls.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/wrapping.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/pointers.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/signed.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/casts.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/phis-ret.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/clear-structures.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/icmps.ll
The file was modifiedllvm/lib/CodeGen/TypePromotion.cpp
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/signed-icmps.ll
Commit 699427d77e2fa443e7ea727792707c5ac9e73d87 by llvmgnsyncbot
gn build: Merge 7f93cb62280
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Commit 01e5290b49bd2a8753c685bb5f02596989a31754 by hokein.wu
[clangd] Simplify the code, NFC.
AST.getASTContext().getSourceManager() => AST.getSourceManager().
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ExpandAutoType.cpp
Commit b29916cec3f45e5fb5efff5104acf142f348c724 by amehsan
[AArch64][SVE] Integer reduction instructions pattern/intrinsics.
Added pattern matching/intrinsics for the following SVE instructions:
-- saddv, uaddv
-- smaxv, sminv, umaxv, uminv
-- orv, eorv, andv
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-int-reduce-pred.ll
Commit 853961f21a6d07352204eb4820a93eab87ba0057 by a.bataev
[OPENMP50]Add support for if clause for simd part in master taskloop
simd directive.
According to OpenMP 5.0, the if clause can be applied to simd
subdirective in the combined directives.
The file was modifiedclang/test/OpenMP/master_taskloop_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 242649c17c5b11bcc788b6f69bd3eed44cfd3d79 by ibiryukov
[Syntax] Show input code on tests failures. NFC
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit c3279beded97bbc00307b59f91a9a98e2ae417a7 by a.bataev
[OPENMP][DOCS]Update list of the supported features, NFC.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 403bb33a2e6a966b9dae203cf7845d6d0538e76b by spatel
[InstCombine] add tests for fpext+select+fptrunc; NFC
The file was modifiedllvm/test/Transforms/InstCombine/fptrunc.ll
Commit fca41001963cb473182c7b3b665ea1f03f94203a by jmorse+git
[DebugInfo] Re-apply two patches to MachineSink
These were:
* D58386 / f5e1b718a67 / reverted in d382a8a768b
* D58238 / ee50590e168 / reverted in a8db456b53a
Of which the latter has a performance regression tracked in PR43855,
fixed by D70672 / D70676, which will be committed atomically with this
reapplication.
Contains a minor difference to account for a change in the IsCopyInstr
signature.
The file was addedllvm/test/DebugInfo/MIR/X86/sink-leaves-undef.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/postra-subreg-sink.mir
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/machinesink.mir
Commit e4cdd6263175f7289cfb61608944892d8c76b6ff by jmorse+git
[DebugInfo] Don't reorder DBG_VALUEs when sunk
Fix part of PR43855, resolving a problem that comes from the
reapplication in 001574938e5. If we have two DBG_VALUE insts in a block
that specify the location of the same variable, for example:
   %0 = someinst
  DBG_VALUE %0, !123, !DIExpression()
  %1 = anotherinst
  DBG_VALUE %1, !123, !DIExpression()
if %0 were to sink, the corresponding DBG_VALUE would sink too, past the
next DBG_VALUE, effectively re-ordering assignments. To fix this, I've
added a SeenDbgVars set recording what variable locations have been seen
in a block already (working bottom up), and now flag DBG_VALUEs that
would pass a later DBG_VALUE for the same variable.
NB, this only works for repeated DBG_VALUEs in the same basic block, the
general case involving control flow is much harder, which I've written
up in PR44117.
Differential revision: https://reviews.llvm.org/D70672
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/machinesink.mir
Commit 30e8f80fd5a43a213f8feb124846223b61218f30 by jmorse+git
[DebugInfo] Don't create multiple DBG_VALUEs when sinking
This patch addresses a performance problem reported in PR43855, and
present in the reapplication in in 001574938e5. It turns out that
MachineSink will (often) move instructions to the first block that
post-dominates the current block, and then try to sink further. This
means if we have a lot of conditionals, we can needlessly create large
numbers of DBG_VALUEs, one in each block the sunk instruction passes
through.
To fix this, rather than immediately sinking DBG_VALUEs, record them in
a pass structure. When sinking is complete and instructions won't be
sunk any further, new DBG_VALUEs are added, avoiding lots of
intermediate DBG_VALUE $noregs being created.
Differential revision: https://reviews.llvm.org/D70676
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/machinesink.mir
Commit 51e420c27e2dc493bd71a6305ffb4d8acb401755 by spatel
[InstCombine] add FMF guard to builder in fptrunc transform; NFC
This makes no difference currently because we don't apply FMF to FP
casts, but that may change.
This could also be a place to add a fold for select with fptrunc, so it
will make that patch easier/smaller.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 3c6b5d3674e85f2be81e74d104055269c017a430 by spatel
[InstCombine] narrow select with FP casts
Select doesn't change values, so truncate of extended operand cancels
out.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fptrunc.ll
Commit d96ea47c75fdf4a62358eae49a0026bcf031bde6 by scott.linder
[AMDGPU][HIP] Improve opt-level handling
Summary: The HIP toolchain invokes `llc` without an explicit opt-level,
meaning it always uses the default (-O2). This makes it impossible to
use -O1, for example. The HIP toolchain also coerces -Os/-Oz to -O2 even
when invoking opt, and it coerces -Og to -O2 rather than -O1.
Forward the opt-level to `llc` as well as `opt`, and only coerce levels
where it is required.
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70987
The file was modifiedclang/test/Driver/hip-toolchain-no-rdc.hip
The file was addedclang/test/Driver/hip-toolchain-opt.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-toolchain-mllvm.hip
Commit 5c517a6b13bfee99e054128231ddf64e70e5a6ab by a.bataev
[OPENMP50]Add support for if clause for simd part in parallel master
taskloop simd directive.
According to OpenMP 5.0, the if clause can be applied to simd
subdirective in the combined directives.
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit a9f10ebffaa29e009081faa2720f8ea9bb356658 by 1.int32
[ASTImporter] Various source location and range import fixes.
Summary: ASTImporter contained wrong or missing imports of
SourceLocation and SourceRange for some objects. At least a part of such
errors is fixed now. Source location import fixes in namespace, enum,
record, class template specialization declarations and DeclRefExpr,
UnresolvedLookupExpr, UnresolvedMemberExpr, NestedNameSpecifierLoc.
Reviewers: martong, a.sidorin, shafik
Reviewed By: shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D60499
The file was modifiedclang/test/Import/cxx-anon-namespace/test.cpp
The file was modifiedclang/test/Import/template-specialization/test.cpp
The file was addedclang/test/Import/namespace/test.cpp
The file was addedclang/test/Import/namespace/Inputs/NS.cpp
The file was modifiedclang/test/Import/enum/test.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/test/Import/struct-and-var/test.cpp
Commit 8994d632c8d31d527490e8693b0881d9278464e6 by xazax
[scan-build-py] Set of small fixes
* Unhandled exceptions
* Typos
Differential Revision: https://reviews.llvm.org/D70693
The file was modifiedclang/tools/scan-build-py/libscanbuild/analyze.py
The file was modifiedclang/tools/scan-build-py/libscanbuild/clang.py
Commit 944f109ad778d53827b2473c8465985733c931b4 by maskray
[ELF][PPC64] Don't copy ppc64BranchltIndex in replaceWithDefined
replaceWithDefined is used by canonical PLT and copy relocations, which
imply that the symbol is preemptable. ppc64BranchltIndex is only used by
non-preemptable cases, and it can only be the default value in
replaceWithDefined.
The file was modifiedlld/ELF/Relocations.cpp
Commit 1847fd9d85506ecee692230cb2500e3774ec628e by flo
[DSE] Fix for a dangling point bug in DeadStoreElimination.
The patch makes sure that the LastThrowing pointer does not point to any
instruction deleted by call to DeleteDeadInstruction.
While iterating through the instructions the pass maintains a pointer to
the lastThrowing Instruction. A call to deleteDeadInstruction deletes a
dead store and other instructions feeding the original dead instruction
which also become dead. The instruction pointed by the lastThrowing
pointer could also be deleted by the call to DeleteDeadInstruction and
thus it becomes a dangling pointer. Because of this, we see an error in
the next iteration.
In the patch, we maintain a list of throwing instructions encountered
previously and use the last non deleted throwing instruction from the
container.
Patch by Ankit <quic_aankit@quicinc.com>
Reviewers: fhahn, bcahoon, efriedma
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D65326
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was addedllvm/test/Transforms/DeadStoreElimination/DeleteThrowableInst.ll
Commit ef7267def69f9416b53388a5b5ea612bed9573d9 by puyan
[llvm] llvm-ifs: Support for handling empty IFS and merging weak+strong
symbols.
The following changes enable llvm-ifs to handle the following merge
conflicts:
* Weak + Strong symbol merging for the same symbol
* empty vs non-empty triple field
* empty vs non-empty object file format
Differential Revision: https://reviews.llvm.org/D70834
The file was addedllvm/test/tools/llvm-ifs/weak-mismatch.ifs
The file was modifiedllvm/tools/llvm-ifs/llvm-ifs.cpp
The file was addedllvm/test/tools/llvm-ifs/default-empty.ifs
The file was addedllvm/test/tools/llvm-ifs/strong.ifs
The file was addedllvm/test/tools/llvm-ifs/Inputs/strong-mismatch-size.ifs
The file was addedllvm/test/tools/llvm-ifs/Inputs/strong-mismatch-type.ifs
The file was modifiedllvm/test/tools/llvm-ifs/conflict-weak.ifs
Commit fffd70291e124efc4a5bd475dccfc41cbc4bca8a by shafik
[LLDB] Replacing use of ul suffix in GetMaxU64Bitfield since it not
guarenteed to be 64 bit
GetMaxU64Bitfield(...) uses the ul suffix but we require a 64 bit
unsigned integer and ul could be 32 bit. So this replacing it with a
explicit cast and refactors the code around it to use an early exit.
Differential Revision: https://reviews.llvm.org/D70992
The file was modifiedlldb/unittests/Utility/DataExtractorTest.cpp
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit e503fee904d8c17c089d27ab928bc72eeeece649 by Sanne.Wouda
[AArch64] Fix MUL/SUB fusing
Summary: When MUL is the first operand to SUB, we can't use MLS because
the accumulator should be negated.  Emit a NEG of the accumulator and an
MLA instead, similar to what we do for FMUL / FSUB fusing.
Reviewers: dmgreen, SjoerdMeijer, fhahn, Gerolf, mstorsjo, asbirlea
Reviewed By: asbirlea
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71067
The file was modifiedllvm/test/CodeGen/AArch64/neon-mla-mls.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit c8f0d3e130d336f49c204b9ee317bf99be192a82 by maskray
[ELF][PPC64] Support long branch thunks with addends
Fixes PPC64 part of PR40438
  // clang -target ppc64le -c a.cc
// .text.unlikely may be placed in a separate output section (via -z
keep-text-section-prefix)
// The distance between bar in .text.unlikely and foo in .text may be
larger than 32MiB.
static void foo() {}
__attribute__((section(".text.unlikely"))) static int bar() { foo();
return 0; }
__attribute__((used)) static int dummy = bar();
This patch makes such thunks with addends work for PPC64.
AArch64: .text -> `__AArch64ADRPThunk_ (adrp x16, ...; add x16, x16,
...; br x16)` -> target PPC64: .text -> `__long_branch_ (addis 12, 2,
...; ld 12, ...(12); mtctr 12; bctr)` -> target
AArch64 can leverage ADRP to jump to the target directly, but PPC64
needs to load an address from .branch_lt . Before Power ISA v3.0, the
PC-relative ADDPCIS was not available. .branch_lt was invented to work
around the limitation.
Symbol::ppc64BranchltIndex is replaced by
PPC64LongBranchTargetSection::entry_index which take addends into
consideration.
The tests are rewritten: ppc64-long-branch.s tests -no-pie and
ppc64-long-branch-pi.s tests -pie and -shared.
Reviewed By: sfertile
Differential Revision: https://reviews.llvm.org/D70937
The file was modifiedlld/ELF/Thunks.cpp
The file was addedlld/test/ELF/ppc64-long-branch-pi.s
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was modifiedlld/ELF/Symbols.h
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/SyntheticSections.h
The file was modifiedlld/test/ELF/ppc64-long-branch.s
The file was removedlld/test/ELF/ppc64-shared-long_branch.s
Commit 796fa662f12851494303558e0d36b239c55343e7 by lebedev.ri
[InstCombine] Invert `add A, sext(B) --> sub A, zext(B)`
canonicalization (to `sub A, zext B -> add A, sext B`)
Summary: D68408 proposes to greatly improve our negation sinking
abilities. But in current canonicalization, we produce `sub A, zext(B)`,
which we will consider non-canonical and try to sink that negation,
undoing the existing canonicalization. So unless we explicitly stop
producing previous canonicalization, we will have two conflicting folds,
and will end up endlessly looping.
This inverts canonicalization, and adds back the obvious fold that we'd
miss:
* `sub [nsw] Op0, sext/zext (bool Y) -> add [nsw] Op0, zext/sext (bool
Y)`
https://rise4fun.com/Alive/xx4
* `sext(bool) + C -> bool ? C - 1 : C`
https://rise4fun.com/Alive/fBl
It is obvious that `@ossfuzz_9880()` /
`@lshr_out_of_range()`/`@ashr_out_of_range()`
(oss-fuzz 4871) are no longer folded as much, though those aren't really
worrying.
Reviewers: spatel, efriedma, t.p.northover, hfinkel
Reviewed By: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71064
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
The file was modifiedllvm/test/Transforms/InstCombine/apint-shift.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/test/Transforms/InstCombine/logical-select.ll
Commit 52812f2ade71476ea309a3482c93d0c9db1fa45b by a.bataev
[OPENMP50]Add support for if clause for simd part in distribute parallel
for simd directive.
According to OpenMP 5.0, the if clause can be applied to simd
subdirective in the combined directives.
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 055779a9ac11e56442cbcdc73da59f8bce7ce57d by llvm
Revert "[InstCombine] keep assumption before sinking calls"
Summary: This reverts commit c3b06d0c393e533eab712922911d14e5a079fa5d.
Reason for revert: Caused miscompiles when inserting assume for undef.
Also adds a test to prevent similar breakage in future.
Fixes PR44154.
Reviewers: rnk, jdoerfert, efriedma, xbolva00
Reviewed By: rnk
Subscribers: thakis, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70933
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was removedllvm/test/Transforms/InstCombine/assume-replacing-call.ll
The file was addedllvm/test/Transforms/InstCombine/unused-nonnull.ll
Commit f688570d5c5493e969d5fca599d6eb8a796e27ca by craig.topper
[X86] Remove ProcIntelGLM/ProcIntelGLP/ProcIntelTRM and replace them
with a single feature flag covers the two places they were used.
Differential Revision: https://reviews.llvm.org/D71048
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
Commit bfa3d260b8238562b39f6a405e7ac366060401bc by vkeles
[GlobalISel] Localizer: Allow targets not to run the pass conditionally
Summary: Previously, it was not possible to skip running the localizer
pass conditionally. This patch adds an input function to the pass which
decides if the pass should run on the given MachineFunction or not.
No test case as there is no upstream target needs this functionality.
Reviewers: qcolombet
Reviewed By: qcolombet
Subscribers: rovka, hiraditya, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71038
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Localizer.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Localizer.cpp
Commit 0cfe0a7bb0e10a96c3c98891961d37160a931d20 by peter
scudo: Fix the build of wrappers_c_test.cpp on Android.
The Android headers don't provide a declaration of valloc or pvalloc, so
we need to declare them ourselves.
Differential Revision: https://reviews.llvm.org/D71077
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Commit c8a2882a97e2efb02934dcc279f1e3e302982762 by peter
scudo: Fix one of the C wrapper tests on Android.
The test ScudoWrappersCTest.Realloc expects realloc of memalign to work
on Android, but this relies on dealloc_type_mismatch being set to false.
Commit 0d3d4d3b0 caused us to start setting it to true in the C wrapper
tests, which broke the test. Set it to the correct value on Android.
Differential Revision: https://reviews.llvm.org/D71078
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
Commit 6f89cbc429f8459321733f2ae357f508a62b0df6 by eugenis
LowerDbgDeclare: look through bitcasts.
Summary: Emit a value debug intrinsic (with OP_deref) when an alloca
address is passed to a function call after going through a bitcast.
This generates an FP or SP-relative location for the local variable in
the following case:
int x;
use((void *)&x;
Reviewers: aprantl, vsk, pcc
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70752
The file was addedllvm/test/Transforms/Util/dbg-call-bitcast.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 19071173fc2e0c30c898a8cf8e42a0eaf3a3a35c by flo
Revert "[DSE] Fix for a dangling point bug in DeadStoreElimination."
The commit causes a failure:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/20911
This reverts commit 1847fd9d85506ecee692230cb2500e3774ec628e.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was removedllvm/test/Transforms/DeadStoreElimination/DeleteThrowableInst.ll
Commit 1a4ee4c88f21c0e6860983a80bfa51a25b4af700 by zeratul976
[clangd] Find reference to template parameter in 'sizeof...' expression
Fixes https://github.com/clangd/clangd/issues/213.
Reviewers: ilya-biryukov
Reviewed By: ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70740
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit de3dbc4f41665e60f53eb3d41fcadb2b322cf6f0 by zeratul976
[clangd] Highlighting dependent types in more contexts
Fixes https://github.com/clangd/clangd/issues/214.
Reviewers: ilya-biryukov
Reviewed By: ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70746
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit 23e63a906d0387d5ac7e4d3a57401f016b14c677 by akhuang
Use diff -b on zlib tests so they pass on Windows
Reviewers: hubert.reinterpretcast
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71036
The file was modifiedllvm/test/tools/llvm-profdata/roundtrip-compress.test
The file was modifiedllvm/test/tools/llvm-profdata/profile-symbol-list-compress.test
Commit 47d6094d7fd463707598a0e65dd44a0d1cc279eb by a.bataev
[OpenMP50] Add parallel master construct
Reviewers: ABataev, jdoerfert
Reviewed By: ABataev
Subscribers: rnk, jholewinski, guansong, arphaman, jfb, cfe-commits,
sandoval, dreachem
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70726
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/OpenMP/parallel_master_message.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was addedclang/test/OpenMP/parallel_master_firstprivate_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_shared_messages.cpp
The file was modifiedclang/include/clang/AST/StmtOpenMP.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was addedclang/test/OpenMP/parallel_master_reduction_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_default_messages.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/lib/AST/StmtOpenMP.cpp
The file was addedclang/test/OpenMP/parallel_master_if_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was addedclang/test/OpenMP/parallel_master_copyin_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was addedclang/test/OpenMP/parallel_master_num_threads_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_proc_bind_messages.cpp
The file was modifiedclang/test/OpenMP/nesting_of_regions.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was addedclang/test/OpenMP/parallel_master_ast_print.cpp
The file was addedclang/test/OpenMP/parallel_master_private_messages.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
Commit f5193d87feaedb411255e92979abd6b62522bc38 by aaron
Add documentation headings for the OpenCL attributes.
This fixes the documentation build.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 1ea1e053f6a10955a5aa8f5a8007544a846766e5 by daltenty
[AIX] Make sure to use QualNames for external global objects
Summary: Previously we only handled the case where the csect hadn't been
set up yet, so we'd hit an assert later on.
Reviewers: jasonliu, DiggerLin, stevewan
Reviewed By: jasonliu
Subscribers: hubert.reinterpretcast, wuzish, nemanjai, hiraditya,
kbarton, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71032
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
Commit d0b9ed5c490ef10e4af750720a65a6cc6ba41af2 by jonathanchesterfield
[libomptarget][nfc] Move omptarget-nvptx under common
Summary:
[libomptarget][nfc] Move omptarget-nvptx under common
Almost all files depend on require omptarget-nvptx, which no longer
contains any obviously architecture dependent code. Moving it under
common unblocks task/loop for amdgcn, and allows moving other code.
At some point there should probably be a widespread symbol renaming to
replace the nvptx string. I'd prefer to get things working first.
Building this (and task.cu, loop.cu) without a cuda library requires
some more refactoring, e.g. wrap threadfence(), use DEVICE macro more
consistently. Patches for that are orthogonal and will be posted
shortly.
Reviewers: jdoerfert, ABataev, grokos
Reviewed By: ABataev
Subscribers: mgorny, fedor.sergeev, jfb, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D71073
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/sync.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h
The file was addedopenmp/libomptarget/deviceRTLs/common/omptargeti.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/libcall.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/support.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
The file was addedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omp_data.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/parallel.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptxi.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/task.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/data_sharing.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/omptarget.h
Commit a1a9aa17b4db08937e458cdda85327b9eff307df by Adrian Prantl
Set a source location for Objective-C accessor stubs even when there is
no explicit synthesize statement.
This fixes a regression introduced in https://reviews.llvm.org/D68108
that could lead to missing debug locations in cleanup code in
synthesized Objective-C++ properties.
rdar://57630879
Differential Revision: https://reviews.llvm.org/D71084
The file was modifiedclang/lib/Sema/SemaObjCProperty.cpp
The file was addedclang/test/SemaObjC/default-synthesize-sourceloc.m
Commit ce7d35988d1ca5e17758283804ea1f76389dc1f0 by Adrian Prantl
Debug Info: Assert that location is available for cleanups
rdar://57630879
Differential Revision: https://reviews.llvm.org/D71042
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was addedclang/test/CodeGenObjCXX/synthesized-property-cleanup.mm
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit decee04e630dedff8fe988b340ac015e510bf687 by dblaikie
DebugInfo: Fix LTO+DWARFv5 loclists
The loclists_table_base was being overwritten for each CU even though
only one loclists contribution is made so everything but the last CU
would have a label that was never defined and fail to assemble.
The file was addedllvm/test/CodeGen/X86/debug-loclists-lto.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 338588d7cf1865f2095f5961b73cfb533bc535c4 by Adrian Prantl
Debug Info: Apply a default location for cleanups if none is available.
This unbreaks the debuginfo-tests testsuite by replacing the assertion
with a default location. There are cleanups in helper functions that
don't have a valid source location such as block copy helpers and it's
not worth tracking each of them down.
rdar://57630879
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
Commit 4af84d2686a30e30729ef48102009ccdecddc943 by jonchesterfield
[libomptarget][nfc] Introduce SHARED, ALIGN macros
Summary:
[libomptarget][nfc] Introduce SHARED, ALIGN macros Move remaining cuda
attributes behind such macros
Reviewers: ABataev, jdoerfert, grokos
Reviewed By: ABataev
Subscribers: openmp-commits, jvesely
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D71076
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/data_sharing.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omp_data.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
Commit eaf6c22bf411b07c17d204a7345fc62833120b0b by echristo
Add a default copy constructor for -Wdeprecated-copy warnings.
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h
Commit b220662a45c8067a2ae485ae34c1138d93506df9 by richard
Properly convert all declaration non-type template arguments when
forming non-type template parameter values.
This reverts commit 93cc9dddd82f9e971f382ade6acf6634c5914966, which
reverted commit 11d10527852b4d3ed738aa90d8bec0f398160593.
We now always form `&x` when forming a pointer to a function rather than
trying to use function-to-pointer decay. This matches the behavior of
the old code in this case, but not the intent as described by the
comments.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaCXX/warn-bool-conversion.cpp
The file was modifiedclang/test/SemaCXX/exceptions-seh.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
Commit b98f3ce33cf22428353c60baec0e01dcb844480c by maskray
[IR] Add a default copy constructor for -Wdeprecated-copy
The file was modifiedllvm/include/llvm/IR/ValueHandle.h
Commit 7faa8440440f280912c33a27c14c0dc4031532de by maskray
[IR] Move ctor in the NDEBUG branch
The file was modifiedllvm/include/llvm/IR/ValueHandle.h
Commit fdf80e86a52849813d05da4b6c25884c06ba9e98 by saar
[Concepts] Constraint Enforcement & Diagnostics
Part of the C++20 concepts implementation effort.
- Associated constraints (requires clauses, currently) are now enforced
when instantiating/specializing templates and when considering partial
specializations and function overloads.
- Elaborated diagnostics give helpful insight as to why the constraints
were not satisfied. Phabricator: D41569
Re-commit, after fixing some memory bugs.
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was addedclang/lib/AST/ASTConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/function-templates.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/AST/CMakeLists.txt
The file was addedclang/include/clang/AST/ASTConcept.h
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/TemplateDeduction.h
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
Commit 0d236d8b4f8aecc258e26ad53755a39d9b76032e by rupprecht
[lldb] Update hardcoded Makefile.rules inclusions.
This replaces `include $(LEVEL)/Makefile.rules` with `include
Makefile.rules`. The lldb test driver already passes the include path
when running make, and specifically looking for "../../Makefile.rules"
forces the test to be in a specific location. Removing this hardcoded
relative path will make it possible to move this test as-is.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/float-display/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/thread_local/Makefile
Commit e7c24667816edc1a3754b46a49f9eac011dc1fee by saar
[Concepts] Fix build failures in D41569
Fix build failures in previous commit.
The file was modifiedclang/lib/AST/ASTConcept.cpp
Commit 6e8322deb3f984467c302165149a597dbbc5e279 by llvmgnsyncbot
gn build: Merge fdf80e86a52
The file was modifiedllvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Commit e503fd85d3ac9d3e1493a7a63bc43c6939e132cc by aktoon
[AutoFDO] Properly merge context-sensitive profile of inlinee back to
outlined function
Summary: When sample profile loader decides not to inline a previously
inlined call-site, we adjust the profile of outlined function simply by
scaling up its profile counts by call-site count. This means the
context-sensitive profile of that inlined instance will be thrown away.
This commit try to keep context-sensitive profile for such cases:
- Instead of scaling outlined function's profile, we now properly merge
the FunctionSamples of inlined instance into outlined function,
including all recursively inlined profile.
- Instead of adjusting the profile for negative inline decision at the
end of the sample profile loader pass, we do the profile merge right
after processing each function. This change paired with top-down
ordering of annotation/inline-replay (a separate diff) will make sure we
recursively merge profile back before the profile is used for annotation
and inline replay.
A new switch -sample-profile-merge-inlinee is added to enable the new
profile merge for tuning. It should be the default behavior eventually.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70653
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/test/CodeGen/X86/insert-prefetch-inline.afdo
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/einline.prof
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was addedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/inline-callee-update.prof
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-mergeprof.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 532196d811ad4db1e522012c9d20e4a95aae2eb3 by aktoon
[AutoFDO] Top-down Inlining for specialization with context-sensitive
profile
Summary: AutoFDO's sample profile loader processes function in arbitrary
source code order, so if I change the order of two functions in source
code, the inline decision can change. This also prevented the use of
context-sensitive profile to do specialization while inlining. This
commit enforces SCC top-down order for sample profile loader. With this
change, we can now do specialization, as illustrated by the added test
case:
Say if we have A->B->C and D->B->C call path, we want to inline C into B
when root inliner is B, but not when root inliner is A or D, this is not
possible without enforcing top-down order. E.g. Once C is inlined into
B, A and D can only choose to inline (B->C) as a whole or nothing, but
what we want is only inline B into A and D, not its recursive callee C.
If we process functions in top-down order, this is no longer a problem,
which is what this commit is doing.
This change is guarded with a new switch "-sample-profile-top-down-load"
for tuning, and it depends on D70653. Eventually, top-down can be the
default order for sample profile loader.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits, tejohnson
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70655
The file was addedllvm/test/Transforms/SampleProfile/inline-topdown.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-topdown.prof
Commit 1f822f212cde1ad9099cf45af0652a83380de772 by rnk
Handle two corner cases in creduce-clang-crash.py
Summary: First, call os.path.normpath on the filename argument. I passed
in
./foo-asdf.cpp, and this meant that the script failed to find the
filename, and bad things happened.
Second, call os.path.abspath on binaries. CReduce runs the
interestingness test in a temp dir, so relative paths will not work.
Reviewers: akhuang
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71098
The file was modifiedclang/utils/creduce-clang-crash.py
Commit 2ec71ea7c74df20983031c6e1be07b14da0e9109 by qcolombet
[RegisterCoalescer] Fix the creation of subranges when rematerialization
is used
* Context *
During register coalescing, we use rematerialization when coalescing is
not possible. That means we may rematerialize a super register when only
a smaller register is actually used. E.g., 0B v1 = ldimm 0xFF 1B v2 =
COPY v1.low8bits 2B   = v2
=> 0B v1 = ldimm 0xFF 1B v2 = ldimm 0xFF 2B   = v2.low8bits
Where xB are the slot indexes. Here v2 grew from a 8-bit register to a
16-bit register.
When that happens and subregister liveness is enabled, we create
subranges for the newly created value. E.g., before remat, the live
range of v2 looked like: main range: [1r, 2r)
(Reads v2 is defined at index 1 slot register and used before the slot
register of index 2)
After remat, it should look like: main range: [1r, 2r) low 8 bits: [1r,
2r) high 8 bits: [1r, 1d) <-- dead def
I.e., the unsused lanes of v2 should be marked as dead definition.
* The Problem *
Prior to this patch, the live-ranges from the previous exampel, would
have the full live-range for all subranges: main range: [1r, 2r) low 8
bits: [1r, 2r) high 8 bits: [1r, 2r) <-- too long
* The Fix *
Technically, the code that this patch changes is not wrong: When we
create the subranges for the newly rematerialized value, we create only
one subrange for the whole bit mask. In other words, at this point v2
live-range looks like this: main range: [1r, 2r) low & high: [1r, 2r)
Then, it gets wrong when we call LiveInterval::refineSubRanges on low 8
bits: main range: [1r, 2r) low 8 bits: [1r, 2r) high 8 bits: [1r, 2r)
<-- too long
Ideally, we would like LiveInterval::refineSubRanges to be able to do
the right thing and mark the dead lanes as such. However, this is not
possible, because by the time we update / refine the live ranges, the IR
hasn't been updated yet, therefore we actually don't have enough
information to do the right thing.
Another option to fix the problem would have been to call
LiveIntervals::shrinkToUses after the IR is updated. This is not
desirable as this may have a noticeable impact on compile time.
Instead, what this patch does is when we create the subranges for the
rematerialized value, we explicitly create one subrange for the lanes
that were used before rematerialization and one for the lanes that were
not used. The used one inherits the live range of the main range and the
unused one is just created empty. The existing rematerialization code
then detects that the unused one are not live and it correctly sets dead
def intervals for them.
https://llvm.org/PR41372
The file was addedllvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
Commit 54a3c2a81e1a0ff970705008e9285ea3ada4ef3e by tejohnson
[ThinLTO] Add option to disable readonly/writeonly attribute propagation
Summary: Add an option to allow the attribute propagation on the index
to be disabled, to allow a workaround for issues (such as that fixed by
D70977).
Also move the setting of the WithAttributePropagation flag on the index
into propagateAttributes(), and remove some old stale code that predated
this flag and cleared the maybe read/write only bits when we need to
disable the propagation (previously only when importing disabled, now
also when the new option disables it).
Reviewers: evgeny777, steven_wu
Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70984
The file was modifiedllvm/test/ThinLTO/X86/writeonly.ll
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
Commit 6470497817eafe3fe2d15e11ade78fd99753d7ca by saugustine
Revert "[AST] Traverse the class type loc inside the member type loc."
This reverts commit 7f93cb62280a73e3e899d49c45be8bfbac634b7d.
The assertion at RecursiveASTVisitor.h:1169 fails when passed a
TypeLocNode. Not sure if the correct fix is to use getTypeLocClass or
something else.
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was removedclang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
Commit aeda128a96c4ac9eecef7563f4cf07dfcd2af0db by gclayton
Add lookup functions for efficient lookups of addresses when using
GsymReader classes.
Summary: Lookup functions are designed to not fully decode a
FunctionInfo, LineTable or InlineInfo, they decode only what is needed
into a LookupResult object. This allows lookups to avoid costly memory
allocations and avoid parsing large amounts of information one a
suitable match is found.
LookupResult objects contain the address that was looked up, the
concrete function address range, the name of the concrete function, and
a list of source locations. One for each inline function, and one for
the concrete function. This allows one address to turn into multiple
frames and improves the signal you get when symbolicating addresses in
GSYM files.
Reviewers: labath, aprantl
Subscribers: mgorny, hiraditya, llvm-commits, lldb-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70993
The file was modifiedllvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
The file was addedllvm/include/llvm/DebugInfo/GSYM/LookupResult.h
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/InlineInfo.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/LineTable.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/LineTable.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/Range.h
The file was addedllvm/lib/DebugInfo/GSYM/LookupResult.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/GsymReader.h
The file was modifiedllvm/lib/DebugInfo/GSYM/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/GSYM/Range.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymReader.cpp
Commit d4416e3dac37580e5e6afd9d9ef7203e696dc9f5 by llvmgnsyncbot
gn build: Merge 6470497817e
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Commit 1c918ff2c1ae9033a2a35c449f111d342291841b by llvmgnsyncbot
gn build: Merge aeda128a96c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Commit 3041434450e6c9cbc3476289f7c862f346126296 by chen3.liu
Add strict fp support for instructions fadd/fsub/fmul/fdiv
Differential Revision: https://reviews.llvm.org/D68757
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-256.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-512.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit 8267be29955e3df2baada1443a92d82ca9d979cc by craig.topper
[X86] Make X86TargetLowering::BuildFILD return a std::pair of SDValues
so we explicitly return the chain instead of calling getValue on the
single SDValue.
We shouldn't assume that the returned result can be used to get the
other result.
This is prep-work for strict FP where we will also need to pass the
chain result along in more cases.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b3516a0d4af39f39c3c1f5aac389c2879b0e4721 by peter
gn build: Bump Android API level to 29, and NDK to r21.
These are both necessary in order to use ELF TLS, which is needed by the
scudo unit tests.
Differential Revision: https://reviews.llvm.org/D71079
The file was modifiedllvm/utils/gn/build/toolchain/compiler.gni
The file was modifiedllvm/utils/gn/secondary/llvm/triples.gni
Commit 4066591841408223dbb811a3e36df41347efcf70 by peter
gn build: Add support for building scudo and its unit tests.
Differential Revision: https://reviews.llvm.org/D71081
The file was modifiedllvm/utils/gn/secondary/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn
Commit 757bc55f8314c8c789f81b7f0b3397a8c6148b68 by douglas.yung
Tighten up CHECK lines added in a9f10ebffa to work on ARM.
On ARM platforms, the compiler generates an additional line containing
`-CXXRecordDecl which is not the intended line, but preceeds the
intended match causing the test to fail.
The file was modifiedclang/test/Import/struct-and-var/test.cpp
Commit 759909506c2b557b9bc5cd3883970dea48e0b86b by richard
Fix crash if a user-defined conversion is applied in the middle of a
rewrite of an operator in terms of operator<=>.
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
Commit 381d3c5c45c55c00f8d561eaff03b460953ca5c0 by huihuiz
[ConstantFold][SVE] Skip scalable vectors in
ConstantFoldInsertElementInstruction.
Summary: Should not constant fold insertelement instruction for scalable
vector type.
Reviewers: huntergr, sdesmalen, spatel, levedev.ri, apazos, efriedma,
willlovett
Reviewed By: efriedma, spatel
Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70985
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was addedllvm/test/Analysis/ConstantFolding/insertelement.ll
Commit 9b9327fe3064d5dd4fe054e94be79e14da562685 by George Burgess IV
llvm-reduce: Add a space to an option's --help
Otherwise, we get "filewith".
The file was modifiedllvm/tools/llvm-reduce/llvm-reduce.cpp
Commit 560ab1f8d33c03eb5c855930d0fdc0ef95c52744 by dblaikie
DebugInfo: Pull out a common expression.
This is for the case where -gmlt -gsplit-dwarf -fsplit-dwarf-inlining
are used together in some but not all units during LTO (or, in the
reduced case, even without LTO) - ensuring that no split dwarf is used
(because split-dwarf-inlining puts the same data in the .o file, so
there's no need to duplicate it into the .dwo file)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 8c4f048a00065d5cc2e138fba17abf74f2ae873d by Lang Hames
[JITLink] Remove the Section::symbols_empty() method.
llvm::empty(Sec.symbols()) can be used instead.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit 72db78eba5966fae6bc5bb361ebee7b6d3e1be3a by Lang Hames
[JITLink] Use Blocks rather than Symbols for SectionRange.
This ensures that anonymous blocks are included in the section range.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit da650094b187ee3c8017d74f63c885663faca1d8 by douglas.yung
Fix build of LookupResult.cpp from aeda128 with Visual C++.
The file was modifiedllvm/lib/DebugInfo/GSYM/LookupResult.cpp
Commit c4d8c6319f576a7540017168db2f0440691914f4 by suc-daniil
[LCSSA] Don't use VH callbacks to invalidate SCEV when creating LCSSA
phis
In general ValueHandleBase::ValueIsRAUWd shouldn't be called when not
all uses of the value were actually replaced, though, currently
formLCSSAForInstructions calls it when it inserts LCSSA-phis.
Calls of ValueHandleBase::ValueIsRAUWd were added to LCSSA specifically
to update/invalidate SCEV. In the best case these calls duplicate some
of the work already done by SE->forgetValue, though in case when SCEV of
the value is SCEVUnknown, SCEV replaces the underlying value of
SCEVUnknown with the new value (i.e. acts like LCSSA-phi actually fully
replaces the value it is created for), which leads to SCEV being
corrupted because LCSSA-phi rarely dominates all uses of its inputs.
Fixes bug https://bugs.llvm.org/show_bug.cgi?id=44058.
Reviewers: fhahn, efriedma, reames, sanjoy.google
Reviewed By: fhahn
Subscribers: hiraditya, javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70593
The file was modifiedllvm/lib/Transforms/Utils/LCSSA.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was addedllvm/test/Transforms/LCSSA/pr44058.ll
Commit 9e8c799e2b0dc3e3b20f5044309fa8e48e8e3e32 by a.v.lapshin
[Dsymutil][NFC] Move NonRelocatableStringpool into common CodeGen
folder.
That refactoring moves NonRelocatableStringpool into common CodeGen
folder. So that NonRelocatableStringpool could be used not only inside
dsymutil.
Differential Revision: https://reviews.llvm.org/D71068
The file was addedllvm/include/llvm/CodeGen/NonRelocatableStringpool.h
The file was removedllvm/tools/dsymutil/NonRelocatableStringpool.h
The file was modifiedllvm/tools/dsymutil/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was removedllvm/tools/dsymutil/NonRelocatableStringpool.cpp
The file was modifiedllvm/tools/dsymutil/DwarfLinker.cpp
The file was addedllvm/lib/CodeGen/NonRelocatableStringpool.cpp
The file was modifiedllvm/tools/dsymutil/DeclContext.h
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.h
The file was modifiedllvm/tools/dsymutil/MachOUtils.cpp
Commit 90409f73a5e1418c7623317e5cc3b417bab7c59a by llvmgnsyncbot
gn build: Merge 9e8c799e2b0
The file was modifiedllvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit 6c2b2b9e20abb27ab5c1ae255c1862785b793c1f by mgorny
[compiler-rt] [test] Disable ASLR on ASAN/MSAN/TSAN tests on NetBSD
Use a new %run wrapper for ASAN/MSAN/TSAN tests that calls paxctl in
order to disable ASLR on the test executables.  This makes it possible
to test sanitizers on systems where ASLR is enabled by default.
Differential Revision: https://reviews.llvm.org/D70958
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/test/msan/lit.cfg.py
The file was modifiedcompiler-rt/test/tsan/lit.cfg.py
The file was addedcompiler-rt/test/sanitizer_common/netbsd_commands/run_noaslr.sh
The file was modifiedcompiler-rt/test/sanitizer_common/lit.common.cfg.py
Commit 51ce067a442ee6381527b12d113f51906b0245a8 by kkleine
[lldb] NFC: less nesting in SearchFilter.cpp
I was working on SearchFilter.cpp and felt it a bit too complex in some
cases in terms of nesting and logic flow.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71022
The file was modifiedlldb/source/Core/SearchFilter.cpp
Commit 4dac97eb1e6563750e682e482e68f29ac076a4f7 by Raphael Isemann
[lldb][NFC] Migrate FileSpec::Dump to raw_ostream
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/source/Core/FormatEntity.cpp
The file was modifiedlldb/source/Core/Module.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
The file was modifiedlldb/source/Symbol/LineEntry.cpp
The file was modifiedlldb/source/Core/FileSpecList.cpp
The file was modifiedlldb/source/Symbol/SymbolContext.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
The file was modifiedlldb/source/Interpreter/OptionValueFileSpecList.cpp
Commit 99768b243cd7afd312745da58b20ea067f39f89e by sam.mccall
[clangd] (take 2) Try harder to find a plausible `clang` as argv0,
particularly on Mac.
Summary: This was originally committed in
88bccded8fa169481fa367debf5ec615640635a1, and reverted in
93f77617abba512d2861e2fc50ce385883f587b6.
This version is now much more testable: the "detect toolchain
properties" part is still not tested but also not active in tests. All
the command manipulation based on the detected properties is directly
tested, and also not active in other tests.
Fixes https://github.com/clangd/clangd/issues/211 Fixes
https://github.com/clangd/clangd/issues/178
Reviewers: kbobyrev, ilya-biryukov
Subscribers: mgorny, ormris, cfe-commits, usaxena95, kadircet, arphaman,
jkorous, MaskRay
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71029
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was addedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was addedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was addedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.h
Commit 64df0f359955bb835d7cfbdb0dc0e7b67269f93d by llvmgnsyncbot
gn build: Merge 99768b243cd
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit fac4e3c5f8a018599cbd9363a735b1c13e8f8a05 by alexfh
[clang-tidy] Fix PR26274
Summary: This commit fixes http://llvm.org/PR26274 in a simpler and more
correct way than 4736d63f752f8d13f4c6a9afd558565c32119718 did. See
https://reviews.llvm.org/D69855#1767089 for details.
Reviewers: gribozavr, aaron.ballman, gribozavr2
Reviewed By: aaron.ballman, gribozavr2
Subscribers: gribozavr2, merge_guards_bot, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70974
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/google-readability-namespace-comments.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/google-readability-namespace-comments-c++17.cpp
The file was removedclang-tools-extra/test/clang-tidy/checkers/google-readability-nested-namespace-comments.cpp
Commit 6e1f3170e061b16c9096a769508f0a6d7eb95b9c by pavel
[lldb/DWARF] Remove DWARFDebugRangesBase abstract class
now that we use llvm to parse debug_rnglists, this abstraction is not
useful.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit 0d2472ff6f604af842059d9a0098db274515a2d3 by pavel
[lldb/IRExecutionUnit] Stop searching based on demangled names
Summary: This was causing problems on linux, where we'd end up calling
the deleting destructor instead of a regular one (because they have the
same demangled name), making a lot of mischief in the process.
The only place where this was necessary (according to the test suite, at
least) was to call a base structor instead of a complete one, but this
is now handled in a more targeted fashion.
TestCallOverriddenMethod is now re-enabled as it now passes reliably.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70722
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py
Commit 777d1f7272b52cbe372e7234a7247b189e416062 by Raphael Isemann
[lldb] Migrate VMRange::Dump to raw_ostream
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/include/lldb/Utility/VMRange.h
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/source/Utility/VMRange.cpp
Commit 5ee8e673135891072789f0f9bf14a5d82f0f8e01 by pavel
[lldb/DWARF] Fix DW_AT_rnglists_base handling for dwo files
the value of DW_AT_rnglists_base of the skeleton unit is for that unit
alone (e.g. used in DW_AT_ranges of the unit DIE) and should not apply
to the split unit.
The split unit has a hardcoded range list base value -- we should
initialize range list code whenever we detect a nonempty
debug_rnglists.dwo section.
The file was addedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists-dwo.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit b6e2cf3270dab43dbc6ffad4695c5c14789bc5e5 by Raphael Isemann
[lldb][NFC] Remove ability to pass a custom printf format to
DataExtractor::PutToLog
This is luckily not used anywhere.
The file was modifiedlldb/include/lldb/Utility/DataExtractor.h
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit f69f92344adaada1f8f3cfcd711037227432b062 by pavel
[lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction
In DWARF5 DW_AT_low_pc (and DW_AT_entry_pc, and possibly others) can use
DW_FORM_addrx to refer to the address indirectly. This means we need to
have processed the DW_AT_addr_base attribute before we can do anything
with these.
Since we were processing the unit attributes serially, this created a
problem in cases where the DW_AT_addr_base comes after DW_AT_low_pc --
we would end up computing the wrong unit base address, which also
corrupted any values which later depended on that (for instance range
lists). Clang currently always emits DW_AT_addr_base last.
The fix is simple -- process DW_AT_addr_base first, regardless of its
position in the attribute list.
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_low_pc-addrx.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit daee549b1756a7aa0f1560d5460ae580897e4c1a by ulrich.weigand
[FPEnv][SelectionDAG] Relax chain requirements
This patch implements the following changes:
1) SelectionDAGBuilder::visitConstrainedFPIntrinsic currently treats
each constrained intrinsic like a global barrier (e.g. a function call)
and fully serializes all pending chains. This is actually not required;
it is allowed for constrained intrinsics to be reordered w.r.t one
another or (nonvolatile) memory accesses. The MI-level scheduler already
allows for that flexibility, so it makes sense to allow it at the DAG
level as well.
This patch therefore changes the way chains for constrained intrisincs
are created, and handles them basically like load operations are
handled. This has the effect that constrained intrinsics are no longer
serialized against one another or (nonvolatile) loads. They are still
serialized against stores, but that seems hard to change with the
current DAG chain setup, and it also doesn't seem to be a big problem
preventing DAG
2) The OPC_CheckFoldableChainNode check requires that each of the
intermediate nodes in a multi-node pattern match only has a single use.
This check tends to fail if those intermediate nodes are strict
operations as those have a chain output that typically indeed has
another use. However, we don't really need to consider chains here at
all, since they will all be rewritten anyway by UpdateChains later.
Other parts of the matcher therefore already ignore chains, but this
hasOneUse check doesn't.
This patch replaces hasOneUse by a custom test that verifies there is no
more than one use of any non-chain output value.
In theory, this change could affect code unrelated to strict FP nodes,
but at least on SystemZ I could not find any single instance of that
happening
3) The SystemZ back-end currently does not allow matching multiply-and-
extend operations (32x32 -> 64bit or 64x64 -> 128bit FP multiply) for
strict FP operations.  This was not possible in the past due to the
problems described under 1) and 2) above.
With those issues fixed, it is now possible to fully support those
instructions in strict mode as well, and this patch does so.
Differential Revision: https://reviews.llvm.org/D70913
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-cast-strict.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-04.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFP.td
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
Commit fc39b94849c89843aebb210c5d9be9c48e2b43a6 by Raphael Isemann
[lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue
These functions are an implementation detail of RegisterValue, so it
doesn't make a lot of sense to implement them in a totally unrelated
class.
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Utility/RegisterValue.cpp
Commit d8821adacbb02fe9f9707079087d35cb02ef4a6c by mikael.holmen
[clangd] Fix gcc warning about extra ";" [NFC]
gcc complained with
/data/repo/master/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp:326:30:
warning: extra ';' [-Wpedantic]
REGISTER_TWEAK(DefineOutline);
                             ^
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
Commit bb8c679f4bf2a2056b4fafb8b3a3d61254e39219 by cullen.rhodes
[AArch64][SVE] Implement integer compare intrinsics
Summary: Adds intrinsics for the following:
    * cmphs, cmphi
   * cmpge, cmpgt
   * cmpeq, cmpne
   * cmplt, cmple
   * cmplo, cmpls
Includes a minor change to `TLI.getMemValueType` that fixes a crash due
to the scalable flag being dropped.
Reviewers: sdesmalen, efriedma, rengolin, rovka, dancgr, huntergr
Reviewed By: efriedma
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70889
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-int-compares-with-imm.ll
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-int-compares.ll
Commit b3009edcf3342c312a26416cca531bd4a29756de by ulrich.weigand
[X86] Regenerate test to fix build bot failures
After my recent commit daee549 the following test case is failing:
CodeGen/X86/vector-constrained-fp-intrinsics.ll
Not sure why I didn't catch this earlier, seems to be affected by other
changes that came in recently.
Fixed by regerenating the test again.  Sorry for the disruption!
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
Commit c93a9b15ce885f7a4d90b0f9ff2928fc7e2cd74a by jeremy.morse
[DebugInfo][CGP] Update dbg.values when sinking address computations
One of CodeGenPrepare's optimizations is to duplicate address
calculations into basic blocks, so that as much information as possible
can be folded into memory addressing operands. This is great -- but the
dbg.value variable location intrinsics are not updated in the same way.
This can lead to dbg.values referring to address computations in other
blocks that will never be encoded into the DAG, while duplicate address
computations are performed locally that could be used by the dbg.value.
Some of these (such as non-constant-offset GEPs) can't be salvaged past.
Fix this by, whenever we duplicate an address computation into a block,
looking for dbg.value users of the original memory address in the same
block, and redirecting those to the local computation.
Differential Revision: https://reviews.llvm.org/D58403
The file was addedllvm/test/DebugInfo/Generic/codegenprep-addrsink.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 6b11760128751455a73d9f00a5f935d1f49fbd0f by sam.mccall
[clangd] Try to fix CompileCommandsTests on windows. NFC
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
Commit cd2c409cebb4f838549fba0b71093b0e15d52bca by grimar
[llvm-readobj] - Implement --dependent-libraries flag.
There is no way to dump SHT_LLVM_DEPENDENT_LIBRARIES sections currently.
This patch implements this.
The section is described here:
https://llvm.org/docs/Extensions.html#sht-llvm-dependent-libraries-section-dependent-libraries
Differential revision: https://reviews.llvm.org/D70665
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was addedllvm/test/tools/llvm-readobj/elf-dependent-libraries.test
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-readobj.rst
Commit b31a531f9bbf7a3ae193df6009f5ee542f760017 by cullen.rhodes
[AArch64][SVE2] Implement while comparison intrinsics
Summary: Adds the following intrinsics:
    * whilege, whilegt, whilehi, whilehs
Reviewers: sdesmalen, rovka, dancgr, efriedma, rengolin, huntergr
Reviewed By: sdesmalen
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70909
The file was addedllvm/test/CodeGen/AArch64/sve2-intrinsics-while.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit 39ccc099c901ca511f0c43f163adef6699038326 by gil.rapaport
[LV] Record GEP widening decisions in recipe (NFCI)
InnerLoopVectorizer's code called during VPlan execution still relies on
original IR's def-use relations to decide which vector code to generate,
limiting VPlan transformations ability to modify def-use relations and
still have ILV generate the vector code. This commit moves GEP operand
queries controlling how GEPs are widened to a dedicated recipe and
extracts GEP widening code to its own ILV method taking those recorded
decisions as arguments. This reduces ingredient def-use usage by ILV as
a step towards full VPlan-based def-use relations.
Differential revision: https://reviews.llvm.org/D69067
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 18cf93a6eddfd201df87f9152bee38e81dfdc40f by grimar
[llvm-readobj][llvm-readelf] - Refactor parsing of the SHT_GNU_versym
section.
This introduce a new helper which is used to parse the SHT_GNU_versym
section. LLVM/GNU styles implementations now use it to share the logic.
Differential revision: https://reviews.llvm.org/D71054
The file was modifiedllvm/test/tools/llvm-readobj/elf-verdef-invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/all.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-verneed-invalid.test
The file was addedllvm/test/tools/llvm-readobj/elf-versym-invalid.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/Object/multiple-sections.yaml
The file was modifiedllvm/test/Object/invalid.test
Commit 24439a761c5e21fda8f9410a5e80ff07b4ba03a2 by kadircet
[clangd] Store index::SymbolKind in HoverInfo
Summary: LSP's SymbolKind has some shortcomings when it comes to C++
types, index::SymbolKind has more detailed info like Destructor,
Parameter, MACRO etc.
We are planning to make use of that information in our new Hover
response, and it would be nice to display the Symbol type in full
detail, rather than some approximation.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70723
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.h
Commit c5adbac9b85a53112a9fc9b72e64d2615e3e4df9 by kadircet
[clangd] Switch Hover.All to structured tests
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70911
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.h
Commit a3b2552575d3c333e928446fac10cc5b0b4092a9 by zahira.ammarguellat
Fix for PR44000. Optimization record for bytecode input missing. Review
is here:  https://reviews.llvm.org/D70691
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was addedclang/test/CodeGen/opt-record-1.c
Commit 4650b2f36949407ef25686440e3d65ac47709deb by jmorse+git
Attempt to fix a debuginfo test that wasn't as generic as I thought
An ARM buildbot croaks when this test doesn't have a triple specified:

http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/12021/
Move the test to the X86 directory and put an x86_64 triple on the llc
command line.
The file was addedllvm/test/DebugInfo/X86/codegenprep-addrsink.ll
The file was removedllvm/test/DebugInfo/Generic/codegenprep-addrsink.ll
Commit 8c714c93023d7d039a23fb47c8256570ba54b9c7 by a.v.lapshin
Fix building shared libraries broken by 8e48e8e3e32.
The file was modifiedllvm/tools/dsymutil/LLVMBuild.txt
The file was modifiedllvm/tools/dsymutil/CMakeLists.txt
Commit 133a92f87cbad8a9a6a5e23a70c63112bb973c28 by thakis
gn build: Unbreak mac build after 4066591
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn
Commit 2c63e8e36df071e62feb7ac9c948d6fdd54e0c35 by cullen.rhodes
[AArch64] Fix a bug with jump table generation
Summary: When trying to calculate the offsets for the jump table entries
we fail to take into account the block alignment, which could be greater
than 4 bytes. This led to cases where the jump table offset was too big
to fit in a byte.
Reviewers: t.p.northover, sdesmalen, ostannard
Reviewed By: ostannard
Subscribers: ostannard, kristof.beyls, hiraditya, llvm-commits
Committed on behalf of David Sherwood (david-arm)
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70533
The file was addedllvm/test/CodeGen/AArch64/jti-correct-datatype.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
Commit 4db4868d7ed90e771960646c9c0bcd121eb20617 by a.bataev
[OPENMP]Moved warning fo mapping non-trivially copiable types into a
separate group.
Need to move this warning into a separate group to make easier to
disable this warning, if required.
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_update_to_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_update_from_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
Commit 4a7e00df346561131a07db350643ec54113129a1 by diggerlin
[AIX][XCOFF] created a test case to verify the raw text section of
xcoffobject file
SUMMARY: in the patch https://reviews.llvm.org/D66969 . we need a test
case to verify the out text section of the xcoffobject file is correct
or not.
but we do not have llvm disassembly tools to dump the xcoffobjectfile .
since we commit the patch https://reviews.llvm.org/D70255, we have tools
for it. we create this test case for it.
Reviewers: daltenty,hubert.reinterpretcast,
Differential Revision: https://reviews.llvm.org/D70719
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-textdisassembly.ll
Commit 3fab4276cbf1a57f049428145d4c9a0d9bcfa82c by simon.tatham
[ARM][MVE] Fix copy-paste error in VQSHL instruction ids.
Summary: The immediate forms of the MVE VQSHL instruction have MC names
like
`MVE_VSLIimms8` and `MVE_VSLIimmu32`. Those names are confusing, because
VSLI is a completely different shift instruction with no semantic
relation to VQSHL. But it just happens to be defined immediately before
VQSHL in `ARMInstrMVE.td`, so this looks like a copy-paste error.
Renamed the ids to match the instruction name.
Reviewers: ostannard, dmgreen, MarkMurrayARM, miyuki
Reviewed By: miyuki
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71114
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit cd90f49d708dbc8f367eb4c575f62ab614900f59 by jonathanchesterfield
[libomptarget][nfc] Move three more files to common
Summary: [libomptarget][nfc] Move three more files to common
Reviewers: ABataev, jdoerfert, grokos
Reviewed By: ABataev
Subscribers: openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D71103
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/parallel.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/support.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/sync.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
Commit 0dd62c5c2ec854997ca45f810175c5d1426b474e by jonathanchesterfield
[libomptarget][nfc] Move cuda threadfence functions behind kmpc_impl
Summary:
[libomptarget][nfc] Move cuda threadfence functions behind kmpc_impl
Part of building code under common/ without requiring a cuda compiler
Reviewers: ABataev, jdoerfert, grokos
Reviewed By: ABataev
Subscribers: jvesely, jfb, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D71102
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/data_sharing.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
Commit 27535a144910149262f9c2dffb6a24c0b7166f15 by David CARLIER
[OpenMP] Fix linkage issue on FreeBSD
needs kmp_set_thread_affinity_mask_initial implementation.
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit 984f1bb3e794b83da5dde9440f9807c645e8e6db by john.brawn
[LegalizeTypes] Add missing case for STRICT_FP_ROUND softening
This fixes a test failure in test/CodeGen/ARM/fp-intrinsics.ll.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Commit 03a242bd41ee49e17f8da96af9787d13e7ea2b93 by rupprecht
[lldb][test] Handle .categories lookup for inline tests.
Summary: When creating a test with `lldbinline.MakeInlineTest()`, the
reported `inspect.getfile(test.__class__)` is `lldbtest.pyc`, meaning
any `.categories` file will be ineffective for those tests. Check for
the test_filename first, which inline tests will set.
Additionally, raise an error with the starting dir if `.categories` is
not found. This makes the problem more obvious when it occurs: when the
test is separated from the test framework tree.
Reviewers: labath, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71099
The file was modifiedlldb/packages/Python/lldbsuite/test/test_result.py
Commit b6f9d7b8fb2eb6b78ac93ebd5ea4e36c04469285 by omair.javaid
Cleanup and speedup NativeRegisterContextLinux_arm64
Summary: This patch simplifies register accesses in
NativeRegisterContextLinux_arm64 and also adds some bare minimum caching
to avoid multiple calls to ptrace during a stop.
Linux ptrace returns data in the form of structures containing GPR/FPR
data. This means that one single call is enough to read all GPRs or
FPRs. We do that once per stop and keep reading from or writing to the
buffer that we have in NativeRegisterContextLinux_arm64 class. Before a
resume or detach we write all buffers back.
This is tested on aarch64 thunder x1 with Ubuntu 18.04. Also tested
regressions on x86_64.
Reviewers: labath, clayborg
Reviewed By: labath
Subscribers: kristof.beyls, lldb-commits
Differential Revision: https://reviews.llvm.org/D69371
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
Commit c04b63eccd5f9fc19da410caea88d29f11e9886c by diggerlin
[NFC][AIX][XCOFF] fixed compile warning on the strncpy.
SUMMARY: There is warning when compile the file XCOFFObjectWriter.cpp
/srv/llvm-buildbot-srcatch/llvm-build-dir/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/MC/XCOFFObjectWriter.cpp:414:17:
warning: 'char* strncpy(char*, const char*, size_t)' specified bound 8
equals destination size [-Wstringop-truncation]
The patch fixed the warning.
Reviewer: daltenty
Differential Revision: https://reviews.llvm.org/D71119
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit b8e03ff50389d83dabf800203f689e227697c996 by paulhoad
[clang-format] update trailing newline treatment in clang-format.py
Summary: The current clang-format.py does not handle trailing newlines
at the end of a file correctly. Trailing empty lines get removed except
one. As far as I understand this is because clang-format gets fed from
stdin and writes to stdout when called from clang-format.py. In a
"normal" file (with no trailing empty lines) the string that gets passed
to clang-format does not contain a trailing '\n' after the '\n'.join
from python. The clang-format binary does not add a trailing newline to
input from stdin, but (if there are multiple trailing '\n', all except
one get removed).
When reading back this means that we see in python from a "normal" file
a string with no trailing '\n'. From a file with (potentially multiple)
empty line(s) at the end, we get a string with one trailing '\n' back in
python. In the former case all is fine, in the latter case split('\n')
makes one empty line at the end of the file out of the clang-format
output. Desired would be instead that the **file** ends with a newline,
but not with an empty line.
For the case that a user specifies a range to format (and wants to keep
trailing empty lines) I did **not** try to fix this by simply removing
all trailing newlines from the clang-format output. Instead, I add a
'\n' to the unformatted file content (i.e. newline-terminate what is
passed to clang-format) and then strip off the last newline from the
output (which itself is now for sure the newline termination of the
clang-format output).
(Should this get approved, I'll need someone to help me land this.)
Reviewers: klimek, MyDeveloperDay
Reviewed By: MyDeveloperDay
Patch By: pseyfert
Subscribers: cfe-commits, llvm-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D70864 update trailing
newline treatment in clang-format.py
The file was modifiedclang/tools/clang-format/clang-format.py
Commit 79f8c20e2cb634c1b8e42f01b42fc5ab2a512d60 by paulhoad
update string comparison in clang-format.py
Summary: Python 3.8 introduces a SyntaxWarning about string comparisons
with 'is'. This commit updates the string comparison in clang-format.py
that is done with 'is not' to '!='. This should not break compatibility
with older python versions (tested 3.4.9, 2.7.17, 2.7.5, 3.8.0).
Reviewers: MyDeveloperDay, klimek, llvm-commits, cfe-commits
Reviewed By: MyDeveloperDay, klimek
Patch By: pseyfert
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D70664
The file was modifiedclang/tools/clang-format/clang-format.py
Commit 50d72fa1461b71d898237f3ce19ab367d0508c87 by diggerlin
[NFC][AIX][XCOFF] if the size of Csect is zero, the Csect do not need
write any data into sections
SUMMARY:
if the size of Csect is zero, the Csect do not need write any data into
sections for example, the TOC Csect has zero size, it do not need invoke
a Asm.writeSectionData(W.OS, Csect.MCCsect, Layout);
Reviewers: daltenty Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D71120
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit 164e0fc5c7f782b174db5c87b37725ea0e174853 by Raphael Isemann
[ASTImporter] Implicitly declare parameters for imported ObjCMethodDecls
Summary: When Sema encounters a ObjCMethodDecl definition it declares
the implicit parameters for the ObjCMethodDecl. When importing such a
method with the ASTImporter we need to do the same for the imported
method otherwise we will crash when generating code (where CodeGen
expects that this was called by Sema).
Note I had to implement Objective-C[++] support in Language.cpp as this
is the first test for Objective-C and this would otherwise just hit this
'not implemented' assert when running the unit test.
Reviewers: martong, a.sidorin, shafik
Reviewed By: martong
Subscribers: rnkovacs, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71112
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/Language.cpp
Commit 72942459d070cbfe6f3524e89c3ac37440be7890 by carrot
[MBP] Avoid tail duplication if it can't bring benefit
Current tail duplication integrated in bb layout is designed to increase
the fallthrough from a BB's predecessor to its successor, but we have
observed cases that duplication doesn't increase fallthrough, or it
brings too much size overhead.
To overcome these two issues in function canTailDuplicateUnplacedPreds I
add two checks:
  make sure there is at least one duplication in current work set.
the number of duplication should not exceed the number of successors.
The modification in hasBetterLayoutPredecessor fixes a bug that
potential predecessor must be at the bottom of a chain.
Differential Revision: https://reviews.llvm.org/D64376
The file was modifiedllvm/test/CodeGen/PowerPC/expand-contiguous-isel.ll
The file was modifiedllvm/test/CodeGen/RISCV/remat.ll
The file was modifiedllvm/test/CodeGen/Thumb2/2010-02-11-phi-cycle.ll
The file was modifiedllvm/test/CodeGen/X86/reverse_branches.ll
The file was modifiedllvm/test/CodeGen/RISCV/atomic-rmw.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/X86/mmx-coalescing.ll
The file was modifiedllvm/test/CodeGen/AArch64/tbz-tbnz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/cbnz.ll
The file was modifiedllvm/test/CodeGen/PowerPC/block-placement.mir
The file was modifiedllvm/test/CodeGen/X86/pr38795.ll
The file was modifiedllvm/test/CodeGen/X86/tail-dup-repeat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/branch-opt.ll
The file was modifiedllvm/test/CodeGen/X86/tail-opts.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-cfg.ll
The file was modifiedllvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
The file was modifiedllvm/test/CodeGen/X86/speculative-load-hardening.ll
The file was modifiedllvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
The file was modifiedllvm/test/CodeGen/X86/tail-merge-after-mbp.mir
The file was addedllvm/test/CodeGen/PowerPC/no-duplicate.ll
The file was modifiedllvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/loop_header_nopred.mir
The file was modifiedllvm/test/CodeGen/X86/shadow-stack.ll
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
Commit f2ace9d6005b4ffc6f6fc068c1aac897d871df7a by michael.hliao
Add `QualType::hasAddressSpace`. NFC.
- Add that as a shorthand of <T>.getQualifiers().hasAddressSpace().
- Simplify related code.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 6bb62a9d970b677cbaee848d5e4800e1c3fb42c9 by spatel
[InstCombine] improve readability; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit db5739658467e20a52f20e769d3580412e13ff87 by spatel
[InstCombine] reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 7250ef3613cc6b81145b9543bafb86d7f9466cde by spatel
[InstCombine] improve readability; NFC
CreateIntCast returns the input if its type matches, so need to
duplicate that check.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 8bf8ef7116bd0daec570b35480ca969b74e66c6e by spatel
[InstCombine] reduce indentation; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 543ffb4a2d6435004f7e41f2b3d9040aeb3e78ef by a.bataev
[OPENMP]Reorganize OpenMP warning groups.
openmp-mapping group is a subgroup of openmp-target warning group. Also,
added global openmp group to control all other OpenMP warning groups.
The file was modifiedclang/test/OpenMP/simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/simd_aligned_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/nesting_of_regions.cpp
Commit 2cc11941a2e88236e0b4842229454ae6d85142cd by arsenm2
clang/AMDGPU: Fix default for frame-pointer attribute
Enabling optimization should allow frame pointer elimination.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/frame-pointer-elim.cl
Commit 9a0b5e14075a1f42a72eedb66fd4fde7985d37ac by yamauchi
[PGO][PGSO] Instrument the code gen / target passes.
Summary: Split off of D67120.
Add the profile guided size optimization instrumentation / queries in
the code gen or target passes. This doesn't enable the size
optimizations in those passes yet as they are currently disabled in
shouldOptimizeForSize (for non-IR pass queries).
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71072
The file was modifiedllvm/lib/CodeGen/IfConversion.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupBWInsts.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/TailDuplication.cpp
The file was modifiedllvm/lib/Target/X86/X86PadShortFunction.cpp
The file was modifiedllvm/lib/CodeGen/ExpandMemCmp.cpp
The file was modifiedllvm/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/MachineCombiner.cpp
The file was modifiedllvm/lib/CodeGen/BranchFolding.h
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was modifiedllvm/include/llvm/CodeGen/TailDuplicator.h
Commit 7ff0fcb53f6e71bc22d37494fdfa68bbf2d3709b by spatel
[x86] add cost model special-case for insert/extract from element 0
This is a follow-up to D70607 where we made any extract element on SLM
more costly than default. But that is pessimistic for extract from
element 0 because that corresponds to x86 movd/movq instructions. These
generally have >1 cycle latency, but they are probably implemented as
single uop instructions.
Note that no vectorization tests are affected by this change. Also, no
targets besides SLM are affected because those are falling through to
the default cost of 1 anyway. But this will become visible/important if
we add more specializations via cost tables.
Differential Revision: https://reviews.llvm.org/D71023
The file was modifiedllvm/test/Analysis/CostModel/X86/vector-extract.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/fptoui.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptosi.ll
Commit c7faa6814248cf2443cce856a74247fc70699f98 by asbirlea
Revert "ARM-Darwin: keep the frame register reserved even if not
updated."
This reverts commit a7d90af1be48234ce583e00fb16e33633d44ae38.
This revision came back as the root-cause for crashes in internal
ARM-IOS apps. Reproducer in https://bugs.llvm.org/show_bug.cgi?id=44231.
The file was removedllvm/test/CodeGen/ARM/r7-fixed-darwin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb/long.ll
Commit 1aa17023819216dae77c7798510f178dae07a57f by phosek
[libcxx{,abi}] Don't link libpthread and libdl on Fuchsia
These are a part of the libc so linking these explicitly isn't necessary
and embedding these as deplibs causes link time error.
This issues was introduced in a9b5fff which changed how we emit deplibs.
Differential Revision: https://reviews.llvm.org/D71135
The file was modifiedlibcxx/cmake/config-ix.cmake
The file was modifiedlibcxxabi/cmake/config-ix.cmake
Commit 142a75a9b16632d5bad60ae50b9171bfddbe422a by spatel
Revert "[InstCombine] reduce indentation; NFC"
This reverts commit 8bf8ef7116bd0daec570b35480ca969b74e66c6e. At least 1
of these supposedly NFC commits wasn't - sanitizer bot is angry.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit b6d6f5470f281db4716db8b2306113924afc6887 by spatel
Revert "[InstCombine] improve readability; NFC"
This reverts commit 7250ef3613cc6b81145b9543bafb86d7f9466cde. At least 1
of these supposedly NFC commits wasn't - sanitizer bot is angry.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 43e2a901e1521759a0176cdec3aad4d00919142e by spatel
Revert "[InstCombine] reduce code duplication; NFC"
This reverts commit db5739658467e20a52f20e769d3580412e13ff87. At least 1
of these supposedly NFC commits wasn't - sanitizer bot is angry.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 7f63db197e7453a6438c15e50a5508cc7613a293 by rnk
Avoid naming variable after type to fix GCC 5.3 build
GCC says:
.../llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp:195:12: error: ‘InfoType’
is not a class, namespace, or enumeration
      case InfoType::EndOfList:
                  ^
Presumably, GCC thinks InfoType is a variable here. Work around it by
using the name IT as is done above.
The file was modifiedllvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
Commit dbd112972416f48f7e5b117e7a14b6e4b4d38146 by richard
Stop checking whether std::strong_* has ::equivalent members.
Any attempt to use these would be a bug, so we shouldn't even look for
them.
The file was modifiedclang/test/SemaCXX/std-compare-cxx2a.cpp
The file was modifiedclang/lib/AST/ComparisonCategories.cpp
Commit 7b61ae68ecd7a127e69c9e0d2563bddb7eccad7a by aktoon
[AutoFDO] Inline replay for cold/small callees from sample profile
loader
Summary: Sample profile loader of AutoFDO tries to replay previous
inlining using context sensitive profile. The replay only repeats
inlining if the call site block is hot. As a result it punts inlining of
small functions, some of which can be beneficial for size, and will
still be inlined by CSGCC inliner later. The oscillation between sample
profile loader's inlining and regular CGSSC inlining cause unnecessary
loss of context-sensitive profile. It doesn't have much impact for
inline decision itself, but it negatively affects post-inline profile
quality as CGSCC inliner have to scale counts which is not as accurate
as the original context sensitive profile, and bad post-inline profile
can misguide code layout.
This change added regular Inline Cost calculation for sample profile
loader, so we can inline small functions upfront under switch
-sample-profile-inline-size. In addition
-sample-profile-cold-inline-threshold is added so we can tune the
separate size threshold - currently the default is chosen to be the same
as regular inliner's cold call-site threshold.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70750
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-cold.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was addedllvm/test/Transforms/SampleProfile/inline-cold.ll
Commit 779a180d964bf362f26f4c493db749cbbae550c5 by a.bataev
[OPENMP50]Add if clause in distribute simd directive.
According to OpenMP 5.0, if clause can be used in for simd directive. If
condition in the if clause if false, the non-vectorized version of the
loop must be executed.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/distribute_simd_if_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
Commit 2eb30fafa5f95d60353909c7c676431f2a29a745 by yamauchi
Revert "[PGO][PGSO] Instrument the code gen / target passes."
This reverts commit 9a0b5e14075a1f42a72eedb66fd4fde7985d37ac.
This seems to break buildbots.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/X86/X86PadShortFunction.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/TailDuplication.cpp
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/BranchFolding.h
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/ExpandMemCmp.cpp
The file was modifiedllvm/lib/CodeGen/MachineCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/TailDuplicator.h
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/IfConversion.cpp
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupBWInsts.cpp
Commit a7bdab2e9d59ba0fdf06390f4ddadfd00fe50f2e by Akira
[clang-tidy] Pass -faligned-allocation on the compiler command line to
fix compile error
The test was failing when run on OSes older than MacOSX10.14 because
aligned deallocation functions are unavailable on older OSes.
rdar://problem/57706710
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cert-mem57-cpp-cpp17.cpp
Commit c089f0289856b8f72b06c30daa7848e431c8e36e by rnk
[X86] Don't setup and teardown memory for a musttail call
Summary: musttail calls should not require allocating extra stack for
arguments. Updates to arguments passed in memory should happen in place
before the epilogue.
This bug was mostly a missed optimization, unless inalloca was used and
store to push conversion fired.
If a reserved call frame was used for an inalloca musttail call, the
call setup and teardown instructions would be deleted, and SP
adjustments would be inserted in the prologue and epilogue. You can see
these are removed from several test cases in this change.
In the case where the stack frame was not reserved, i.e. call frame
optimization fires and turns argument stores into pushes, then the
imbalanced call frame setup instructions created for inalloca calls
become a problem. They remain in the instruction stream, resulting in a
call setup that allocates zero bytes (expected for inalloca), and a call
teardown that deallocates the inalloca pack. This deallocation was
unbalanced, leading to subsequent crashes.
Reviewers: hans
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71097
The file was modifiedllvm/test/CodeGen/X86/musttail-tailcc.ll
The file was modifiedllvm/test/CodeGen/X86/cfguard-checks.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/musttail-inalloca.ll
The file was modifiedllvm/test/CodeGen/X86/musttail-varargs.ll
Commit c8e36862f594a50fdd141337a3209965dabf4858 by tejohnson
[WPD] Remove unused parameter (NFC)
Remove unused parameter.
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Commit d5abaaf140ac7f6d59ac11c0ecbdb8fa93972bf6 by spatel
[InstSimplify] add tests for copysign with fneg operand; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
Commit 040c39d50fb9c60de9020caf86e1a1fccfd6f861 by Artem Dergachev
[analyzer] Fix false positive on introspection of a block's internal
layout.
When implementation of the block runtime is available, we should not
warn that block layout fields are uninitialized simply because they're
on the stack.
The file was modifiedclang/lib/StaticAnalyzer/Core/RegionStore.cpp
The file was modifiedclang/test/Analysis/blocks.m
Commit 28b573d2497e394d54d47778012887ab66d51f6f by craig.topper
[TargetLowering] Fix another potential FPE in expandFP_TO_UINT
D53794 introduced code to perform the FP_TO_UINT expansion via
FP_TO_SINT in a way that would never expose floating-point exceptions in
the intermediate steps. Unfortunately, I just noticed there is still a
way this can happen. As discussed in D53794, the compiler now generates
this sequence:
// Sel = Src < 0x8000000000000000
// Val = select Sel, Src, Src - 0x8000000000000000
// Ofs = select Sel, 0, 0x8000000000000000
// Result = fp_to_sint(Val) ^ Ofs The problem is with the Src -
0x8000000000000000 expression. As I mentioned in the original review,
that expression can never overflow or underflow if the original value is
in range for FP_TO_UINT. But I missed that we can get an Inexact
exception in the case where Src is a very small positive value. (In this
case the result of the sub is ignored, but that doesn't help.)
Instead, I'd suggest to use the following sequence:
// Sel = Src < 0x8000000000000000
// FltOfs = select Sel, 0, 0x8000000000000000
// IntOfs = select Sel, 0, 0x8000000000000000
// Result = fp_to_sint(Val - FltOfs) ^ IntOfs In the case where the
value is already in range of FP_TO_SINT, we now simply compute Val - 0,
which now definitely cannot trap (unless Val is a NaN in which case we'd
want to trap anyway).
In the case where the value is not in range of FP_TO_SINT, but still in
range of FP_TO_UINT, the sub can never be inexact, as Val is between
2^(n-1) and (2^n)-1, i.e. always has the 2^(n-1) bit set, and the sub is
always simply clearing that bit.
There is a slight complication in the case where Val is a constant, so
we know at compile time whether Sel is true or false. In that scenario,
the old code would automatically optimize the sub away, while this no
longer happens with the new code. Instead, I've added extra code to
check for this case and then just fall back to FP_TO_SINT directly.
(This seems to catch even slightly more cases.)
Original version of the patch by Ulrich Weigand. X86 changes added by
Craig Topper
Differential Revision: https://reviews.llvm.org/D67105
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/scalar-fp-to-i64.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll
The file was modifiedllvm/test/CodeGen/X86/fp-cvt.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll
Commit 3b42eb3512e680caa75c0c5016abf060b1c10bb6 by thakis
wrap an rst file to 80 cols, to cycle bots
The file was modifiedllvm/docs/HowToAddABuilder.rst
Commit f3efd6957474bfd3b9b232ac6e4b3608174c3b79 by Alex Lorenz
[ObjC] Make sure that the implicit arguments for direct methods have
been setup
This commit sets the Self and Imp declarations for ObjC method
declarations, in addition to the definitions. It also fixes a bunch of
code in clang that had wrong assumptions about when getSelfDecl() would
be set:
- CGDebugInfo::getObjCMethodName and AnalysisConsumer::getFunctionName
would assume that it was
set for method declarations part of a protocol, which they never were,
and that self would be a Class type, which it isn't as it is id for a
protocol.
Also use the Canonical Decl to index the set of Direct methods so that
when calls and implementations interleave, the same llvm::Function is
used and the same symbol name emitted.
Radar-Id: rdar://problem/57661767
Patch by: Pierre Habouzit
Differential Revision: https://reviews.llvm.org/D71091
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
Commit 84fdd9d7a50b9b41148e5ae8b93bfc4d2613feea by Amara Emerson
[X86] Fix prolog/epilog mismatch for stack protectors on win32-macho.
The xor'ing behaviour is only used for msvc/crt environments, when we're
targeting macho the guard load code doesn't know about the xor in the
epilog. Disable xor'ing when targeting win32-macho to be consistent.
Differential Revision: https://reviews.llvm.org/D71095
The file was addedllvm/test/CodeGen/X86/stack-protector-strong-macho-win32-xor.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1d9291cc785c453ac189d131271e91f8aaf6858c by rnk
[MC] Rewrite tablegen for printInstrAlias to comiple faster, NFC
Before this change, the *InstPrinter.cpp files of each target where some
of the slowest objects to compile in all of LLVM. See this snippet
produced by ClangBuildAnalyzer: https://reviews.llvm.org/P8171$96 Search
for "InstPrinter", and see that it shows up in a few places.
Tablegen was emitting a large switch containing a sequence of operand
checks, each of which created many conditions and many BBs. Register
allocation and jump threading both did not scale well with such a large
repetitive sequence of basic blocks.
So, this change essentially turns those control flow structures into
data. The previous structure looked like:
  switch (Opc) {
case TGT::ADD:
   // check alias 1
   if (MI->getOperandCount() == N && // check num opnds
       MI->getOperand(0).isReg() && // check opnd 0
       ...
       MI->getOperand(1).isImm() && // check opnd 1
    AsmString = "foo";
    break;
  }
  // check alias 2
  if (...)
    ...
  return false;
The new structure looks like:
  OpToPatterns: Sorted table of opcodes mapping to pattern indices.
  \->
    Patterns: List of patterns. Previous table points to subrange of
              patterns to match.
     \->
       Conds: The if conditions above encoded as a kind and 32-bit
value.
See MCInstPrinter.cpp for the details of how the new data structures are
interpreted.
Here are some before and after metrics. Time to compile
AArch64InstPrinter.cpp:
0m29.062s vs. 0m2.203s size of the obj:
3.9M vs. 676K size of clang.exe:
97M vs. 96M
I have not benchmarked disassembly performance, but typically
disassemblers are bottlenecked on IO and string processing, not alias
matching, so I'm not sure it's interesting enough to be worth doing.
Reviewers: RKSimon, andreadb, xbolva00, craig.topper
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D70650
The file was modifiedllvm/include/llvm/MC/MCInstPrinter.h
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was modifiedllvm/lib/MC/MCInstPrinter.cpp
Commit b4f4e370b59a753a51f11848f54e9705f43cccaf by sbc
[WebAssebmly][MC] Support .import_name/.import_field asm directives
Convert the MC test to use asm rather than bitcode.
This is a precursor to https://reviews.llvm.org/D70520.
Differential Revision: https://reviews.llvm.org/D70877
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was addedllvm/test/MC/WebAssembly/import-module.s
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was removedlld/test/wasm/import-names.ll
The file was removedllvm/test/MC/WebAssembly/import-module.ll
The file was addedlld/test/wasm/import-name.ll
Commit 0a717d5b5d31fc2d5bc98ca695031fb09e65beb0 by steveire
Make it possible control matcher traversal kind with ASTContext
Summary: This will eventually allow traversal of an AST while ignoring
invisible AST nodes.  Currently it depends on the available enum values
for TraversalKinds.  That can be extended to ignore all invisible nodes
in the future.
Reviewers: klimek, aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D61837
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit 6555995a6d4545ff59dcf3388f9acfce3b6129a5 by donh
[CommandLine] Add callbacks to Options
Summary: Add a new cl::callback attribute to Option.
This attribute specifies a callback function that is called when an
option is seen, and can be used to set other options, as in option A
implies option B.  If the option is a `cl::list`, and
`cl::CommaSeparated` is also specified, the callback will fire once for
each value.  This could be used to validate combinations or selectively
set other options.
Reviewers: beanz, thomasfinch, MaskRay, thopre, serge-sans-paille
Reviewed By: beanz
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70620
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/docs/CommandLine.rst
Commit 60573ae6fe509b618dc6a2c5c55d921bccd77608 by rnk
Remove Expr.h include from ASTContext.h, NFC
ASTContext.h is popular, prune its includes. Expr.h brings in Attr.h,
which is also expensive.
Move BlockVarCopyInit to Expr.h to accomplish this.
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
The file was modifiedclang/lib/Index/IndexSymbol.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/AST/ASTFwd.h
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/lib/Index/USRGeneration.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
The file was modifiedclang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was modifiedclang/lib/Analysis/CloneDetection.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Index/IndexingContext.cpp
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/include/clang/AST/TypeLoc.h
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Index/IndexDecl.cpp
Commit e1578fd2b79fe5af5f80c0c166a8abd0f816c022 by craig.topper
[Sema][X86] Consider target attribute into the checks in
validateOutputSize and validateInputSize.
The validateOutputSize and validateInputSize need to check whether AVX
or AVX512 are enabled. But this can be affected by the target attribute
so we need to factor that in.
This patch copies some of the code from CodeGen to create an appropriate
feature map that we can pass to the function. Probably need some
refactoring here to share more code with Codegen. Is there a good place
to do that? Also need to support the cpu_specific attribute as well.
Differential Revision: https://reviews.llvm.org/D68627
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/test/CodeGen/x86_32-inline-asm.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
Commit b22d8ae7f436bfe63b28ceddea743071a6601eb1 by steveire
Use ASTDumper to dump the AST from clang-query
Summary: This way, the output is not limited by the various API
differences between the dump() member functions.  For example, all dumps
are now in color, while that used to be the case only for Decls and
Stmts, but not Types.
Additionally, while DynTypedNode::dump (which was used up to now) was
limited to dumping only Decls, Stmts and Types, this makes clang-query
support everything ASTNodeTraverser supports.
Reviewers: aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62056
The file was modifiedclang-tools-extra/clang-query/Query.cpp
Commit eff08f40976e177923fe95759917e59375458f71 by rnk
Revert "[Sema][X86] Consider target attribute into the checks in
validateOutputSize and validateInputSize."
This reverts commit e1578fd2b79fe5af5f80c0c166a8abd0f816c022.
It introduces a dependency on Attr.h which I am removing from
ASTContext.h.
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/test/CodeGen/x86_32-inline-asm.c
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
Commit 3131249204bcb85e506332ea07a3101b7f656fce by peter
gn build: Change scudo's list of supported platforms to a whitelist.
Scudo only supports building for android/linux/fuchsia, so require
target_os to be one of linux/fuchsia to do a stage2_unix scudo build.
Android is already covered by the stage2_android* toolchains below.
Differential Revision: https://reviews.llvm.org/D71131
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn
Commit 2e8dc8590d8b412a131b127e7aa4aad0d7fc7fa0 by steveire
Add matchDynamic convenience functions
Summary: These correspond to the existing match() free functions.
Reviewers: aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D54406
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchFinder.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Commit f5114f4d575e7a901d41277997d0c10074aa1a4e by Jonas Devlieghere
[lldb/Reproducer] Disable test on Windows to unblock the bot.
http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja
The file was modifiedlldb/test/Shell/Reproducer/TestRelativePath.test
Commit c77b441140586618043f8952dd37816dbae09319 by Amara Emerson
[AArch64][GlobalISel] Add support for selection of vector G_SHL with
immediates.
Only implemented for the type combinations already supported for G_SHL.
Differential Revision: https://reviews.llvm.org/D71153
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
Commit 5253d9138eb31252594f5e14133df731551839c7 by richard
[c++20] Determine whether a defaulted comparison should be deleted or
constexpr.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/CXX/class/class.compare/class.compare.default/p3.cpp
The file was modifiedclang/test/CXX/class/class.compare/class.compare.default/p2.cpp
The file was modifiedclang/test/CXX/class/class.compare/class.rel/p1.cpp
The file was addedclang/test/CXX/class/class.compare/class.rel/p2.cpp
The file was addedclang/test/CXX/class/class.compare/class.eq/p2.cpp
The file was addedclang/test/CXX/class/class.compare/class.spaceship/p1.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/AST/ComparisonCategories.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Sema/Overload.h
The file was modifiedclang/test/CXX/class/class.compare/class.eq/p1.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/www/cxx_status.html
Commit aa3c877fb58db238a86e734511bdeed9bc40086c by saugustine
Move variable only used in an assert into the assert itself.
This prevents unused variable warnings from breaking the build.
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit 7ac966240184e604c03a7caf62f070ebb2977498 by Amara Emerson
[AArch64][GlobalISel] Add missing default statement to a switch in the
selector.
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit 198fbcb817492ff45946e3f7517de15e8cdf0607 by peter
Driver: Don't look for libc++ headers in the install directory on
Android.
The NDK uses a separate set of libc++ headers in the sysroot. Any
headers in the installation directory are not going to work on Android,
not least because they use a different name for the inline namespace
(std::__1 instead of std::__ndk1).
This effectively makes it impossible to produce a single toolchain that
is capable of targeting both Android and another platform that expects
libc++ headers to be installed in the installation directory, such as
Mac.
In order to allow this scenario to work, stop looking for headers in the
install directory on Android.
Differential Revision: https://reviews.llvm.org/D71154
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was addedclang/test/Driver/android-no-installed-libcxx.cpp
The file was modifiedclang/test/Driver/stdlibxx-isystem.cpp
Commit edf6717d8d30034da932b95350898e03c90a5082 by tstellar
export.sh: Fetch sources from GitHub instead of SVN
Reviewers: hansw, jdoerfert
Subscribers: sylvestre.ledru, mgorny, hans, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70460
The file was modifiedllvm/utils/release/export.sh
Commit 884351547da27e76e14bef5fe20c3e3cb0e89acd by lkail
[PowerPC] Fix MI peephole optimization for splats
Summary: This patch fixes an issue where the PPC MI peephole
optimization pass incorrectly remove a vector swap.
Specifically, the pass can combine a splat/swap to a splat/copy. It uses
`TargetRegisterInfo::lookThruCopyLike` to determine that the operands to
the splat are the same. However, the current logic only compares the
operands based on register numbers. In the case where the splat operands
are ultimately feed from the same physical register, the pass can
incorrectly remove a swap if the feed register for one of the operands
has been clobbered.
This patch adds a check to ensure that the registers feeding are both
virtual registers or the operands to the splat or swap are both the same
register.
Here is an example in pseudo-MIR of what happens in the test cased added
in this patch:
Before PPC MI peephole optimization:
```
%arg = XVADDDP %0, %1
$f1 = COPY %arg.sub_64 call double rint(double)
%res.first = COPY $f1
%vec.res.first = SUBREG_TO_REG 1, %res.first, %subreg.sub_64
%arg.swapped = XXPERMDI %arg, %arg, 2
$f1 = COPY %arg.swapped.sub_64 call double rint(double)
%res.second = COPY $f1
%vec.res.second = SUBREG_TO_REG 1, %res.second, %subreg.sub_64
%vec.res.splat = XXPERMDI %vec.res.first, %vec.res.second, 0
%vec.res = XXPERMDI %vec.res.splat, %vec.res.splat, 2
; %vec.res == [ %vec.res.second[0], %vec.res.first[0] ]
```
After optimization:
```
; ...
%vec.res.splat = XXPERMDI %vec.res.first, %vec.res.second, 0
; lookThruCopyLike(%vec.res.first) == lookThruCopyLike(%vec.res.second)
== $f1
; so the pass replaces the swap with a copy:
%vec.res = COPY %vec.res.splat
; %vec.res == [ %vec.res.first[0], %vec.res.second[0] ]
```
As best as I can tell, this has occurred since r288152, which added
support for lowering certain vector operations to direct moves in the
form of a splat.
Committed for vddvss (Colin Samples). Thanks Colin for the patch!
Differential Revision: https://reviews.llvm.org/D69497
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
The file was addedllvm/test/CodeGen/PowerPC/mi-peephole-splat.ll
Commit e60b36cf92e1570284482eddb2eac3652e28c2eb by flo
[VPlan] Rename VPlanHCFGTransforms to VPlanTransforms (NFC).
The file is intended to gather various VPlan transformations, not only
CFG related transforms. Actually, the only transformation there is not
CFG related.
Reviewers: Ayal, gilr, hsaito, rengolin
Reviewed By: gilr
Differential Revision: https://reviews.llvm.org/D70732
The file was modifiedllvm/lib/Transforms/Vectorize/CMakeLists.txt
The file was removedllvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
The file was addedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was removedllvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/lib/Transforms/Vectorize/VPlanTransforms.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
Commit 85c98f4c3198cba95a66f429a1fbeb29f9e9c70b by llvmgnsyncbot
gn build: Merge e60b36cf92e
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Commit 9db13b5a7d43096a9ab5f7cef6e1b7e2dc9c9c63 by ulrich.weigand
[FPEnv] Constrained FCmp intrinsics
This adds support for constrained floating-point comparison intrinsics.
Specifically, we add:
      declare <ty2>
     @llvm.experimental.constrained.fcmp(<type> <op1>, <type> <op2>,
                                         metadata <condition code>,
                                         metadata <exception behavior>)
     declare <ty2>
     @llvm.experimental.constrained.fcmps(<type> <op1>, <type> <op2>,
                                          metadata <condition code>,
                                          metadata <exception behavior>)
The first variant implements an IEEE "quiet" comparison (i.e. we only
get an invalid FP exception if either argument is a SNaN), while the
second variant implements an IEEE "signaling" comparison (i.e. we get an
invalid FP exception if either argument is any NaN).
The condition code is implemented as a metadata string.  The same set of
predicates as for the fcmp instruction is supported (except for the
"true" and "false" predicates).
These new intrinsics are mapped by SelectionDAG codegen onto two new ISD
opcodes, ISD::STRICT_FSETCC and ISD::STRICT_FSETCCS, again representing
quiet vs. signaling comparison operations.  Otherwise those nodes look
like SETCC nodes, with an additional chain argument and result as usual
for strict FP nodes.  The patch includes support for the common
legalization operations for those nodes.
The patch also includes full SystemZ back-end support for the new ISD
nodes, mapping them to all available SystemZ instruction to fully
implement strict semantics (scalar and vector).
Differential Revision: https://reviews.llvm.org/D69281
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-04.ll
The file was modifiedllvm/include/llvm/IR/ConstrainedOps.def
The file was modifiedllvm/lib/Target/SystemZ/SystemZElimCompare.cpp
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmps-02.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-05.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Target/SystemZ/SystemZShortenInst.cpp
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-03.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFP.td
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-02.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-05.ll
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmp-01.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-03.ll
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmp-02.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZOperators.td
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-04.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrVector.td
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-06.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmps-03.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-06.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmps-01.ll
The file was addedllvm/test/CodeGen/SystemZ/fp-strict-cmp-02.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmp-03.ll
The file was addedllvm/test/CodeGen/SystemZ/vec-strict-cmps-01.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZPatterns.td
Commit 071dca24cea9dcabe25cbe98c4053d874183be37 by hahnjo
[OpenMP] Require trivially copyable type for mapping
A trivially copyable type provides a trivial copy constructor and a
trivial copy assignment operator. This is enough for the runtime to
memcpy the data to the device. Additionally there must be no virtual
functions or virtual base classes and the destructor is guaranteed to be
trivial, ie performs no action. The runtime does not require trivial
default constructors because on alloc the memory is undefined. Thus,
weaken the warning to be only issued if the mapped type is not trivially
copyable.
Differential Revision: https://reviews.llvm.org/D71134
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_private_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
The file was modifiedclang/test/OpenMP/target_private_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/target_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_private_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_private_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
Commit d714aa0dfdb16270fc279e8e91d4a83ace531529 by flo
[SimplifyCFG] Handle AssumptionCache being null.
AssumptionCache can be null in SimplifyCFGOptions. However,
FoldCondBranchOnPHI() was not properly handling that when passing a null
AssumptionCache to simplifyCFG.
Patch by Rodrigo Caetano Rocha <rcor.cs@gmail.com>
Reviewers: fhahn, lebedev.ri, spatel
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D69963
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/unittests/Transforms/Utils/LocalTest.cpp
Commit 5ea611daf9cb51ba3d6492e50a6b568348fb62c0 by yhs
[BPF] Support weak global variables for BTF
Generate types for global variables with "weak" attribute. Keep
allocation scope the same for both weak and non-weak globals as ELF
symbol table can determine whether a global symbol is weak or not.
Differential Revision: https://reviews.llvm.org/D71162
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
The file was addedllvm/test/CodeGen/BPF/BTF/weak-global.ll
The file was addedllvm/test/CodeGen/BPF/BTF/weak-global-2.ll
Commit c25de56905b104fb2b90559ce5863f4fec93a974 by flo
[SimplifyCFG] Account for N being null.
Fixes a crash, e.g.
http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/15119/
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 6dcb1003f2022cba36e9f5a6d39648c3a3a213a0 by aaron
Optionally exclude bitfield definitions from magic numbers check
Adds the IgnoreBitFieldsWidths option to readability-magic-numbers.
The file was modifiedclang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-magic-numbers.rst
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-magic-numbers.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-magic-numbers-bitfields.cpp
Commit a6fcdb211d259f3a18787da89d9a079a10d4f80f by ulrich.weigand
[SystemZ] Fix build bot failures
My patch 9db13b5a7d43096a9ab5f7cef6e1b7e2dc9c9c63 seems to have caused
some build bots to fail due to warnings that appear only when using
-Wcovered-switch-default.
This patch is an attempt to fix this by trying to avoid both the warning
"default label in switch which covers all enumeration values" for the
inner switch statements and at the same time the warning
"this statement may fall through" for the outer switch statement in
getVectorComparison
(SystemZISelLowering.cpp).
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit 4ec7bb42aa67b8a03a9be497dd44195990c3ac74 by Saleem Abdulrasool
Symbol: use elaborated types for `DataExtractor`
Use type elaborated spellings for the parameter to avoid the ambiguity
between `llvm` and `lldb_private` names.  This is needed for building
with Visual Studio.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit c49194969430f0ee817498a7000a979a7a0ded03 by flo
[LV] Pick correct BB as insert point when fixing PHI for FORs.
Currently we fail to pick the right insertion point when
PreviousLastPart of a first-order-recurrence is a PHI node not in the
LoopVectorBody. This can happen when PreviousLastPart is produce in a
predicated block. In that case, we should pick the insertion point in
the BB the PHI is in.
Fixes PR44020.
Reviewers: hsaito, fhahn, Ayal, dorit
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D71071
The file was addedllvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit e8716a6df7abad68b6cf81c437a2e0524e88f3ad by zeratul976
[clangd] Navigation from definition of template specialization to
primary template
Fixes https://github.com/clangd/clangd/issues/212.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet,
usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71090
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 3a6eb5f16054e8c0f41a37542a5fc806016502a0 by david.green
[ARM] Disable VLD4 under MVE
Alas, using half the available vector registers in a single instruction
is just too much for the register allocator to handle. The mve-vldst4.ll
test here fails when these instructions are enabled at present. This
patch disables the generation of VLD4 and VST4 by adding a
mve-max-interleave-factor option, which we currently default to 2.
Differential Revision: https://reviews.llvm.org/D71109
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
The file was addedllvm/test/Transforms/LoopVectorize/ARM/mve-vldn.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
Commit 792fab343ba9029dd155f3ae5da30e12ed518c8a by david.green
[ARM] Attempt to use whole register vmovs for MVE shuffles.
MVE doesn't have the range of shuffle instructions available in Neon. We
also cannot use the trick of cutting a difficult vector shuffle in half
to simplify things. Instead we need to be more careful about how we
lower shuffles.
This patch adds an extra combine that attempts to find "whole lane"
vmovs when lowering shuffles of smaller types. This helps us make some
shuffles a lot simpler, generating single lane movs for the parts that
can make use of it, falling back to the original shuffle for the rest.
Differential Revision: https://reviews.llvm.org/D69509
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld3.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shufflemov.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
Commit 68f464ac2ef5de8cb2e8beaeee43c435c536539e by kbessonova
[llvm-dwarfdump][Statistics] Unify coverage statistic computation
Summary: The patch removes OffsetToFirstDefinition in the 'scope bytes
total' statistic computation. Thus it unifies the way the scope and the
coverage buckets are computed. The rationals behind that are the
following:
1. OffsetToFirstDefinition was used to calculate the variable's life
range. However, there is no simple way to do it accurately, so the scope
calculated this way might be misleading. See D69027 for more details on
the subject. 2. Both 'scope bytes total' and coverage buckets seem to be
intended to represent the same data in different ways. Otherwise, the
statistics might be controversial and confusing.
Note that the approach gives up a thorough evaluation of debug
information completeness (i.e. coverage buckets by themselves doesn't
tell how good the debug information is). Only changes in coverage over
time make a 'physical' sense.
Reviewers: djtodoro, aprantl, vsk, dblaikie, avl
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70548
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics.ll
The file was modifiedllvm/utils/llvm-locstats/llvm-locstats.py
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/locstats.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-base-address.s
Commit b32490270b786d2c5ba154e613ee2d5e36ed4197 by dave
Revert "Driver: Don't look for libc++ headers in the install directory
on Android."
This reverts commit 198fbcb817492ff45946e3f7517de15e8cdf0607.
This breaks Fedora 31.
The file was modifiedclang/test/Driver/stdlibxx-isystem.cpp
The file was removedclang/test/Driver/android-no-installed-libcxx.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
Commit 12f39e0fede92ca04c811660530e750585124ed2 by spatel
[InstSimplify] fold copysign with negated operand
This is another transform suggested in PR44153:
https://bugs.llvm.org/show_bug.cgi?id=44153
The backend for some targets already manages to get this if it converts
copysign to bitwise logic.
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit a05d7c278ee2a29aec73dbe5316e5cf2a2d190f8 by sylvestre
Fix typo in the AST Matcher Reference doc Closes: #54
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/docs/LibASTMatchersReference.html
Commit 1c4dd3ae2f34541e53ad0110f261421083bc0157 by spatel
[InstSimplify] fold copysign with negated operand, part 2
This is another transform suggested in PR44153:
https://bugs.llvm.org/show_bug.cgi?id=44153
Unlike rG12f39e0fede9, it doesn't look like the backend matches this
variant.
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 74e6ce2529fae2c3318731c6f4f77bfa92eb6eb7 by bryan.chan
[Frontend] Allow OpenMP offloading to aarch64
Summary: D30644 added OpenMP offloading to AArch64 targets, then D32035
changed the frontend to throw an error when offloading is requested for
an unsupported target architecture. However the latter did not include
AArch64 in the list of supported architectures, causing the following
unit tests to fail:
    libomptarget :: api/omp_get_num_devices.c
   libomptarget :: mapping/pr38704.c
   libomptarget :: offloading/offloading_success.c
   libomptarget :: offloading/offloading_success.cpp
Reviewers: pawosm01, gtbercea, jdoerfert, ABataev
Subscribers: kristof.beyls, guansong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70804
The file was modifiedclang/test/OpenMP/openmp_offload_registration.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 9fdb7ac503a964b128ec909fbf95443c3ea279a4 by david.tellenbach
[NFC][LivePhysRegs] Fix incorrect comment
Reviewers: #llvm, tellenbach
Reviewed By: tellenbach
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71051
Patch by: rollrat <rollrat.cse@gmail.com>
The file was modifiedllvm/lib/CodeGen/LivePhysRegs.cpp
Commit 0a5703458b7f577f628ca123a47c209653f19dc2 by Jonas Devlieghere
[lldb/SWIG] Guard embedded Python code in SWIG interfaces by SWIGPYTHON
Guard the embedded Python code in LLDB's interface files by the
SWIGPYTHON define to ensures they can be reused for other languages
supported by SWIG.
The file was modifiedlldb/scripts/interface/SBFunction.i
The file was modifiedlldb/scripts/interface/SBExecutionContext.i
The file was modifiedlldb/scripts/interface/SBThread.i
The file was modifiedlldb/scripts/interface/SBValue.i
The file was modifiedlldb/scripts/interface/SBFile.i
The file was modifiedlldb/scripts/interface/SBTypeEnumMember.i
The file was modifiedlldb/scripts/interface/SBDebugger.i
The file was modifiedlldb/scripts/interface/SBInstruction.i
The file was modifiedlldb/scripts/interface/SBStringList.i
The file was modifiedlldb/scripts/interface/SBTypeFilter.i
The file was modifiedlldb/scripts/interface/SBSymbolContextList.i
The file was modifiedlldb/scripts/interface/SBTarget.i
The file was modifiedlldb/scripts/interface/SBTypeSynthetic.i
The file was modifiedlldb/scripts/interface/SBUnixSignals.i
The file was modifiedlldb/scripts/interface/SBInstructionList.i
The file was modifiedlldb/scripts/interface/SBTypeNameSpecifier.i
The file was modifiedlldb/scripts/interface/SBSymbol.i
The file was modifiedlldb/scripts/interface/SBType.i
The file was modifiedlldb/scripts/interface/SBCompileUnit.i
The file was modifiedlldb/scripts/interface/SBSymbolContext.i
The file was modifiedlldb/scripts/interface/SBError.i
The file was modifiedlldb/scripts/interface/SBSection.i
The file was modifiedlldb/scripts/interface/SBTypeFormat.i
The file was modifiedlldb/scripts/interface/SBAddress.i
The file was modifiedlldb/scripts/interface/SBTypeCategory.i
The file was modifiedlldb/scripts/interface/SBProcess.i
The file was modifiedlldb/scripts/interface/SBData.i
The file was modifiedlldb/scripts/interface/SBDeclaration.i
The file was modifiedlldb/scripts/interface/SBFileSpec.i
The file was modifiedlldb/scripts/interface/SBLineEntry.i
The file was modifiedlldb/scripts/interface/SBFrame.i
The file was modifiedlldb/scripts/interface/SBValueList.i
The file was modifiedlldb/scripts/interface/SBBlock.i
The file was modifiedlldb/scripts/interface/SBBreakpoint.i
The file was modifiedlldb/scripts/interface/SBTypeSummary.i
The file was modifiedlldb/scripts/interface/SBModule.i
Commit 761dd780eaad02b8f3258e279cd21408b2067baf by thakis
Fix a few doc typos, to cycle bots.
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit d7aded3937f4526118618ad32f8f54019be8a9f3 by deadalnix
[PowerPC] Automatically generate store-constant.ll . NFC
The file was modifiedllvm/test/CodeGen/PowerPC/store-constant.ll
Commit 27f5d35137cb45e60d9988a9b55875883c55023c by zahira.ammarguellat
Fix for build bot failure. For more details see:
https://reviews.llvm.org/D70691 Upated LIT test.
The file was modifiedclang/test/CodeGen/opt-record-1.c