SuccessChanges

Summary

  1. Added GitHubStatus to report build statuses to github llvm-project repo. (details)
  2. Add Clang PPC buildbot on Red Hat. (details)
  3. Added the first github status reporter in pilot mode. (details)
  4. Imported status. (details)
Commit b03d19aca55166122b366a6c89d4e1322618a3f6 by gkistanova
Added GitHubStatus to report build statuses to github llvm-project repo.
The file was addedzorg/buildbot/status/__init__.py
The file was addedzorg/buildbot/status/txgithub/api.py
The file was addedzorg/buildbot/status/txgithub/__init__.py
The file was addedzorg/buildbot/status/github.py
Commit e44a4915f24336f4da4eb905a026e4c31bea76a1 by gkistanova
Add Clang PPC buildbot on Red Hat.
Patch by Wael Yehia.
Differential Revision: https://reviews.llvm.org/D70543
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
Commit 16c86f773c0842997336f431fce4040d457caa1f by gkistanova
Added the first github status reporter in pilot mode.
The file was modifiedbuildbot/osuosl/master/config/status.py (diff)
The file was modifiedzorg/buildbot/__init__.py (diff)

Summary

  1. Fix component build (details)
  2. Revert "Fix shared lib build." (details)
  3. Revert "implement printing out raw section data of xcoff objectfile for (details)
  4. [SelectionDAG] Merge the two identical ExpandChainLibCall methods from (details)
  5. bugpoint: Add option to disable attribute removal (details)
  6. AMDGPU: Split test functions to avoid dependency on subtarget (details)
  7. [clang][IFS] Driver pipeline: generate interface stubs after standard (details)
  8. Revert "[clang][IFS] Driver pipeline: generate interface stubs after (details)
  9. [lldb-server] Use LLDB_LOG_ERROR to consume Error<> even if logging is (details)
  10. [X86] Add more addcarry tests (details)
  11. [ARM][MVE] Tail predication conversion (details)
  12. Revert 1689ad27af5 "[builtins] Implement rounding mode support for (details)
  13. [NFC] Test commit. Please ignore. (details)
  14. [clang-format] [NFC] add recent changes to release notes (details)
  15. [ARM][MVE] Enable narrow vectors for tail pred (details)
  16. [APInt] add wrap support for `setBits` and `getBitsSet` (details)
  17. Reland "[clangd] Implement rename by using SelectionTree and (details)
  18. Add operator<< for object::SectionedAddress (details)
  19. Add streaming/equality operators to (details)
  20. Revert "gn build: (manually) try to merge 1689ad27af" (details)
  21. [clangd] Fix ps4 buildbot failure. (details)
  22. [clangd] More sensible output for constructors/destructors in hover. (details)
  23. Mark PR44037 tests as XFAIL on AArch64 Linux dwo (details)
  24. [clangd] Fix hover 'local scope' to include class template params (details)
  25. [kate] Add various missing keywords (details)
  26. gn build: Merge 39285a0f02c (details)
  27. gn build: Merge c0fc29c4684 (details)
  28. [libunwind] Adjust the signal_frame test for Arm (details)
  29. [ThinLTO] Make ValueInfo::operator bool() explicit (details)
  30. [RISCV] Support mutilib in baremetal environment (details)
  31. [DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" (details)
  32. [clang-tidy] Added DefaultOperatorNewCheck. (details)
  33. gn build: Merge e8a4c74f115 (details)
  34. [mips] Joint MipsMemSimmXXXAsmOperand into the single template class. (details)
  35. Fix PR44001: assert failure in getFunctionLocalOffsetAfterInsn (details)
  36. [lldb] Remove ClangExpressionDeclMap::ResolveUnknownTypes (details)
  37. [X86][SSE] Remove XFormVExtractWithShuffleIntoLoad to prevent (details)
  38. [llvm-objdump] Print relocation addends in hexadecimal (details)
  39. Revert "[clang-tidy] Fix readability-redundant-string-init for (details)
  40. Revert "[clang-tidy] modernize-use-override new option (details)
  41. [clang-tidy] Fix readability-redundant-string-init for c++17/c++2a (details)
  42. [clang-tidy] modernize-use-override new option AllowOverrideAndFinal (details)
  43. [lldb] Also test Get[De]mangledName of SBType in (details)
  44. [ThinLTO] Simplify code. NFC (details)
  45. Revert "[RISCV] Support mutilib in baremetal environment" (details)
  46. [PowerPC] Regenerate vsx_insert_extract_le.ll tests (details)
  47. [ARM] Regenerate vector lane store tests (details)
  48. [NFC][X86] Fixup comment in CodeGen/X86/cmov.ll (details)
  49. [AMDGPU] Tune inlining parameters for AMDGPU target (part 2) (details)
  50. Fix modules build by adding missing includes (details)
  51. DAG: Add function context to isFMAFasterThanFMulAndFAdd (details)
  52. [lldb][NFC] Early exit in IRExecutionUnit::GetStaticInitializers (details)
  53. [clangd] Untangle Hover from XRefs, move into own file. (details)
  54. [clang-tidy] DefaultOperatorNewCheck test fixes. (details)
  55. AMDGPU: Be explicit about denormal mode in MIR tests (details)
  56. AMDGPU: Refactor treatment of denormal mode (details)
  57. [clangd] Show values of more expressions on hover (details)
  58. [ARM,MVE] Add intrinsics for scalar shifts. (details)
  59. [lldb] Add logging to IRExecutionUnit::GetStaticInitializers (details)
  60. [SLP] add test for reduction miscompile; NFC (details)
  61. Fixup AVR tests to reflect changes in addend format in llvm-objdump (details)
  62. gn build: Merge 765b1250f68 (details)
  63. [SLP] fix insertion point for min/max reduction (details)
  64. [clang-tidy] Give readability-redundant-member-init an option (details)
  65. [AIX][XCOFF] Write Function descriptors and TOC base to data section (details)
  66. [NFC] Attempting to fix sphinx build failure with badly encoded (details)
  67. [clang][NFC] Make various uses of Regex const (details)
  68. [cmake] Disable GCC 9's -Winit-list-lifetime warning in ArrayRef (details)
  69. Work on cleaning up denormal mode handling (details)
  70. gn build: Merge 7fe9435dc88 (details)
  71. [NFC] Attempting to fix sphinx build failure with badly encoded (details)
  72. Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD. (details)
  73. [ELF] Improve --gc-sections compatibility with GNU ld regarding section (details)
  74. [FileCheck] Use lit's internal shell for the test suite (details)
  75. [libTooling] Extend `buildASTFromCodeWithArgs` to take files argument. (details)
  76. [NFC] Refactor representation of materialized temporaries (details)
  77. [nfc][libomptarget] Write amdgcn macros in terms of compiler intrinsics (details)
  78. [OPENMP]Rename function, NFC. (details)
  79. [ELF] Disallow out-of-range section group indices after D70146 (details)
  80. clang: Add -fconvergent-functions flag (details)
  81. [Symbolizers] On Darwin compute function offset when possible. (details)
  82. [LLDB] Fix formatting in the driver (NFC) (details)
  83. [C-index] Fix test when using Debug target & MSVC STL (details)
  84. implement printing out raw section data of xcoff objectfile for (details)
  85. [ARM] Add and update a lot of VLDn tests. NFC (details)
  86. [ARM] MVE interleaving load and stores. (details)
  87. Add a "Using LLDB" section to the welcome page of the website (details)
  88. [ADT][Expensive checks] Create a std::random_device seed only once when (details)
  89. test-release.sh: Update to fetch source from GitHub (details)
  90. MTE: add more unchecked instructions. (details)
  91. [nfc][libomptarget] Remove casts of string literals to char* (details)
  92. [SLP] fix miscompile on min/max reductions with extra uses (PR43948) (details)
  93. llvm/ObjCARC: Eliminate inlined AutoreleaseRV calls (details)
  94. [DebugInfo] Describe size of spilled values in call site params (details)
  95. fixe leak found by asan build bot (details)
  96. The patch is the compiler error specific on the compile error on CMVC (details)
  97. [profile] Unbreak Fuchsia/Windows after D68351 (details)
  98. Add a key method to Sema to optimize debug info size (details)
  99. [docs] Remove dangling parenthesis from documentation (details)
  100. [CGDebugInfo] Emit subprograms for decls when AT_tail_call is understood (details)
  101. [profile] Address unused function warnings on Windows after D69586 (details)
  102. [OPENMP50]Add if clause in simd directive. (details)
  103. Precommit test showing oppurtunity when computing exit tests of (details)
  104. Wrap C APIs with pragmas enforcing -Werror=strict-prototypes (details)
  105. [ValueTracking] Add a basic version of isKnownNonInfinity and use it to (details)
  106. [AArch64] Fix MIR test instruction to not have invalid operand. (details)
  107. [LoopPred] Generalize profitability check to handle unswitch output (details)
  108. [NFC] Factor out utilities for manipulating widenable branches (details)
  109. [clang][IFS] Driver Pipeline: generate stubs after standard pipeline (2) (details)
  110. [clang][IFS] Fixing failing bots that do not have PPC target or (details)
  111. [GuardWidening] Remove WidenFrequentBranches transform (details)
  112. Introduce llvm-install-name-tool (details)
  113. [lldb][test] Prevent \n in calls to lldb's expect() test helper. (details)
  114. [clang][IFS] Attempting to fix missing 'orbis-ld' on scei-ps4-ubuntu (details)
  115. [ARC] Add InitializePasses header to fix ARC build. (details)
  116. [tests] Autogen a test to eliminate spurious diff from following patch (details)
  117. [X86] Add custom type legalization and lowering for scalar (details)
  118. clang/Modules: Sink ASTReadResult in ReadControlBlock, NFC (details)
  119. scudo: Switch from std::random_shuffle to std::shuffle in a test. (details)
  120. [LegalizeDAG][X86] Enable STRICT_FP_TO_SINT/UINT to be promoted (details)
  121. [Reproducer] Namespace the reproducer dump options. (details)
  122. Revert "Introduce llvm-install-name-tool" (details)
  123. [clang][IFS] Fixing unsupported emulation mode on clang-ppc64be-linux (details)
  124. [LTO][Legacy] Add API for passing LLVM options separately (details)
  125. [musttail] Don't forward AL on Win64 (details)
  126. clang/Modules: Early return in CompilerInstance::createModuleManager, (details)
  127. [clang][IFS][test] Removing driver-test.c. Test is still too brittle. (details)
  128. Revert "[clang][IFS][test] Removing driver-test.c. Test is still too (details)
  129. Revert "[clang][IFS] Fixing unsupported emulation mode on (details)
  130. Revert "[clang][IFS] Attempting to fix missing 'orbis-ld' on (details)
  131. Revert "[clang][IFS] Fixing failing bots that do not have PPC target or (details)
  132. Revert "[clang][IFS] Driver Pipeline: generate stubs after standard (details)
  133. Extends the tblgen macro to allow mlir-tblgen to be installed (details)
  134. Use lld::make<T> to make TpiSource objects (details)
  135. AMDGPU/GlobalISel: Legalize FDIV64 (details)
  136. [FEnv] File with properties of constrained intrinsics (details)
  137. [FEnv] Fix AddingConstrainedIntrinsics.rst after (details)
  138. Introduce llvm-install-name-tool (details)
  139. [llvm-readobj/llvm-readelf] - Improve dumping of versioning sections. (details)
  140. ExecutionEngine: add preliminary support for COFF ARM64 (details)
  141. Reland "[clang] Remove the DIFlagArgumentNotModified debug info flag" (details)
  142. [llvm-readobj] - Improve dumping of the SHT_LLVM_LINKER_OPTIONS (details)
  143. [ExecutionEngine] Add a missing break to avoid warnings (details)
  144. [AMDGPU] add support for hostcall buffer pointer as hidden kernel (details)
  145. [lldb][NFC] Remove ClangASTContext::GetUniqueNamespaceDeclaration (details)
  146. [lldb][NFC] Remove ClangASTContext::FieldIsBitfield overload (details)
  147. [lldb][NFC] Remove ClangASTContext::GetAsDeclContext (details)
  148. [lldb][NFC] Simplify ClangASTContext::GetBasicTypes (details)
  149. Move floating point related entities to namespace level (details)
  150. [clangd] Treat UserDefinedLiteral as a leaf in SelectionTree, (details)
  151. [lldb][NFC] Remove unused ClangASTContext::GetUnknownAnyType (details)
  152. gn build: Merge ea8678d1c78 (details)
  153. [DebugInfo] Remove the DIFlagArgumentNotModified debug info flag (details)
  154. [DWARF] Add an api to get "interpreted" location lists (details)
  155. [CodeGen][NFC] Regenerate load-combine test with update_llc_test. (details)
  156. gn build: Merge 089c0f58149 (details)
  157. [AMDGPU][DPP] Corrected DPP combiner (details)
  158. [mips] Make MipsAsmParser::isEvaluated static function. NFC (details)
  159. [mips] Put conditions when we need to expand memory operand into a (details)
  160. Update tests after change to llvm-cxxfilt's underscore stripping (details)
  161. [lldb][NFC] Move ClangExpressionDeclMap's persistent decl search into (details)
  162. ARM-NEON: separate soon-to-be conflicting f16 patterns. NFC. (details)
  163. NeonEmitter: remove special case on casting polymorphic builtins. (details)
  164. ARM-NEON: make type modifiers orthogonal and allow multiple modifiers. (details)
  165. Ignore R_MIPS_JALR relocations against non-function symbols (details)
  166. [UptestTestChecks][NFC] Share some common command line options code (details)
  167. [update_cc_test_checks.py] Add the --function-signature flag (details)
  168. Big-endian fix to DWARFDieTest (089c0f58) (details)
  169. [ARM][MVE] Select vqabs (details)
  170. [lldb][NFC] Move searching for $__lldb_class into its own function in (details)
  171. Revert "[DWARF] Add an api to get "interpreted" location lists" (details)
  172. gn build: Merge 72d2929c52a (details)
  173. [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY (details)
  174. [mips] Define mem_simm# operands using tblgen `foreach` loop. NFC (details)
  175. [AMDGPU][GFX10] Disabled v_movrel*[sdwa|dpp] opcodes in codegen (details)
  176. [lldb][NFC] Move searching for $__lldb_objc_class into its own function (details)
  177. [SLP] reduce duplicate CHECK lines in tests; NFC (details)
  178. Recommit "[DWARF] Add an api to get "interpreted" location lists" (details)
  179. [AIX] Lowering jump table, constant pool and block address in asm (details)
  180. gn build: Merge a03435ec8e2 (details)
  181. [clangd] Fix a crash in expected types (details)
  182. [AIX][XCOFF] Add support for generating assembly code for one-byte (details)
  183. A fix of the bug introduced by previous lowering in asm patch. (details)
  184. Rename 'DenormalMode' in CommandFlags.inc to 'DenormalFPMath', as its (details)
  185. [SystemZ] Use fneg in test cases (details)
  186. [SelectionDAG][X86] Mutate strictFP nodes to non-strict in (details)
  187. [SystemZ] Avoid mixing strict and non-strict FP operations in tests (details)
  188. [FileCollector] Ignore empty paths. (details)
  189. scudo: Only use the Android reserved TLS slot when building libc's copy (details)
  190. Revert "[clangd] Fix a crash in expected types" (details)
  191. Fix parser bug that permitted 'private' as a (no-op) decl-specifier even (details)
  192. [AMDGPU] Keep consistent check of legal addressing mode. (details)
  193. [debugserver] Set arch based on TARGET_TRIPLE (details)
  194. [lldb] [test] Un-XFAIL one lldb-server test on NetBSD (details)
  195. [lldb] Fix NSURL data formatter truncation issue (details)
  196. [AMDGPU] Fixed mfma test check. NFC. (details)
  197. [CMake] Fix the path to CrossWinToARMLinux.cmake CMake cache. (details)
  198. Move widenable branch formation into makeGuardControlFlowExplicit helper (details)
  199. [X86] Mark vector STRICT_FP_ROUND as Legal instead of Custom. (details)
  200. [Hexagon] Fix two testcase errors (details)
  201. [Reproducer] Generate LLDB reproducer on crash (details)
  202. [clang][IFS] Driver Pipeline: generate stubs after standard pipeline (3) (details)
  203. [Docs] Fix Sphinx warning (treated as error) (details)
  204. [Driver] Fix missing space in lldb --help output. (details)
  205. [AMDGPU][SILoadStoreOptimizer] Merge TBUFFER loads/stores (details)
  206. Cherry-pick gtest fix for asan tests. (details)
  207. Handle the case where the 'g' packet doesn't get all regs. lldb would (details)
  208. [Reproducer] Limit signals to macro define sin <csignal> (details)
  209. [AArch64] Add the pipeline model for Exynos M5 (details)
  210. [Support][Error] Unfriend FileError. It is not special. (details)
  211. [clang-tidy] modernize-use-equals-default avoid adding redundant (details)
  212. Temporarily Revert "[SLP] allow forming 2-way reduction patterns" (details)
  213. [BPF] Fix a bug in peephole optimization (details)
  214. Temporarily Revert "Temporarily Revert "[SLP] allow forming 2-way (details)
  215. Temporarily Revert "[SLP] allow forming 2-way reduction patterns" and (details)
  216. Revert "[AArch64] Add the pipeline model for Exynos M5" as it's causing (details)
  217. gn build: check-clang depends on llvm-cxxfilt. (details)
  218. [Sema] Add a 'Semantic' parameter to Expr::isKnownToHaveBooleanValue (details)
  219. [ADT] Move to_vector from STLExtras.h to SmallVector.h (details)
  220. [MemorySSA] Update analysis when the terminator is a memory instruction. (details)
  221. [docs] Tiny rewording in the portability FAQ entry (details)
  222. Precommit tests for forthcoming widenable.condition transforms (details)
  223. Fix an offset underflow bug in DwarfExpression when describing small (details)
  224. [X86] Fix f128->i16 fptosi to promote the i16 to i32 before trying to (details)
  225. [X86] Fix i16->f128 sitofp to promote the i16 to i32 before trying to (details)
  226. [MemorySSA] Moving at the end often means before terminator. (details)
  227. [Orc][Modules] Fix Modules build fallout from a34680a33eb. (details)
  228. [Error] Remove a broken code fragment accidentally included in (details)
  229. Tablegen: Remove the error for duplicate include files. (details)
  230. Fix unused variable warning in NDEBUG mode after (details)
  231. [clang][IFS][test] GreenDragon and Fuchsia Darwin bot fix: BindArchClass (details)
  232. D'oh. Fix assert after a84922916e6eddf701b39fbd7fe0222cb0fee1d6. (Which (details)
  233. [DAGCombine][NFC] Use ArrayRef and correctly size SmallVectors. (details)
  234. [clangd] Reland b5135a86e0476: Fix a crash in expected types (details)
  235. [libcxx] Add Sergej Jaskiewicz to CREDITS.txt (details)
  236. [RISCV] Support mutilib in baremetal environment (details)
  237. [Support] Don't check XCR0 when detecting avx512 on Darwin. (details)
  238. [compiler-rt] Don't check XCR0 when detecting avx512 on Darwin. (details)
  239. [lldb][NFC] Early exit in (details)
  240. [DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC] (details)
  241. [AMDGPU] Add attribute for target loop unroll threshold default (details)
  242. [Driver] Use VFS to check if sanitizer blacklists exist (details)
  243. [lldb][NFC] Move searching for the local variable namespace into own (details)
  244. [COFF] Widen PE32Header fields to fit 64 bit versions (details)
  245. Revert "[Driver] Use VFS to check if sanitizer blacklists exist" (details)
  246. Atomics: support min/max orthogonally (details)
  247. [OpenCL] Fix address space for base method call (PR43145) (details)
  248. Revert "[DependenceAnalysis] Dependecies for loads marked with (details)
  249. [mips] Remove addresses from the test case. NFC (details)
  250. [mips] Remove unused `IsPCRelativeLoad` MIPS instructions attribute. NFC (details)
  251. [mips] Rename test case. NFC (details)
  252. dwarfdump --statistics: Use new location list api (details)
  253. Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists (details)
  254. [lldb][NFC] Move searching the ClangModulesDeclVendor into own function (details)
  255. [Driver] Fix a shadowing warning. NFC (details)
  256. [lldb][NFC] Move searching local variables into own function (details)
  257. [lldb][NFC] Remove test directory completely (details)
  258. Fix Wshadow warning against global None variable. NFC. (details)
  259. Statistic - Fix MSVC shadow warning against global PrintOnExit static (details)
  260. [DAGCombiner] Add tests for thumb load-combine. (details)
  261. Revert "[RISCV] Support mutilib in baremetal environment" (details)
  262. Make coding standards document more inclusive (details)
  263. [lldb][NFC] Reduce scope of some variables in (details)
  264. [Debuginfo][NFC] removes redundant semicolon. (details)
  265. [DeclCXX] Remove unknown external linkage specifications (details)
  266. [lldb][NFC] Move searching functions in ClangExpressionDeclMap to own (details)
  267. [lldb][NFC] Modernize string handling in (details)
  268. [LV] PreferPredicateOverEpilog respecting option (details)
  269. [DAGCombiner] Use the right thumbv7meb triple for ARM big-endian test. (details)
  270. [mips] Add a 'generic' Mips CPU (details)
  271. [OPENMP50]Add if clause in for simd directive. (details)
  272. [Hexagon] Remove incorrect intrinsic definition and invalid testcase (details)
  273. LLD: Don't use the stderrOS stream in link before it's reassigned. (details)
  274. Fix unused variable warning. NFCI. (details)
  275. [InstCombine] add assert in SimplifyDemandedVectorElts and improve (details)
  276. [OPENMP]Fix datasharing checks for if clause in parallel taskloop (details)
  277. Reduce the number of iterations in testcase. (NFC) (details)
  278. [NFC] Refactor and improve comments in CommandObjectTarget (details)
  279. Fix compilation warning. NFC. (details)
  280. [BranchFolding] Fix PR43964 about branch folder not being debug (details)
  281. [llvm-objcopy][MachO] Fix symbol order in the symbol table (details)
  282. [llvm-objcopy][MachO] Implement --strip-debug (details)
  283. [ELF] Error if -Ttext-segment is specified (details)
  284. [SCEV] Be robust against IR generated by simple-loop-unswitch (details)
  285. [Docs] Generate the LLDB man page with Sphinx (details)
  286. [scudo][standalone] Minor optimization & improvements (details)
  287. [SCEV] Add a mode to skip classification when printing analysis (details)
  288. [OPENMP50]Add device/kind context selector support. (details)
  289. [Tests] Autogenerate a bunch of SCEV trip count tests for readability. (details)
  290. Broaden the definition of a "widenable branch" (details)
  291. [cmake] Explicitly mark libraries defined in lib/ as "Component (details)
  292. Debug info: Emit objc_direct methods as members of their containing (details)
  293. [Test] Split up TestIntegerTypes.py (details)
  294. [PowerPC] Add new Future CPU for PowerPC (details)
  295. [X86] Add test case for f128 fma. NFC (details)
  296. [X86] Change legalization action for f128 fadd/fsub/fmul/fdiv from (details)
  297. [JumpThreading] Refactor ThreadEdge (details)
  298. [test] Mark TestEditline as skipped with ASan. (details)
  299. [Reproducer] Instruct users to replay reproducer (details)
  300. [Reproducer] Make 'reproducer xcrash' behave the same during capture & (details)
  301. [Driver] Fix newline at the end of help output (details)
  302. [OPENMP]Remove unused template parameter, NFC. (details)
  303. Clang-trunk Generates Wrong Debug values with -O1 (details)
  304. [PGO][PGSO] DAG.shouldOptForSize part. (details)
  305. [Object][RISCV] Fix R_RISCV_SET6 and R_RISCV_SUB6 relocations resolution (details)
  306. [FileCheck] Make FILECHECK_OPTS useful for its test suite (details)
  307. Further cleanup manipulation of widenable branches [NFC] (details)
  308. [TSan] Make `mach_vm_allocate.c` test less flaky (details)
  309. [libFuzzer] Fix fd check in DupAndCloseStderr. (details)
  310. [AArch64] [FrameLowering] Allow conditional insertion of CFI instruction (details)
  311. [Object][RISCV] Resolve R_RISCV_32_PCREL (details)
  312. Early-exitify ClangASTContext::AddObjCClassProperty() (NFC) (details)
  313. [LoopPred] Robustly handle partially unswitched loops (details)
  314. [libFuzzer] Fix unwinding for Fuchsia (details)
  315. [Clang] Enable RISC-V support for Fuchsia (details)
  316. [llvm-lipo] Add support for -extract (details)
  317. [X86] Remove regcall calling convention from fp-strict-scalar.ll. Add (details)
  318. [X86] Mark vector STRICT_FADD/STRICT_FSUB as Legal and add mutation to (details)
  319. [LegalizeDAG][X86] Add support for turning STRICT_FADD/SUB/MUL/DIV into (details)
  320. [clangd] Inactive regions support as an extension to semantic (details)
  321. [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. (details)
  322. [LoopInstSimplify] Move MemorySSA verification under flag. (details)
  323. [FPEnv] Add an option to disable strict float node mutating to an normal (details)
  324. [CFG] Add a test for a flaky crash in CFGBlock::getLastCondition(). (details)
  325. [X86] Mark fp128 FMA as LibCall instead of Expand. Add STRICT_FMA as (details)
  326. [X86] Add test cases for most of the constrained fp libcalls with fp128. (details)
  327. [analyzer] NFC: Don't clean up range constraints twice. (details)
  328. [analyzer] Fix Objective-C accessor body farms after 2073dd2d. (details)
  329. clang/Modules: Move Serialization/Module.{h,cpp} to ModuleFile, NFC (details)
  330. [RISCV] Support mutilib in baremetal environment (details)
  331. [X86] Add option 'disable-strictnode-mutation' for tests that respect (details)
  332. [PowerPC] combine rlwinm+rlwinm to rlwinm combine x3 = rlwinm x3, 27, 5, (details)
  333. [CMake] Fix LLVM build non-determinism on RHEL (details)
  334. [CFG] Fix a flaky crash in CFGBlock::getLastCondition(). (details)
  335. [lldb] Don't enable expression log in TestEmptyStdModule.py (details)
  336. [DAGCombiner] Allow zextended load combines. (details)
  337. [clang-tidy] new performance-no-automatic-move check. (details)
  338. Revert "[DAGCombiner] Allow zextended load combines." (details)
  339. gn build: (manually) merge dep from f65cfff6 (details)
  340. gn build: Merge 95fe54931fd (details)
  341. gn build: Merge aa981c1802d (details)
  342. gn build: Merge f7170d17a84 (details)
  343. [PowerPC] Implement the vector extend sign instruction pattern match (details)
  344. [DWARFVerifier] Use the new location list api (details)
  345. Test commit. (details)
  346. [lldb] Fix exception breakpoint not being resolved when set on dummy (details)
  347. [clangd] Show lambda signature for lambda autocompletions (details)
  348. [X86] Updated strict fp scalar tests and add fp80 tests for D68857 (details)
  349. [lldb] [test] XFAIL TestExpressionEvaluation on NetBSD (details)
  350. [Codegen] TargetLowering::prepareUREMEqFold(): `x u% C1 ==/!= C2` with (details)
  351. [Codegen] TargetLowering::prepareUREMEqFold(): `x u% C1 ==/!= C2` (details)
  352. [WIP][Attributor] AAReachability Attribute (details)
  353. [OpenMP][Tool] Fix cmake variable in lit.site.cfg.in (details)
  354. [Test] Fix freeze ocaml test failure (details)
  355. Reland "[DAGCombiner] Allow zextended load combines." (details)
  356. [OpenMP][Tool] disable archer tests in standalone build (details)
  357. Add support to find out resource dir and add it as compilation args (details)
  358. [XCOFF][AIX] Read-only data section object file generation (details)
  359. [BPF] Fix a recursion bug in BPF Peephole ZEXT optimization (details)
  360. [OpenMP][Tool] archer tests require tsan (details)
  361. [JumpThreading] Use profile data even with the new pass manager (details)
  362. [OPENMP]Fix behaviour of defaultmap for OpenMP 4.5. (details)
  363. [coroutines] Remove assert on CoroutineParameterMoves in (details)
  364. [SLP][Test] Precommit tests for D70068 and D70587. NFC. (details)
  365. [JumpThreading] NFC: Don't cache F.hasProfileData() (details)
  366. [OPENMP]Simplify processing of context selectors, NFC. (details)
  367. [WebAssembly][SelectionDAG] Remove unused (details)
  368. [SLP] Enhance SLPVectorizer to vectorize vector aggregate (details)
  369. [libTooling] Add stencil combinators for nodes that may be pointers or (details)
  370. Register Objective-C property accessors with their property decls. (details)
  371. Complete complete types early when importing types from Clang module (details)
  372. Reformat code for readability. (details)
  373. [lldb][DataFormatters] Support pretty printing std::string when built (details)
  374. [lit] Attempt to print test summary on CTRL+C (details)
  375. [APFloat] Fix subtraction of subnormal numbers (details)
  376. Don't forward __pthread_mutex_* interceptors to pthread_mutex_* version (details)
  377. Reinstate MSan suppression of PR24578. (details)
  378. [APFloat] Enlarge ExponentType to 32bit integer (details)
  379. [clang-include-fixer] Suppress cmd prompt from Vim on Windows (details)
  380. Slightly speculative buildbot fix for issue reported in 8293f74 commit (details)
  381. [DWARF] Handle call sites with indirect call targets (details)
  382. [CMake] Support installation of InstrProfData.inc (details)
  383. Revert "[CMake] Support installation of InstrProfData.inc" (details)
  384. [RISCV] Use compiler-rt if no GCC installation detected (details)
  385. [OPENMP] [DOCS] correct status for use_device_addr clause (details)
  386. Don't report "main" as missing a prototype in freestanding mode (details)
  387. Fix typo to separate "-x" from warning flag. (details)
  388. [Sema] Use the canonical type in function isVector (details)
  389. [libc] Add a TableGen based header generator. (details)
  390. [AArch64] Add the pipeline model for Exynos M5 (details)
  391. [CodeMoverUtils] Added an API to check if an instruction can be safely (details)
  392. [InstCombine] Fix call guard difference with dbg (details)
  393. [Diagnostics] Put "deprecated copy" warnings into -Wdeprecated-copy (details)
  394. Revert "[Sema] Use the canonical type in function isVector" (details)
  395. gn build: Merge ae8a8c2db6c (details)
  396. Reland "[CMake] Support installation of InstrProfData.inc" (details)
  397. [TableGen] Add backend to generate command guide for tools using (details)
  398. Remove extraneous log enabling. (details)
  399. gn build: Merge 64ada7accbc (details)
  400. [MCA] Fix test cases (NFC) (details)
  401. [MC] Reorder MCInst fields to make sizeof(MCInst) smaller (details)
  402. [Driver] Make -static-libgcc imply static libunwind (details)
  403. [Examples] Add in_call_stack breakpoint function. (details)
  404. [Examples] Move structured-data unpacking out of the loop. (NFC) (details)
  405. Move vtordisp mode from Attr class to LangOptions.h, NFC (details)
  406. [Remarks] Allow empty temporary remark files (details)
  407. Separate the MS inheritance model enum from the attribute, NFC (details)
  408. Remove needless Attr.h include from DeclCXX.h, NFC (details)
  409. DebugInfo: Flag Dwarf Version metadata for merging during LTO (details)
Commit d0371f473675ede1d79a615ec4fdf0cf5368944c by ruiu
Fix component build
b11386f9be9b2dc7276a758d64f66833da10bdea broke lld build if
`-DBUILD_SHARED_LIBS=ON` is passed to CMake.
The file was modifiedlld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
The file was modifiedlld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
The file was modifiedlld/lib/ReaderWriter/FileArchive.cpp
The file was modifiedlld/lib/Core/Resolver.cpp
The file was modifiedlld/lib/ReaderWriter/MachO/LayoutPass.cpp
The file was modifiedlld/lib/Core/SymbolTable.cpp
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
Commit 45f8ee5f3c5ad4bc0b041c49a251d674c14dbc13 by ruiu
Revert "Fix shared lib build."
This reverts commit 17e37ba57a696198c9744eeba4f8f293f155587a because it
introduced a circular dependency between Core and Common. Because
d0371f473675ede1d79a615ec4fdf0cf5368944c fixed a build issue, we no
longer need that dependency.
The file was modifiedlld/lib/Core/CMakeLists.txt
The file was modifiedlld/lib/ReaderWriter/CMakeLists.txt
Commit 66b6b92765213a6bde96aea7a393621426027543 by leonardchan
Revert "implement printing out raw section data of xcoff objectfile for
llvm-objdump"
This reverts commit 8f8a9f3437d4517f674395da30edb59d5514f7bc.
Reverting since this patch seems to break a lot of llvm buildbots.
The file was removedllvm/test/tools/llvm-objdump/xcoff-raw-section-data.test
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was removedllvm/test/tools/llvm-objdump/xcoff-disassemble-all.test
Commit dc02eb1909961dc2c10a900599925ccfecfc241d by craig.topper
[SelectionDAG] Merge the two identical ExpandChainLibCall methods from
LegalizeTypes and LegalizeDAG to one version in TaretLowering.
Reviewers: RKSimon, efriedma, spatel
Reviewed By: efriedma
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70354
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit 6f06eda070eb574ad3ad6612f037e1fab7a1f0db by arsenm2
bugpoint: Add option to disable attribute removal
This takes a long time and never reduces anything useful for me
(e.g. I've been waiting for 3 hours on a testcase and it hasn't found
any attributes to remove yet). This should probably start by assuming no
attributes matter, and adding back.
The file was modifiedllvm/test/BugPoint/func-attrs.ll
The file was modifiedllvm/tools/bugpoint/CrashDebugger.cpp
Commit b337bce8710f2a7ab8ce9f84c80cfbce1032963c by arsenm2
AMDGPU: Split test functions to avoid dependency on subtarget
Prepare this test for moving tthe denormal setting out of the subtarget
features.
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fdiv.ll
Commit 58ea00b51fe9b011301484957556872fced7dd08 by puyan
[clang][IFS] Driver pipeline: generate interface stubs after standard
pipeline.
Up until now, clang interface stubs has replaced the standard PP -> C ->
BE -> ASM -> LNK pipeline. With this change, it will happen in
conjunction with it. So what when you build your code you will get an
a.out or lib.so as well as an interface stub file.
Example:
clang -shared -o libfoo.so -emit-interface-stubs ...
will generate both a libfoo.so and a libfoo.ifso. The .so file will
contain the code from the standard compilation pipeline and the .ifso
file will contain the ELF stub library.
Differential Revision: https://reviews.llvm.org/D70274
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/Types.cpp
The file was addedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/test/InterfaceStubs/windows.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
Commit d044dcc5e492181b1517347013a780d9eda6c3c3 by puyan
Revert "[clang][IFS] Driver pipeline: generate interface stubs after
standard pipeline."
This reverts commit 58ea00b51fe9b011301484957556872fced7dd08.
Test for .o + .ifs sidecar files is brittle and failing on bots.
Reverting to unblock.
The file was removedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/test/InterfaceStubs/windows.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
Commit 926d283893ae764cfba0360badcd7cc9fef4dfe5 by martin
[lldb-server] Use LLDB_LOG_ERROR to consume Error<> even if logging is
disabled
Differential Revision: https://reviews.llvm.org/D70386
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Commit d593292f0465c9db1f2c3cdf719009bfdf942a5c by chfast
[X86] Add more addcarry tests
Summary: More addcarry tests for incoming
https://reviews.llvm.org/D70079.
Reviewers: davezarzycki, RKSimon, spatel, craig.topper
Reviewed By: spatel
Subscribers: craig.topper, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70237
The file was modifiedllvm/test/CodeGen/X86/addcarry.ll
The file was modifiedllvm/test/CodeGen/X86/subcarry.ll
Commit 8978c12b39f90194bb35860729ddca5e819f3b92 by sam.parker
[ARM][MVE] Tail predication conversion
This patch modifies ARMLowOverheadLoops to convert a predicated vector
low-overhead loop into a tail-predicatd one. This is currently a very
basic conversion, with the following restrictions:
- Operates only on single block loops.
- The loop can only contain a single vctp instruction.
- No other instructions can write to the vpr.
- We only allow a subset of the mve instructions in the loop.
TODO: Pass the number of elements, not the number of iterations to
dlstp/wlstp.
Differential Revision: https://reviews.llvm.org/D69945
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit a19f0eec94e195cac676d0d473882b48f4fded90 by hans
Revert 1689ad27af5 "[builtins] Implement rounding mode support for
i386/x86_64"
It broke the build with MSVC:
fp_mode.c(20): error C2065: '__asm__': undeclared identifier
> Differential Revision: https://reviews.llvm.org/D69870
The file was modifiedcompiler-rt/test/builtins/Unit/addtf3_test.c
The file was removedcompiler-rt/lib/builtins/i386/fp_mode.c
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/test/builtins/Unit/subtf3_test.c
Commit 4a64d710aebb7c598004d0a26810978cd7311e5b by evgueni.brevnov
[NFC] Test commit. Please ignore.
As a test commit I fixed a misspelling in one of comments in SLP
vectorizer.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 8b5f6c16476c7a8f50b660fb6e1b549759a783b6 by mydeveloperday
[clang-format] [NFC] add recent changes to release notes
Summary: clang-tidy keeps nice release notes of what is added, have
clang-format do the same.
Reviewers: klimek, mitchell-stellar, sylvestre.ledru, sammccall
Reviewed By: mitchell-stellar
Subscribers: merge_guards_bot, Eugene.Zelenko, cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D70355
The file was modifiedclang/docs/ReleaseNotes.rst
Commit d43913ae3818c86e640f406761ec7202a8ebb24e by sam.parker
[ARM][MVE] Enable narrow vectors for tail pred
Remove the restriction, from the mve tail predication pass, that the all
masked vectors instructions need to be 128-bits. This allows us to
supported extending loads and truncating stores.
Differential Revision: https://reviews.llvm.org/D69946
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
Commit fd03be363421fa65cbe5447eef489a67517e9083 by czhengsz
[APInt] add wrap support for `setBits` and `getBitsSet`
Add two new interfaces getBitsSet and getBitsSetWithWrap
Reviewed by: lebedev.ri, craig.topper
Differential Revision: https://reviews.llvm.org/D69032
The file was modifiedllvm/include/llvm/ADT/APInt.h
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
Commit 7db1230a9f5e0185a88019c9aa5b55bd85498285 by hokein.wu
Reland "[clangd] Implement rename by using SelectionTree and
findExplicitReferences."
this reland the commit 4f80fc2491cc35730a9a84b86975278b7daa8522 which
has been reverted at f805c60a093325c16ce4200d2615ef48555d9cb8.
Fixed windows buildbot failure (by adding -fno-delayed-template-parsing
flag).
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit c0fc29c4684a997d282bfed71eb4d903ad16ee25 by pavel
Add operator<< for object::SectionedAddress
The main motivation for this is better failure messages in unit tests.
Split off from D70394.
The file was modifiedllvm/lib/Object/ObjectFile.cpp
The file was modifiedllvm/unittests/Object/CMakeLists.txt
The file was addedllvm/unittests/Object/ObjectFileTest.cpp
The file was modifiedllvm/include/llvm/Object/ObjectFile.h
Commit 39285a0f02c7bc5e4bad8a684a900123b097511d by pavel
Add streaming/equality operators to
DWARFAddressRange/DWARFLocationExpression
The main motivation for this is being able to write simpler assertions
and get better error messages in unit tests.
Split off from D70394.
The file was modifiedllvm/lib/DebugInfo/DWARF/CMakeLists.txt
The file was addedllvm/lib/DebugInfo/DWARF/DWARFLocationExpression.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
The file was modifiedllvm/unittests/DebugInfo/DWARF/CMakeLists.txt
The file was addedllvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h
Commit 88276ddbfea753ac13da5a64c2020b7b0a06617f by thakis
Revert "gn build: (manually) try to merge 1689ad27af"
This reverts commit e4ec2ecf6d4768d681a89263c0a4d29a7b7761ad. 1689ad27af
was reverted as well.
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit f0021f95a1f40369e30bb94be1b0322747631047 by hokein.wu
[clangd] Fix ps4 buildbot failure.
dynamic_cast on ps4 buildbot seems relying on rtti flag which is off by
default. Remove the dynamic_cast in the tests.
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit 6ec07140980770fccfcdf53fe43e7425a9f51a7b by sam.mccall
[clangd] More sensible output for constructors/destructors in hover.
Summary: Previously: both had type void() and return type void. Now:
neither have a type. Constructors return T, destructors return void.
Reviewers: hokein
Subscribers: merge_guards_bot, ilya-biryukov, MaskRay, jkorous,
arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70317
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
Commit bb7c8e984f87e1de7c80abd33d00025ac366efa6 by diana.picus
Mark PR44037 tests as XFAIL on AArch64 Linux dwo
These tests are failing with various assertion failures, but they all
throw the following error message first:
error: a.out 0x0000002d: adding range [0x14-0x24) which has a base that
is less than the function's low PC 0x40060c.
See llvm.org/pr44037.
Differential Revision: https://reviews.llvm.org/D70381
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/frame/inlines/TestInlinedFrame.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/c/inlines/TestRedefinitionsInInlines.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/member-and-local-vars-with-same-name/TestMembersAndLocalsWithSameName.py
Commit e51484abd402016a385e17896e87877b77bf4c7b by sam.mccall
[clangd] Fix hover 'local scope' to include class template params
Summary: Fixes the last part of
https://github.com/clangd/clangd/issues/76
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70325
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit d56dd62a98ebaaa6a30291a3a136851aee2361dd by sven.vanhaastregt
[kate] Add various missing keywords
Patch by Pedro Olsen Ferreira.
The file was modifiedllvm/utils/kate/llvm.xml
Commit d54e5a2c86615757dd2c50ad2b66d004dc226610 by llvmgnsyncbot
gn build: Merge 39285a0f02c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn
Commit 26d36a1903ac3a076dec85753a710ac134839067 by llvmgnsyncbot
gn build: Merge c0fc29c4684
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Commit 4fb8ecdef4c9b19563e428a151c376a4103d65fc by mikhail.maltsev
[libunwind] Adjust the signal_frame test for Arm
Summary: This patch adjusts the signal_frame.pass.cpp to pass on Arm
targets:
* When Arm EHABI is used the unwinder does not use DWARF, hence the
DWARF-specific check unw_is_signal_frame() must be disabled.
* Certain C libraries don't include EH tables, so the unwinder must
not try to step out of main(). The patch moves the test code out of
main() into a separate function to avoid this.
Reviewers: saugustine, ostannard, phosek, jfb, mclow.lists
Reviewed By: saugustine
Subscribers: dexonsmith, aprantl, kristof.beyls, christof,
libcxx-commits, pbarrio, labrinea
Tags: #libc
Differential Revision: https://reviews.llvm.org/D70397
The file was modifiedlibunwind/test/signal_frame.pass.cpp
Commit 4ef9315c4be0217ed9eb511a0e89228d32dc98cd by evgeny
[ThinLTO] Make ValueInfo::operator bool() explicit
Differential revision: https://reviews.llvm.org/D70383
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was addedllvm/test/ThinLTO/X86/funcimport-stats.ll
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
Commit b6d7bbfa004310777cd41448ffc377aea082fc8c by zakk.chen
[RISCV] Support mutilib in baremetal environment
Currently only support the set of multilibs same to riscv-gnu-toolchain.
Reviewers: espindola, asb, kito-cheng, lenary
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D67508
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o
Commit 5f026b6d9e882941fde9b7e5dc0a2d807f7f24f5 by evgueni.brevnov
[DependenceAnalysis] Dependecies for loads marked with "ivnariant.load"
should not be shared with general accesses. Fix for
https://bugs.llvm.org/show_bug.cgi?id=42151
Summary: Dependence anlysis has a mechanism to cache results. Thus for
particular memory access the cache keep track of side effects in basic
blocks. The problem is that for invariant loads dependepce analysis
legally ignores many dependencies due to a special semantic rules for
such loads. But later results calculated for invariant load retrived
from the cache for general case acceses. As a result we have wrong
dependence information causing GVN to do illegal transformation. Fixes,
T42151.
Proposed solution is to disable caching of invariant loads. I think such
loads a pretty rare and it doesn't make sense to extend caching
mechanism for them.
Reviewers: reames, chandlerc, skatkov, morisset, jdoerfert
Reviewed By: reames
Subscribers: hiraditya, test, jdoerfert, lebedev.ri, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64405
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Commit e8a4c74f1157017b22d1579b6ac80fb4a634bc2a by 1.int32
[clang-tidy] Added DefaultOperatorNewCheck.
Summary: Added new checker 'cert-default-operator-new' that checks for
CERT rule MEM57-CPP. Simple version.
Reviewers: aaron.ballman, alexfh, JonasToth, lebedev.ri
Reviewed By: aaron.ballman
Subscribers: hiraditya, martong, mehdi_amini, mgorny, inglorion,
xazax.hun, dkrupp, steven_wu, dexonsmith, Szelethus, gamesh411,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67545
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst
The file was addedclang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/cert-mem57-cpp-cpp17.cpp
The file was addedclang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.h
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
The file was addedclang-tools-extra/test/clang-tidy/cert-mem57-cpp.cpp
Commit 2fcf3e934b1b97329a075bd21f3ba3313fe0a32e by llvmgnsyncbot
gn build: Merge e8a4c74f115
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Commit 7deb8ce4c161e9715181bd3618f059e8a4a742bb by simon
[mips] Joint MipsMemSimmXXXAsmOperand into the single template class.
NFC
The file was modifiedllvm/lib/Target/Mips/MicroMipsInstrInfo.td
The file was modifiedllvm/lib/Target/Mips/MipsInstrInfo.td
Commit a89ca4ae179def7fac1a35e53d7b28d4c9d531be by thomasp
Fix PR44001: assert failure in getFunctionLocalOffsetAfterInsn
Summary: Assert in getFunctionLocalOffsetAfterInsn() fails when
processing a call MachineInstr inside a bundle and compiling with debug
info. This is because labels are added by DwarfDebug::beginInstruction()
which is called for each top-level MI by EmitFunctionBody()'s for-loop
iteration but constructCallSiteEntryDIEs() which calls
getFunctionLocalOffsetAfterInsn() iterates over all MIs.
This commit modifies constructCallSiteEntryDIEs() to get the associated
bundle MI for call MIs inside a bundle and use that to when calling
getFunctionLocalOffsetAfterInsn() and getLabelAfterInsn(). It also skips
loop iterations for bundle MIs since the loop statements are concerned
with debug info for each physical instructions and bundles represent a
group of instructions. It also fix the comment about PCAddr since the
code is getting the return address and not the call address.
Reviewers: dstenb, vsk, aprantl, djtodoro, dblaikie, NikolaPrica
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70293
The file was addedllvm/test/DebugInfo/MIR/Hexagon/bundled-call-pr44001.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 96d814a5fe0a333bc53f52e8f290d1ac009c85fe by Raphael Isemann
[lldb] Remove ClangExpressionDeclMap::ResolveUnknownTypes
Summary: This is some really shady code. It's supposed to kick in after
an expression already failed and then try to look up "unknown types"
that for some undocumented reason can't be resolved during/before
parsing. Beside the fact that we never mark any type as `EVUnknownType`
in either swift-lldb or lldb (which means this code is unreachable),
this code doesn't even make the expression evaluation succeed if if
would ever be executed but instead seems to try to load more debug info
that maybe any following expression evaluations might succeed.
This patch removes ClangExpressionDeclMap::ResolveUnknownTypes and the
related data structures/checks/calls.
Reviewers: davide
Reviewed By: davide
Subscribers: aprantl, abidh, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70388
The file was modifiedlldb/include/lldb/Expression/ExpressionVariable.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Commit bbf4af3109d1958d69c3c1f2af78870207928f4b by llvm-dev
[X86][SSE] Remove XFormVExtractWithShuffleIntoLoad to prevent
legalization infinite loops (PR43971)
As detailed in PR43971/D70267, the use of
XFormVExtractWithShuffleIntoLoad causes issues where we end up in
infinite loops of extract(targetshuffle(vecload)) ->
extract(shuffle(vecload)) -> extract(vecload) ->
extract(targetshuffle(vecload)), there are just too many legalization
checks at every stage that we can't guarantee that
extract(shuffle(vecload)) -> scalarload can occur.
At the moment we see a number of minor regressions as we don't fold
extract(shuffle(vecload)) -> scalarload before legal ops, these can be
addressed in future patches and extension of X86ISelLowering's
combineExtractWithShuffle.
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
The file was modifiedllvm/test/CodeGen/X86/vec_extract.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/insertps-combine.ll
The file was modifiedllvm/test/CodeGen/X86/2011-05-09-loaduse.ll
Commit 6baec971271b7dc9db610da30a192e57ff03d935 by daveb
[llvm-objdump] Print relocation addends in hexadecimal
Summary: Matches GNU objdump. Makes debugging easier for me as I'm
working out addresses from symbol+addend, so it would be good to be
calculating in a single format.
Reviewers: MaskRay, grimar, jhenderson, bd1976llvm
Reviewed By: jhenderson
Subscribers: sdardis, jrtc27, atanasyan, rupprecht, seiya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69997
The file was modifiedllvm/test/Object/X86/objdump-disassembly-inline-relocations.test
The file was modifiedllvm/test/tools/llvm-objdump/relocations-in-nonreloc.test
The file was modifiedllvm/test/MC/AArch64/arm64-elf-relocs.s
The file was modifiedllvm/test/tools/llvm-objdump/relocations-elf.test
The file was modifiedllvm/test/MC/X86/tlsdesc-64.s
The file was modifiedllvm/tools/llvm-objdump/ELFDump.cpp
The file was modifiedllvm/test/MC/AArch64/arm32-elf-relocs.s
The file was modifiedllvm/test/tools/llvm-objdump/X86/section-filter-relocs.test
The file was modifiedllvm/test/MC/Mips/expansion-jal-sym-pic.s
The file was modifiedllvm/test/Object/objdump-relocations.test
The file was modifiedllvm/test/tools/llvm-objdump/X86/demangle.s
The file was modifiedllvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test
The file was modifiedllvm/test/MC/AArch64/adr.s
Commit 41ee54e5d18858c56725485ef637ad5a686368f4 by mitchell
Revert "[clang-tidy] Fix readability-redundant-string-init for
c++17/c++2a"
This reverts commit 06f3dabe4a2e85a32ade27c0769b6084c828a206.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/modernize-use-override.rst
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit f8901aff4a8f1809d62e0d676a1035099c8f734a by mitchell
Revert "[clang-tidy] modernize-use-override new option
AllowOverrideAndFinal"
This reverts commit 50e99563fb0459f5160572eef3c4e6062b8ad3f2.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init-msvc.cpp
Commit 1315f4e009b097d7d1a2a5cf116c1ad55ed5c190 by mitchell
[clang-tidy] Fix readability-redundant-string-init for c++17/c++2a
Summary:
`readability-redundant-string-init` was one of several clang-tidy checks
documented as failing for C++17. (The failure mode in C++17 is that it
changes `std::string Name = ""`; to `std::string Name = Name;`, which
actually compiles but crashes at run-time.)
Analyzing the AST with `clang -Xclang -ast-dump` showed that the outer
`CXXConstructExprs` that previously held the correct SourceRange were
being elided in C++17/2a, but the containing `VarDecl` expressions still
had all the relevant information. So this patch changes the fix to get
its source ranges from `VarDecl`.
It adds one test `std::string g = "u", h = "", i = "uuu", j = "", k;` to
confirm proper warnings and fixit replacements in a single `DeclStmt`
where some strings require replacement and others don't. The
readability-redundant-string-init.cpp and
readability-redundant-string-init-msvc.cpp tests now pass for
C++11/14/17/2a.
Reviewers: gribozavr, etienneb, alexfh, hokein, aaron.ballman,
gribozavr2
Patch by: poelmanc
Subscribers: NoQ, MyDeveloperDay, Eugene.Zelenko, dylanmckay,
cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D69238
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init-msvc.cpp
Commit df11117086fe8effdc5abe6a9955f659876dc64f by mitchell
[clang-tidy] modernize-use-override new option AllowOverrideAndFinal
Summary: In addition to adding `override` wherever possible,
clang-tidy's `modernize-use-override` nicely removes `virtual` when
`override` or `final` is specified, and further removes override when
final is specified. While this is great default behavior, when code
needs to be compiled with gcc at high warning levels that include `gcc
-Wsuggest-override` or `gcc -Werror=suggest-override`, clang-tidy's
removal of the redundant `override` keyword causes gcc to emit a warning
or error. This discrepancy / conflict has been noted by others including
a comment on Stack Overflow and by Mozilla's Firefox developers.
This patch adds an AllowOverrideAndFinal option defaulting to 0 - thus
preserving current behavior - that when enabled allows both `override`
and `final` to co-exist, while still fixing all other issues.
The patch includes a test file verifying all combinations of
virtual/override/final, and mentions the new option in the release
notes.
Reviewers: alexfh, djasper, JonasToth
Patch by: poelmanc
Subscribers: JonasToth, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70165
The file was addedclang-tools-extra/test/clang-tidy/checkers/modernize-use-override-allow-override-and-final.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/modernize-use-override.rst
Commit f6ffe6fc9d9b8b0e197500b5b61f3e8d55599d7a by Raphael Isemann
[lldb] Also test Get[De]mangledName of SBType in
TestSBTypeClassMembers.py
I just used the mangled names as this test is anyway a Darwin-only
ObjC++ test. We probably should also test this on other platforms but
that will be another commit as we need to untangle the ObjC and C++
parts first.
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py
Commit ef5e3b85eecc26e672fe559089a89062cbeda4b5 by evgeny
[ThinLTO] Simplify code. NFC
The file was modifiedllvm/lib/LTO/LTO.cpp
Commit 3de7cc9fc01c8eb19eb344691c4747def1e00311 by thakis
Revert "[RISCV] Support mutilib in baremetal environment"
This reverts commit b6d7bbfa004310777cd41448ffc377aea082fc8c.
Driver/riscv64-toolchain.c fails on Windows.
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o
The file was modifiedclang/test/Driver/riscv32-toolchain.c
Commit c7f85f3a84a5d14a13bd8fe6eef93ae34343cf8a by llvm-dev
[PowerPC] Regenerate vsx_insert_extract_le.ll tests
The file was modifiedllvm/test/CodeGen/PowerPC/vsx_insert_extract_le.ll
Commit fed8c068922319cc6a84fd08e75eccf7376b21c4 by llvm-dev
[ARM] Regenerate vector lane store tests
The file was modifiedllvm/test/CodeGen/ARM/vstlane.ll
Commit 6de85095ed7d8f161a7f39422d42b5bc2d2dcb98 by lebedev.ri
[NFC][X86] Fixup comment in CodeGen/X86/cmov.ll
As noted in post-commit review for
https://reviews.llvm.org/D59035#inline-631659
The file was modifiedllvm/test/CodeGen/X86/cmov.ll
Commit 6fd11b14f604914df4f777f4c7ff20dbbc50877b by dfukalov
[AMDGPU] Tune inlining parameters for AMDGPU target (part 2)
Summary: Most of IR instructions got better code size estimations after
commit 47a5c36b. So default parameters values should be updated to
improve inlining and unrolling for the target.
Reviewers: rampitec, arsenm
Reviewed By: rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr,
t-tye, hiraditya, zzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70391
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Commit 714445e406f043e861024f394fd58eb26c15e51a by Raphael Isemann
Fix modules build by adding missing includes
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
The file was modifiedllvm/include/llvm/Analysis/Utils/Local.h
Commit b696b9dba7b66307c225c2612def8bbb328805b7 by arsenm2
DAG: Add function context to isFMAFasterThanFMulAndFAdd
AMDGPU needs to know the FP mode for the function to answer this
correctly when this is removed from the subtarget.
AArch64 had to make this more complicated by using this from an IR hook,
so add an IR typed overload.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c54d21c848d350e85cd8f95a725fc12f6fa3ab19 by Raphael Isemann
[lldb][NFC] Early exit in IRExecutionUnit::GetStaticInitializers
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
Commit 765b1250f6845e765abf01908b122dab441c2a42 by sam.mccall
[clangd] Untangle Hover from XRefs, move into own file.
Summary: This is mostly mechanical, with a few exceptions:
- getDeducedType moved into AST.h where it belongs. It now takes
  ASTContext instead of ParsedAST, and avoids using the preprocessor.
- hover now uses SelectionTree directly rather than via
  getDeclAtPosition helper
- hover on 'auto' used to find the decl that contained the 'auto' and
  use that to set Kind and documentation for the hover result.
  Now we use targetDecl() to find the decl matching the deduced type
instead.
  This changes tests, e.g. 'variable' -> class for auto on lambdas.
  I think this is better, but the motivation was to avoid depending on
  the internals of DeducedTypeVisitor. This functionality is removed
  from the visitor.
Reviewers: kadircet
Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman,
usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70357
The file was addedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was addedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ExpandAutoType.cpp
The file was addedclang-tools-extra/clangd/Hover.h
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/XRefs.h
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit c9b87981d20aa572a08ffde6209cb2575cf16407 by 1.int32
[clang-tidy] DefaultOperatorNewCheck test fixes.
The file was removedclang-tools-extra/test/clang-tidy/cert-mem57-cpp-cpp17.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cert-mem57-cpp.cpp
The file was removedclang-tools-extra/test/clang-tidy/cert-mem57-cpp.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cert-mem57-cpp-cpp17.cpp
Commit ea23b6428b88ed50a2cfc91b783f627fa139bb36 by arsenm2
AMDGPU: Be explicit about denormal mode in MIR tests
Start checking the machine function in GlobalISel instead of the target
directly.
This temporarily breaks fcanonicalize selection in GlobalISel.
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s64.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/omod-nsz-flag.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcanonicalize.mir
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s32.mir
Commit db0ed3e429b55d1730d1ecc253b0643de7fca099 by arsenm2
AMDGPU: Refactor treatment of denormal mode
Start moving towards treating this as a property of the calling
convention, and not the subtarget. The default denormal mode should not
be part of the subtarget, and be moved into a separate function
attribute.
This patch is still NFC. The denormal mode remains as a subtarget
feature for now, but make the necessary changes to switch to using an
attribute.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcanonicalize.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Commit 33d93c3d0b4a331632902f5fb9874f4e021a2f58 by sam.mccall
[clangd] Show values of more expressions on hover
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70359
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 254b4f250007ef9f2d2377eb912963beafa39754 by simon.tatham
[ARM,MVE] Add intrinsics for scalar shifts.
This fills in the small family of MVE intrinsics that have nothing to do
with vectors: they implement bit-shift operations on 32- or 64-bit
values held in one or two general-purpose registers. Most of these shift
operations saturate if shifting left, and round to nearest if shifting
right, although LSLL and ASRL behave like ordinary shifts.
When these instructions take a variable shift count in a register, they
pay attention to its sign, so that (for example) LSLL or UQRSHLL will
shift left if given a positive number but right if given a negative one.
That makes even LSLL and ASRL different enough from standard LLVM IR
shift semantics that I couldn't see any better alternative than to
simply model the whole family as a set of MVE-specific IR intrinsics.
(The //immediate// forms of LSLL and ASRL, on the other hand, do behave
exactly like a standard IR shift of a 64-bit value. In fact, those forms
don't have ACLE intrinsics defined at all, because you can just write an
ordinary C shift operation if you want one of those.)
The 64-bit shifts have to be instruction-selected in C++, because they
deliver two output values. But the 32-bit ones are simple enough that I
could write a DAG isel pattern directly into each Instruction record.
Reviewers: ostannard, MarkMurrayARM, dmgreen
Reviewed By: dmgreen
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D70319
The file was modifiedclang/include/clang/Basic/arm_mve.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/scalar-shifts.ll
The file was modifiedclang/include/clang/Basic/arm_mve_defs.td
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
Commit 4a6d03ad0e00c75c18d5740438d49918f99cb4f2 by Raphael Isemann
[lldb] Add logging to IRExecutionUnit::GetStaticInitializers
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
Commit 6265be2782d74216a3b42aa28cc43e3a9a4f658c by spatel
[SLP] add test for reduction miscompile; NFC
See D70148 for discussion.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
Commit e6c55fbe0199f1e8db3ca00f5461a3f7dd66f178 by daveb
Fixup AVR tests to reflect changes in addend format in llvm-objdump
Summary: Changes to llvm-objdump made in D69997
Reviewers: thakis, jhenderson, grimar
Reviewed By: thakis
Subscribers: dylanmckay, Jim, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70438
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/in-pass.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/rjmp-pass.s
The file was modifiedllvm/test/MC/AVR/relocations.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/call-pass.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/sbi-pass.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/adiw-pass.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/brbs-pass.s
The file was modifiedllvm/test/MC/AVR/out-of-range-fixups/lds-pass.s
Commit 41bac76da873bf9b4b5d1353299ca68b4ad26ff3 by llvmgnsyncbot
gn build: Merge 765b1250f68
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Commit 39de82ecc9c2e461e1318ed9926286a1eed2be3f by spatel
[SLP] fix insertion point for min/max reduction
As discussed in D70148 (and caused a revert of the original commit): if
we insert at the select, then we can produce invalid IR because the
replacement for the compare may have uses before the select.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 980653621ef563df41f1d09a1ac8c58708f79930 by mitchell
[clang-tidy] Give readability-redundant-member-init an option
IgnoreBaseInCopyConstructors to avoid breaking code with gcc
-Werror=extra
Summary: readability-redundant-member-init removes redundant /
unnecessary member and base class initialization. Unfortunately for the
specific case of a copy constructor's initialization of a base class,
gcc at strict warning levels warns if "base class is not initialized in
the copy constructor of a derived class".
This patch adds an option `IgnoreBaseInCopyConstructors` defaulting to 0
(thus maintaining current behavior by default) to skip the specific case
of removal of redundant base class initialization in the copy
constructor. Enabling this option enables the resulting code to continue
to compile successfully under `gcc -Werror=extra`. New test cases
`WithCopyConstructor1` and `WithCopyConstructor2` in
clang-tools-extra/test/clang-tidy/readability-redundant-member-init.cpp
show that it removes redundant members even from copy constructors.
Reviewers: malcolm.parsons, alexfh, hokein, aaron.ballman, lebedev.ri
Patch by: poelmanc
Subscribers: mgehre, lebedev.ri, cfe-commits
Tags: #clang, #clang-tools-extra
Differential revision: https://reviews.llvm.org/D69145
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-redundant-member-init.rst
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-member-init.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit c9edaa828eb84a62af2042a1a64168e32ea32924 by jasonliu
[AIX][XCOFF] Write Function descriptors and TOC base to data section
This patch implements writing function descriptors and TOC base into
data section, and also add function descriptors(both csect and label)
and TOC base symbols to the symbol table.
The file was addedllvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit 62871305c28f3102d5d06da929379674f2d40d04 by mitchell
[NFC] Attempting to fix sphinx build failure with badly encoded
characters from incoming patch.
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit b81cc6032902c810e0fde485d3092a947dc38541 by thomasp
[clang][NFC] Make various uses of Regex const
The const-correctness of match() was fixed in rL372764, which allows
uses of Regex objects to be const in cases they couldn't be before. This
patch tightens up the const-ness of Regex in various such cases.
Reviewers: thopre
Reviewed By: thopre
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68155
The file was modifiedclang/lib/Format/BreakableToken.cpp
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp
The file was modifiedclang/lib/Format/BreakableToken.h
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/include/clang/Tooling/Inclusions/HeaderIncludes.h
The file was modifiedclang/tools/clang-refactor/TestSupport.cpp
Commit 6c2151bf4c829958891e65a4cc396daa6d308eb0 by pavel
[cmake] Disable GCC 9's -Winit-list-lifetime warning in ArrayRef
Summary: This is a new warning which fires when one stores a reference
to the initializer_list contents in a way which may outlive the
initializer_list which it came from. In llvm this warning is triggered
whenever someone uses the initializer_list ArrayRef constructor.
This is indeed a dangerous thing to do (I myself was bitten by that at
least once), but it is not more dangerous than calling other ArrayRef
constructors with temporary objects -- something which we are used to
and have accepted as a tradeoff for ArrayRef's efficiency.
Currently, this warnings generates so much output that it completely
obscures any actionable warnings, so this patch disables it.
Reviewers: rnk, aaron.ballman
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70122
The file was modifiedllvm/include/llvm/ADT/ArrayRef.h
Commit 7fe9435dc88050ee78eb1d4adec87610dce468f7 by arsenm2
Work on cleaning up denormal mode handling
Cleanup handling of the denormal-fp-math attribute. Consolidate places
checking the allowed names in one place.
This is in preparation for introducing FP type specific variants of the
denormal-fp-mode attribute. AMDGPU will switch to using this in place of
the current hacky use of subtarget features for the denormal mode.
Introduce a new header for dealing with FP modes. The constrained
intrinsic classes define related enums that should also be moved into
this header for uses in other contexts.
The verifier could use a check to make sure the denorm-fp-mode attribute
is sane, but there currently isn't one.
Currently, DAGCombiner incorrectly asssumes non-IEEE behavior by default
in the one current user. Clang must be taught to start emitting this
attribute by default to avoid regressions when this is switched to
assume ieee behavior if the attribute isn't present.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was addedllvm/include/llvm/ADT/FloatingPointMode.h
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was addedllvm/unittests/ADT/FloatingPointMode.cpp
Commit 50b17de05dbcd4d172d44e2f9847ff580fa791cd by llvmgnsyncbot
gn build: Merge 7fe9435dc88
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Commit 4f7dce78c2372615b306435ba3d02ec684a6761c by mitchell
[NFC] Attempting to fix sphinx build failure with badly encoded
characters from incoming patch.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-redundant-member-init.rst
Commit 3a76b8a538c0d20efe823f03a133c778e842270e by Andrey.Churbanov
Fix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD.
Patch by adalava (Alfredo Dal'Ava J.nior)
Differential Revision: https://reviews.llvm.org/D67190
The file was modifiedopenmp/runtime/src/kmp_platform.h
The file was modifiedopenmp/runtime/src/z_Linux_asm.S
Commit 6b0eb5a6727590472e2e9cbf65fa2d7c3a18d2b5 by i
[ELF] Improve --gc-sections compatibility with GNU ld regarding section
groups
Based on D70020 by serge-sans-paille.
The ELF spec says:
> Furthermore, there may be internal references among these sections
that would not make sense if one of the sections were removed or
replaced by a duplicate from another object. Therefore, such groups must
be included or omitted from the linked object as a unit. A section
cannot be a member of more than one group.
GNU ld has 2 behaviors that we don't have:
- Group members (nextInSectionGroup != nullptr) are subject to garbage
collection.
This includes non-SHF_ALLOC SHT_NOTE sections.
In particular, discarding non-SHF_ALLOC SHT_NOTE sections is an
expected behavior by the Annobin
project. See

https://developers.redhat.com/blog/2018/02/20/annobin-storing-information-binaries/
for more information.
- Groups members are retained or discarded as a unit.
Members may have internal references that are not expressed as
SHF_LINK_ORDER, relocations, etc. It seems that we should be more
conservative here:
if a section is marked live, mark all the other member within the
group.
Both behaviors are reasonable. This patch implements them.
A new field InputSectionBase::nextInSectionGroup tracks the next member
within a group. on ELF64, this increases sizeof(InputSectionBase) froms
144 to 152.
InputSectionBase::dependentSections tracks section dependencies, which
is used by both --gc-sections and /DISCARD/. We can't overload it for
the "next member" semantic, because we should allow /DISCARD/ to discard
sections independent of --gc-sections (GNU ld behavior). This behavior
may be reasonably used by `/DISCARD/ : { *(.ARM.exidx*) }` or `/DISCARD/
: { *(.note*) }` (new test `linkerscript/discard-group.s`).
Reviewed By: ruiu
Differential Revision: https://reviews.llvm.org/D70146
The file was modifiedlld/ELF/InputSection.h
The file was addedlld/test/ELF/linkerscript/discard-group.s
The file was modifiedlld/ELF/MarkLive.cpp
The file was addedlld/test/ELF/gc-sections-group.s
The file was modifiedlld/ELF/InputFiles.cpp
Commit 6e418decd936a3e22dec5cebc77ecb86dc7f37c3 by jdenny.ornl
[FileCheck] Use lit's internal shell for the test suite
An advantage is that there are less portability concerns when writing
tests.  For example, `-u` is not supported by all implementations of
`env`, but lit's internal shell provides its own `env` that supports
`-u`.
A disadvantage is that some shell constructs, such as parentheses, are
not supported, but FileCheck's test suite currently doesn't require such
constructs.
For comparison, lit configures its test suite in the same manner.  See
`llvm/utils/lit/tests/lit.cfg`.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D70278
The file was modifiedllvm/test/FileCheck/lit.local.cfg
Commit dd471dbe99a7e017357809151df56f2d4c3e7a31 by yitzhakm
[libTooling] Extend `buildASTFromCodeWithArgs` to take files argument.
Summary: Adds an optional parameter to `buildASTFromCodeWithArgs` that
allows the user to pass additional files that the main code needs to
compile. This change makes
`buildASTFromCodeWithArgs` consistent with `runToolOnCodeWithArgs`.
Patch by Alexey Eremin.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70175
The file was modifiedclang/include/clang/Tooling/Tooling.h
The file was modifiedclang/lib/Tooling/Tooling.cpp
Commit b0561b3346e7bf0ae974995ca95b917eebde18e1 by tyker
[NFC] Refactor representation of materialized temporaries
Summary: this patch refactor representation of materialized temporaries
to prevent an issue raised by rsmith in
https://reviews.llvm.org/D63640#inline-612718
Reviewers: rsmith, martong, shafik
Reviewed By: rsmith
Subscribers: thakis, sammccall, ilya-biryukov, rnkovacs, arphaman,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69360
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/include/clang/Basic/DeclNodes.td
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Analysis/Consumed.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/lib/Sema/JumpDiagnostics.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/include/clang/Sema/Template.h
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
The file was modifiedclang/lib/Analysis/ThreadSafetyCommon.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
Commit 4681e2e43420fa10e4e1c17eb78649922678a440 by jonchesterfield
[nfc][libomptarget] Write amdgcn macros in terms of compiler intrinsics
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
Commit 1d943ae44c430430c8820464abbd4edb5467fcf4 by a.bataev
[OPENMP]Rename function, NFC.
Change the name of the CGOpenMPRuntime::emitOMPIfClause to
CGOpenMPRuntime::emitIfClause.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
Commit ce5de93e838f7391760ba2956c7e0ae5d203cb6f by i
[ELF] Disallow out-of-range section group indices after D70146
Exposed by invalid/sht-group-wrong-section.test
http://45.33.8.238/win/2613/step_9.txt
The file was modifiedlld/ELF/InputFiles.cpp
Commit e531750c6cf9ab6ca987ffbfe100b1d766269eb5 by arsenm2
clang: Add -fconvergent-functions flag
The CUDA builtin library is apparently compiled in C++ mode, so the
assumption of convergent needs to be made in a typically non-SPMD
language. The functions in the library should still be assumed
convergent. Currently they are not, which is potentially incorrect and
this happens to work after the library is linked.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was addedclang/test/CodeGen/convergent-functions.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/CodeGenCUDA/propagate-metadata.cu
The file was modifiedclang/include/clang/Driver/Options.td
Commit b9a92206b6ef8b369dc266d8cb70553ebef293bd by dan
[Symbolizers] On Darwin compute function offset when possible.
Summary: The sanitizer symbolizers support printing the function offset
(difference between pc and function start) of a stackframe using the
`%q` format specifier.
Unfortunately this didn't actually work because neither the atos or
dladdr symbolizer set the `AddressInfo::function_offset` field.
This patch teaches both symbolizers to try to compute the function
offset. In the case of the atos symbolizer, atos might not report the
function offset (e.g. it reports a source location instead) so in this
case it fallsback to using `dladdr()` to compute the function offset.
Two test cases are included.
rdar://problem/56695185
Reviewers: kubamracek, yln
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D69549
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-dladdr.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-no-external-symbolizer.cpp
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-atos.cpp
Commit b117ec8be0f350f6a644de28a9871cf0183a1c54 by Jonas Devlieghere
[LLDB] Fix formatting in the driver (NFC)
The file was modifiedlldb/tools/driver/Driver.cpp
Commit f55cd39f19134392b16bc1fd6c558214778a3bb8 by alexandre.ganea
[C-index] Fix test when using Debug target & MSVC STL
Avoids a deadlock in "clang/test/Index/crash-recovery-modules.m" when
building with the MSVC STL & _ITERATOR_DEBUG_LEVEL == 2 (meaning a DEBUG
build)
Differential Revision: https://reviews.llvm.org/D69959
The file was modifiedclang/include/clang/Frontend/FrontendOptions.h
Commit b91f798fde42668a3a7b361c015deb787a46720d by diggerlin
implement printing out raw section data of xcoff objectfile for
llvm-objdump
SUMMARY: implement printing out raw section data of xcoff objectfile for
llvm-objdump and option -D --disassemble-all option for llvm-objdump
Reviewers: Sean Fertile Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D70255
The file was addedllvm/test/tools/llvm-objdump/xcoff-raw-section-data.test
The file was addedllvm/test/tools/llvm-objdump/xcoff-disassemble-all.test
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
Commit 411bfe476b758c09a0c9d4b3176e46f0a70de3bb by david.green
[ARM] Add and update a lot of VLDn tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vld3.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
Commit 882f23caeae5ad3ec1806eb6ec387e3611649d54 by david.green
[ARM] MVE interleaving load and stores.
Now that we have the intrinsics, we can add VLD2/4 and VST2/4 lowering
for MVE. This works the same way as Neon, recognising the load/shuffles
combination and converting them into intrinsics in a pre-isel pass,
which just calls getMaxSupportedInterleaveFactor, lowerInterleavedLoad
and lowerInterleavedStore.
The main difference to Neon is that we do not have a VLD3 instruction.
Otherwise most of the code works very similarly, with just some minor
differences in the form of the intrinsics to work around. VLD3 is
disabled by making isLegalInterleavedAccessType return false for those
cases.
We may need some other future adjustments, such as VLD4 take up half the
available registers so should maybe cost more. This patch should get the
basics in though.
Differential Revision: https://reviews.llvm.org/D69392
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll
Commit 77f8a3324b741bc78c93d1076a31b77f331a0bc5 by Adrian Prantl
Add a "Using LLDB" section to the welcome page of the website
This is an attempt to feature the user-facing resources more prominently
on the LLDB website by calling out the tutorial and the GDB command map
wight on the start page.
I also moved the "Why a new debugger" section to the "Goals" subpage.
Given that LLDB's first release is almost a decade in the past now, the
title is a bit of an anachronism.
Lastly, I moved the Architecture sub-page from "use" to "resources",
since end-users do not care about the source code layout.
Differential Revision: https://reviews.llvm.org/D70449
The file was addedlldb/docs/resources/architecture.rst
The file was modifiedlldb/docs/.htaccess
The file was removedlldb/docs/use/architecture.rst
The file was modifiedlldb/docs/index.rst
The file was modifiedlldb/docs/status/goals.rst
Commit bfebc63a3dbd9505792ee000dbfc60371f02267a by Alex Lorenz
[ADT][Expensive checks] Create a std::random_device seed only once when
shuffling before sorting
This speeds up the build of compiler-rt with an expensive checks enabled
clang by an order of 1 or 2 magnitudes on my machine. I was hoping this
would also fix the 'large.test' libFuzzer timeout on the expensive
checks bot on green dragon
http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/, but
the fuzzer test still takes too long to compile because of other IR/MIR
verification inefficiencies.
Differential Revision: https://reviews.llvm.org/D70288
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit c97f303880c26007b4e74e3fd0bde5ed802a25f1 by tstellar
test-release.sh: Update to fetch source from GitHub
Summary: This also changes the test-release.sh script to build using the
monorepo layout instead of copying sub-projects into llvm/tools or
llvm/projects.
Reviewers: jdoerfert, hans
Reviewed By: hans
Subscribers: hans, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70353
The file was modifiedllvm/utils/release/test-release.sh
Commit 2535fe5ad3327c8f77654a728986ca0afdf249f7 by eugenis
MTE: add more unchecked instructions.
Summary: In particular, 1- and 2-byte loads and stores ignore the
pointer tag when using SP as the base register.
Reviewers: pcc, ostannard
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70341
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-unchecked-ld-st.ll
Commit a84b48d01e3e77b754a6d4d7326e4a0c4faa10ab by jonchesterfield
[nfc][libomptarget] Remove casts of string literals to char*
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/parallel.cu
Commit 0a8e7ca402eb3470eb5faf4982581771cb849130 by spatel
[SLP] fix miscompile on min/max reductions with extra uses (PR43948)
(2nd try)
The 1st attempt was reverted because it revealed an existing bug where
we could produce invalid IR (use of value before definition). That
should be fixed with: rG39de82ecc9c2
The bug manifests as replacing a reduction operand with an undef value.
The problem appears to be limited to cases where a min/max reduction has
extra uses of the compare operand to the select.
In the general case, we are tracking "ExternallyUsedValues" and an
"IgnoreList" of the reduction operations, but those may not apply to the
final compare+select in a min/max reduction.
For that, we use replaceAllUsesWith (RAUW) to ensure that the new
vectorized reduction values are transferred to all subsequent users.
Differential Revision: https://reviews.llvm.org/D70148
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
Commit 3279724905c14a8db383ade53af40a0dd49504d8 by Duncan P. N. Exon Smith
llvm/ObjCARC: Eliminate inlined AutoreleaseRV calls
Pair up inlined AutoreleaseRV calls with their matching RetainRV or
ClaimRV.
- RetainRV cancels out AutoreleaseRV.  Delete both instructions.
- ClaimRV is a peephole for RetainRV+Release.  Delete AutoreleaseRV and
replace ClaimRV with Release.
This avoids problems where more aggressive inlining triggers memory
regressions.
This patch is happy to skip over non-callable instructions and non-ARC
intrinsics looking for the pair.  It is likely sound to also skip over
opaque function calls, but that's harder to reason about, and it's not
relevant to the goal here: if there's an opaque function call splitting
up a pair, it's very unlikely that a handshake would have happened
dynamically without inlining.
Note that this patch also subsumes the previous logic that looked
backwards from ReleaseRV.
https://reviews.llvm.org/D70370 rdar://problem/46509586
The file was addedllvm/test/Transforms/ObjCARC/inlined-autorelease-return-value.ll
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
The file was modifiedllvm/test/Transforms/ObjCARC/unsafe-claim-rv.ll
Commit ba71ca37208faf0916b4cae4298789796b791cfe by Vedant Kumar
[DebugInfo] Describe size of spilled values in call site params
A call site parameter description of a memory operand needs to
unambiguously convey the size of the operand to prevent incorrect entry
value evaluation.
Thanks for David Stenberg for pointing this issue out!
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
Commit c444a01df3553d9405cbd4dac3c1074a71e6c2e1 by tyker
fixe leak found by asan build bot
The file was modifiedclang/lib/AST/DeclCXX.cpp
Commit ea13683f3d848df05d836f6d86dc40ba2113bb43 by diggerlin
The patch is the compiler error specific on the compile error on CMVC
SUMMARY:
CMVC has a compiler error on the const uint64_t OffsetToRaw = is64Bit()
                                  ?
toSection64(Sec)->FileOffsetToRawData
                                  :
toSection32(Sec)->FileOffsetToRawData;
while  gcc  compiler do not have the problem. I have to change the code
to
  uint64_t OffsetToRaw;
if (is64Bit())
   OffsetToRaw = toSection64(Sec)->FileOffsetToRawData;
else
   OffsetToRaw = toSection32(Sec)->FileOffsetToRawData;
Reviewers: Sean Fertile Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D70255
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
Commit 1aacf58819a27f428a46ce839a0ee797af03c1fd by Vedant Kumar
[profile] Unbreak Fuchsia/Windows after D68351
Continuous mode is not yet supported on Fuchsia/Windows, however an
error should not be reported unless the user attempted to actually
enable continuous mode.
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
Commit 586f65d31f32ca6bc8cfdb8a4f61bee5057bf6c8 by rnk
Add a key method to Sema to optimize debug info size
It turns out that the debug info describing the Sema class is an
appreciable percentage of the total object file size of objects in Sema.
By adding a key function, clang is able to optimize the debug info size
by emitting a forward declaration in TUs that do not define the key
function.
On Windows, with clang-cl, these are the total sizes of object files in
Sema before and after this change, compiling with optimizations and
debug info:
before: 335,012 KB
after:  278,116 KB
delta:  -56,896 KB
percent: -17.0%
The effect on link time was negligible, despite having ~56MB less input.
On Linux, with clang, these are the same sizes using DWARF -g and
optimizations:
before: 603,756 KB
after:  515,340 KB
delta:  -88,416 KB
percent: -14.6%
I didn't use type units, DWARF-5, fission, or any other special flags.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D70340
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 75b5db3094399302a1f60f5e09cf3d6ed8d161fb by Tim Northover
[docs] Remove dangling parenthesis from documentation
Patch by leiteg.
The file was modifiedllvm/docs/CommandLine.rst
Commit 568db780bb7267651a902da8e85bc59fc89aea70 by Vedant Kumar
[CGDebugInfo] Emit subprograms for decls when AT_tail_call is understood
(reland with fixes)
Currently, clang emits subprograms for declared functions when the
target debugger or DWARF standard is known to support entry values
(DW_OP_entry_value & the GNU equivalent).
Treat DW_AT_tail_call the same way to allow debuggers to follow cross-TU
tail calls.
Pre-patch debug session with a cross-TU tail call:
```
* frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
   frame #1: 0x0000000100000f99 main`main at a.c:8:10 [opt]
```
Post-patch (note that the tail-calling frame, "helper", is visible):
```
* frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
   frame #1: 0x0000000100000f80 main`helper [opt] [artificial]
   frame #2: 0x0000000100000f99 main`main at a.c:8:10 [opt]
```
This was reverted in 5b9a072c because it attached declaration
subprograms to inlinable builtin calls, which interacted badly with the
MergeICmps pass. The fix is to not attach declarations to builtins.
rdar://46577651
Differential Revision: https://reviews.llvm.org/D69743
The file was modifiedllvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
The file was modifiedclang/test/CodeGen/debug-info-extern-call.c
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 0d4211f4e753057feec32938e596d037d4f5a6aa by Vedant Kumar
[profile] Address unused function warnings on Windows after D69586
This '#ifdef's out two functions which are unused on Windows, to prevent
-Wunused-function warnings.
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
Commit d08c056695a59fb1cfc7ccc9a2784bb9a6514551 by a.bataev
[OPENMP50]Add if clause in simd directive.
According to OpenMP 5.0, if clause can be used in 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/Basic/OpenMPKinds.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/test/OpenMP/simd_ast_print.cpp
The file was addedclang/test/OpenMP/simd_if_messages.cpp
The file was modifiedclang/test/OpenMP/simd_codegen.cpp
Commit 3a8104a9ea3d88fb4d0ef17185e420c814757bfd by listmail
Precommit test showing oppurtunity when computing exit tests of
unsimplified IR
If we partially unswitch a loop, we leave around the (and i1 X, true) or
(or i1 X, false) forms.  At the moment, this inhibits SCEVs ability to
compute trip counts, patch forthcoming.
The file was addedllvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
Commit 8c48405069085a2c8b6b80816eda99e5dad31fc1 by Duncan P. N. Exon Smith
Wrap C APIs with pragmas enforcing -Werror=strict-prototypes
Force `-Werror=strict-prototypes` so that C API tests fail to compile if
we add a non-prototype declaration.  This should help avoid regressions
like bddecba4b333f7772029b4937d2c34f9f2fda6ca was fixing.
https://reviews.llvm.org/D70285 rdar://problem/57203137
The file was modifiedllvm/include/llvm-c/Object.h
The file was modifiedllvm/include/llvm-c/BitReader.h
The file was modifiedclang/include/clang-c/CXString.h
The file was modifiedclang/include/clang-c/CXCompilationDatabase.h
The file was addedllvm/include/llvm-c/ExternC.h
The file was modifiedllvm/include/llvm-c/Initialization.h
The file was modifiedllvm/include/llvm-c/DebugInfo.h
The file was addedclang/include/clang-c/ExternC.h
The file was modifiedllvm/include/llvm-c/Transforms/Coroutines.h
The file was modifiedllvm/include/llvm-c/Transforms/Utils.h
The file was modifiedllvm/include/llvm-c/Transforms/Vectorize.h
The file was modifiedllvm/include/llvm-c/Remarks.h
The file was modifiedllvm/include/llvm-c/Transforms/InstCombine.h
The file was modifiedllvm/include/llvm-c/Types.h
The file was modifiedllvm/include/llvm-c/ExecutionEngine.h
The file was modifiedclang/include/clang-c/FatalErrorHandler.h
The file was modifiedclang/include/clang-c/CXErrorCode.h
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/include/clang-c/Documentation.h
The file was modifiedllvm/include/llvm-c/Core.h
The file was modifiedclang/include/clang-c/BuildSystem.h
The file was modifiedllvm/include/llvm-c/Transforms/Scalar.h
The file was modifiedllvm/include/llvm-c/lto.h
The file was modifiedllvm/include/llvm-c/Transforms/AggressiveInstCombine.h
The file was modifiedllvm/include/llvm-c/Transforms/IPO.h
The file was modifiedllvm/include/llvm-c/Target.h
The file was modifiedllvm/include/llvm-c/Disassembler.h
The file was modifiedllvm/include/llvm-c/Transforms/PassManagerBuilder.h
The file was modifiedllvm/include/llvm-c/BitWriter.h
The file was modifiedllvm/include/llvm-c/IRReader.h
The file was modifiedllvm/include/llvm-c/Comdat.h
The file was modifiedllvm/include/llvm-c/Support.h
The file was modifiedllvm/include/llvm-c/LinkTimeOptimizer.h
The file was modifiedllvm/include/llvm-c/Linker.h
The file was modifiedclang/include/clang-c/Platform.h
The file was modifiedllvm/include/llvm-c/TargetMachine.h
The file was modifiedllvm/include/llvm-c/OrcBindings.h
The file was modifiedllvm/include/llvm-c/Analysis.h
The file was modifiedllvm/include/llvm-c/Error.h
The file was modifiedllvm/include/llvm-c/ErrorHandling.h
Commit cd4811360e2a1d23578073c6c99b2ef8ba276289 by benny.kra
[ValueTracking] Add a basic version of isKnownNonInfinity and use it to
detect more NoNaNs
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/known-never-nan.ll
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
Commit cf823ce4ad9d04c69b7c29d236f7b14c875111c2 by Amara Emerson
[AArch64] Fix MIR test instruction to not have invalid operand.
In anticipation of an improved verifier in D63973.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-phi-insertpt-decrement.mir
Commit f3eb5dee5756876be0524c59c21478659eba8c4d by listmail
[LoopPred] Generalize profitability check to handle unswitch output
Unswitch (and other loop transforms) like to generate loop exit blocks
with unconditional successors, and phi nodes (LCSSA, or simple multiple
exiting blocks sharing an exit).  Generalize the "likely very rare exit"
check slightly to handle this form.
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/test/Transforms/LoopPredication/predicate-exits.ll
Commit 70c68a6b0e515967dba5b30f6a60e220a8cd8d2c by listmail
[NFC] Factor out utilities for manipulating widenable branches
With the widenable condition construct, we have the ability to reason
about branches which can be 'widened' (i.e. made to fail more often).
We've got a couple o transforms which leverage this.  This patch just
cleans up the API a bit.
This is prep work for generalizing our definition of a widenable branch
slightly.  At the moment "br i1 (and A, wc()), ..." is considered
widenable, but oddly, neither "br i1 (and wc(), B), ..." or "br i1 wc(),
..." is.  That clearly needs addressed, so first, let's centralize the
code in one place.
The file was modifiedllvm/lib/Analysis/GuardUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/GuardUtils.h
The file was modifiedllvm/include/llvm/Analysis/GuardUtils.h
The file was modifiedllvm/lib/Transforms/Utils/GuardUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GuardWidening.cpp
Commit ea8e02822341e2421b94167d828d3f224e767424 by puyan
[clang][IFS] Driver Pipeline: generate stubs after standard pipeline (2)
Second Landing Attempt:
Up until now, clang interface stubs has replaced the standard PP -> C ->
BE -> ASM -> LNK pipeline. With this change, it will happen in
conjunction with it. So what when you build your code you will get an
a.out or lib.so as well as an interface stub file.
Example:
clang -shared -o libfoo.so -emit-interface-stubs ...
will generate both a libfoo.so and a libfoo.ifso. The .so file will
contain the code from the standard compilation pipeline and the .ifso
file will contain the ELF stub library.
Differential Revision: https://reviews.llvm.org/D70274
The file was modifiedclang/test/InterfaceStubs/windows.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
The file was addedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was modifiedclang/lib/Driver/Types.cpp
The file was addedclang/test/InterfaceStubs/ppc.cpp
Commit 377d70cdea733e36107e99d9148864d24797d51c by puyan
[clang][IFS] Fixing failing bots that do not have PPC target or
"orbis-ld"
The file was modifiedclang/test/InterfaceStubs/ppc.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit 28a91473e33eb3585a87514e4cf2523a9a587d82 by listmail
[GuardWidening] Remove WidenFrequentBranches transform
This code has never been enabled.  While it is tested, it's complicating
some refactoring.  If we decide to re-implement this, doing it in
SimplifyCFG would probably make more sense anyways.
The file was removedllvm/test/Transforms/GuardWidening/widen-frequent-branches.ll
The file was modifiedllvm/lib/Transforms/Scalar/GuardWidening.cpp
Commit 88f00aef684ff84a6494e1f17d5466c5678f703d by alexshap
Introduce llvm-install-name-tool
This diff adds a new "driver" for llvm-objcopy which is supposed to
emulate the behavior of install-name-tool. This is a recommit of
b5913e6d2 with ubsan issues fixed.
Differential revision: https://reviews.llvm.org/D69146
Test plan: make check-all
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was addedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit 327a18ca0a000e4f99d02d0042ca2106db635a68 by rupprecht
[lldb][test] Prevent \n in calls to lldb's expect() test helper.
Summary: expect() forwards its command to sendline(). This can be
problematic if the command already contains a newline: sendline()
unconditionally adds a newline to the command, which causes the command
to run twice (hitting enter in lldb runs the previous command). The
expect() helper looks for the prompt and finds the first one, but
because the command has run a second time, the buffer will contain the
contents of the second time the command ran, causing potential erroneous
matching.
Simplify the editline test, which was using different commands to
workaround this misunderstanding.
Reviewers: labath
Reviewed By: labath
Subscribers: merge_guards_bot, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70324
The file was modifiedlldb/packages/Python/lldbsuite/test/terminal/TestEditline.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbpexpect.py
Commit 29fd1e1f4a372f3870e054da24b57a4f45861808 by puyan
[clang][IFS] Attempting to fix missing 'orbis-ld' on scei-ps4-ubuntu
bot.
I want this test to run end to end, but I am still having trouble with
missing linkers on the scei-ps4 bot. Will remove this test if it
continues to be a source of brittle failures. Sorry for the noise.
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit 85435bdde00241057989a2f579ea6c9c64ef1606 by petecoup
[ARC] Add InitializePasses header to fix ARC build.
The file was modifiedllvm/lib/Target/ARC/ARCOptAddrMode.cpp
The file was modifiedllvm/lib/Target/ARC/ARCBranchFinalize.cpp
Commit 72fac0663a3305e66be4c63d1089ea8a85270c9b by listmail
[tests] Autogen a test to eliminate spurious diff from following patch
The file was modifiedllvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll
Commit 85589f8077a229a6fbc7c245ae28bec06b88c5fb by craig.topper
[X86] Add custom type legalization and lowering for scalar
STRICT_FP_TO_SINT/UINT
This is a first pass at Custom lowering for these operations. I also
updated some of the vector code where it was obviously easy and
straightforward. More work needed in follow up.
This enables these operations to be handled with X87 where special
rounding control adjustments are needed to perform a truncate.
Still need to fix Promotion in the target independent code in
LegalizeDAG. llrint/llround split into separate test file because we
can't make a strict libcall properly yet either and we need to do that
when i64 isn't a legal type.
This does not include any isel support. So we still rely on the mutation
in SelectionDAGIsel to remove the strict from this stuff later. Except
for the X87 stuff which goes through custom nodes that already had
chains.
Differential Revision: https://reviews.llvm.org/D70214
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
Commit 69242e986823e3fdd11a8e51f47f36bec714363c by Duncan P. N. Exon Smith
clang/Modules: Sink ASTReadResult in ReadControlBlock, NFC
Simplify the code by avoiding some state that wasn't being used.  The
function-level `Result` was only assigned a value other than `Success`
in the handler for `OPTIONS_BLOCK_ID`, but in that case it also hits an
early return.  Remove it at the function-level to make it obvious that
the normal case always returns `Success`.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit 10089ce2027ac15fc04427189b3b22ccec4d8535 by peter
scudo: Switch from std::random_shuffle to std::shuffle in a test.
This lets the test build with C++17.
Differential Revision: https://reviews.llvm.org/D70471
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Commit c4b41e8d1d860e2439c7c0e16bd1d1af3fe2d023 by craig.topper
[LegalizeDAG][X86] Enable STRICT_FP_TO_SINT/UINT to be promoted
Differential Revision: https://reviews.llvm.org/D70220
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 36eea5c31f13c086c951239ff876564c90546efa by Jonas Devlieghere
[Reproducer] Namespace the reproducer dump options.
Make it clear that the current reproducer options are for dumping.
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
Commit 2cea161b80abf6ba442129d83bd0d4a97b751866 by alexshap
Revert "Introduce llvm-install-name-tool"
This temporarily reverts the commit
88f00aef684ff84a6494e1f17d5466c5678f703d. The change broke the buildbot
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/36836
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was removedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was removedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was removedllvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was removedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was removedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was removedllvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml
Commit 1b387484b9b38a4a1e98a9d22a9a26065b0d184e by puyan
[clang][IFS] Fixing unsupported emulation mode on clang-ppc64be-linux
bot.
I am in another pickle here where if I specify a triple, I get the wrong
elf target arch on the PPC bot (error from the PPC elf Linker). To avoid
this I am going to turn this test off on the PPC bots for now.
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit bffdee8ef379126de3f2581214d89c1b29f440b7 by francisvm
[LTO][Legacy] Add API for passing LLVM options separately
In order to correctly pass options to LLVM, including options containing
spaces which are used as delimiters for multiple options in
lto_codegen_debug_options, add a new API:
lto_codegen_debug_options_array.
Unfortunately, tools/lto has no testing infrastructure yet, so there are
no tests associated with this patch.
Differential Revision: https://reviews.llvm.org/D70463
The file was modifiedllvm/include/llvm-c/lto.h
The file was modifiedllvm/tools/lto/lto.cpp
The file was modifiedllvm/tools/lto/lto.exports
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was modifiedllvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
Commit 606a2bd6218e8378728b6c1e021e64bb57084a97 by rnk
[musttail] Don't forward AL on Win64
AL is only used for varargs on SysV platforms. Don't forward it on
Windows. This allows control flow guard to set up an extra hidden
parameter in RAX, as described in PR44049.
This also has the effect of freeing up RAX for use in virtual member
pointer thunks, which may also be a nice little code size improvement on
Win64.
Fixes PR44049
Reviewers: ajpaverd, efriedma, hans
Differential Revision: https://reviews.llvm.org/D70413
The file was modifiedllvm/test/CodeGen/X86/musttail-varargs.ll
The file was modifiedllvm/test/CodeGen/X86/cfguard-checks.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 8700831734811cb89eafb72b75206f21e9f047e9 by Duncan P. N. Exon Smith
clang/Modules: Early return in CompilerInstance::createModuleManager,
NFC
Reduce nesting with an early `return`.
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit f37356d6f60ae5db978611621d3a375ed87ec0f0 by puyan
[clang][IFS][test] Removing driver-test.c. Test is still too brittle.
Removing this test because if I add a triple then there are link falures
on targets like ppc and s390x. If I don't add a triple then on PS4
targets the clang driver tries to invoke orbis-ld which ends up being
not found.
The file was removedclang/test/InterfaceStubs/driver-test.c
Commit 27b229dc17b2ea1d06fe566df8631bb2fff7b1c8 by puyan
Revert "[clang][IFS][test] Removing driver-test.c. Test is still too
brittle."
This reverts commit f37356d6f60ae5db978611621d3a375ed87ec0f0.
The file was addedclang/test/InterfaceStubs/driver-test.c
Commit 6c6d34883a3003693cbf0ab3edf19eb999c1a62d by puyan
Revert "[clang][IFS] Fixing unsupported emulation mode on
clang-ppc64be-linux bot."
This reverts commit 1b387484b9b38a4a1e98a9d22a9a26065b0d184e.
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit 0ce89e2a0d857fa89dc671746697c44c6ef0fad8 by puyan
Revert "[clang][IFS] Attempting to fix missing 'orbis-ld' on
scei-ps4-ubuntu bot."
This reverts commit 29fd1e1f4a372f3870e054da24b57a4f45861808.
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit 85a1662035f6445ce95f190a2fef31ed33edb175 by puyan
Revert "[clang][IFS] Fixing failing bots that do not have PPC target or
"orbis-ld""
This reverts commit 377d70cdea733e36107e99d9148864d24797d51c.
The file was modifiedclang/test/InterfaceStubs/driver-test.c
The file was modifiedclang/test/InterfaceStubs/ppc.cpp
Commit 905985435500da01266329701c4a22f353fb7959 by puyan
Revert "[clang][IFS] Driver Pipeline: generate stubs after standard
pipeline (2)"
This reverts commit ea8e02822341e2421b94167d828d3f224e767424.
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was removedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/test/InterfaceStubs/windows.cpp
The file was removedclang/test/InterfaceStubs/ppc.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
Commit 86c66cea21f065a1f757cb072c544f89ce227284 by aminim
Extends the tblgen macro to allow mlir-tblgen to be installed
The mlir-tblgen tool was not getting installed.  This change allows the
MLIR project to be installed along with llvm-tblgen.
Differential Revision: https://reviews.llvm.org/D69824
The file was modifiedllvm/cmake/modules/TableGen.cmake
Commit 47feae5dd61d891d4c1382b9784738111b4f9396 by ruiu
Use lld::make<T> to make TpiSource objects
In lld we rarely use std::unique_ptr but instead allocate new instances
using lld::make<T>() so that they are deallocated at the end of linking.
This patch changes existing code so that that follows the convention.
Differential Revision: https://reviews.llvm.org/D70420
The file was modifiedlld/COFF/DebugTypes.cpp
Commit f3225f2abe78d8a25ee5deea4265b447e7b7d5ee by Austin.Kerbow
AMDGPU/GlobalISel: Legalize FDIV64
Reviewers: arsenm
Reviewed By: arsenm
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka,
dstuttard, tpr, t-tye, hiraditya, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70403
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
Commit 0c50c0b0552edf9f375a32eea5e4d254dc4c7e5c by sepavloff
[FEnv] File with properties of constrained intrinsics
Summary In several places we need to enumerate all constrained
intrinsics or IR nodes that should be represented by them. It is easy to
miss some of the cases. To make working with these intrinsics more
convenient and robust, this change introduces file containing
definitions of all constrained intrinsics and some of their properties.
This file can be included to generate constrained intrinsics processing
code.
Reviewers: kpn, andrew.w.kaylor, cameron.mcinally, uweigand
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69887
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/docs/AddingConstrainedIntrinsics.rst
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was addedllvm/include/llvm/IR/ConstrainedOps.def
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
Commit 7d980319ab241c68bf856c4ac0f3702f50c6c595 by i
[FEnv] Fix AddingConstrainedIntrinsics.rst after
llvmorg-10-init-10282-g0c50c0b0552
The file was modifiedllvm/docs/AddingConstrainedIntrinsics.rst
Commit c54959c00d0b39f357d48c3b4f955d72de4c9fc1 by alexshap
Introduce llvm-install-name-tool
This diff adds a new "driver" for llvm-objcopy which is supposed to
emulate the behavior of install-name-tool. This is a recommit of b5913e6
with ubsan, test dependencies issues fixed.
Differential revision: https://reviews.llvm.org/D69146
Test plan: make check-all
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/test/lit.cfg.py
The file was addedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
Commit 1cc78fdb6f7d81d58cdafa44b0966708dc8575bf by grimar
[llvm-readobj/llvm-readelf] - Improve dumping of versioning sections.
Our elf-versioninfo.test is not perfect. It does not properly test how
flags are dumped and also we have a bug: they are dumped as enums in
LLVM style now, i.e not dumped properly.
GNU style uses a `versionFlagToString` method to build a string from
flags which seems is consistent with GNU readelf.
In this patch I fixed the issues mentioned.
Differential revision: https://reviews.llvm.org/D70399
The file was modifiedlld/test/ELF/verdef-dependency.s
The file was modifiedlld/test/ELF/verneed.s
The file was modifiedlld/test/ELF/verdef-defaultver.s
The file was modifiedlld/test/ELF/verdef.s
The file was modifiedllvm/test/tools/llvm-readobj/elf-invalid-versioning.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-versioninfo.test
The file was modifiedllvm/test/tools/yaml2obj/ELF/verdef-section.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/versym-section.yaml
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/verneed-section.yaml
Commit dc3ee330891c230f85242b442de9afe7fdb96da2 by martin
ExecutionEngine: add preliminary support for COFF ARM64
Differential Revision: https://reviews.llvm.org/D69434
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
The file was addedllvm/test/ExecutionEngine/RuntimeDyld/AArch64/COFF_AArch64.s
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
Commit ce1f95a6e077693f93d8869245f911aff3eb7e4c by djordje.todorovic
Reland "[clang] Remove the DIFlagArgumentNotModified debug info flag"
It turns out that the ExprMutationAnalyzer can be very slow when AST
gets huge in some cases. The idea is to move this analysis to the LLVM
back-end level (more precisely, in the LiveDebugValues pass). The new
approach will remove the performance regression, simplify the
implementation and give us front-end independent implementation.
Differential Revision: https://reviews.llvm.org/D68206
The file was removedclang/test/CodeGen/debug-info-param-modification.c
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
Commit 19ddba95513af4e673ce6724e3a87077c278354c by grimar
[llvm-readobj] - Improve dumping of the SHT_LLVM_LINKER_OPTIONS
sections.
I've added a few tests that shows how the current code could overrun the
section data buffer while dumping. I had to rewrite the code to fix
this.
Differential revision: https://reviews.llvm.org/D70112
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-linker-options.test
Commit f67534afd6f237d3ec00c207b26579968c3d60e5 by martin
[ExecutionEngine] Add a missing break to avoid warnings
This fixes buildbot errors since dc3ee330891c2.
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
Commit 52c5014da099797e9f1f6c90acddf79a68aa85cb by sameer.sahasrabuddhe
[AMDGPU] add support for hostcall buffer pointer as hidden kernel
argument
Hostcall is a service that allows a kernel to submit requests to the
host using shared buffers, and block until a response is received. This
will eventually replace the shared buffer currently used for printf, and
repurposes the same hidden kernel argument. This change introduces a new
ValueKind in the HSA metadata to represent the hostcall buffer.
Differential Revision: https://reviews.llvm.org/D70038
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
The file was modifiedllvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
The file was addedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
The file was modifiedllvm/lib/Support/AMDGPUMetadata.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
The file was modifiedllvm/include/llvm/Support/AMDGPUMetadata.h
The file was addedllvm/test/CodeGen/AMDGPU/opencl-printf-no-hostcall.ll
Commit 6640f2e7d401359a112bbc84344e0137bdf8175f by Raphael Isemann
[lldb][NFC] Remove ClangASTContext::GetUniqueNamespaceDeclaration
overload
This overload is only used in one place and having static overloads for
all methods that only do an additional clang::ASTContext ->
ClangASTContext conversion is just not sustainable.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 02e9113665602ca3a4b987a78db7147a648766d1 by Raphael Isemann
[lldb][NFC] Remove ClangASTContext::FieldIsBitfield overload
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 82800df4de1bfc5fc332fc60f399d50c444050fe by Raphael Isemann
[lldb][NFC] Remove ClangASTContext::GetAsDeclContext
Everything we pass to this function is already a DeclContext.
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit c502bae52410c83947e5ad7184dff810083afe75 by Raphael Isemann
[lldb][NFC] Simplify ClangASTContext::GetBasicTypes
static convenience methods that do the clang::ASTContext ->
ClangASTContext conversion and handle errors by simply ignoring them are
not a good idea.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/unittests/Symbol/TestClangASTContext.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit ea8678d1c78ecf6c719b4a9ff1aa8db0087401ca by sepavloff
Move floating point related entities to namespace level
This is recommit of commit e6584b2b7b2d, which was reverted in
30e7ee3c4bac together with af57dbf12e54. Original message is below.
Enumerations that describe rounding mode and exception behavior were
defined inside ConstrainedFPIntrinsic. It makes sense to use the same
definitions to represent the same properties in other cases, not only in
constrained intrinsics. It was however inconvenient as required to
include constrained intrinsics definitions even if they were not needed.
Also using long scope prefix reduced readability.
This change moves these definitioins to the namespace llvm::fp. No
functional changes.
Differential Revision: https://reviews.llvm.org/D69552
The file was addedllvm/include/llvm/IR/FPEnv.h
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/lib/IR/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/lib/IR/FPEnv.cpp
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
Commit e18ab2a0b801e75ee39bb8ba30584c69b4c6e577 by sam.mccall
[clangd] Treat UserDefinedLiteral as a leaf in SelectionTree,
sidestepping tokenization issues
Summary: Fixes https://github.com/clangd/clangd/issues/203
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70446
The file was modifiedclang-tools-extra/clangd/Selection.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
Commit 54b86b010bf52ae3f1c5499e38dc8ea52e17a9f2 by Raphael Isemann
[lldb][NFC] Remove unused ClangASTContext::GetUnknownAnyType
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 6a89ecb1ddd58575cd9a868bccaf64b2d1a9142a by llvmgnsyncbot
gn build: Merge ea8678d1c78
The file was modifiedllvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
Commit 979592a6f735a7111ba2c3a19e5ef3e8d336e01a by djordje.todorovic
[DebugInfo] Remove the DIFlagArgumentNotModified debug info flag
Due to changes in D68206, we remove the DIFlagArgumentNotModified and
its usage.
Differential Revision: https://reviews.llvm.org/D68207
The file was modifiedllvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
The file was modifiedllvm/bindings/go/llvm/dibuilder.go
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/locstats.ll
The file was modifiedllvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
The file was modifiedllvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir
The file was modifiedllvm/test/Assembler/debug-info.ll
The file was modifiedllvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
The file was modifiedllvm/include/llvm/IR/DebugInfoFlags.def
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/avoid-single-entry-value-location.mir
Commit 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62 by pavel
[DWARF] Add an api to get "interpreted" location lists
Summary: This patch adds DWARFDie::getLocations, which returns the
location expressions for a given attribute (typically DW_AT_location).
It handles both "inline" locations and references to the external
location list sections (currently only of the DW_FORM_sec_offset type).
It is implemented on top of DWARFUnit::findLoclistFromOffset, which is
also added in this patch. I tried to make their signatures similar to
the equivalent range list functionality.
The actual location list interpretation logic is in
DWARFLocationTable::visitAbsoluteLocationList. This part is not
equivalent to the range list code, but this deviation is motivated by a
desire to reuse the same location list parsing code within lldb.
The functionality is tested via a c++ unit test of the DWARFDie API.
Reviewers: dblaikie, JDevlieghere, SouraVX
Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70394
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/CMakeLists.txt
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
The file was addedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
Commit 23c76792081e3ae15b313b000a11bf456c16fdc8 by courbet
[CodeGen][NFC] Regenerate load-combine test with update_llc_test.
To prepare for D27861.
The file was modifiedllvm/test/CodeGen/AArch64/load-combine.ll
The file was modifiedllvm/test/CodeGen/AArch64/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine.ll
Commit 5e0b7df4db237b53d50799e8cbc5ce7d3872c9dd by llvmgnsyncbot
gn build: Merge 089c0f58149
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn
Commit 525f9c0be538ba93e01b3a783d62b9f562e5a6b4 by dmitry.preobrazhensky
[AMDGPU][DPP] Corrected DPP combiner
Added a check to make sure that the selected dpp opcode is supported by
target.
Reviewers: vpykhtin, arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D70402
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Commit 452d0b21e00d6f80e3b12f9ffc4fb5bc4986f081 by simon
[mips] Make MipsAsmParser::isEvaluated static function. NFC
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Commit 8ac68f9dc58ab7420449fd49533f62788681e622 by simon
[mips] Put conditions when we need to expand memory operand into a
separate function. NFC
`expandMemInst` expects instruction with 3 or 4 operands and the last
operand requires expanding. It's redundant to scan all operands in a
loop. We can check the last operands.
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Commit b80e483c4205d216f6648d7e217183694fe9a55e by Tim Northover
Update tests after change to llvm-cxxfilt's underscore stripping
behaviour.
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/test/CodeGen/ppc-smmintrin.c
The file was modifiedclang/test/CodeGen/ppc-tmmintrin.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/test/CodeGen/ppc-pmmintrin.c
The file was modifiedclang/test/CodeGen/ppc-mmintrin.c
Commit c34478f5f6c7ef1ae8fb3605fbdec0634d543fed by Raphael Isemann
[lldb][NFC] Move ClangExpressionDeclMap's persistent decl search into
its own function
Searching persistent decls is a small subset of the things
FindExternalVisibleDecls does. It should be its own function instead of
being encapsulated in this `do { } while(false);` pattern.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
Commit db73bcd98ef4ffbe91405a5adfcfdcd83bc007f4 by Tim Northover
ARM-NEON: separate soon-to-be conflicting f16 patterns. NFC.
This separates some intrinsic definitions into multiple instantiations
because they use a modifier that forces the float size to a given value.
That modifier won't work in the new NeonEmitter modifier scheme and
committing this separately allows the Python script to be run on the .td
files to perform the conversion automatically.
The file was modifiedclang/include/clang/Basic/arm_fp16.td
Commit e23d6f3184d365a9e72a67dddd870d98e80f998d by Tim Northover
NeonEmitter: remove special case on casting polymorphic builtins.
For some reason we were not casting a fairly obscure class of builtin
calls we expected to be polymorphic to vectors of char. It worked
because the only affected intrinsics weren't actually polymorphic after
all, but is unnecessarily complicated.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
Commit 3f91705ca54bc76b50c35f9e0831ab356d653c5c by Tim Northover
ARM-NEON: make type modifiers orthogonal and allow multiple modifiers.
The modifier system used to mutate types on NEON intrinsic definitions
had a separate letter for all kinds of transformations that might be
needed, and we were quite quickly running out of letters to use. This
patch converts to a much smaller set of orthogonal modifiers that can be
applied together to achieve the desired effect.
When merging with downstream it is likely to cause a conflict with any
local modifications to the .td files. There is a new script in
utils/convert_arm_neon.py that was used to convert all .td definitions
and I would suggest running it on the last downstream version of those
files before this commit rather than resolving conflicts manually.
The file was addedclang/utils/convert_arm_neon.py
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was modifiedclang/include/clang/Basic/arm_fp16.td
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
The file was modifiedclang/include/clang/Basic/arm_neon.td
The file was modifiedclang/include/clang/Basic/arm_neon_incl.td
Commit 5bab291b7bd043104abf1ca7977e8248684cae95 by Alexander.Richardson
Ignore R_MIPS_JALR relocations against non-function symbols
Summary: Current versions of clang would erroneously emit this
relocation not only against functions (loaded from the GOT) but also
against data symbols
(e.g. a table of function pointers). LLD was then changing this into a
branch-and-link instruction, causing the program to jump to the data
symbol at run time. I discovered this problem when attempting to boot
MIPS64 FreeBSD after updating the to the latest upstream master.
Reviewers: atanasyan, jrtc27, espindola
Reviewed By: atanasyan
Subscribers: emaste, sdardis, krytarowski, MaskRay, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70406
The file was modifiedlld/ELF/Arch/Mips.cpp
The file was addedlld/test/ELF/mips-jalr-non-functions.s
Commit 6187394dd05ea20db01370b1990a79d517d98f7e by Alexander.Richardson
[UptestTestChecks][NFC] Share some common command line options code
Summary: Add a function common.parse_commandline_args() that adds
options common to all tools (--verbose and --update-only) and returns
the parsed commandline arguments. I plan to use the shared parsing of
--verbose in a follow-up commit to remove most of the `if args.verbose:`
checks in the scripts.
Reviewers: xbolva00, MaskRay
Reviewed By: MaskRay
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70428
The file was modifiedllvm/utils/update_test_checks.py
The file was modifiedllvm/utils/update_analyze_test_checks.py
The file was modifiedllvm/utils/update_mca_test_checks.py
The file was modifiedllvm/utils/update_mir_test_checks.py
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was modifiedllvm/utils/update_llc_test_checks.py
Commit 50807c81eaeead17277ebf98ce1cc6272370d143 by Alexander.Richardson
[update_cc_test_checks.py] Add the --function-signature flag
Summary: This was added to update_test_checks.py in D68819 and I believe
having it in update_cc_test_checks.py is also useful.
Reviewers: jdoerfert, MaskRay
Reviewed By: MaskRay
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70429
The file was modifiedllvm/utils/update_cc_test_checks.py
Commit 82dc32e2d456c75d08bc9ffe97def409ee5a03cd by pavel
Big-endian fix to DWARFDieTest (089c0f58)
Hardcode the DWARFContext to little-endian. I don't have a BE machine to
test this on, but I believe this should address the ppc64be failure.
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
Commit 96e94e37e3a7d62eddd79fe40f025831327a4bfd by anna.welker
[ARM][MVE] Select vqabs
  Adds a pattern to ARMInstrMVE.td to use a VQABS
instruction if an equivalent multi-instruction
construct is found.
  Differential revision: https://reviews.llvm.org/D70181
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was addedllvm/test/CodeGen/Thumb2/vqabs.ll
Commit e7cc833ddafdca10be4ef1322ab96ffee774045b by Raphael Isemann
[lldb][NFC] Move searching for $__lldb_class into its own function in
ClangExpressionDeclMap
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
Commit 72d2929c52a9b691a2ed10c28a0a27fec8282519 by pavel
Revert "[DWARF] Add an api to get "interpreted" location lists"
The test fails on big endian machines.
This reverts commit 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62 and the
subsequent attempt to fix in 82dc32e2d456c75d08bc9ffe97def409ee5a03cd.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/CMakeLists.txt
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was removedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Commit f8c92b8ee242bbdc209204f09aefdc207aac42ee by llvmgnsyncbot
gn build: Merge 72d2929c52a
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn
Commit 257acbf6aee983227a3976d10d0086f3600f2bee by dave
[SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY
Summary: Convert (uaddo (uaddo x, y), carryIn) into addcarry x, y,
carryIn if-and-only-if the carry flags of the first two uaddo are merged
via OR or XOR.
Work remaining: match ADD, etc.
Reviewers: craig.topper, RKSimon, spatel, niravd, jonpa, uweigand,
deadalnix, nikic, lebedev.ri, dmgreen, chfast
Reviewed By: lebedev.ri
Subscribers: chfast, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70079
The file was modifiedllvm/test/CodeGen/X86/addcarry.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/subcarry.ll
Commit a21940eac149dc03d9e028023bbd059f871af1c5 by simon
[mips] Define mem_simm# operands using tblgen `foreach` loop. NFC
The file was modifiedllvm/lib/Target/Mips/MipsInstrInfo.td
Commit 6778a62eb0d222dc625b8785516f027df12aaf16 by dmitry.preobrazhensky
[AMDGPU][GFX10] Disabled v_movrel*[sdwa|dpp] opcodes in codegen
These opcodes use indirect register addressing so they need special
handling by codegen (currently missing).
Reviewers: vpykhtin, arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D70400
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
Commit 51ad025ff313804674b4fb01f56f7b83e3ecc5e3 by Raphael Isemann
[lldb][NFC] Move searching for $__lldb_objc_class into its own function
Same as in commit e7cc833ddafdca10be4ef1322ab96ffee774045b but with
$__lldb_objc_class.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit b80033ef6528ed868294ba0c1e18bfcf74597a1b by spatel
[SLP] reduce duplicate CHECK lines in tests; NFC
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
Commit a03435ec8e219e236331780626351c74a95f1b6e by pavel
Recommit "[DWARF] Add an api to get "interpreted" location lists"
This recommits 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62, which was
reverted due to failing tests on big endian machines. It includes a fix
which I believe (I don't have BE machine) should fix this issue. The fix
consists of correcting the invocation DWARFYAML::EmitDebugSections,
which was missing one (default) function arguments, and so didn't
actually force the little-endian mode.
The original commit message follows.
Summary: This patch adds DWARFDie::getLocations, which returns the
location expressions for a given attribute (typically DW_AT_location).
It handles both "inline" locations and references to the external
location list sections (currently only of the DW_FORM_sec_offset type).
It is implemented on top of DWARFUnit::findLoclistFromOffset, which is
also added in this patch. I tried to make their signatures similar to
the equivalent range list functionality.
The actual location list interpretation logic is in
DWARFLocationTable::visitAbsoluteLocationList. This part is not
equivalent to the range list code, but this deviation is motivated by a
desire to reuse the same location list parsing code within lldb.
The functionality is tested via a c++ unit test of the DWARFDie API.
Reviewers: dblaikie, JDevlieghere, SouraVX
Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70394
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was addedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
The file was modifiedllvm/unittests/DebugInfo/DWARF/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Commit ca33727abe4cd7202fe550972525bb23890da053 by Xiangling.Liao
[AIX] Lowering jump table, constant pool and block address in asm
This patch lowering jump table, constant pool and block address in
assembly. 1. On AIX, jump table index is always relative; 2. Put CPI and
JTI into ReadOnlySection until we support unique data sections; 3.
Create the temp symbol for block address symbol; 4. Update MIR testcases
and add related assembly part;
Differential Revision: https://reviews.llvm.org/D70243
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-block-address.ll
The file was modifiedllvm/lib/CodeGen/MachineModuleInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-constant-pool-index.ll
Commit c1ed22954a138570a721da5b3fec390d4884237e by llvmgnsyncbot
gn build: Merge a03435ec8e2
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn
Commit b5135a86e04761577494c70e7c0057136cc90b5b by ibiryukov
[clangd] Fix a crash in expected types
Reviewers: kadircet
Reviewed By: kadircet
Subscribers: merge_guards_bot, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70481
The file was modifiedclang-tools-extra/clangd/ExpectedTypes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit 5665fc91fe93fa4293eb5aceff4884826d8cecb1 by xingxue
[AIX][XCOFF] Add support for generating assembly code for one-byte
mergable strings
This patch adds support for generating assembly code for one-byte
mergeable strings.
Generating assembly code for multi-byte mergeable strings and the
`XCOFF` object code for mergeable strings will be supported later.
Reviewers: hubert.reinterpretcast, jasonliu, daltenty, sfertile,
DiggerLin, Xiangling_L
Reviewed by: daltenty
Subscribers: wuzish, nemanjai, hiraditya, kbarton, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70310
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 750e855641be2131b3189d0310e5cc4610c4020d by Xiangling.Liao
A fix of the bug introduced by previous lowering in asm patch.
Differential Revision: https://reviews.llvm.org/D70243
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit e74b326b1f506538f1fce11b7a70bcf7fb9b573c by jyknight
Rename 'DenormalMode' in CommandFlags.inc to 'DenormalFPMath', as its
option is actually named anyhow.
This avoids a conflict with the llvm::DenormalMode enum in
FloatingPointMode.h.
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.inc
Commit ac37755c60ba19103f08f04d07ca8f1d640153d6 by ulrich.weigand
[SystemZ] Use fneg in test cases
Now that we have fneg, prefer using it over "fsub -0.0, ...". This helps
in particular with strict FP tests, as fneg does not raise any
exceptions.
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-09.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-abs-05.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-mul-10.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-cmp-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-neg-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-abs-06.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-mul-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-mul-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-10.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-mul-05.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-mul-05.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-cmp-05.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-neg-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-abs-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-neg-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-mul-09.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-mul-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-mul-08.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-neg-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-abs-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-mul-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-08.ll
Commit c9e8e808cf8ae563329597b61b0b6b7adcc65b87 by craig.topper
[SelectionDAG][X86] Mutate strictFP nodes to non-strict in
DoInstructionSelection when the node is marked Expand rather than when
it is not Legal.
This allows operations that are marked Custom, but have some type
combinations that are legal to get past this code.
Add custom mutation code to X86's Select function for the nodes that
don't have isel patterns yet.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit 97743089bffba797d7bc7358ddb852b7b050b0c8 by ulrich.weigand
[SystemZ] Avoid mixing strict and non-strict FP operations in tests
This is to prepare for having the IR verifier reject mixed functions.
Note that fp-strict-mul-02.ll and fp-strict-mul-04.ll still remain to be
fixed.
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-11.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-05.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-sub-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-div-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-add-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-04.ll
Commit a9bb669e59f4b2270caa8a35128ca3b2de0595fe by Jonas Devlieghere
[FileCollector] Ignore empty paths.
Don't insert empty strings into the StringSet<> because that triggers an
assert in its implementation.
The file was modifiedllvm/include/llvm/Support/FileCollector.h
Commit f751a79173958526b8e8793d4e4c84b2d33dc662 by peter
scudo: Only use the Android reserved TLS slot when building libc's copy
of the allocator.
When we're not building libc's allocator, just use a regular TLS
variable. This lets the unit tests pass on Android devices whose libc
uses Scudo. Otherwise libc's copy of Scudo and the unit tests' copy will
both try to use the same TLS slot, in likely incompatible ways.
This requires using ELF TLS, so start passing -fno-emulated-tls when
building the library and the unit tests on Android.
Differential Revision: https://reviews.llvm.org/D70472
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
Commit 6de45772e0910bf7fa626e5493a2798b071eb26c by thakis
Revert "[clangd] Fix a crash in expected types"
This reverts commit b5135a86e04761577494c70e7c0057136cc90b5b. Test fails
on Windows.
The file was modifiedclang-tools-extra/clangd/ExpectedTypes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit fd8d9155a997ab0f3ef3d7dff1c56efc9b692bfe by richard
Fix parser bug that permitted 'private' as a (no-op) decl-specifier even
outside OpenCL.
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Parser/cxx-decl.cpp
Commit 4a308d302c3378258c5a9af231236de4d7ff741a by michael.hliao
[AMDGPU] Keep consistent check of legal addressing mode.
Summary:
- Add test cases for GFX10, which has narrower offset range compared to
GFX9.
Reviewers: rampitec, arsenm
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr,
t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70473
The file was addedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx10.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
Commit af331cbe14e8376c696441bb4c26a68be733b884 by Vedant Kumar
[debugserver] Set arch based on TARGET_TRIPLE
Use TARGET_TRIPLE instead of LLVM_DEFAULT_TARGET_TRIPLE, as the latter
isn't exported by LLVMConfig.cmake, which means arch detection fails if
lldb is built separately from llvm.
The file was modifiedlldb/tools/debugserver/source/MacOSX/CMakeLists.txt
Commit 923afb4a61708cd6d5c6786c81f55a682ec46497 by mgorny
[lldb] [test] Un-XFAIL one lldb-server test on NetBSD
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py
Commit 6f4398d1b9950d48ead91b2b550792f2bbe4778e by ditaliano
[lldb] Fix NSURL data formatter truncation issue
Remove hardcoded string prefix length assumption causing issues when
concatenating summary for NSURL in NSURLSummaryProvider. Provider relies
on concatenation of NSStringProvider results for summary, and while the
strings are prefixed with '@' in Objective-C, that is not the case in
Swift causing part of the description to be truncated.
This will be tested in the downstream fork.
Patch by Martin Svensson!
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
Commit 899cdf95d9ad199e6c2f87cd544455e3991626dc by Stanislav.Mekhanoshin
[AMDGPU] Fixed mfma test check. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
Commit 0f5aabb91a03b40635819f71187333dd9535b9de by vvereschaka
[CMake] Fix the path to CrossWinToARMLinux.cmake CMake cache.
The comment was slightly misleading.
Behalf: broadwaylamb (Sergej Jaskiewicz)
Differential Revision: https://reviews.llvm.org/D70499
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
Commit 8ba56f322abf848cec78ff7f814f3ad84cd778be by listmail
Move widenable branch formation into makeGuardControlFlowExplicit helper
This is mostly NFC, but I removed the setting of the guard's calling
convention onto the WC call.  Why?  Because it was untested, and was
producing an ill defined output as the declaration's convention wasn't
been changed leaving a mismatch which is UB.
The file was modifiedllvm/lib/Transforms/Utils/GuardUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/GuardUtils.h
The file was modifiedllvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
Commit 7488c0a6f5a6fff699ba338fe8fae952e890eb81 by craig.topper
[X86] Mark vector STRICT_FP_ROUND as Legal instead of Custom.
The Custom handler doesn't do anything for these nodes anyway.
SelectionDAGISel won't mutate them if they are Legal or Custom. X86 has
custom code for mutating them due to missing isel patterns. When the
isel patterns are added Legal will be the right answer. So go ahead a
change it now since that's where we'll end up.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 824b25fc02dc4544adae55e6451d355f4c6d7055 by kparzysz
[Hexagon] Fix two testcase errors
This fixes issues discovered in https://reviews.llvm.org/D63973.
The file was modifiedllvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
The file was modifiedllvm/test/CodeGen/Hexagon/sdr-global.mir
Commit c8dfe907299e16aeb17175cb0896c17043fc7c81 by Jonas Devlieghere
[Reproducer] Generate LLDB reproducer on crash
This patch hooks the reproducer infrastructure with the signal handlers.
When lldb crashes with reproducers capture enabled, it will now generate
the reproducer and print a short message the standard out. This doesn't
affect the pretty stack traces, which are still printed before.
This patch also introduces a new reproducer sub-command that
intentionally raises a given signal to test the reproducer signal
handling.
Currently the signal handler is doing too much work. Instead of copying
over files into the reproducers in the signal handler, we should
re-invoke ourselves with a special command line flag that looks at the
VFS mapping and performs the copy.
This is a NO-OP when reproducers are disabled.
Differential revision: https://reviews.llvm.org/D70474
The file was modifiedlldb/include/lldb/API/SBReproducer.h
The file was addedlldb/test/Shell/Reproducer/TestCrash.test
The file was addedlldb/test/Shell/Reproducer/Inputs/GDBRemoteCrashCapture.in
The file was modifiedlldb/source/API/SBReproducer.cpp
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/test/Shell/Reproducer/TestGDBRemoteRepro.test
Commit 73429126c91c2065c6f6ef29b3eec1b7798502bb by puyan
[clang][IFS] Driver Pipeline: generate stubs after standard pipeline (3)
Third Landing Attempt (dropping any linker invocation from clang
driver):
Up until now, clang interface stubs has replaced the standard PP -> C ->
BE -> ASM -> LNK pipeline. With this change, it will happen in
conjunction with it. So what when you build your code you will get an
a.out or lib.so as well as an interface stub file.
Example:
clang -shared -o libfoo.so -emit-interface-stubs ...
will generate both a libfoo.so and a libfoo.ifso. The .so file will
contain the code from the standard compilation pipeline and the .ifso
file will contain the ELF stub library.
Note: For driver-test.c I've added -S in order to prevent any bot
failures on bots that don't have the proper linker for their native
triple. You could always specify a triple like x86_64-unknown-linux-gnu
and on bots like x86_64-scei-ps4 the clang driver would invoke regular
ld instead of getting the error
'Executable "orbis-ld" doesn't exist!' but on bots like ppc64be and
s390x you'd get an error "/usr/bin/ld: unrecognised emulation mode:
elf_x86_64"
Differential Revision: https://reviews.llvm.org/D70274
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was addedclang/test/InterfaceStubs/ppc.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was addedclang/test/InterfaceStubs/driver-test2.c
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/test/InterfaceStubs/driver-test.c
The file was modifiedclang/test/InterfaceStubs/windows.cpp
Commit 0ebb7803e6ae4919c1c782cafecaec237664efe3 by Jonas Devlieghere
[Docs] Fix Sphinx warning (treated as error)
Fixes "undefined label" warning: if the link has no caption the label
must precede a section header.
The file was modifiedlldb/docs/index.rst
Commit b03374584d6878e1fe06868a1cc03c28cc547e88 by Jonas Devlieghere
[Driver] Fix missing space in lldb --help output.
The file was modifiedlldb/tools/driver/Driver.cpp
Commit 4a801170f36a2eed13a42730c83cd7bc57729f55 by Piotr Sobczak
[AMDGPU][SILoadStoreOptimizer] Merge TBUFFER loads/stores
Summary: Extend SILoadStoreOptimizer to merge tbuffer loads and stores.
Reviewers: nhaehnle
Reviewed By: nhaehnle
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69794
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Commit 4f0b0bf5c6731e3d370558be08c9261801263b09 by eugenis
Cherry-pick gtest fix for asan tests.
Summary:
https://github.com/google/googletest/commit/681454dae48f109abf68c424c9d2e6db9a092238
Clone+exec death test allocates a single page of stack to run chdir +
exec on. This is not enough when gtest is built with ASan and run on
particular hardware.
With ASan on x86_64, ExecDeathTestChildMain has frame size of 1728
bytes.
Call to chdir() in ExecDeathTestChildMain ends up in
_dl_runtime_resolve_xsavec, which attempts to save register state on the
stack; according to cpuid(0xd) XSAVE register save area size is 2568 on
my machine.
This results in something like this in all death tests:
Result: died but not with expected error.
...
[  DEATH   ] AddressSanitizer:DEADLYSIGNAL
[  DEATH   ]
=================================================================
[  DEATH   ] ==178637==ERROR: AddressSanitizer: stack-overflow on
address ...
PiperOrigin-RevId: 278709790
Reviewers: pcc
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70332
The file was modifiedllvm/utils/unittest/googletest/src/gtest-death-test.cc
Commit f24ed3a05198003ef2c76ead91019561a45d26b5 by Jason Molenda
Handle the case where the 'g' packet doesn't get all regs. lldb would
silently accept a response to the 'g' packet (read all registers) which
was too large; this handles the case where it is too small.
Differential Revision: https://reviews.llvm.org/D70417
<rdar://problem/34916465>
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
Commit 25f33d8318a39673fea798b24faf68154c03fdc1 by Jonas Devlieghere
[Reproducer] Limit signals to macro define sin <csignal>
SIGBUS is not part of the signal macros defined in the header <csignal>.
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
The file was modifiedlldb/test/Shell/Reproducer/TestCrash.test
Commit 9bdfee2a3bd13d405ce1592930182f23849d2897 by e.menezes
[AArch64] Add the pipeline model for Exynos M5
Add the scheduling and cost models for Exynos M5.
The file was addedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/aes.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/load.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/store.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/crc.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s
Commit a329cf69696f1d1103c569b4c4d68d212b204710 by Lang Hames
[Support][Error] Unfriend FileError. It is not special.
FileError doesn't need direct access to Error's internals as it can
access the payload via handleErrors.
(ErrorList remains special: it is not possible to write a handler for
it, due to the special auto-unpacking treatment that it receives from
handleErrors.)
The file was modifiedllvm/include/llvm/Support/Error.h
Commit 24aafcadff3851ec3a0c42303fec63e815b19566 by mitchell
[clang-tidy] modernize-use-equals-default avoid adding redundant
semicolons
Summary:
`modernize-use-equals-default` replaces default constructors/destructors
with `= default;`. When the optional semicolon after a member function
is present, this results in two consecutive semicolons.
This patch checks to see if the next non-comment token after the code to
be replaced is a semicolon, and if so offers a replacement of `=
default` rather than `= default;`.
This patch adds trailing comments and semicolons to about 5 existing
tests.
Reviewers: malcolm.parsons, angelgarcia, aaron.ballman, alexfh
Patch by: poelmanc
Subscribers: MyDeveloperDay, JonasToth, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70144
The file was modifiedclang-tools-extra/clang-tidy/utils/LexerUtils.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-equals-default-copy.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-equals-default.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/LexerUtils.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
Commit cd8748a15f2d18861b3548eb26ed2b52e5ee50b4 by echristo
Temporarily Revert "[SLP] allow forming 2-way reduction patterns"
After speaking with Sanjay - seeing a number of miscompiles and working
on tracking down a testcase. None of the follow on patches seem to have
helped so far.
This reverts commit 7ff57705ba196ce649d6034614b3b9df57e1f84f.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Feature/weak_constant.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
Commit a0841dfe8594f189d79f3612fec019eda4824474 by yhs
[BPF] Fix a bug in peephole optimization
One of current peephole optimiations is to remove SLL/SRL if the sub
register has been zero extended. This phase has two bugs and one
limitations.
First, for the physical subregister used in pseudo insn COPY like below,
it permits incorrect optimization.
   %0:gpr32 = COPY $w0
   ...
   %4:gpr = MOV_32_64 %0:gpr32
   %5:gpr = SLL_ri %4:gpr(tied-def 0), 32
   %6:gpr = SRA_ri %5:gpr(tied-def 0), 32 The $w0 could be from the
return value of a previous function call and its upper 32-bit value
might contain some non-zero values. The same applies to function
arguments.
Second, the current code may permits removing SLL/SRA like below:
   %0:gpr32 = COPY $w0
   %1:gpr32 = COPY %0:gpr32
   ...
   %4:gpr = MOV_32_64 %1:gpr32
   %5:gpr = SLL_ri %4:gpr(tied-def 0), 32
   %6:gpr = SRA_ri %5:gpr(tied-def 0), 32 The reason is that it did not
follow def-use chain to skip all intermediate 32bit-to-32bit COPY
instructions.
The current implementation is also very conservative for PHI
instructions. If any PHI insn component is another PHI or COPY insn, it
will just permit SLL/SRA.
This patch fixed the issue as follows:
- During def/use chain traversal, if any physical register is read,
  SLL/SRA will be preserved as these physical registers are mostly
  from function return values or current function arguments.
- Recursively visit all COPY and PHI instructions.
The file was modifiedllvm/test/CodeGen/BPF/32-bit-subreg-cond-select.ll
The file was modifiedllvm/test/CodeGen/BPF/32-bit-subreg-peephole.ll
The file was addedllvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-2.ll
The file was addedllvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-1.ll
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp
Commit 8a0aa5310bccbb42d16d11db090419fcefdd1376 by echristo
Temporarily Revert "Temporarily Revert "[SLP] allow forming 2-way
reduction patterns"" as there were testcase changes after that need to
also be reverted.
This reverts commit cd8748a15f2d18861b3548eb26ed2b52e5ee50b4.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modifiedllvm/test/Feature/weak_constant.ll
Commit 714aabacfb0f9b372cf230f1b7113e3ebd0e661d by echristo
Temporarily Revert "[SLP] allow forming 2-way reduction patterns" and
update testcases.
After speaking with Sanjay - seeing a number of miscompiles and working
on tracking down a testcase. None of the follow on patches seem to have
helped so far.
This reverts commit 8a0aa5310bccbb42d16d11db090419fcefdd1376.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modifiedllvm/test/Feature/weak_constant.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
Commit 8259182e51ccf23c13d670f6f0401ce33f6c742f by echristo
Revert "[AArch64] Add the pipeline model for Exynos M5" as it's causing
test failures in llvm-mca.
This reverts commit 9bdfee2a3bd13d405ce1592930182f23849d2897.
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/store.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/load.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/crc.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/aes.s
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s
The file was removedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was removedllvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
Commit a0da875a3ace9f4d4ade54f7a4764e327169a629 by peter
gn build: check-clang depends on llvm-cxxfilt.
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
Commit d9957c7405bc726422dbc2736ad62f704916fbe8 by erik.pilkington
[Sema] Add a 'Semantic' parameter to Expr::isKnownToHaveBooleanValue
Some clients of this function want to know about any expression that is
known to produce a 0/1 value, and others care about expressions that are
semantically boolean.
This fixes a -Wswitch-bool regression I introduced in 8bfb353bb33c,
pointed out by Chris Hamilton!
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/switch.c
Commit 049043b598ef5b12a5894c0c22db8608be70f517 by rnk
[ADT] Move to_vector from STLExtras.h to SmallVector.h
Nothing breaks, so this probably has zero impact, but it seems nice,
since to_vector is more like makeArrayRef, and should really live in
SmallVector.h.
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/ADT/SmallVector.h
Commit da4baa2a6c966154e19964fdced1119ed2f4d6ee by asbirlea
[MemorySSA] Update analysis when the terminator is a memory instruction.
Update MemorySSA when moving the terminator instruction, as that may be
a memory touching instruction. Resolves PR44029.
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was addedllvm/test/Analysis/MemorySSA/pr44029.ll
Commit 6760ca8c76fdc11537a2252670593c462171d64f by jkz
[docs] Tiny rewording in the portability FAQ entry
The entry reads better with these two words swapped.
The file was modifiedllvm/docs/FAQ.rst
Commit 1f4395942fc7af266bc6f520a61124b27ee90fed by listmail
Precommit tests for forthcoming widenable.condition transforms
The file was addedllvm/test/Transforms/InstCombine/widenable-conditions.ll
Commit 5da385fb56cbe92d8bd8f53954056eca1829fe1b by Adrian Prantl
Fix an offset underflow bug in DwarfExpression when describing small
values with subregisters
DwarfExpression::addMachineReg() knows how to build a larger register
that isn't expressible in DWARF by combining multiple subregisters.
However, if the entire value fits into just one subregister, it would
still emit the other subregisters, leading to all sorts of
inconsistencies down the line.
This patch fixes that by moving an already existing(!) check whether the
subregister's offset is before the end of the value to the right place.
rdar://problem/57294211
Differential Revision: https://reviews.llvm.org/D70508
The file was addedllvm/test/DebugInfo/MIR/ARM/larger-subregister.mir
The file was modifiedllvm/test/MC/X86/dwarf-size-field-overflow.test
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
Commit 5f3bf5967b8d07dd170f0f8a2e085e0c26f7c710 by craig.topper
[X86] Fix f128->i16 fptosi to promote the i16 to i32 before trying to
form a libcall.
Previously one of the test cases added here gave an error.
The file was modifiedllvm/test/CodeGen/X86/fp128-cast.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 27da569a7a54e9dcb3b2c09fbdfd6b70bd6fd912 by craig.topper
[X86] Fix i16->f128 sitofp to promote the i16 to i32 before trying to
form a libcall.
Previously one of the test cases added here gave an error.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-cast.ll
Commit 5c5cf899ef2fda1d3306b1e5c384ae062b80b672 by asbirlea
[MemorySSA] Moving at the end often means before terminator.
Moving accesses in MemorySSA at InsertionPlace::End, when an instruction
is moved into a block, almost always means insert at the end of the
block, but before the block terminator. This matters when the block
terminator is a MemoryAccess itself (an invoke), and the insertion must
be done before the terminator for the update to be correct.
Insert an additional position: InsertionPlace:BeforeTerminator and
update current usages where this applies.
Resolves PR44027.
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVNHoist.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was addedllvm/test/Analysis/MemorySSA/pr44027.ll
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
Commit 76bcbaafab2db9ee1fa0813463016afb64c5fb41 by Lang Hames
[Orc][Modules] Fix Modules build fallout from a34680a33eb.
In a34680a33eb OrcError.h and Orc/RPC/*.h were split out from the rest
of ExecutionEngine in order to eliminate false dependencies for remote
JIT targets (see https://reviews.llvm.org/D68732), however this broke
modules builds (see https://reviews.llvm.org/D69817).
This patch splits these headers out into a separate module,
LLVM_OrcSupport, in order to fix the modules build.
Fixes <rdar://56377508>.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/OrcError.h
The file was modifiedllvm/include/llvm/module.modulemap
The file was modifiedllvm/lib/ExecutionEngine/OrcError/OrcError.cpp
The file was modifiedllvm/lib/Support/Error.cpp
The file was modifiedllvm/lib/ExecutionEngine/OrcError/RPCError.cpp
Commit 8e896b19ddd940254c42cfbb11ba541b22177152 by Lang Hames
[Error] Remove a broken code fragment accidentally included in
76bcbaafab2.
The file was modifiedllvm/lib/Support/Error.cpp
Commit ee9b49eef04518123ec04372b7b4bfc337c39dc9 by aminim
Tablegen: Remove the error for duplicate include files.
This error was originally added a while(7 years) ago when including
multiple files was basically always an error. Tablegen now has
preprocessor support, which allows for building nice c/c++ style include
guards. With the current error being reported, we unfortunately need to
double guard when including files:
* In user of MyFile.td
#ifndef MYFILE_TD
include MyFile.td
#endif
* In MyFile.td
#ifndef MYFILE_TD
#define MYFILE_TD
...
#endif
Differential Revision: https://reviews.llvm.org/D70410
The file was addedllvm/test/TableGen/duplicate-include.td
The file was modifiedllvm/lib/TableGen/TGParser.h
The file was addedllvm/test/TableGen/duplicate-include.inc
The file was modifiedllvm/lib/TableGen/TGLexer.h
The file was modifiedllvm/lib/TableGen/Main.cpp
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
Commit a84922916e6eddf701b39fbd7fe0222cb0fee1d6 by jyknight
Fix unused variable warning in NDEBUG mode after
8ba56f322abf848cec78ff7f814f3ad84cd778be
The file was modifiedllvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
Commit fec3ca77bbce6917c103963b7b85b60dfb865c7b by puyan
[clang][IFS][test] GreenDragon and Fuchsia Darwin bot fix: BindArchClass
Nest.
On Darwin the clang driver does not invoke Driver::BuildActions directly
due to the need to handle Universal apps. Because of this there is a
difference in code path where Driver::BuildUniversalActions is called
instead of Driver::BuildActions. BuildUniversalActions ends up calling
Driver::BuildAction but what it does differently is it takes the driver
actions returned and wraps them each into a BindArchAction.
In Driver::BuildJobs there is a check for '-o' to determine that
multiple files are not specified when passing -o, except for Clang
Interface Stub this need to be an exception as we actually want to write
out multiple files: for every libfoo.so we have a libfoo.ifso sidecar
ifso file, etc. To allow this to happen there is a check for
IfsMergeAction, which is permitted to write out a secondary file. Except
on Darwin, the IfsMergeAction gets wrapped in the BindArchAction by
Driver::BuildUniversalActions so the check fails.
This patch is to look inside a BindArchAction in Driver::BuildJobs to
determine if there is in fact an IfsMergeAction, and if-so (pun
intended) allow the secondary sidecard ifs/ifso file to be written out.
The file was modifiedclang/lib/Driver/Driver.cpp
Commit e47d6da8a5dd6b9552f7b94e8b35453b4f09ffe4 by jyknight
D'oh. Fix assert after a84922916e6eddf701b39fbd7fe0222cb0fee1d6. (Which
was attempting to fix unused variable warning in NDEBUG mode after
8ba56f322abf848cec78ff7f814f3ad84cd778be)
The file was modifiedllvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
Commit 252567377c5e8613c1a238bd8598120945185b39 by courbet
[DAGCombine][NFC] Use ArrayRef and correctly size SmallVectors.
In preparation for D70487.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 339502cc8abb375e3dc8b5d3e9ef35c2541ccbbd by ibiryukov
[clangd] Reland b5135a86e0476: Fix a crash in expected types
Reverted in 6de45772e0910bf7fa626e5493a2798b071eb26c. With a fix to
Windows tests.
Differential Revision: https://reviews.llvm.org/D70481
The file was modifiedclang-tools-extra/clangd/ExpectedTypes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit 031307579363bfafc7f671b9f37b3669e861c762 by jaskiewiczs
[libcxx] Add Sergej Jaskiewicz to CREDITS.txt
Summary: Also, test commit access
Reviewers: EricWF
Subscribers: christof, ldionne, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D70526
The file was modifiedlibcxx/CREDITS.TXT
Commit df876a026981b7a125b31bbb85ba4b1144edb0f9 by zakk.chen
[RISCV] Support mutilib in baremetal environment
1. Currently only support the set of multilibs same to
riscv-gnu-toolchain. 2. Fix testcase typo causes fail on Windows
Reviewers: espindola, asb, kito-cheng, lenary
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D67508
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o
Commit 82921bf2baed96b700f90b090d5dc2530223d9c0 by flo
[Support] Don't check XCR0 when detecting avx512 on Darwin.
Darwin lazily saves the AVX512 context on first use [1]: instead of
checking that it already does to figure out if the OS supports AVX512,
trust that the kernel will do the right thing and always assume the
context save support is available.
[1]
https://github.com/apple/darwin-xnu/blob/xnu-4903.221.2/osfmk/i386/fpu.c#L174
Reviewers: ab, RKSimon, craig.topper
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D70453
The file was modifiedllvm/lib/Support/Host.cpp
Commit a70c3f9f45c8db3092db44110a992e9fd8ee776e by flo
[compiler-rt] Don't check XCR0 when detecting avx512 on Darwin.
Darwin lazily saves the AVX512 context on first use [1]: instead of
checking that it already does to figure out if the OS supports AVX512,
trust that the kernel will do the right thing and always assume the
context save support is available.
[1]
https://github.com/apple/darwin-xnu/blob/xnu-4903.221.2/osfmk/i386/fpu.c#L174
Reviewers: ab, RKSimon, craig.topper
Reviewed By: craig.topper
Subscribers: dberris, JDevlieghere, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D70454
The file was modifiedcompiler-rt/lib/builtins/cpu_model.c
Commit 2cada1e4da9d55b54a06b240cc061605729d50f4 by Raphael Isemann
[lldb][NFC] Early exit in
ClangExpressionDeclMap::FindExternalVisibleDecls
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 3889ff82bf4057ead22dad91a89384ac20ebd557 by david.stenberg
[DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC]
Summary: Also, replace the SmallVector with a normal C array.
Reviewers: vsk
Reviewed By: vsk
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70498
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
Commit 6821a3ccd69f2b3a92fe0c4f4276b72389cd4c76 by tcorring
[AMDGPU] Add attribute for target loop unroll threshold default
Summary: Add a function attribute to allow the target specific default
loop unroll threshold to be specified on a per-function basis. This
allows a front-end to give guidance where it has insight that is not
available to the back-end, while still allowing the target specific
heuristics to also have an effect.
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68873
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll
Commit ba6f906854263375cff3257d22d241a8a259cf77 by ibiryukov
[Driver] Use VFS to check if sanitizer blacklists exist
Summary: This is a follow-up to
590f279c456bbde632eca8ef89a85c478f15a249, which moved some of the
callers to use VFS.
It turned out more code in Driver calls into real filesystem APIs and
also needs an update.
Reviewers: gribozavr2, kadircet
Reviewed By: kadircet
Subscribers: ormris, mgorny, hiraditya, llvm-commits, jkorous,
cfe-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D70440
The file was addedclang/unittests/Driver/SanitizerArgsTest.cpp
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedclang/lib/Basic/SanitizerSpecialCaseList.cpp
The file was modifiedllvm/lib/Support/SpecialCaseList.cpp
The file was modifiedclang/unittests/Driver/CMakeLists.txt
The file was modifiedclang/lib/Basic/XRayLists.cpp
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
Commit 337151f41e78f42df1eedbb86479888a2c5d0a04 by Raphael Isemann
[lldb][NFC] Move searching for the local variable namespace into own
function
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 2229391eb1632893571a435dd00f4ee71b5dbaf7 by martin
[COFF] Widen PE32Header fields to fit 64 bit versions
The PE32Header struct is only used by COFFYAML, for intermediate
storage. The struct doesn't match the on-disk struct layout as it uses
native integers instead of e.g. support::ulittle32_t, so just widen the
fields to fit values for object::pe32plus_header, in addition to
object::pe32_header.
This avoids truncating the 64 bit ImageBase for 64 bit executables.
Differential Revision: https://reviews.llvm.org/D70464
The file was modifiedllvm/include/llvm/BinaryFormat/COFF.h
The file was modifiedllvm/test/tools/yaml2obj/COFF/basic-arm64.yaml
Commit 9f3fdb0d7fab73083e354768eb5808597474e1b8 by ibiryukov
Revert "[Driver] Use VFS to check if sanitizer blacklists exist"
This reverts commit ba6f906854263375cff3257d22d241a8a259cf77. Commit
caused compilation errors on llvm tests. Will fix and re-land.
The file was modifiedclang/lib/Basic/SanitizerSpecialCaseList.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Support/SpecialCaseList.cpp
The file was modifiedclang/lib/Basic/XRayLists.cpp
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
The file was removedclang/unittests/Driver/SanitizerArgsTest.cpp
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was modifiedclang/unittests/Driver/CMakeLists.txt
Commit 5cf58768cb3ba31ee37facaf23f7a74f78781590 by Tim Northover
Atomics: support min/max orthogonally
We seem to have been gradually growing support for atomic min/max
operations
(exposing longstanding IR atomicrmw instructions). But until now there
have been gaps in the expected intrinsics. This adds support for the
C11-style intrinsics (i.e. taking _Atomic, rather than individually
blessed by C11 standard), and the variants that return the new value
instead of the original one.
That way, people won't be misled by trying one form and it not working,
and the front-end is more friendly to people using _Atomic types, as we
recommend.
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/atomic-ops.c
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/test/SemaOpenCL/atomic-ops.cl
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGen/atomic-ops.c
Commit 35388dcbbc4ce6ce7125f718b3050be33c339464 by sven.vanhaastregt
[OpenCL] Fix address space for base method call (PR43145)
Clang was creating an UncheckedDerivedToBase ImplicitCastExpr that was
also casting between address spaces.  Insert an ImplicitCastExpr node
for doing the address space conversion.
Differential Revision: https://reviews.llvm.org/D69810
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-derived-base.cl
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 446acafb82b5c116b6c94c11d4ac4db7641fa58d by benny.kra
Revert "[DependenceAnalysis] Dependecies for loads marked with
"ivnariant.load" should not be shared with general accesses. Fix for
https://bugs.llvm.org/show_bug.cgi?id=42151"
Summary: Revert "[DependenceAnalysis] Dependecies for loads marked with
"ivnariant.load" should not be shared with general accesses. Fix for
https://bugs.llvm.org/show_bug.cgi?id=42151"
This reverts commit 5f026b6d9e882941fde9b7e5dc0a2d807f7f24f5.
We're (tensorflow.org/xla team) seeing some misscompiles with the new
change, only at -O3, with fast math disabled.
I'm still trying to come up with a useful/small/external example, but
for now, the following IR:
```
; ModuleID = '__compute_module' source_filename = "__compute_module"
target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
@0 = private unnamed_addr constant [4 x i8] c"\DB\0F\C9@"
@1 = private unnamed_addr constant [4 x i8] c"\00\00\00?"
; Function Attrs: uwtable define void @jit_wrapped_fun.31(i8* %retval,
i8* noalias %run_options, i8** noalias %params, i8** noalias
%buffer_table, i64* noalias %prof_counters) #0 { entry:
%fusion.invar_address.dim.2 = alloca i64
%fusion.invar_address.dim.1 = alloca i64
%fusion.invar_address.dim.0 = alloca i64
%fusion.1.invar_address.dim.2 = alloca i64
%fusion.1.invar_address.dim.1 = alloca i64
%fusion.1.invar_address.dim.0 = alloca i64
%0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1
%1 = load i8*, i8** %0, !invariant.load !0, !dereferenceable !1, !align
!2
%parameter.3 = bitcast i8* %1 to [2 x [1 x [4 x float]]]*
%2 = getelementptr inbounds i8*, i8** %buffer_table, i64 5
%3 = load i8*, i8** %2, !invariant.load !0, !dereferenceable !1, !align
!2
%fusion.1 = bitcast i8* %3 to [2 x [1 x [4 x float]]]*
store i64 0, i64* %fusion.1.invar_address.dim.0
br label %fusion.1.loop_header.dim.0
fusion.1.loop_header.dim.0:                       ; preds =
%fusion.1.loop_exit.dim.1, %entry
%fusion.1.indvar.dim.0 = load i64, i64* %fusion.1.invar_address.dim.0
%4 = icmp uge i64 %fusion.1.indvar.dim.0, 2
br i1 %4, label %fusion.1.loop_exit.dim.0, label
%fusion.1.loop_body.dim.0
fusion.1.loop_body.dim.0:                         ; preds =
%fusion.1.loop_header.dim.0
store i64 0, i64* %fusion.1.invar_address.dim.1
br label %fusion.1.loop_header.dim.1
fusion.1.loop_header.dim.1:                       ; preds =
%fusion.1.loop_exit.dim.2, %fusion.1.loop_body.dim.0
%fusion.1.indvar.dim.1 = load i64, i64* %fusion.1.invar_address.dim.1
%5 = icmp uge i64 %fusion.1.indvar.dim.1, 1
br i1 %5, label %fusion.1.loop_exit.dim.1, label
%fusion.1.loop_body.dim.1
fusion.1.loop_body.dim.1:                         ; preds =
%fusion.1.loop_header.dim.1
store i64 0, i64* %fusion.1.invar_address.dim.2
br label %fusion.1.loop_header.dim.2
fusion.1.loop_header.dim.2:                       ; preds =
%fusion.1.loop_body.dim.2, %fusion.1.loop_body.dim.1
%fusion.1.indvar.dim.2 = load i64, i64* %fusion.1.invar_address.dim.2
%6 = icmp uge i64 %fusion.1.indvar.dim.2, 4
br i1 %6, label %fusion.1.loop_exit.dim.2, label
%fusion.1.loop_body.dim.2
fusion.1.loop_body.dim.2:                         ; preds =
%fusion.1.loop_header.dim.2
%7 = load float, float* bitcast ([4 x i8]* @0 to float*)
%8 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %parameter.3, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64
%fusion.1.indvar.dim.2
%9 = load float, float* %8, !invariant.load !0, !noalias !3
%10 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %parameter.3, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64
%fusion.1.indvar.dim.2
%11 = load float, float* %10, !invariant.load !0, !noalias !3
%12 = fmul float %9, %11
%13 = fmul float %7, %12
%14 = call float @llvm.log.f32(float %13)
%15 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %fusion.1, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64
%fusion.1.indvar.dim.2
store float %14, float* %15, !alias.scope !7, !noalias !8
%invar.inc2 = add nuw nsw i64 %fusion.1.indvar.dim.2, 1
store i64 %invar.inc2, i64* %fusion.1.invar_address.dim.2
br label %fusion.1.loop_header.dim.2
fusion.1.loop_exit.dim.2:                         ; preds =
%fusion.1.loop_header.dim.2
%invar.inc1 = add nuw nsw i64 %fusion.1.indvar.dim.1, 1
store i64 %invar.inc1, i64* %fusion.1.invar_address.dim.1
br label %fusion.1.loop_header.dim.1
fusion.1.loop_exit.dim.1:                         ; preds =
%fusion.1.loop_header.dim.1
%invar.inc = add nuw nsw i64 %fusion.1.indvar.dim.0, 1
store i64 %invar.inc, i64* %fusion.1.invar_address.dim.0
br label %fusion.1.loop_header.dim.0
fusion.1.loop_exit.dim.0:                         ; preds =
%fusion.1.loop_header.dim.0
%16 = getelementptr inbounds i8*, i8** %buffer_table, i64 4
%17 = load i8*, i8** %16, !invariant.load !0, !dereferenceable !9,
!align !2
%parameter.1 = bitcast i8* %17 to float*
%18 = getelementptr inbounds i8*, i8** %buffer_table, i64 2
%19 = load i8*, i8** %18, !invariant.load !0, !dereferenceable !10,
!align !2
%parameter.2 = bitcast i8* %19 to [3 x [1 x float]]*
%20 = getelementptr inbounds i8*, i8** %buffer_table, i64 0
%21 = load i8*, i8** %20, !invariant.load !0, !dereferenceable !11,
!align !2
%fusion = bitcast i8* %21 to [2 x [3 x [4 x float]]]*
store i64 0, i64* %fusion.invar_address.dim.0
br label %fusion.loop_header.dim.0
fusion.loop_header.dim.0:                         ; preds =
%fusion.loop_exit.dim.1, %fusion.1.loop_exit.dim.0
%fusion.indvar.dim.0 = load i64, i64* %fusion.invar_address.dim.0
%22 = icmp uge i64 %fusion.indvar.dim.0, 2
br i1 %22, label %fusion.loop_exit.dim.0, label %fusion.loop_body.dim.0
fusion.loop_body.dim.0:                           ; preds =
%fusion.loop_header.dim.0
store i64 0, i64* %fusion.invar_address.dim.1
br label %fusion.loop_header.dim.1
fusion.loop_header.dim.1:                         ; preds =
%fusion.loop_exit.dim.2, %fusion.loop_body.dim.0
%fusion.indvar.dim.1 = load i64, i64* %fusion.invar_address.dim.1
%23 = icmp uge i64 %fusion.indvar.dim.1, 3
br i1 %23, label %fusion.loop_exit.dim.1, label %fusion.loop_body.dim.1
fusion.loop_body.dim.1:                           ; preds =
%fusion.loop_header.dim.1
store i64 0, i64* %fusion.invar_address.dim.2
br label %fusion.loop_header.dim.2
fusion.loop_header.dim.2:                         ; preds =
%fusion.loop_body.dim.2, %fusion.loop_body.dim.1
%fusion.indvar.dim.2 = load i64, i64* %fusion.invar_address.dim.2
%24 = icmp uge i64 %fusion.indvar.dim.2, 4
br i1 %24, label %fusion.loop_exit.dim.2, label %fusion.loop_body.dim.2
fusion.loop_body.dim.2:                           ; preds =
%fusion.loop_header.dim.2
%25 = mul nuw nsw i64 %fusion.indvar.dim.2, 1
%26 = add nuw nsw i64 0, %25
%27 = udiv i64 %26, 4
%28 = mul nuw nsw i64 %fusion.indvar.dim.0, 1
%29 = add nuw nsw i64 0, %28
%30 = udiv i64 %29, 2
%31 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %fusion.1, i64 0, i64 %29, i64 0, i64 %26
%32 = load float, float* %31, !alias.scope !7, !noalias !8
%33 = mul nuw nsw i64 %fusion.indvar.dim.1, 1
%34 = add nuw nsw i64 0, %33
%35 = udiv i64 %34, 3
%36 = load float, float* %parameter.1, !invariant.load !0, !noalias !3
%37 = getelementptr inbounds [3 x [1 x float]], [3 x [1 x float]]*
%parameter.2, i64 0, i64 %34, i64 0
%38 = load float, float* %37, !invariant.load !0, !noalias !3
%39 = fsub float %36, %38
%40 = fmul float %39, %39
%41 = mul nuw nsw i64 %fusion.indvar.dim.2, 1
%42 = add nuw nsw i64 0, %41
%43 = udiv i64 %42, 4
%44 = mul nuw nsw i64 %fusion.indvar.dim.0, 1
%45 = add nuw nsw i64 0, %44
%46 = udiv i64 %45, 2
%47 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %parameter.3, i64 0, i64 %45, i64 0, i64 %42
%48 = load float, float* %47, !invariant.load !0, !noalias !3
%49 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %parameter.3, i64 0, i64 %45, i64 0, i64 %42
%50 = load float, float* %49, !invariant.load !0, !noalias !3
%51 = fmul float %48, %50
%52 = fdiv float %40, %51
%53 = fadd float %32, %52
%54 = fneg float %53
%55 = load float, float* bitcast ([4 x i8]* @1 to float*)
%56 = fmul float %54, %55
%57 = getelementptr inbounds [2 x [3 x [4 x float]]], [2 x [3 x [4 x
float]]]* %fusion, i64 0, i64 %fusion.indvar.dim.0, i64
%fusion.indvar.dim.1, i64 %fusion.indvar.dim.2
store float %56, float* %57, !alias.scope !8, !noalias !12
%invar.inc5 = add nuw nsw i64 %fusion.indvar.dim.2, 1
store i64 %invar.inc5, i64* %fusion.invar_address.dim.2
br label %fusion.loop_header.dim.2
fusion.loop_exit.dim.2:                           ; preds =
%fusion.loop_header.dim.2
%invar.inc4 = add nuw nsw i64 %fusion.indvar.dim.1, 1
store i64 %invar.inc4, i64* %fusion.invar_address.dim.1
br label %fusion.loop_header.dim.1
fusion.loop_exit.dim.1:                           ; preds =
%fusion.loop_header.dim.1
%invar.inc3 = add nuw nsw i64 %fusion.indvar.dim.0, 1
store i64 %invar.inc3, i64* %fusion.invar_address.dim.0
br label %fusion.loop_header.dim.0
fusion.loop_exit.dim.0:                           ; preds =
%fusion.loop_header.dim.0
%58 = getelementptr inbounds i8*, i8** %buffer_table, i64 3
%59 = load i8*, i8** %58, !invariant.load !0, !dereferenceable !2,
!align !2
%tuple.30 = bitcast i8* %59 to [1 x i8*]*
%60 = bitcast [2 x [3 x [4 x float]]]* %fusion to i8*
%61 = getelementptr inbounds [1 x i8*], [1 x i8*]* %tuple.30, i64 0,
i64 0
store i8* %60, i8** %61, !alias.scope !14, !noalias !8
ret void
}
; Function Attrs: nounwind readnone speculatable willreturn declare
float @llvm.log.f32(float) #1
attributes #0 = { uwtable "no-frame-pointer-elim"="false" } attributes
#1 = { nounwind readnone speculatable willreturn }
!0 = !{}
!1 = !{i64 32}
!2 = !{i64 8}
!3 = !{!4, !6}
!4 = !{!"buffer: {index:0, offset:0, size:96}", !5}
!5 = !{!"XLA global AA domain"}
!6 = !{!"buffer: {index:5, offset:0, size:32}", !5}
!7 = !{!6}
!8 = !{!4}
!9 = !{i64 4}
!10 = !{i64 12}
!11 = !{i64 96}
!12 = !{!13, !6}
!13 = !{!"buffer: {index:3, offset:0, size:8}", !5}
!14 = !{!13}
```
gets (correctly) optimized to the one below without the change:
```
; ModuleID = '__compute_module' source_filename = "__compute_module"
target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
; Function Attrs: nofree nounwind uwtable define void
@jit_wrapped_fun.31(i8* nocapture readnone %retval, i8* noalias
nocapture readnone %run_options, i8** noalias nocapture readnone
%params, i8** noalias nocapture readonly %buffer_table, i64* noalias
nocapture readnone %prof_counters) local_unnamed_addr #0 { entry:
%0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1
%1 = bitcast i8** %0 to [2 x [1 x [4 x float]]]**
%2 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %1, align
8, !invariant.load !0, !dereferenceable !1, !align !2
%3 = getelementptr inbounds i8*, i8** %buffer_table, i64 5
%4 = bitcast i8** %3 to [2 x [1 x [4 x float]]]**
%5 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %4, align
8, !invariant.load !0, !dereferenceable !1, !align !2
%6 = bitcast [2 x [1 x [4 x float]]]* %2 to <4 x float>*
%7 = load <4 x float>, <4 x float>* %6, align 8, !invariant.load !0,
!noalias !3
%8 = fmul <4 x float> %7, %7
%9 = fmul <4 x float> %8, <float 0x401921FB60000000, float
0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000>
%10 = call <4 x float> @llvm.log.v4f32(<4 x float> %9)
%11 = bitcast [2 x [1 x [4 x float]]]* %5 to <4 x float>*
store <4 x float> %10, <4 x float>* %11, align 8, !alias.scope !7,
!noalias !8
%12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %2, i64 0, i64 1, i64 0, i64 0
%13 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %5, i64 0, i64 1, i64 0, i64 0
%14 = bitcast float* %12 to <4 x float>*
%15 = load <4 x float>, <4 x float>* %14, align 8, !invariant.load !0,
!noalias !3
%16 = fmul <4 x float> %15, %15
%17 = fmul <4 x float> %16, <float 0x401921FB60000000, float
0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000>
%18 = call <4 x float> @llvm.log.v4f32(<4 x float> %17)
%19 = bitcast float* %13 to <4 x float>*
store <4 x float> %18, <4 x float>* %19, align 8, !alias.scope !7,
!noalias !8
%20 = getelementptr inbounds i8*, i8** %buffer_table, i64 4
%21 = bitcast i8** %20 to float**
%22 = load float*, float** %21, align 8, !invariant.load !0,
!dereferenceable !9, !align !2
%23 = getelementptr inbounds i8*, i8** %buffer_table, i64 2
%24 = bitcast i8** %23 to [3 x [1 x float]]**
%25 = load [3 x [1 x float]]*, [3 x [1 x float]]** %24, align 8,
!invariant.load !0, !dereferenceable !10, !align !2
%26 = load i8*, i8** %buffer_table, align 8, !invariant.load !0,
!dereferenceable !11, !align !2
%27 = load float, float* %22, align 8, !invariant.load !0, !noalias !3
%.phi.trans.insert28 = getelementptr inbounds [3 x [1 x float]], [3 x
[1 x float]]* %25, i64 0, i64 2, i64 0
%.pre29 = load float, float* %.phi.trans.insert28, align 8,
!invariant.load !0, !noalias !3
%28 = bitcast [3 x [1 x float]]* %25 to <2 x float>*
%29 = load <2 x float>, <2 x float>* %28, align 8, !invariant.load !0,
!noalias !3
%30 = insertelement <2 x float> undef, float %27, i32 0
%31 = shufflevector <2 x float> %30, <2 x float> undef, <2 x i32>
zeroinitializer
%32 = fsub <2 x float> %31, %29
%33 = fmul <2 x float> %32, %32
%shuffle30 = shufflevector <2 x float> %33, <2 x float> undef, <8 x
i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1>
%34 = fsub float %27, %.pre29
%35 = fmul float %34, %34
%36 = insertelement <4 x float> undef, float %35, i32 0
%37 = shufflevector <4 x float> %36, <4 x float> undef, <4 x i32>
zeroinitializer
%shuffle = shufflevector <4 x float> %10, <4 x float> undef, <8 x i32>
<i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%38 = fmul <4 x float> %7, %7
%shuffle31 = shufflevector <4 x float> %38, <4 x float> undef, <8 x
i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%39 = fdiv <8 x float> %shuffle30, %shuffle31
%40 = fadd <8 x float> %shuffle, %39
%41 = fmul <8 x float> %40, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float
-5.000000e-01, float -5.000000e-01, float -5.000000e-01>
%42 = bitcast i8* %26 to <8 x float>*
store <8 x float> %41, <8 x float>* %42, align 8, !alias.scope !8,
!noalias !12
%43 = getelementptr inbounds i8, i8* %26, i64 32
%44 = fdiv <4 x float> %37, %38
%45 = fadd <4 x float> %10, %44
%46 = fmul <4 x float> %45, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01>
%47 = bitcast i8* %43 to <4 x float>*
store <4 x float> %46, <4 x float>* %47, align 8, !alias.scope !8,
!noalias !12
%.phi.trans.insert = getelementptr inbounds [2 x [1 x [4 x float]]], [2
x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0
%.phi.trans.insert12 = getelementptr inbounds [2 x [1 x [4 x float]]],
[2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0
%48 = bitcast float* %.phi.trans.insert to <4 x float>*
%49 = load <4 x float>, <4 x float>* %48, align 8, !alias.scope !7,
!noalias !8
%50 = bitcast float* %.phi.trans.insert12 to <4 x float>*
%51 = load <4 x float>, <4 x float>* %50, align 8, !invariant.load !0,
!noalias !3
%shuffle.1 = shufflevector <4 x float> %49, <4 x float> undef, <8 x
i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%52 = getelementptr inbounds i8, i8* %26, i64 48
%53 = fmul <4 x float> %51, %51
%shuffle31.1 = shufflevector <4 x float> %53, <4 x float> undef, <8 x
i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%54 = fdiv <8 x float> %shuffle30, %shuffle31.1
%55 = fadd <8 x float> %shuffle.1, %54
%56 = fmul <8 x float> %55, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float
-5.000000e-01, float -5.000000e-01, float -5.000000e-01>
%57 = bitcast i8* %52 to <8 x float>*
store <8 x float> %56, <8 x float>* %57, align 8, !alias.scope !8,
!noalias !12
%58 = getelementptr inbounds i8, i8* %26, i64 80
%59 = fdiv <4 x float> %37, %53
%60 = fadd <4 x float> %49, %59
%61 = fmul <4 x float> %60, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01>
%62 = bitcast i8* %58 to <4 x float>*
store <4 x float> %61, <4 x float>* %62, align 8, !alias.scope !8,
!noalias !12
%63 = getelementptr inbounds i8*, i8** %buffer_table, i64 3
%64 = bitcast i8** %63 to [1 x i8*]**
%65 = load [1 x i8*]*, [1 x i8*]** %64, align 8, !invariant.load !0,
!dereferenceable !2, !align !2
%66 = getelementptr inbounds [1 x i8*], [1 x i8*]* %65, i64 0, i64 0
store i8* %26, i8** %66, align 8, !alias.scope !14, !noalias !8
ret void
}
; Function Attrs: nounwind readnone speculatable willreturn declare <4 x
float> @llvm.log.v4f32(<4 x float>) #1
attributes #0 = { nofree nounwind uwtable
"no-frame-pointer-elim"="false" } attributes #1 = { nounwind readnone
speculatable willreturn }
!0 = !{}
!1 = !{i64 32}
!2 = !{i64 8}
!3 = !{!4, !6}
!4 = !{!"buffer: {index:0, offset:0, size:96}", !5}
!5 = !{!"XLA global AA domain"}
!6 = !{!"buffer: {index:5, offset:0, size:32}", !5}
!7 = !{!6}
!8 = !{!4}
!9 = !{i64 4}
!10 = !{i64 12}
!11 = !{i64 96}
!12 = !{!13, !6}
!13 = !{!"buffer: {index:3, offset:0, size:8}", !5}
!14 = !{!13}
```
and (incorrectly) optimized to the one below with the change:
```
; ModuleID = '__compute_module' source_filename = "__compute_module"
target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
; Function Attrs: nofree nounwind uwtable define void
@jit_wrapped_fun.31(i8* nocapture readnone %retval, i8* noalias
nocapture readnone %run_options, i8** noalias nocapture readnone
%params, i8** noalias nocapture readonly %buffer_table, i64* noalias
nocapture readnone %prof_counters) local_unnamed_addr #0 { entry:
%0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1
%1 = bitcast i8** %0 to [2 x [1 x [4 x float]]]**
%2 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %1, align
8, !invariant.load !0, !dereferenceable !1, !align !2
%3 = getelementptr inbounds i8*, i8** %buffer_table, i64 5
%4 = bitcast i8** %3 to [2 x [1 x [4 x float]]]**
%5 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %4, align
8, !invariant.load !0, !dereferenceable !1, !align !2
%6 = bitcast [2 x [1 x [4 x float]]]* %2 to <4 x float>*
%7 = load <4 x float>, <4 x float>* %6, align 8, !invariant.load !0,
!noalias !3
%8 = fmul <4 x float> %7, %7
%9 = fmul <4 x float> %8, <float 0x401921FB60000000, float
0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000>
%10 = call <4 x float> @llvm.log.v4f32(<4 x float> %9)
%11 = bitcast [2 x [1 x [4 x float]]]* %5 to <4 x float>*
store <4 x float> %10, <4 x float>* %11, align 8, !alias.scope !7,
!noalias !8
%12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %2, i64 0, i64 1, i64 0, i64 0
%13 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %5, i64 0, i64 1, i64 0, i64 0
%14 = bitcast float* %12 to <4 x float>*
%15 = load <4 x float>, <4 x float>* %14, align 8, !invariant.load !0,
!noalias !3
%16 = fmul <4 x float> %15, %15
%17 = fmul <4 x float> %16, <float 0x401921FB60000000, float
0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000>
%18 = call <4 x float> @llvm.log.v4f32(<4 x float> %17)
%19 = bitcast float* %13 to <4 x float>*
store <4 x float> %18, <4 x float>* %19, align 8, !alias.scope !7,
!noalias !8
%20 = getelementptr inbounds i8*, i8** %buffer_table, i64 4
%21 = bitcast i8** %20 to float**
%22 = load float*, float** %21, align 8, !invariant.load !0,
!dereferenceable !9, !align !2
%23 = getelementptr inbounds i8*, i8** %buffer_table, i64 2
%24 = bitcast i8** %23 to [3 x [1 x float]]**
%25 = load [3 x [1 x float]]*, [3 x [1 x float]]** %24, align 8,
!invariant.load !0, !dereferenceable !10, !align !2
%26 = load i8*, i8** %buffer_table, align 8, !invariant.load !0,
!dereferenceable !11, !align !2
%27 = load float, float* %22, align 8, !invariant.load !0, !noalias !3
%.phi.trans.insert28 = getelementptr inbounds [3 x [1 x float]], [3 x
[1 x float]]* %25, i64 0, i64 2, i64 0
%.pre29 = load float, float* %.phi.trans.insert28, align 8,
!invariant.load !0, !noalias !3
%28 = bitcast [3 x [1 x float]]* %25 to <2 x float>*
%29 = load <2 x float>, <2 x float>* %28, align 8, !invariant.load !0,
!noalias !3
%30 = insertelement <2 x float> undef, float %27, i32 0
%31 = shufflevector <2 x float> %30, <2 x float> undef, <2 x i32>
zeroinitializer
%32 = fsub <2 x float> %31, %29
%33 = fmul <2 x float> %32, %32
%shuffle32 = shufflevector <2 x float> %33, <2 x float> undef, <8 x
i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1>
%34 = fsub float %27, %.pre29
%35 = fmul float %34, %34
%36 = insertelement <4 x float> undef, float %35, i32 0
%37 = shufflevector <4 x float> %36, <4 x float> undef, <4 x i32>
zeroinitializer
%shuffle = shufflevector <4 x float> %10, <4 x float> undef, <8 x i32>
<i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%38 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %5, i64 0, i64 0, i64 0, i64 3
%39 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %2, i64 0, i64 0, i64 0, i64 3
%40 = fmul <4 x float> %7, %7
%41 = shufflevector <4 x float> %40, <4 x float> undef, <8 x i32> <i32
0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
%42 = fdiv <8 x float> %shuffle32, %41
%43 = fadd <8 x float> %shuffle, %42
%44 = fmul <8 x float> %43, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float
-5.000000e-01, float -5.000000e-01, float -5.000000e-01>
%45 = bitcast i8* %26 to <8 x float>*
store <8 x float> %44, <8 x float>* %45, align 8, !alias.scope !8,
!noalias !12
%46 = extractelement <4 x float> %10, i32 0
%47 = getelementptr inbounds i8, i8* %26, i64 32
%48 = extractelement <4 x float> %10, i32 1
%49 = extractelement <4 x float> %10, i32 2
%50 = load float, float* %38, align 4, !alias.scope !7, !noalias !8
%51 = load float, float* %39, align 4, !invariant.load !0, !noalias !3
%52 = fmul float %51, %51
%53 = insertelement <4 x float> undef, float %52, i32 3
%54 = fdiv <4 x float> %37, %53
%55 = insertelement <4 x float> undef, float %46, i32 0
%56 = insertelement <4 x float> %55, float %48, i32 1
%57 = insertelement <4 x float> %56, float %49, i32 2
%58 = insertelement <4 x float> %57, float %50, i32 3
%59 = fadd <4 x float> %58, %54
%60 = fmul <4 x float> %59, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01>
%61 = bitcast i8* %47 to <4 x float>*
store <4 x float> %60, <4 x float>* %61, align 8, !alias.scope !8,
!noalias !12
%.phi.trans.insert = getelementptr inbounds [2 x [1 x [4 x float]]], [2
x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0
%.phi.trans.insert12 = getelementptr inbounds [2 x [1 x [4 x float]]],
[2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0
%62 = bitcast float* %.phi.trans.insert to <4 x float>*
%63 = load <4 x float>, <4 x float>* %62, align 8, !alias.scope !7,
!noalias !8
%64 = bitcast float* %.phi.trans.insert12 to <4 x float>*
%65 = load <4 x float>, <4 x float>* %64, align 8, !invariant.load !0,
!noalias !3
%shuffle.1 = shufflevector <4 x float> %63, <4 x float> undef, <8 x
i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%66 = getelementptr inbounds i8, i8* %26, i64 48
%67 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %5, i64 0, i64 1, i64 0, i64 3
%68 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x
float]]]* %2, i64 0, i64 1, i64 0, i64 3
%69 = fmul <4 x float> %65, %65
%70 = shufflevector <4 x float> %69, <4 x float> undef, <8 x i32> <i32
0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
%71 = fdiv <8 x float> %shuffle32, %70
%72 = fadd <8 x float> %shuffle.1, %71
%73 = fmul <8 x float> %72, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float
-5.000000e-01, float -5.000000e-01, float -5.000000e-01>
%74 = bitcast i8* %66 to <8 x float>*
store <8 x float> %73, <8 x float>* %74, align 8, !alias.scope !8,
!noalias !12
%75 = extractelement <4 x float> %69, i32 0
%76 = extractelement <4 x float> %63, i32 0
%77 = getelementptr inbounds i8, i8* %26, i64 80
%78 = extractelement <4 x float> %69, i32 1
%79 = extractelement <4 x float> %63, i32 1
%80 = extractelement <4 x float> %69, i32 2
%81 = extractelement <4 x float> %63, i32 2
%82 = load float, float* %67, align 4, !alias.scope !7, !noalias !8
%83 = load float, float* %68, align 4, !invariant.load !0, !noalias !3
%84 = fmul float %83, %83
%85 = insertelement <4 x float> undef, float %75, i32 0
%86 = insertelement <4 x float> %85, float %78, i32 1
%87 = insertelement <4 x float> %86, float %80, i32 2
%88 = insertelement <4 x float> %87, float %84, i32 3
%89 = fdiv <4 x float> %37, %88
%90 = insertelement <4 x float> undef, float %76, i32 0
%91 = insertelement <4 x float> %90, float %79, i32 1
%92 = insertelement <4 x float> %91, float %81, i32 2
%93 = insertelement <4 x float> %92, float %82, i32 3
%94 = fadd <4 x float> %93, %89
%95 = fmul <4 x float> %94, <float -5.000000e-01, float -5.000000e-01,
float -5.000000e-01, float -5.000000e-01>
%96 = bitcast i8* %77 to <4 x float>*
store <4 x float> %95, <4 x float>* %96, align 8, !alias.scope !8,
!noalias !12
%97 = getelementptr inbounds i8*, i8** %buffer_table, i64 3
%98 = bitcast i8** %97 to [1 x i8*]**
%99 = load [1 x i8*]*, [1 x i8*]** %98, align 8, !invariant.load !0,
!dereferenceable !2, !align !2
%100 = getelementptr inbounds [1 x i8*], [1 x i8*]* %99, i64 0, i64 0
store i8* %26, i8** %100, align 8, !alias.scope !14, !noalias !8
ret void
}
; Function Attrs: nounwind readnone speculatable willreturn declare <4 x
float> @llvm.log.v4f32(<4 x float>) #1
attributes #0 = { nofree nounwind uwtable
"no-frame-pointer-elim"="false" } attributes #1 = { nounwind readnone
speculatable willreturn }
!0 = !{}
!1 = !{i64 32}
!2 = !{i64 8}
!3 = !{!4, !6}
!4 = !{!"buffer: {index:0, offset:0, size:96}", !5}
!5 = !{!"XLA global AA domain"}
!6 = !{!"buffer: {index:5, offset:0, size:32}", !5}
!7 = !{!6}
!8 = !{!4}
!9 = !{i64 4}
!10 = !{i64 12}
!11 = !{i64 96}
!12 = !{!13, !6}
!13 = !{!"buffer: {index:3, offset:0, size:8}", !5}
!14 = !{!13}
```
This results in bad numerical answers when used through XLA. Again, it's
not that easy to give a small fully-reproducible example, but the
misscompare is:
``` Expected literal:
( f32[2,3,4] {
{
{ nan, -inf, -3181.35, -inf },
{ nan, -inf, -28.2577019, -inf },
{ nan, -inf, -28.2577019, -inf }
},
{
{ -inf, -inf, -inf, -inf },
{ -6.60753046e+28, -1.47314833e+23, -inf, -inf },
{ -2.43504347e+30, -5.42892693e+24, -inf, -inf }
}
}
)
Actual literal:
( f32[2,3,4] {
{
{ nan, -inf, -3181.35, -inf },
{ nan, -inf, -inf, -inf },
{ inf, -inf, -28.2577019, -inf }
},
{
{ -inf, -inf, -inf, -inf },
{ -6.60753046e+28, -1.47314833e+23, -inf, -inf },
{ -2.43504347e+30, -5.42892693e+24, -inf, -inf }
}
}
)
```
Reviewers: sanjoy.google, sanjoy, ebrevnov, jdoerfert, reames, chandlerc
Subscribers: hiraditya, Charusso, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70516
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Commit 3d07c3cf7c9284f5202cf4b3a4db0478e8de29ea by simon
[mips] Remove addresses from the test case. NFC
It reduces "diff" after addition more tests in the future.
The file was modifiedllvm/test/MC/Mips/sym-sc.s
Commit cc80695f6f17f922ce91f18804b44af89ed21f27 by simon
[mips] Remove unused `IsPCRelativeLoad` MIPS instructions attribute. NFC
This attribute is always set to zero.
The file was modifiedllvm/lib/Target/Mips/MipsInstrFormats.td
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
Commit d9cb1b34e068be18768bb0533d5a157397e62838 by simon
[mips] Rename test case. NFC
The file was addedllvm/test/MC/Mips/sc-expansion.s
The file was removedllvm/test/MC/Mips/sym-sc.s
Commit f65cfff605f2fd802fc337c6152474e3f3d22a1c by pavel
dwarfdump --statistics: Use new location list api
Summary: This patch removes manual location list handling in the
statistics code and replaces it with the new DWARFDie api, which
provides access to a
"cooked" location list. This has the following effects:
- the code now properly handles split-dwarf location lists
- it will automatically support dwarf5 location lists once support for
those is added
- it properly handles location lists with base address selection entries
- it fixes a bug where the location list code was using the first
DW_AT_ranges range as a "base address" of the compile unit (it should
have used DW_AT_low_pc instead. The effect of this was that the
computation of the start address of a variable in its scope was broken
for these kinds of compile units. This only manifested itself on
linked files, since in object files the first DW_AT_ranges range
normally starts at 0.
Since pretty much every kind of location list was broken in some way,
it's hard to verify that the new implementation is correct -- the output
will be different in all non-trivial cases, and mostly with good reason.
Most of the existing statistics tests continue to pass though, and a
visual inspection of the statistics for non-trivial inputs shows that
the data is more "reasonable" now. I have updated the "dwo statistics"
test to include the new numbers, as the previous ones were completely
bogus, and I have added a targeted test for the "base address" bug.
Reviewers: dblaikie, cmtice, vsk
Subscribers: aprantl, SouraVX, JDevlieghere, djtodoro, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70444
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/statistics-base-address.s
Commit aa981c1802d7353c777e399f2568e5a0e12dea21 by ibiryukov
Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists
exist
With updates to various LLVM tools that use SpecialCastList.
It was tempting to use RealFileSystem as the default, but that makes it
too easy to accidentally forget passing VFS in clang code.
The file was modifiedclang/lib/Basic/SanitizerSpecialCaseList.cpp
The file was modifiedclang/unittests/Driver/CMakeLists.txt
The file was modifiedclang/lib/Basic/XRayLists.cpp
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedllvm/include/llvm/Support/SpecialCaseList.h
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/unittests/Support/SpecialCaseListTest.cpp
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
The file was modifiedllvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
The file was modifiedllvm/lib/Support/SpecialCaseList.cpp
The file was modifiedllvm/tools/sancov/sancov.cpp
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was addedclang/unittests/Driver/SanitizerArgsTest.cpp
Commit a0408ab7f9863954b9d978d78761ed7b893f13b1 by Raphael Isemann
[lldb][NFC] Move searching the ClangModulesDeclVendor into own function
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 2e298a6a51065a25240d15872cb350e0761ea04d by ibiryukov
[Driver] Fix a shadowing warning. NFC
Found by the following buildbot:
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/30084
The file was modifiedclang/unittests/Driver/SanitizerArgsTest.cpp
Commit 7fa976d57a1e2ab735212e5d9fc13cc38c4c81e9 by Raphael Isemann
[lldb][NFC] Move searching local variables into own function
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit ffc4ff868fcca29080dcc90e223b582c4ccfc574 by Tatyana Krasnukha
[lldb][NFC] Remove test directory completely
The test was moved to "completion-in-lambda-and-unnamed-class" by
D66175.
+ Fix typo in the directory name.
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnamed-class/main.cpp
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnnamed-class/TestCompletionInLambdaAndUnnamedClass.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash-lambda/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnamed-class/TestCompletionInLambdaAndUnnamedClass.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnnamed-class/main.cpp
Commit 013f4ba9c21f91accc516e5a70c70efc69d92b69 by llvm-dev
Fix Wshadow warning against global None variable. NFC.
The file was modifiedclang/include/clang/AST/DeclTemplate.h
Commit af029860593e595aa496d96b4fa2386e2a3546ad by llvm-dev
Statistic - Fix MSVC shadow warning against global PrintOnExit static
variable. NFC.
The file was modifiedllvm/lib/Support/Statistic.cpp
The file was modifiedllvm/include/llvm/ADT/Statistic.h
Commit 12a88f0128eaf730976094194e8c9de2798579ac by courbet
[DAGCombiner] Add tests for thumb load-combine.
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine.ll
Commit bdb1f1dcb9f1164b9df6b49eea7b38e16574bdf2 by zakk.chen
Revert "[RISCV] Support mutilib in baremetal environment"
This reverts commit df876a026981b7a125b31bbb85ba4b1144edb0f9.
Clang::riscv32-toolchain.c Clang::riscv64-toolchain.c fails on Windows.
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld
The file was removedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o
Commit 161742a612d198a8a89a1be5b2a893ceec8d852d by dmitrig
Make coding standards document more inclusive
Summary: Patch by Doug Gregor, Tres Popp, and Dmitri Gribenko.
Reviewers: chandlerc
Subscribers: hfinkel, bmcreusillet, arsenm, doug.gregor, mgrang,
arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69354
The file was modifiedllvm/docs/CodingStandards.rst
The file was modifiedllvm/docs/index.rst
Commit 24e98867937d5bb89605fd7be7e9ebdd3d5fb935 by Raphael Isemann
[lldb][NFC] Reduce scope of some variables in
ClangExpressionDeclMap::FindExternalVisibleDecls
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 7b957ddc981d65276ca5aa0e7208890269cc9682 by a.v.lapshin
[Debuginfo][NFC] removes redundant semicolon.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
Commit c63f1b160eb68cfac30113f259abae508d8be798 by ehudkatz
[DeclCXX] Remove unknown external linkage specifications
Partial revert of r372681 "Support for DWARF-5 C++ language tags".
The change introduced new external linkage languages ("C++11" and
"C++14") which not supported in C++.
It also changed the definition of the existing enum to use the DWARF
constants. The problem is that "LinkageSpecDeclBits.Language" (the field
that reserves this enum) is actually defined as 3 bits length
(bitfield), which cannot contain the new DWARF constants. Defining the
enum as integer literals is more appropriate for maintaining valid
values.
Differential Revision: https://reviews.llvm.org/D69935
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/Sema/SemaModule.cpp
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang-tools-extra/modularize/Modularize.cpp
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit 5fb7dd8a40d2f35eea47b9c280722bd735e387a0 by Raphael Isemann
[lldb][NFC] Move searching functions in ClangExpressionDeclMap to own
function
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
Commit 8cf8ec40a1fee9706237d30385e78e1de214d8f7 by Raphael Isemann
[lldb][NFC] Modernize string handling in
ClangExpressionDeclMap::FindExternalVisibleDecl
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 901cd3b3f62d0c700e5d2c3f97eff97d634bec5e by sjoerd.meijer
[LV] PreferPredicateOverEpilog respecting option
Follow-up of cb47b8783: don't query TTI->preferPredicateOverEpilogue
when option -prefer-predicate-over-epilog is set to false, i.e. when we
prefer not to predicate the loop.
Differential Revision: https://reviews.llvm.org/D70382
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit b25f985848767f36dcdcbac213ddb03bcdab617a by courbet
[DAGCombiner] Use the right thumbv7meb triple for ARM big-endian test.
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
Commit 6ba5cbf3ea2315acf1b7f1c39c6fec6cca5560ca by Milos.Stojanovic
[mips] Add a 'generic' Mips CPU
Having a generic CPU removes a warning when creating a subtarget without
the CPU being explicitly specified.
Differential Revision: https://reviews.llvm.org/D70490
The file was modifiedllvm/test/CodeGen/Mips/cpus.ll
The file was modifiedllvm/lib/Target/Mips/Mips.td
Commit 103f3c9e3b3ce663b5451e321e3800e09f851b8a by a.bataev
[OPENMP50]Add if clause in for 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/test/OpenMP/for_simd_codegen.cpp
The file was addedclang/test/OpenMP/for_simd_if_messages.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/for_simd_ast_print.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
Commit e8d1578131247d089209952476ba9191ad0295be by kparzysz
[Hexagon] Remove incorrect intrinsic definition and invalid testcase
The intrinsic int_hexagon_S2_asr_i_vh was mapped to S2_asr_r_vh, which
is wrong. The testcase vasrh.select.ll was using an invalid immediate
for that intrinsic. This is not a proper testcase, since at the MIR
level such use of this intrinsic should never appear.
Together with 824b25fc02, this completes the fix for llvm.org/PR44090.
The file was modifiedllvm/lib/Target/Hexagon/HexagonIntrinsics.td
The file was removedllvm/test/CodeGen/Hexagon/vasrh.select.ll
Commit d3fec7fb456138c83b84e38ce785ea6bfa59c30b by jyknight
LLD: Don't use the stderrOS stream in link before it's reassigned.
Remove the lld::enableColors function, as it just obscures which stream
it's affecting, and replace with explicit calls to the stream's
enable_colors.
Also, assign the stderrOS and stdoutOS globals first in link function,
just to ensure nothing might use them.
(Either change individually fixes the issue of using the old stream, but
both together seems best.)
Follow-up to b11386f9be9b2dc7276a758d64f66833da10bdea.
Differential Revision: https://reviews.llvm.org/D70492
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was modifiedlld/Common/ErrorHandler.cpp
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
The file was modifiedlld/ELF/DriverUtils.cpp
The file was modifiedlld/COFF/DriverUtils.cpp
Commit d4e006e84461bb98977388bd8742413d45c245c4 by llvm-dev
Fix unused variable warning. NFCI.
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit 4ae0a1325666f2f5d2c5831ba6ca8c7e90790b8b by spatel
[InstCombine] add assert in SimplifyDemandedVectorElts and improve
readability; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Commit 77d049d0c653798698fa24556115874828aae87b by a.bataev
[OPENMP]Fix datasharing checks for if clause in parallel taskloop
directives.
If the default datasharing is set to none, the datasharing attributes
for variables in the condition of the if clause for the inner taskloop
directive must be verified.
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 1b9ef3bbb595206b0097b7adec2c1b69eae6fab4 by Adrian Prantl
Reduce the number of iterations in testcase. (NFC)
The file was modifiedllvm/test/MC/X86/dwarf-size-field-overflow.test
Commit 3b69f0c5550a229dd6d39e361182cdd7cecc36a4 by amccarth
[NFC] Refactor and improve comments in CommandObjectTarget
Made small improvements while debugging through
CommandObjectTarget::AddModuleSymbols.
1.  Refactored error case for an early out, reducing the indentation of
the rest of this long function. 2.  Clarified some comments by
correcting spelling and punctuation. 3.  Reduced duplicate code at the
end of the function.
Tested with `ninja check-lldb`
Differential Review: https://reviews.llvm.org/D70458
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit c4afc6566a64e6be3f77271781a147bb5ff98b0c by michael.hliao
Fix compilation warning. NFC.
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 898de302919b3caf09b820757c58190cd8621255 by bjorn.a.pettersson
[BranchFolding] Fix PR43964 about branch folder not being debug
invariant
Summary: The fix in BranchFolder related to non debug invariant problems
done in commit ec32dff0b075055 actually introduced some new problems
with debug invariance.
Before that patch ComputeCommonTailLength would move iterators back,
past debug instructions, in order to make ProfitableToMerge make
consistent answers "when one block differs from the other only by
whether debugging pseudos are present at the beginning". But the changes
in ec32dff0b075055 undid that by moving the iterators forward again.
This patch refactors ComputeCommonTailLength. The function was really
complex, considering that the SkipTopCFIAndReturn part always moved the
iterators forward to the first "real" instruction in the found tail
after ec32dff0b075055.
The patch also restores the logic to "back past possible debugging
pseudos at beginning of block" to make sure ProfitableToMerge gives
consistent answers independent of DBG_VALUE instructions before the
tail. That is now done by ProfitableToMerge instead of being hidden as a
side-effect in ComputeCommonTailLength.
Reviewers: probinson, yechunliang, jmorse
Reviewed By: jmorse
Subscribers: Orlando, mehdi_amini, dexonsmith, aprantl, hiraditya,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70091
The file was addedllvm/test/CodeGen/X86/branchfolding-debug-invariant.mir
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
Commit 242002770ba00516339875a064f9ae0efd78a8dc by maskray
[llvm-objcopy][MachO] Fix symbol order in the symbol table
Only consider isUndefinedSymbol() when the symbol is not local. This
fixes an assert failure when copying the symbol table, if a n_type=0x20
symbol is followed by a n_type=0x64 symbol.
Reviewed By: alexshap, seiya
Differential Revision: https://reviews.llvm.org/D70475
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all.yaml
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
Commit 30ccee71ca0218248c39768102488ef589ea9c1b by maskray
[llvm-objcopy][MachO] Implement --strip-debug
Reviewed By: alexshap
Differential Revision: https://reviews.llvm.org/D70476
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/strip-debug.test
Commit 4dc2fb123dcfe9a97ad6f3a1135053b74efd0bc9 by maskray
[ELF] Error if -Ttext-segment is specified
In GNU ld, -Ttext sets the address of the .text section and
-Ttext-segment sets the address of the text segment (RX).
gold only supports the -Ttext-segment semantic and treats -Ttext as an
alias for -Ttext-segment.
lld only supports the -Ttext semantic and treats -Ttext-segment as an
alias for -Ttext.  The text segment will be assigned to an address less
than the specified -Ttext-segment value.
This patch drops the -Ttext-segment alias.
The text segment is traditionally the first segment. Users who specify
-Ttext-segment may actually want to specify --image-base, the lld way to
express this. Unfortunately currently this is supported by GNU ld's COFF
port but not by its ELF port. gold does not support this option. With -z
separate-code, the behavior of GNU ld -Ttext-segment is weird (see
https://sourceware.org/bugzilla/show_bug.cgi?id=25207)
rL289827 introduced the alias for linking qemu's non-pie user mode
binaries. As explained previously, this actually assigns the text
segment to an address less than 0x60000000. I feel that a better fix is
on the qemu side:
https://lists.nongnu.org/archive/html/qemu-devel/2019-11/msg02480.html
Reviewed By: grimar, ruiu
Differential Revision: https://reviews.llvm.org/D70468
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Options.td
The file was addedlld/test/ELF/ttext-segment.s
The file was modifiedlld/test/ELF/sectionstart.s
Commit f1a9a83232230e1c848a91270ebe0d4089f0a803 by listmail
[SCEV] Be robust against IR generated by simple-loop-unswitch
Simple loop unswitch likes to leave around unsimplified and/or/xors.
SCEV today bails out on these idioms which is unfortunate in general,
and specifically for the unswitch interaction.
Differential Revision: https://reviews.llvm.org/D70459
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
Commit bb775bee21258f93cd5844b3540c0ec2569c1e22 by Jonas Devlieghere
[Docs] Generate the LLDB man page with Sphinx
This patch replaces the existing out-of-date man page for lldb and
replaces it with an RST file from which sphinx generates the actual
troff file. This is similar to how man pages are generated for the rest
of the LLVM utilities.
The man page is generated by building the `docs-lldb-man` target.
Differential revision: https://reviews.llvm.org/D70514
The file was addedlldb/docs/man/lldb.rst
The file was removedlldb/docs/lldb.1
The file was modifiedlldb/docs/conf.py
The file was modifiedlldb/docs/CMakeLists.txt
The file was modifiedlldb/tools/driver/Options.td
Commit 46240c38721fe9919f9c63277bec7bbf3e62073b by kostyak
[scudo][standalone] Minor optimization & improvements
Summary: A few small improvements and optimizations:
- when refilling the free list, push back the last batch and return
the front one: this allows to keep the allocations towards the front
of the region;
- instead of using 48 entries in the shuffle array, use a multiple of
`MaxNumCached`;
- make the maximum number of batches to create on refil a constant;
ultimately it should be configurable, but that's for later;
- `initCache` doesn't need to zero out the cache, it's already done.
- it turns out that when using `||` or `&&`, the compiler is adamant
on adding a short circuit for every part of the expression. Which
ends up making somewhat annoying asm with lots of test and
conditional jump. I am changing that to bitwise `|` or `&` in two
place so that the generated code looks better. Added comments since
it might feel weird to people.
This yields to some small performance gains overall, nothing drastic
though.
Reviewers: hctim, morehouse, cferris, eugenis
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D70452
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
Commit 70d173fb1f7b920c0a56fb5b0b6776985728716e by listmail
[SCEV] Add a mode to skip classification when printing analysis
For the various trip-count tests, the classification isn't useful and
makes the auto-generated tests super verbose.  By skipping it, we make
the auto-gen tests closer to the manually written ones.  Up next:
auto-genning a bunch of the existings tests.
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 4e8231b5cf0f5f62c7a51a857e29f5be5cb55734 by a.bataev
[OPENMP50]Add device/kind context selector support.
Summary: Added basic parsing/sema support for device/kind context
selector.
Reviewers: jdoerfert
Subscribers: rampitec, aheejin, fedor.sergeev, simoncook, guansong,
s.egerton, hfinkel, kkwli0, caomhin, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70245
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/OpenMP/declare_variant_mixed_codegen.cpp
The file was addedclang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/include/clang/Basic/Attr.td
The file was addedclang/test/OpenMP/declare_variant_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit d9426c3360895f265a19e25e2d2bae3348ad9ce8 by listmail
[Tests] Autogenerate a bunch of SCEV trip count tests for readability. 
Will likely merge some of these files soon.
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count3.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count4.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count2.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count8.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count10.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count9.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count7.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count6.ll
Commit aaea24802bf5de0420f1ef5f3660a9765e23dea8 by listmail
Broaden the definition of a "widenable branch"
As a reminder, a "widenable branch" is the pattern "br i1 (and i1 X,
WC()), label %taken, label %untaken" where "WC" is the widenable
condition intrinsics. The semantics of such a branch (derived from the
semantics of WC) is that a new condition can be added into the condition
arbitrarily without violating legality.
Broaden the definition in two ways:
   Allow swapped operands to the br (and X, WC()) form
   Allow widenable branch w/trivial condition (i.e. true) which takes
form of br i1 WC()
The former is just general robustness (e.g. for X = non-instruction this
is what instcombine produces). The later is specifically important as
partial unswitching of a widenable range check produces exactly this
form above the loop.
Differential Revision: https://reviews.llvm.org/D70502
The file was modifiedllvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll
The file was modifiedllvm/lib/Transforms/Utils/GuardUtils.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/wc-widen-block.ll
The file was modifiedllvm/lib/Analysis/GuardUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GuardWidening.cpp
The file was modifiedllvm/test/Transforms/LoopPredication/basic_widenable_branch_guards.ll
The file was modifiedllvm/test/Transforms/LoopPredication/predicate-exits.ll
Commit ab411801b82783eb7f652701ccfce81b16cf1811 by tstellar
[cmake] Explicitly mark libraries defined in lib/ as "Component
Libraries"
Summary: Most libraries are defined in the lib/ directory but there are
also a few libraries defined in tools/ e.g. libLLVM, libLTO.  I'm
defining
"Component Libraries" as libraries defined in lib/ that may be included
in libLLVM.so.  Explicitly marking the libraries in lib/ as component
libraries allows us to remove some fragile checks that attempt to
differentiate between lib/ libraries and tools/ libraires:
1. In tools/llvm-shlib, because
llvm_map_components_to_libnames(LIB_NAMES "all") returned a list of all
libraries defined in the whole project, there was custom code needed to
filter out libraries defined in tools/, none of which should be included
in libLLVM.so.  This code assumed that any library defined as static was
from lib/ and everything else should be excluded.
With this change, llvm_map_components_to_libnames(LIB_NAMES, "all") only
returns libraries that have been added to the LLVM_COMPONENT_LIBS global
cmake property, so this custom filtering logic can be removed. Doing
this also fixes the build with BUILD_SHARED_LIBS=ON and
LLVM_BUILD_LLVM_DYLIB=ON.
2. There was some code in llvm_add_library that assumed that libraries
defined in lib/ would not have LLVM_LINK_COMPONENTS or
ARG_LINK_COMPONENTS set.  This is only true because libraries defined
lib lib/ use LLVMBuild.txt and don't set these values. This code has
been fixed now to check if the library has been explicitly marked as a
component library, which should now make it easier to remove LLVMBuild
at some point in the future.
I have tested this patch on Windows, MacOS and Linux with release builds
and the following combinations of CMake options:
- "" (No options)
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_SHARED_LIBS=ON -DLLVM_BUILD_LLVM_DYLIB=ON
- -DBUILD_SHARED_LIBS=ON -DLLVM_LINK_LLVM_DYLIB=ON
Reviewers: beanz, smeenai, compnerd, phosek
Reviewed By: beanz
Subscribers: wuzish, jholewinski, arsenm, dschuff, jyknight, dylanmckay,
sdardis, nemanjai, jvesely, nhaehnle, mgorny, mehdi_amini, sbc100,
jgravelle-google, hiraditya, aheejin, fedor.sergeev, asb, rbar,
johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng,
edward-jones, atanasyan, steven_wu, rogfer01, MartinMosbeck, brucehoult,
the_o, dexonsmith, PkmX, jocewei, jsji, dang, Jim, lenary, s.egerton,
pzheng, sameer.abuasal, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70179
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/GlobalISel/CMakeLists.txt
The file was modifiedllvm/lib/Target/Sparc/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/Sparc/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Remarks/CMakeLists.txt
The file was modifiedllvm/lib/Target/Mips/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
The file was modifiedllvm/lib/TableGen/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/XRay/CMakeLists.txt
The file was modifiedllvm/lib/Target/Mips/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/IR/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Passes/CMakeLists.txt
The file was modifiedllvm/lib/Option/CMakeLists.txt
The file was modifiedllvm/lib/ProfileData/Coverage/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/Utils/CMakeLists.txt
The file was modifiedllvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/PDB/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Vectorize/CMakeLists.txt
The file was modifiedllvm/lib/Target/BPF/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/Orc/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Bitstream/Reader/CMakeLists.txt
The file was modifiedllvm/lib/Object/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/Utils/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/CMakeLists.txt
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/InstCombine/CMakeLists.txt
The file was modifiedllvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedllvm/lib/Target/AVR/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt
The file was modifiedllvm/lib/Target/XCore/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/WindowsManifest/CMakeLists.txt
The file was modifiedllvm/tools/llvm-shlib/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/CodeView/CMakeLists.txt
The file was modifiedllvm/lib/MC/CMakeLists.txt
The file was modifiedllvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/MSP430/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/MSF/CMakeLists.txt
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/ProfileData/CMakeLists.txt
The file was modifiedllvm/lib/Target/RISCV/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Instrumentation/CMakeLists.txt
The file was modifiedllvm/lib/ObjectYAML/CMakeLists.txt
The file was modifiedllvm/lib/MC/MCDisassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/AVR/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Demangle/CMakeLists.txt
The file was modifiedllvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/BinaryFormat/CMakeLists.txt
The file was modifiedllvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/ObjCARC/CMakeLists.txt
The file was modifiedllvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Linker/CMakeLists.txt
The file was modifiedllvm/lib/Target/AVR/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/CMakeLists.txt
The file was modifiedllvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/MIRParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARC/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/Lanai/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/CFGuard/CMakeLists.txt
The file was modifiedllvm/lib/MCA/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/MSP430/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/GSYM/CMakeLists.txt
The file was modifiedllvm/lib/Target/Lanai/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/XCore/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/Utils/CMakeLists.txt
The file was modifiedllvm/lib/Target/RISCV/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/IRReader/CMakeLists.txt
The file was modifiedllvm/lib/TextAPI/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/RISCV/Utils/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/LineEditor/CMakeLists.txt
The file was modifiedllvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Bitcode/Reader/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was modifiedllvm/lib/Target/BPF/Disassembler/CMakeLists.txt
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was modifiedllvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Bitcode/Writer/CMakeLists.txt
The file was modifiedllvm/lib/Target/Mips/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/BPF/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/DWARF/CMakeLists.txt
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARC/TargetInfo/CMakeLists.txt
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/lib/FuzzMutate/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/Disassembler/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVM-Config.cmake
The file was modifiedllvm/lib/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
The file was modifiedllvm/lib/MC/MCParser/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Coroutines/CMakeLists.txt
The file was modifiedllvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
The file was modifiedllvm/lib/DebugInfo/Symbolize/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
The file was modifiedllvm/lib/LTO/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
Commit e0cabe280b80ab71045d90b2d6f1a70e5d4c5d05 by Adrian Prantl
Debug info: Emit objc_direct methods as members of their containing
class
even in DWARF 4 and earlier. This allows the debugger to recognize them
as direct functions as opposed to Objective-C methods.
<rdar://problem/57327663>
Differential Revision: https://reviews.llvm.org/D70544
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenObjC/debug-info-direct-method.m
Commit f5759d5dbc441f1fe956757408f46e65611b94e5 by Jonas Devlieghere
[Test] Split up TestIntegerTypes.py
The unsplit test is timing out on GreenDragon's sanitized bot. By
splitting the test we avoid this issue and increase parallelism.
The file was addedlldb/packages/Python/lldbsuite/test/types/TestCharTypeExpr.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestIntegerTypeExpr.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestLongTypes.py
The file was removedlldb/packages/Python/lldbsuite/test/types/TestIntegerTypesExpr.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestIntegerType.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestLongTypesExpr.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestCharType.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestShortType.py
The file was removedlldb/packages/Python/lldbsuite/test/types/TestIntegerTypes.py
The file was addedlldb/packages/Python/lldbsuite/test/types/TestShortTypeExpr.py
Commit 5fcf89f77893b4c3367f23dd82b426f783e67cff by stefanp
[PowerPC] Add new Future CPU for PowerPC
This patch will add -mcpu=future into clang for PowerPC.
A CPU type is required for work that may possibly be enabled for some
future Power CPU. The CPU type future will serve that purpose. This
patch introduces no new functionality. It is an incremental patch on top
of which Power PC work for some future CPU can be done.
Differential Revision: https://reviews.llvm.org/D70262
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/PPC.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
Commit fea8288c174c63cd174e841a9c1cbd9e9bc74427 by craig.topper
[X86] Add test case for f128 fma. NFC
This should be turned into a libcall to fmal. We already do it
correctly, but we had no test to confirm.
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls.ll
Commit 1439059cc76a51954b6eba9b657a23ff662dfbf8 by craig.topper
[X86] Change legalization action for f128 fadd/fsub/fmul/fdiv from
Custom to LibCall.
The custom code just emits a libcall, but we can do the same with
generic code. The only difference is that the generic code can form tail
calls where the custom code couldn't. This is responsible for the test
changes.
This avoids needing to modify the Custom handling for strict fp.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-g.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-extract.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-i128.ll
The file was modifiedllvm/test/CodeGen/X86/soft-fp.ll
Commit 4f5d931c5813a5f89250b427b2d3e8c63e03a0c6 by kazu
[JumpThreading] Refactor ThreadEdge
Summary: This patch moves various checks from ThreadEdge to new function
TryThreadEdge The rational behind this is that I'd like to use
ThreadEdge without its checks in my upcoming patch.
This patch preserves lightweight checks as assertions in ThreadEdge.
ThreadEdge does not repeat the cost check, however.
Reviewers: wmi
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70338
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/JumpThreading.h
Commit 44fe1f024d542bb7d286f9dd03ef35ad474399bd by Jonas Devlieghere
[test] Mark TestEditline as skipped with ASan.
As discussed in https://reviews.llvm.org/D70324.
The file was modifiedlldb/packages/Python/lldbsuite/test/terminal/TestEditline.py
Commit b26d9e417d2d4dbb47f6e967926dbb31f6d7a4b4 by Jonas Devlieghere
[Reproducer] Instruct users to replay reproducer
Improve the message printed when LLDB crashes by asking the user to
replay the reproducer before attaching it to a bugreport..
******************** Crash reproducer for lldb version 10.0.0
(git@github.com:llvm/llvm-project.git revision ...)
clang revision ...
llvm revision ...
Reproducer written to '/path/to/reproducer'
Before attaching the reproducer to a bug report:
- Look at the directory to ensure you're willing to share its content.
- Make sure the reproducer works by replaying the reproducer.
Replay the reproducer with the following command:
./bin/lldb -replay /path/to/reproducer
********************
The file was modifiedlldb/tools/driver/Driver.cpp
Commit bb090bb1cad28cef1ad74c8ca986f3f5643eb6d9 by Jonas Devlieghere
[Reproducer] Make 'reproducer xcrash' behave the same during capture &
replay
There's no point in preventing this command from running during replay.
We should simulate the same crash as during capture.
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
Commit 6c2e4e88010827034250fcec0840c84dca4cc354 by Jonas Devlieghere
[Driver] Fix newline at the end of help output
Print a regular newline at the end of the help output. The current
string literal seems to throw off shells.
The file was modifiedlldb/tools/driver/Driver.cpp
Commit f8ff3d7ebd8499cad896b2e934fbc9d7412ba823 by a.bataev
[OPENMP]Remove unused template parameter, NFC.
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 844d97f650a2d716e63e3be903c32a82f2f817b1 by Vedant Kumar
Clang-trunk Generates Wrong Debug values with -O1
Bit-Tracking Dead Code Elimination (bdce) do not mark dbg.value as undef
after deleting instruction.  which shows invalid state of variable in
debugger.  This patches fixes this by marking the dbg.value as undef
which depends on dead instruction.
This fixes https://bugs.llvm.org/show_bug.cgi?id=41925
Patch by kamlesh kumar!
Differential Revision: https://reviews.llvm.org/D70040
The file was addedllvm/test/Transforms/BDCE/pr41925.ll
The file was modifiedllvm/lib/Transforms/Scalar/BDCE.cpp
Commit 52e377497ddc3aa7178d4fd4c0cda096df4d8a72 by yamauchi
[PGO][PGSO] DAG.shouldOptForSize part.
Summary:
(Split of off D67120)
SelectionDAG::shouldOptForSize changes for profile guided size
optimization.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70095
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGISel.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/FastISel.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b8b57087d3a6954204c6c968fb3de1dc67a87c59 by luismarques
[Object][RISCV] Fix R_RISCV_SET6 and R_RISCV_SUB6 relocations resolution
Summary: These relocations had a suspicious resolution logic, given
their name. This patch makes the resolution match the LLD one, which
makes more sense.
Reviewers: asb, lenary, HsiangKai, jrtc27 Reviewed By: HsiangKai Tags:
#llvm Differential Revision: https://reviews.llvm.org/D70396
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
Commit f471eb8e99b564265a4bea326922263ff06cda40 by jdenny.ornl
[FileCheck] Make FILECHECK_OPTS useful for its test suite
Without this patch, `FILECHECK_OPTS` isn't propagated to FileCheck's
test suite so that `FILECHECK_OPTS` doesn't inadvertently affect test
results by affecting the output of FileCheck calls under test.  As a
result, `FILECHECK_OPTS` is useless for debugging FileCheck's test
suite.
In `llvm/test/FileCheck/lit.local.cfg`, this patch provides a new
subsitution, `%ProtectFileCheckOutput`, to address this problem for both
`FILECHECK_OPTS` and the deprecated
`FILECHECK_DUMP_INPUT_ON_FAILURE`.  The rest of the patch uses
`%ProtectFileCheckOutput` throughout the test suite
Fixes PR40284.
Reviewed By: probinson, thopre
Differential Revision: https://reviews.llvm.org/D65121
The file was modifiedllvm/test/FileCheck/string-defines-diagnostics.txt
The file was modifiedllvm/test/FileCheck/string-defines.txt
The file was modifiedllvm/test/FileCheck/match-full-lines.txt
The file was modifiedllvm/test/FileCheck/lit.local.cfg
The file was modifiedllvm/test/FileCheck/numeric-expression.txt
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was modifiedllvm/test/FileCheck/dump-input-enable.txt
The file was modifiedllvm/test/FileCheck/check-label.txt
The file was modifiedllvm/test/FileCheck/check-count.txt
The file was modifiedllvm/test/FileCheck/line-count.txt
The file was modifiedllvm/test/FileCheck/check-empty-tag.txt
The file was modifiedllvm/test/FileCheck/opt-color.txt
The file was modifiedllvm/test/FileCheck/numeric-defines-diagnostics.txt
The file was modifiedllvm/test/FileCheck/no-multi-suffixes.txt
The file was modifiedllvm/test/FileCheck/validate-check-prefix.txt
The file was modifiedllvm/test/FileCheck/numeric-defines.txt
The file was modifiedllvm/test/FileCheck/check-multiple-prefixes-nomatch.txt
The file was modifiedllvm/test/FileCheck/envvar-opts.txt
The file was modifiedllvm/test/FileCheck/var-scope.txt
The file was modifiedllvm/test/FileCheck/check-label-dag.txt
The file was modifiedllvm/test/FileCheck/implicit-check-not.txt
The file was modifiedllvm/test/FileCheck/multiple-missing-prefixes.txt
The file was modifiedllvm/test/FileCheck/verbose.txt
The file was modifiedllvm/docs/TestingGuide.rst
The file was modifiedllvm/test/FileCheck/check-prefixes.txt
The file was modifiedllvm/test/FileCheck/check-empty.txt
The file was modifiedllvm/test/FileCheck/check-ignore-case.txt
The file was modifiedllvm/test/FileCheck/no-check-file.txt
The file was modifiedllvm/test/FileCheck/check-not-diaginfo.txt
The file was modifiedllvm/test/FileCheck/check-multiple-prefixes-nomatch-2.txt
Commit 8293f7434577e23a07284686f5b54079e22e6a91 by listmail
Further cleanup manipulation of widenable branches [NFC]
This is a follow on to aaea24802bf5.  In post commit discussion, Artur
and I realized we could cleanup the code using Uses; this patch does so.
The file was modifiedllvm/lib/Analysis/GuardUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/GuardUtils.cpp
The file was modifiedllvm/include/llvm/Analysis/GuardUtils.h
Commit 0163329dbd6c687453a27f72e21512a8c151c5b3 by julian.lettner
[TSan] Make `mach_vm_allocate.c` test less flaky
rdar://57365733
The file was modifiedcompiler-rt/test/tsan/Darwin/mach_vm_allocate.c
Commit 16d9f44fd154b409b1c7f0876ba7c767b60cb3da by mvanotti
[libFuzzer] Fix fd check in DupAndCloseStderr.
Summary: This commit fixes the check in the return value from the
`DuplicateFile` function, which returns a new file descriptor.
`DuplicateFile` can return 0 if that file descriptor is available (for
example, if stdin has already been closed).
In particular, this could cause a bug with the `-close_fd_mask` flag in
some platforms: just call the fuzzer with stdin closed and the
`-close_fd_mask=2` flag, and stderr will not be muted.
Example fuzzer:
```
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size)
{
fprintf(stderr, "STDERR\n");
fprintf(stdout, "STDOUT\n");
return 0;
}
```
Invocation (muting both stderr and stdout):
```
./test -close_fd_mask=3 -runs=1 0<&- INFO: Seed: 1155116940 INFO: Loaded
1 modules   (1 inline 8-bit counters): 1 [0x48b020, 0x48b021), INFO:
Loaded 1 PC tables (1 PCs): 1 [0x478dc8,0x478dd8), INFO: -max_len is not
provided; libFuzzer will not generate inputs larger than 4096 bytes
STDERR INFO: A corpus is not provided, starting from an empty corpus
STDERR Done 2 runs in 0 second(s)
```
Reviewers: mcgrathr, jakehehrlich, phosek, kcc, aarongreen
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D68775
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.cpp
Commit 75434366cec161ee532ee0ec3dcb5ebeb588d9df by david.tellenbach
[AArch64] [FrameLowering] Allow conditional insertion of CFI instruction
Summary: The insertion of most CFI instructions during AArch64 frame
lowering can be disabled (e.g. using the function attribute `nounwind`).
This patch enables conditional insertion for one more CFI instruction.
Reviewers: t.p.northover, ostannard
Reviewed By: ostannard
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70129
The file was modifiedllvm/test/CodeGen/AArch64/arm64-blockaddress.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/no_cfi.ll
Commit 7bf721e59c54aba854ab81cc6fc92db30446cfda by luismarques
[Object][RISCV] Resolve R_RISCV_32_PCREL
Summary: Add support for resolving `R_RISCV_32_PCREL` relocations. Those
aren't actually resolved AFAIK, but support is still needed to avoid
llvm-dwarfdump errors. The use of these relocations was introduced in
D66419 but the corresponding resolving wasn't added then. The test adds
a check that should catch future unresolved relocations.
Reviewers: asb, lenary Reviewed By: asb Tags: #llvm Differential
Revision: https://reviews.llvm.org/D70204
The file was modifiedllvm/test/DebugInfo/RISCV/relax-debug-frame.ll
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
Commit bc8e88e974550dc7a8000d526df6dadb12b54bc0 by Adrian Prantl
Early-exitify ClangASTContext::AddObjCClassProperty() (NFC)
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit dfb7a9091affce6e5a8fdb017b4e2d58675bb9b0 by listmail
[LoopPred] Robustly handle partially unswitched loops
We may end up with a case where we have a widenable branch above the
loop, but not all widenable branches within the loop have been removed.
Since a widenable branch inhibit SCEVs ability to reason about exit
counts (by design), we have a tradeoff between effectiveness of this
optimization and allowing future widening of the branches within the
loop.  LoopPred is thought to be one of the most important optimizations
for range check elimination, so let's pay the cost.
The file was modifiedllvm/test/Transforms/LoopPredication/predicate-exits.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
Commit 46c7fc22cfb14a5b4445261c3ae849242f4d2ff9 by mvanotti
[libFuzzer] Fix unwinding for Fuchsia
Summary: This commit fixes part of the issues with stack unwinding in
fuchsia for arm64 and x86_64. It consists of multiple fixes:
(1) The cfa_offset calculation was wrong, instead of pointing to the
previous stack pointer, it was pointing to the current  one. It worked
in most of the cases because the crashing functions already had a
prologue and had their cfa information relative to another register. The
fix consists on adding a constant that can be used to calculate the
crashing function's stack pointer, and base all the cfi information
relative to that offset.
(2) (arm64) Due to errors with the syntax for the dwarf information,
most of the `OP_NUM` macros were not working. The problem was that they
were referred to as `r##NUM` (like `r14`), when it should have been
`x##num`
(like `x14`), or even without the x.
(3) (arm64) The link register was being considered a part of the main
registers (`r30`), when in the real struct it has its own field. Given
that the link register is in the same spot in the struct as r[30] would
be, and that C++ doesn't care about anything, the calculation was still
correct.
(4) (x86_64) The stack doesn't need to be aligned to 16 bytes when we
jump to the trampoline function, but it needs to be before performing
call instructions. Encoding that logic in cfi information was tricky, so
we decided to make the cfa information relative to `rbp` and align
`rsp`. Note that this could have been done using another register
directly, but it seems cleaner to make a new fake stack frame.
There are some other minor changes like adding a `brk 1` instruction in
arm64 to make sure that we never return to the crash trampoline (similar
to what we do in x86_64).
Sadly this commit does not fix unwinding for all use cases for arm64.
Crashing functions that do not add information related to the return
column in their cfi information will fail to unwind due to a bug in
libunwinder.
Reviewers: mcgrathr, jakehehrlich, phosek, kcc, aarongreen
Subscribers: aprantl, kristof.beyls, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D69579
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Commit 68a3a3b28130ff055159632e8f94ef87fa8cba45 by phosek
[Clang] Enable RISC-V support for Fuchsia
We don't have a full sysroot yet, so for now we only include compiler
support and compiler-rt builtins, the rest of the runtimes will get
enabled later.
Differential Revision: https://reviews.llvm.org/D70477
The file was modifiedclang/test/Driver/fuchsia.cpp
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedclang/lib/Basic/Targets.cpp
The file was modifiedclang/cmake/caches/Fuchsia.cmake
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was addedclang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-fuchsia/libclang_rt.builtins.a
The file was modifiedclang/test/Driver/fuchsia.c
Commit b6d3774a2721516399a10714519f22fb41bd0cd1 by alexshap
[llvm-lipo] Add support for -extract
This diff adds support for -extract.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D70522
The file was addedllvm/test/tools/llvm-lipo/extract.test
The file was modifiedllvm/tools/llvm-lipo/LipoOpts.td
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
Commit 0cc12b8a83100027b16e1dc5cec079ba437ca3e0 by craig.topper
[X86] Remove regcall calling convention from fp-strict-scalar.ll. Add
32-bit and 64-bit check prefixes.
The regcall was making 32-bit mode pass things in xmm registers which
made 32-bit and 64-bit more similar. But I have upcoming patches that
require them to be separated anyway.
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar.ll
Commit 95f44cf44a68f2e7a3fced2b8d920340013f0349 by craig.topper
[X86] Mark vector STRICT_FADD/STRICT_FSUB as Legal and add mutation to
X86ISelDAGToDAG
The prevents LegalizeVectorOps from scalarizing them. We'll need to
remove the X86 mutation code when we add isel patterns.
The file was modifiedllvm/test/CodeGen/X86/vec-strict-512.ll
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/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
Commit 7696b99258d1461cd50285d34dcde0b870def1ae by craig.topper
[LegalizeDAG][X86] Add support for turning STRICT_FADD/SUB/MUL/DIV into
libcalls. Use it for fp128 on x86-64.
This requires a minor hack for f32/f64 strict fadd/fsub to avoid turning
those into libcalls.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was addedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b2e6c2b9954ba9f9b68b8394790f6cae35aea58e by zeratul976
[clangd] Inactive regions support as an extension to semantic
highlighting
Differential Revision: https://reviews.llvm.org/D67536
The file was modifiedclang-tools-extra/clangd/test/semantic-highlighting.test
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.h
The file was modifiedclang-tools-extra/clangd/CollectMacros.h
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit e5b603a4c32044932c3a1d26ccbc7d43fec939d5 by mvanotti
[libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia.
Summary:
This commit moves the `DiscardOutput` function in FuzzerIO to
FuzzerUtil, so fuchsia can have its own specialized version.
In fuchsia, accessing `/dev/null` is not supported, and there's nothing
similar to a file that discards everything that is written to it. The
way of doing something similar in fuchsia is by using `fdio_null_create`
and binding that to a file descriptor with `fdio_bind_to_fd`.
This change should fix one of the issues with the `-close_fd_mask` flag
in libfuzzer, in which closing stdout was not working due to
`fopen("/dev/null", "w")` returning `NULL`.
Reviewers: kcc, aarongreen
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D69593
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOPosix.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp
Commit fa09dddd70c557bd3e78bbeef1511e737c4b8049 by asbirlea
[LoopInstSimplify] Move MemorySSA verification under flag.
The verification inside loop passes should be done under the
VerifyMemorySSA flag (enabled by EXPESIVE_CHECKS or explicitly with
opt), in order to not add to compile time during regular builds.
The file was modifiedllvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
Commit 22a0edd070e4a40447e0dd2699bebfd01de7a5ab by pengfei.wang
[FPEnv] Add an option to disable strict float node mutating to an normal
float node
This patch add an option 'disable-strictnode-mutation' to prevent strict
node mutating to an normal node. So we can make sure that the patch
which sets strict-node as legal works correctly.
Patch by Chen Liu(LiuChen3)
Differential Revision: https://reviews.llvm.org/D70226
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit 6bbca3411b3861904c3b302f61d59efa14d4d0b9 by Artem Dergachev
[CFG] Add a test for a flaky crash in CFGBlock::getLastCondition().
Push the test separately ahead of time in order to find out whether our
Memory Sanitizer bots will be able to find the problem.
If not, I'll add a much more expensive test that repeats the current
test multiple times in order to show up on normal buildbots. I really
apologize for the potential temporary inconvenience! I'll commit the fix
as soon as I get the signal.
Differential Revision: https://reviews.llvm.org/D69962
The file was addedclang/test/Analysis/a_flaky_crash.cpp
Commit fc4020dbbe446c6ba73fdda56390ce062eaf8f2e by craig.topper
[X86] Mark fp128 FMA as LibCall instead of Expand. Add STRICT_FMA as
well.
The Expand code would fall back to LibCall, but this makes it more
explicit.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
Commit b29e5cdb7c98c93e16955e58efeb922da93f969f by craig.topper
[X86] Add test cases for most of the constrained fp libcalls with fp128.
Add explicit setOperation actions for some to match their none strict
counterparts. This isn't required, but makes the code self documenting
that we didn't forget about strict fp. I've used LibCall instead of
Expand since that's more explicitly what we want.
Only lrint/llrint/lround/llround are missing now.
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit bbc8662db1548f98b1c475cadf6260f9079c11ea by Artem Dergachev
[analyzer] NFC: Don't clean up range constraints twice.
Slightly improves static analysis speed.
Differential Revision: https://reviews.llvm.org/D70150
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ProgramState.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
Commit 0b58b80edb81bf8fb401f8a6e057ca9d50abc0f7 by Artem Dergachev
[analyzer] Fix Objective-C accessor body farms after 2073dd2d.
Fix a canonicalization problem for the newly added property accessor
stubs that was causing a wrong decl to be used for 'self' in the
accessor's body farm.
Fix a crash when constructing a body farm for accessors of a property
that is declared and @synthesize'd in different (but related)
interfaces.
Differential Revision: https://reviews.llvm.org/D70158
The file was modifiedclang/test/Analysis/nullability-notes.m
The file was modifiedclang/test/Analysis/properties.m
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
The file was modifiedclang/test/Analysis/Inputs/expected-plists/nullability-notes.m.plist
Commit f7170d17a846cd67d70884ba168fd0fad63549ea by Duncan P. N. Exon Smith
clang/Modules: Move Serialization/Module.{h,cpp} to ModuleFile, NFC
Remove some cognitive load by renaming clang/Serialization/Module.h to
clang/Serialization/ModuleFile.h, since it declares the ModuleFile
class.  This also makes editing a bit easier, since the basename of the
file no long conflicts with clang/Basic/Module.h, which declares the
Module class.  Also move lib/Serialization/Module.cpp to
lib/Serialization/ModuleFile.cpp.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was removedclang/lib/Serialization/Module.cpp
The file was addedclang/lib/Serialization/ModuleFile.cpp
The file was modifiedclang/lib/Frontend/ASTUnit.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Serialization/GlobalModuleIndex.cpp
The file was modifiedclang/lib/Serialization/CMakeLists.txt
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was removedclang/include/clang/Serialization/Module.h
The file was modifiedclang/include/clang/Serialization/ModuleManager.h
The file was modifiedclang/lib/Serialization/ModuleManager.cpp
The file was modifiedclang/include/clang/Serialization/ASTReader.h
The file was addedclang/include/clang/Serialization/ModuleFile.h
The file was modifiedclang/lib/Frontend/Rewrite/FrontendActions.cpp
Commit 4fccd383d571865321b4723b81c3042d2c15fd80 by zakk.chen
[RISCV] Support mutilib in baremetal environment
1. Currently only support the set of multilibs same to
riscv-gnu-toolchain. 2. Fix testcase typo causes fail on Windows. 3. Fix
testcases to set empty sysroot.
Reviewers: espindola, asb, kito-cheng, lenary
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D67508
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o
Commit 085d7847aa6dfc81ec5199da610636f90f6a23c0 by pengfei.wang
[X86] Add option 'disable-strictnode-mutation' for tests that respect
strict fp semantics. NFCI.
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
Commit 29f6f9b2b2bfecccf903738e2f5a0cd0a70fce31 by czhengsz
[PowerPC] combine rlwinm+rlwinm to rlwinm combine x3 = rlwinm x3, 27, 5,
31 x3 = rlwinm x3, 19, 0, 12
to x3 = rlwinm x3, 14, 0, 12
Reviewed by: steven.zhang
Differential Revision: https://reviews.llvm.org/D70374
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was addedllvm/test/CodeGen/PowerPC/fold-rlwinm.mir
The file was modifiedllvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll
Commit c84c62c50aa8524dbf96217c337f3b5ee4139000 by amy.kwan1
[CMake] Fix LLVM build non-determinism on RHEL
On RHEL, the OS tooling (ar, ranlib) is not deterministic by default.
Therefore, we cannot get bit-for-bit identical builds.
The goal of this patch is that it adds the flags required to force
determinism.
Differential Revision: https://reviews.llvm.org/D64817
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit a3b22da4e0ea84ed5890063926b6f54685c23225 by Artem Dergachev
[CFG] Fix a flaky crash in CFGBlock::getLastCondition().
Using an end iterator of an empty CFG block was causing a garbage
pointer dereference.
Differential Revision: https://reviews.llvm.org/D69962
The file was modifiedclang/test/Analysis/a_flaky_crash.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
Commit b30dabfe905b714b9161422b58199e2aa8938481 by Raphael Isemann
[lldb] Don't enable expression log in TestEmptyStdModule.py
Thanks for pointing this out Jason!
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
Commit 036790f988999cf9f7ac8a37c5cb43efa9bb0455 by courbet
[DAGCombiner] Allow zextended load combines.
Summary: or(zext(load8(base)), zext(load8(base+1)) -> zext(load16 base)
Reviewers: apilipenko, RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70487
The file was modifiedllvm/test/CodeGen/AArch64/load-combine.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/X86/load-combine.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/ARM/load-combine.ll
The file was modifiedllvm/test/CodeGen/AArch64/load-combine-big-endian.ll
Commit 95fe54931fddccccf9740b3247219e30504da447 by courbet
[clang-tidy] new performance-no-automatic-move check.
Summary: The check flags constructs that prevent automatic move of local
variables.
Reviewers: aaron.ballman
Subscribers: mgorny, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70390
The file was addedclang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.h
The file was modifiedclang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/performance-no-automatic-move.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/CMakeLists.txt
The file was addedclang-tools-extra/docs/clang-tidy/checks/performance-no-automatic-move.rst
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 88e205525ca3b65f9b129d87e76e6e94c7ed032f by courbet
Revert "[DAGCombiner] Allow zextended load combines."
Breaks some bots.
The file was modifiedllvm/test/CodeGen/AArch64/load-combine.ll
The file was modifiedllvm/test/CodeGen/AArch64/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/X86/load-combine.ll
Commit a634f21593c800f78dae957f0055dd02f9b2cb72 by thakis
gn build: (manually) merge dep from f65cfff6
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Driver/BUILD.gn
Commit 2703e095c0c750ce73d40cd49032e7f679382e10 by llvmgnsyncbot
gn build: Merge 95fe54931fd
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gn
Commit ff17c1ff09cc51ac2dcc81b14af1030b704ff51b by llvmgnsyncbot
gn build: Merge aa981c1802d
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Driver/BUILD.gn
Commit 3b901ce36755bf67c62d9ba5866ad9e0ab9f546d by llvmgnsyncbot
gn build: Merge f7170d17a84
The file was modifiedllvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
Commit a4cc895aee3b37e196f779883c8398a6cdd7ff68 by qshanz
[PowerPC] Implement the vector extend sign instruction pattern match
Power9 has instructions to implement the semantics of SIGN_EXTEND_INREG
for vector type. Mark it as legal and add the match pattern.
Differential Revision: https://reviews.llvm.org/D69601
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/vector-extend-sign.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
Commit 01bb3b07c346c4215a83893d15f3c6022773ef83 by pavel
[DWARFVerifier] Use the new location list api
Summary: Instead of going to the debug_loc section directly, use new
DWARFDie::getLocations instead. This means that the code will now
automatically support debug_loclists sections.
This is the last usage of the old debug_loc methods, and they can now be
removed.
Reviewers: dblaikie, JDevlieghere, aprantl, SouraVX
Subscribers: hiraditya, probinson, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70534
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
Commit b9a26a80c81c29b7ddf6f84dd75f1918de468c5a by pgode
Test commit.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 0b0dca9f6fe34333abdb437bd1d3d92c8362a2e6 by Raphael Isemann
[lldb] Fix exception breakpoint not being resolved when set on dummy
target
Summary: Ensure that breakpoint ivar is properly set in exception
breakpoint resolver so that exception breakpoints set on dummy targets
are resolved once real targets are created and run.
Reviewers: jingham
Reviewed By: jingham
Subscribers: teemperor, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D69880
The file was modifiedlldb/source/Target/LanguageRuntime.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py
Commit 7f0dcf665dd22be296805bc7a1c71a36243c4e09 by kbobyrev
[clangd] Show lambda signature for lambda autocompletions
The original bug report can be found
[here](https://github.com/clangd/clangd/issues/85)
Given the following code:
```c++ void function() {
auto Lambda = [](int a, double &b) {return 1.f;};
La^
}
```
Triggering the completion at `^` would show `(lambda)` before this patch
and would show signature `(int a, double &b) const`, build a snippet etc
with this patch.
Reviewers: sammccall
Reviewed by: sammccall
Differential revision: https://reviews.llvm.org/D70445
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/test/CodeCompletion/lambdas.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang/test/CodeCompletion/function-templates.cpp
Commit 5aaca2355ec2ba043c9b1ba2be9674b128dfa718 by llvm-dev
[X86] Updated strict fp scalar tests and add fp80 tests for D68857
The file was addedllvm/test/CodeGen/X86/fp80-strict-scalar.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar.ll
Commit 06e03bce802e35a7401ab0849515ad1ce0dd21f5 by mgorny
[lldb] [test] XFAIL TestExpressionEvaluation on NetBSD
The file was modifiedlldb/test/Shell/Reproducer/Functionalities/TestExpressionEvaluation.test
Commit 3f46022e33bd33b3d8f816be3c3adbe7de806119 by lebedev.ri
[Codegen] TargetLowering::prepareUREMEqFold(): `x u% C1 ==/!= C2` with
tautological C1 u<= C2 (PR35479)
Summary: This is a preparatory cleanup before i add more of this fold to
deal with comparisons with non-zero.
In essence, the current lowering is:
``` Name: (X % C1) == 0 -> X * C3 <= C4 Pre: (C1 u>>
countTrailingZeros(C1)) * C3 == 1
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, 0
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = -1 /u C1
%n0 = mul i8 %x, C3
%n1 = lshr i8 %n0, countTrailingZeros(C1) ; rotate right
%n2 = shl i8 %n0, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n3 = or i8 %n1, %n2 ; rotate right
%r = icmp ule i8 %n3, %C4
``` https://rise4fun.com/Alive/oqd
It kinda just works, really no weird edge-cases. But it isn't all that
great for when comparing with non-zero. In particular, given `(X % C1)
== C2`, there will be problems in the always-false tautological case
where `C2 u>= C1`: https://rise4fun.com/Alive/pH3
That case is tautological, always-false:
``` Name: (X % Y) u>= Y
%o0 = urem i8 %x, %y
%r = icmp uge i8 %o0, %y
=>
%r = false
``` https://rise4fun.com/Alive/ofu
While we can't/shouldn't get such tautological case normally, we do deal
with non-splat vectors, so unless we want to give up in this case, we
need to fixup/short-circuit such lanes.
There are two lowering variants: 1. We can blend between whatever
computed result and the correct tautological result
``` Name: (X % C1) == C2 -> X * C3 <= C4 || false Pre: (C2 == 0 || C1
u<= C2) && (C1 u>> countTrailingZeros(C1)) * C3 == 1
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, C2
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = -1 /u C1
%n0 = mul i8 %x, C3
%n1 = lshr i8 %n0, countTrailingZeros(C1) ; rotate right
%n2 = shl i8 %n0, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n3 = or i8 %n1, %n2 ; rotate right
%is_tautologically_false = icmp ule i8 C1, C2
%res = icmp ule i8 %n3, %C4
%r = select i1 %is_tautologically_false, i1 0, i1 %res
``` https://rise4fun.com/Alive/PjT5 https://rise4fun.com/Alive/1KV
2. We can invert the comparison result
``` Name: (X % C1) == C2 -> X * C3 <= C4 || false Pre: (C2 == 0 || C1
u<= C2) && (C1 u>> countTrailingZeros(C1)) * C3 == 1
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, C2
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = -1 /u C1
%n0 = mul i8 %x, C3
%n1 = lshr i8 %n0, countTrailingZeros(C1) ; rotate right
%n2 = shl i8 %n0, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n3 = or i8 %n1, %n2 ; rotate right
%is_tautologically_false = icmp ule i8 C1, C2
%C4_fixed = select i1 %is_tautologically_false, i8 -1, i8 %C4
%res = icmp ule i8 %n3, %C4_fixed
%r = xor i1 %res, %is_tautologically_false
``` https://rise4fun.com/Alive/2xC https://rise4fun.com/Alive/jpb5
3. We can expand into `and`/`or`: https://rise4fun.com/Alive/WGn
https://rise4fun.com/Alive/lcb5
Blend-one is likely better since we avoid having to load the replacement
from constant pool. `xor` is second best since it's still pretty
general. I'm not adding `and`/`or` variants.
Reviewers: RKSimon, craig.topper, spatel
Reviewed By: RKSimon
Subscribers: nick, hiraditya, xbolva00, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70051
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-tautological.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
Commit 96cf5c8d4784cd8763977608e2890c0683ebf7b4 by lebedev.ri
[Codegen] TargetLowering::prepareUREMEqFold(): `x u% C1 ==/!= C2`
(PR35479)
Summary: The current lowering is:
``` Name: (X % C1) == C2 -> X * C3 <= C4 || false Pre: (C2 == 0 || C1
u<= C2) && (C1 u>> countTrailingZeros(C1)) * C3 == 1
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, C2
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = -1 /u C1
%n0 = mul i8 %x, C3
%n1 = lshr i8 %n0, countTrailingZeros(C1) ; rotate right
%n2 = shl i8 %n0, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n3 = or i8 %n1, %n2 ; rotate right
%is_tautologically_false = icmp ule i8 C1, C2
%C4_fixed = select i1 %is_tautologically_false, i8 -1, i8 %C4
%res = icmp ule i8 %n3, %C4_fixed
%r = xor i1 %res, %is_tautologically_false
``` https://rise4fun.com/Alive/2xC https://rise4fun.com/Alive/jpb5
However, we can support non-tautological cases `C1 u> C2` too. Said
handling consists of two parts:
* `C2 u<= (-1 %u C1)`. It just works. We only have to change `(X % C1)
== C2` into `((X - C2) % C1) == 0`
``` Name: (X % C1) == C2 -> (X - C2) * C3 <= C4   iff C2 u<= (-1 %u C1)
Pre: (C1 u>> countTrailingZeros(C1)) * C3 == 1 && C2 u<= (-1 %u C1)
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, C2
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = (-1 /u C1)
%n0 = sub i8 %x, C2
%n1 = mul i8 %n0, C3
%n2 = lshr i8 %n1, countTrailingZeros(C1) ; rotate right
%n3 = shl i8 %n1, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n4 = or i8 %n2, %n3 ; rotate right
%is_tautologically_false = icmp ule i8 C1, C2
%C4_fixed = select i1 %is_tautologically_false, i8 -1, i8 %C4
%res = icmp ule i8 %n4, %C4_fixed
%r = xor i1 %res, %is_tautologically_false
``` https://rise4fun.com/Alive/m4P https://rise4fun.com/Alive/SKrx
* `C2 u> (-1 %u C1)`. We also have to change `(X % C1) == C2` into `((X
- C2) % C1) == 0`,
and we have to decrement C4:
``` Name: (X % C1) == C2 -> (X - C2) * C3 <= C4   iff C2 u> (-1 %u C1)
Pre: (C1 u>> countTrailingZeros(C1)) * C3 == 1 && C2 u> (-1 %u C1)
%zz = and i8 C3, 0 ; trick alive into making C3 avaliable in
precondition
%o0 = urem i8 %x, C1
%r = icmp eq i8 %o0, C2
=>
%zz = and i8 C3, 0 ; and silence it from complaining about said reg
%C4 = (-1 /u C1)-1
%n0 = sub i8 %x, C2
%n1 = mul i8 %n0, C3
%n2 = lshr i8 %n1, countTrailingZeros(C1) ; rotate right
%n3 = shl i8 %n1, ((8-countTrailingZeros(C1)) %u 8) ; rotate right
%n4 = or i8 %n2, %n3 ; rotate right
%is_tautologically_false = icmp ule i8 C1, C2
%C4_fixed = select i1 %is_tautologically_false, i8 -1, i8 %C4
%res = icmp ule i8 %n4, %C4_fixed
%r = xor i1 %res, %is_tautologically_false
``` https://rise4fun.com/Alive/d40 https://rise4fun.com/Alive/8cF
I believe this concludes `x u% C1 ==/!= C2` lowering. In fact, clang is
may now be better in this regard than gcc: as it can be seen from
`@t32_6_4` test, we do lower `x % 6 == 4` via this pattern, while gcc
does not: https://godbolt.org/z/XNU2z9 And all the general alive proofs
say this is legal. And manual checking agrees:
https://rise4fun.com/Alive/WA2
Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=35479 | PR35479 ]].
Reviewers: RKSimon, craig.topper, spatel
Reviewed By: RKSimon
Subscribers: nick, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70053
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-nonzero.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-nonzero.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-nonzero.ll
Commit 04945c92ce00e5388be3ab493135b934a25903b4 by pgode
    [WIP][Attributor] AAReachability Attribute
     Summary: Working towards Johannes's suggestion for fixme, in
Attributor's Noalias attribute deduction.
(ii) Check whether the value is captured in the scope using AANoCapture.
FIXME: This is conservative though, it is better to look at CFG and
// check only uses possibly executed before this call site.
A Reachability abstract attribute answers the question "does execution
at point A potentially reach point B". If this question is answered with
false for all other uses of the value that might be captured, we know it
is not *yet* captured and can continue with the noalias deduction.
Currently, information AAReachability provides is completely
pessimistic.
    Reviewers: jdoerfert
    Reviewed By: jdoerfert
    Subscribers: uenoku, sstefan1, hiraditya, llvm-commits
    Differential Revision: https://reviews.llvm.org/D70233
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit ac21de0d7eb8e2c4ab85bfc41fcc7b90b93b1ffc by protze
[OpenMP][Tool] Fix cmake variable in lit.site.cfg.in
As noted in D45890
The file was modifiedopenmp/tools/archer/tests/lit.site.cfg.in
Commit 1465b8bc3a2435eab46582616bdf7c6aee117e8d by aqjune
[Test] Fix freeze ocaml test failure
The file was modifiedllvm/test/Bindings/OCaml/core.ml
The file was modifiedllvm/bindings/ocaml/llvm/llvm.mli
The file was modifiedllvm/bindings/ocaml/llvm/llvm.ml
The file was modifiedllvm/bindings/ocaml/llvm/llvm_ocaml.c
Commit cb15ba84fe7ca289ae561b0e770e7219da40e807 by courbet
Reland "[DAGCombiner] Allow zextended load combines."
Check that the generated type is simple.
The file was modifiedllvm/test/CodeGen/AArch64/load-combine.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/load-combine.ll
The file was modifiedllvm/test/CodeGen/AArch64/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine-big-endian.ll
The file was modifiedllvm/test/CodeGen/ARM/load-combine.ll
Commit 6b2431e0c2af0fd01f86d162330ac0b66bc0f2e5 by protze
[OpenMP][Tool] disable archer tests in standalone build
Will be enabled after Build-Bots are fixed
The file was modifiedopenmp/tools/archer/tests/CMakeLists.txt
Commit 26fa9e31f58a7ff693f3a5d8c2eb1b6a5a13b133 by kousikk
Add support to find out resource dir and add it as compilation args
Summary: If -resource-dir is not specified as part of the compilation
command, then by default clang-scan-deps picks up a directory relative
to its own path as resource-directory. This is probably not the right
behavior - since resource directory should be picked relative to the
path of the clang-compiler in the compilation command. This patch adds
support for it along with a cache to store the resource-dir paths based
on compiler paths.
Notes: 1. "-resource-dir" is a behavior that's specific to clang, gcc
does not have that flag. That's why if I'm not able to find a
resource-dir, I quietly ignore it. 2. Should I also use the mtime of the
compiler in the cache? I think its not strictly necessary since we
assume the filesystem is immutable. 3. From my testing, this does not
regress performance. 4. Will try to get this tested on Windows.
But basically the problem that this patch is trying to solve is, clients
might not always want to specify
"-resource-dir" in their compile commands, so scan-deps must auto-infer
it correctly.
Reviewers: arphaman, Bigcheese, jkorous, dexonsmith, klimek
Reviewed By: Bigcheese
Subscribers: MaskRay, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69122
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit af8576ff9d5a66d30ce27176aff808b688c3ec85 by jasonliu
[XCOFF][AIX] Read-only data section object file generation
Summary: This patch is a follow up on read-only assembly patch D70182.
It intends to enable object file generation for the read-only data
section on AIX.
Reviewers: DiggerLin, daltenty
Differential Revision: https://reviews.llvm.org/D70455
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit 9e6aa81588505461e06c807c567b073224f1e817 by yhs
[BPF] Fix a recursion bug in BPF Peephole ZEXT optimization
Commit a0841dfe8594 ("[BPF] Fix a bug in peephole optimization") fixed a
bug in peephole optimization. Recursion is introduced to handle COPY and
PHI instructions.
Unfortunately, multiple PHI instructions may form a cycle and this will
cause infinite recursion, eventual segfault. For Commit a0841dfe8594, I
indeed tried a few loops to ensure that I won't see the recursion, but I
did not try with complex control flows, which, as demonstrated with the
test case in this patch, may introduce PHI cycles.
This patch fixed the issue by introducing a set to remember visited PHI
instructions. This way, cycles can be properly detected and handled.
Differential Revision: https://reviews.llvm.org/D70586
The file was addedllvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp
Commit 77ad98c80881ba90bf18ec2780169c60e02c159b by protze
[OpenMP][Tool] archer tests require tsan
Testing for tsan capability in the test-compiler in follow-up review
The file was modifiedopenmp/tools/archer/tests/barrier/barrier.c
The file was modifiedopenmp/tools/archer/tests/task/task-barrier.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup-nested.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait.c
The file was modifiedopenmp/tools/archer/tests/races/task-two.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskgroup-unrelated.c
The file was modifiedopenmp/tools/archer/tests/critical/critical.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskgroup.c
The file was modifiedopenmp/tools/archer/tests/critical/lock-nested.c
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/races/critical-unrelated.c
The file was modifiedopenmp/tools/archer/tests/CMakeLists.txt
The file was modifiedopenmp/tools/archer/tests/races/lock-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple2.c
The file was modifiedopenmp/tools/archer/tests/task/task-create.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-firstprivate.c
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction-nowait.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskwait-nested.c
The file was modifiedopenmp/tools/archer/tests/task/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/critical/lock.c
The file was modifiedopenmp/tools/archer/tests/worksharing/ordered.c
The file was modifiedopenmp/tools/archer/tests/races/lock-nested-unrelated.c
The file was modifiedopenmp/tools/archer/tests/task/task-taskwait-nested.c
The file was modifiedopenmp/tools/archer/tests/reduction/parallel-reduction.c
Commit 1a58be2ac58ca078c91c9d1700220d88091b256f by kazu
[JumpThreading] Use profile data even with the new pass manager
Summary: Without this patch, the jump threading pass ignores profiling
data whenever we invoke the pass with the new pass manager.
Specifically, JumpThreadingPass::run calls runImpl with class variable
HasProfileData always set to false.  In turn, runImpl sets
HasProfileData to false again:
  HasProfileData = HasProfileData_;
In the end, we don't use profiling data at all with the new pass
manager.
This patch fixes the problem by passing F.hasProfileData() to runImpl.
The bug appears to have been introduced at:
  https://reviews.llvm.org/D41461
which removed local variable HasProfileData in JumpThreadingPass::run
even though there was one more use left in the same function.  As a
result, the remaining use ended referring to the class variable instead.
Note that F.hasProfileData is an extremely lightweight function, so I
don't see the need to cache its result.  Once this patch is approved,
I'm planning to stop caching the result of F.hasProfileData in
runOnFunction.
Reviewers: wmi, eli.friedman
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70509
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/update-edge-weight.ll
Commit 6f7c8760a5c01edaa8e9c8e48940e1b8a7aa4128 by a.bataev
[OPENMP]Fix behaviour of defaultmap for OpenMP 4.5.
In OpenMP 4.5 pointers also must be considered as scalar types and
defaultmap(tofrom:scalar) clause must affect mapping of the pointers
too.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
Commit 0b3d1d1348da78c8b12e89f138577b0a8ffd4b2f by modocache
[coroutines] Remove assert on CoroutineParameterMoves in
Sema::buildCoroutineParameterMoves
Summary: The assertion of CoroutineParameterMoves happens when build
coroutine function with arguments  multiple time while fails to build
promise type.
Fix: use return false instead.
Test Plan: check-clang
Reviewers: modocache, GorNishanov, rjmccall
Reviewed By: modocache
Subscribers: rjmccall, EricWF, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69022
Patch by junparser (JunMa)!
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
Commit 6d73265ad84107aa78dd7698fa073f43e426a186 by anton.a.afanasyev
[SLP][Test] Precommit tests for D70068 and D70587. NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
Commit a1955566282b98d5182877860b60d04029089788 by kazu
[JumpThreading] NFC: Don't cache F.hasProfileData()
Summary: With this patch, we no longer cache F.hasProfileData().  We
simply call the function again.
I'm doing this because:
- JumpThreadingPass also has a member variable named HasProfileData,
which is very confusing,
- the function is very lightweight, and
- this patch makes JumpThreading::runOnFunction more consistent with
JumpThreadingPass::run.
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70602
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 5459a905c23c03fad68e80b2dff23ca1ca3b7c7c by a.bataev
[OPENMP]Simplify processing of context selectors, NFC.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 70a3c9f55f8494829d06caae0ab988da518d0e15 by yamauchi
[WebAssembly][SelectionDAG] Remove unused
WebAssemblyDAGToDAGISel::ForCodeSize.
Summary: This follows from the discussion at D70095.
D70095 moves hasOptSize calls into SelectionDAG::shouldOptForSize to
allow querying size optimization conditions together with profile guided
size optimization.
Since it appears that size optimizations for WebAssembly SelectionDAG
haven't been implemented yet and thus ForCodeSize is unused, and it
would not make a lot of sense to call shouldOptForSize here as the
necessary profile data like PSI/BFI aren't available at this point, it
seems good and less confusing to remove this for now and use
shouldOptForSize when they are implemented in the future.
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, aheejin,
sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70567
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
Commit 80cd6b6e043f04ff7cb525bc1f09ab1f6400e9db by anton.a.afanasyev
[SLP] Enhance SLPVectorizer to vectorize vector aggregate
Summary: Vector aggregate is homogeneous aggregate of vectors like `{ <2
x float>, <2 x float> }`. This patch allows `findBuildAggregate()` to
consider vector aggregates as well as scalar ones. For instance, `{ <2 x
float>, <2 x float> }` maps to `<4 x float>`.
Fixes vector part of llvm.org/PR42022
Reviewers: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70068
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
Commit 01e8dd2e7a852794a60e50f356f171f893503598 by yitzhakm
[libTooling] Add stencil combinators for nodes that may be pointers or
values.
Summary: Adds combinators `maybeDeref` and `maybeAddressOf` to provide a
uniform way to handle nodes which may be bound to either a pointer or a
value (most often in the context of member expressions). Such
polymorphism is already supported by
`access`; these combinators extend it to more general uses.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70554
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
Commit c0eeea5d74d979139378660513712e8f33278285 by Adrian Prantl
Register Objective-C property accessors with their property decls.
This is a correctness fix for the Clang DWARF parser that primarily
matters for swift-lldb's ability to import Clang types that were
reconstructed from DWARF into Swift.
rdar://problem/55025799
Differential Revision: https://reviews.llvm.org/D70580
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/tools/lldb-test/lldb-test.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-objc-property.m
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
Commit 539117616d7a4c5690f1b9284faf0d282cd79621 by Adrian Prantl
Complete complete types early when importing types from Clang module
DWARF.
This affects -gmodules only.
Under normal operation pcm_type is a shallow forward declaration that
gets completed later. This is necessary to support cyclic data
structures. If, however, pcm_type is already complete (for example,
because it was loaded for a different target before), the definition
needs to be imported right away, too. Type::ResolveClangType()
effectively ignores the ResolveState inside type_sp and only looks at
IsDefined(), so it never calls
ClangASTImporter::ASTImporterDelegate::ImportDefinitionTo(), which does
extra work for Objective-C classes. This would result in only the
forward declaration to be visible.
An alternative implementation would be to sink this into
Type::ResolveClangType (
https://github.com/llvm/llvm-project/blob/88235812a71d99c082e7aa2ef9356d43d1f83a80/lldb/source/Symbol/Type.cpp#L5809)
though it isn't clear to me how to best do this from a layering
perspective.
rdar://problem/52134074
Differential Revision: https://reviews.llvm.org/D70415
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/umbrella.h
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/TestClangModulesAppUpdate.py
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/main.m
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/Makefile
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/module.modulemap
The file was addedlldb/packages/Python/lldbsuite/test/lang/objc/modules-app-update/foo.m
Commit 8b40bdbd7edc4cbd6c906911be0329b0900e0486 by Adrian Prantl
Reformat code for readability.
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 506144da04b94d7d492ad34f7d3d81e8368677bb by rupprecht
[lldb][DataFormatters] Support pretty printing std::string when built
with -funsigned-char.
Summary: When built w/ `-funsigned-char`, `std::string` becomes
equivalent to `std::basic_string<unsigned char>`, causing these
formatters to not match. This patch adds overloads for both libstdc++
and libc++ string formatters that accepts unsigned char.
Motivated by the following example:
```
$ cat pretty_print.cc
template <typename T> void print_val(T s) {
std::cerr << s << '\n';  // Set a breakpoint here!
}
int main() {
std::string val = "hello";
print_val(val);
return 0;
}
$ clang++ -stdlib=libc++ -funsigned-char -fstandalone-debug -g
pretty_print.cc
$ lldb ./a.out -b -o 'b pretty_print.cc:6' -o r -o 'fr v'
...
(lldb) fr v
(std::__1::basic_string<unsigned char, std::__1::char_traits<unsigned
char>, std::__1::allocator<unsigned char> >) s = {
__r_ = {
   std::__1::__compressed_pair_elem<std::__1::basic_string<unsigned
char, std::__1::char_traits<unsigned char>, std::__1::allocator<unsigned
char> >::__rep, 0, false> = {
     __value_ = {
        = {
         __l = (__cap_ = 122511465736202, __size_ = 0, __data_ =
0x0000000000000000)
         __s = {
            = (__size_ = '\n', __lx = '\n')
           __data_ = {
             [0] = 'h'
             [1] = 'e'
             [2] = 'l'
             [3] = 'l'
             [4] = 'o'
             [5] = '\0'
...
```
Reviewers: labath, JDevlieghere, shafik
Subscribers: christof, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70517
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/main.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/main.cpp
Commit 718d68e6ca874fcb8a720790c899fa311f15675a by julian.lettner
[lit] Attempt to print test summary on CTRL+C
The file was modifiedllvm/utils/lit/lit/display.py
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/lit/ProgressBar.py
Commit e62555c129d535d524354351791c5474c9929582 by ehudkatz
[APFloat] Fix subtraction of subnormal numbers
Fix incorrect determination of the bigger number out of the two
subtracted, while subnormal numbers are involved. Fixes PR44010.
Differential Revision: https://reviews.llvm.org/D69772
The file was modifiedllvm/lib/Support/APFloat.cpp
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
Commit 97e0fd27eb9b2004b4d51a859fe364ace8d46b35 by Vitaly Buka
Don't forward __pthread_mutex_* interceptors to pthread_mutex_* version
Summary: Allows to use rr with asan
Fixes PR41095
Reviewers: eugenis
Subscribers: jfb, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D70581
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 8ca7871addc53a8ddb356ae8b99fa6f7e0e8dd15 by eugenis
Reinstate MSan suppression of PR24578.
Summary: Revert "Rollback of commit "Repress sanitization on User
dtor.""
There is no point in keeping an active MSan error in the codebase.
PR24578 tracks the actual UB in LLVM code; this change enables testing
of LLVM with MSAN + -fsanitize-memory-use-after-dtor.
This reverts commit 21c1bc46aee2b69c2c48db8e961f0ce8394f21e1.
Reviewers: vitalybuka
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70611
The file was modifiedllvm/lib/IR/Metadata.cpp
The file was modifiedllvm/include/llvm/Support/Compiler.h
The file was modifiedllvm/lib/IR/User.cpp
Commit 8606d013983d2098ba0d9ea9c2129a0b32a93e33 by ehudkatz
[APFloat] Enlarge ExponentType to 32bit integer
Enlarge the size of ExponentType from 16bit integer to 32bit. This is
required to prevent exponent overflow/underflow.
Note that IEEEFloat size and alignment don't change in 64bit or 32bit
compilation targets (and in turn, neither does APFloat).
Fixes PR34851.
Differential Revision: https://reviews.llvm.org/D69771
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
Commit e1e7b6f381a9a5640605fdc4a3e78eb01f8fc8b9 by rnk
[clang-include-fixer] Suppress cmd prompt from Vim on Windows
Copied from the clang-format.py editor integration.
Reviewers: bkramer
Differential Revision: https://reviews.llvm.org/D70518
The file was modifiedclang-tools-extra/clang-include-fixer/tool/clang-include-fixer.py
Commit 3f8a2af8f43faf6da15070108ceeacb9a5d2c42b by listmail
Slightly speculative buildbot fix for issue reported in 8293f74 commit
thread
The file was modifiedllvm/lib/Analysis/GuardUtils.cpp
Commit 4fdbc0728d4b8acb1921fc48301622e971fc3961 by Vedant Kumar
[DWARF] Handle call sites with indirect call targets
Split CallEdge into DirectCallEdge and IndirectCallEdge. Teach
DWARFExpression how to evaluate entry values in cases where the current
activation was created by an indirect call.
rdar://57094085
Differential Revision: https://reviews.llvm.org/D70100
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp
The file was modifiedlldb/include/lldb/Symbol/Function.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/include/lldb/Symbol/SymbolFile.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
The file was modifiedlldb/source/Target/StackFrameList.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was modifiedlldb/source/Symbol/Function.cpp
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
Commit f11bc1776fd2815b60e0b1ed97be00b517348162 by phosek
[CMake] Support installation of InstrProfData.inc
This header fragment is useful on its own for any consumer that wants to
use custom instruction profile runtime with the LLVM instrumentation.
The concrete use case is in Fuchsia's kernel where we want to use
instruction profile instrumentation, but we cannot use the compiler-rt
runtime because it's not designed for use in the kernel environment.
This change allows installing this header as part of compiler-rt.
Differential Revision: https://reviews.llvm.org/D64532
The file was addedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingWriter.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingValue.c
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMergeFile.c
The file was removedcompiler-rt/lib/profile/InstrProfData.inc
The file was modifiedcompiler-rt/include/CMakeLists.txt
Commit 262b10ba1f9db4d00f43bcb1d8c1e557dced3bcd by phosek
Revert "[CMake] Support installation of InstrProfData.inc"
This reverts commit f11bc1776fd2815b60e0b1ed97be00b517348162 since it's
failing to build on some bots.
The file was modifiedcompiler-rt/lib/profile/InstrProfilingWriter.c
The file was addedcompiler-rt/lib/profile/InstrProfData.inc
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingValue.c
The file was removedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMergeFile.c
The file was modifiedcompiler-rt/include/CMakeLists.txt
Commit e0f22fe04a5c9eb244ff0533549743b7deb03b99 by ed.jones
[RISCV] Use compiler-rt if no GCC installation detected
If a GCC installation is not detected, then this attempts to use
compiler-rt and the compiler-rt crtbegin/crtend implementations as a
fallback.
Differential Revision: https://reviews.llvm.org/D68407
The file was modifiedclang/test/Driver/riscv64-toolchain.c
The file was modifiedclang/test/Driver/riscv32-toolchain-extra.c
The file was modifiedclang/test/Driver/riscv32-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was modifiedclang/test/Driver/riscv64-toolchain-extra.c
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.h
Commit 0c7a1c0cfc2a4e5b8b7f3920b2797c12963b8384 by kkwli0
[OPENMP] [DOCS] correct status for use_device_addr clause
The status of the use_device_addr clause feature is changed from 'done'
to 'worked on`.
Differential Revision: https://reviews.llvm.org/D70608
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 9180f8a57436da0ce91d9d4885702a10f89571bc by isanbard
Don't report "main" as missing a prototype in freestanding mode
Summary: A user may want to use freestanding mode with the standard
"main" entry point. It's not useful to warn about a missing prototype as
it's not typical to have a prototype for "main".
Reviewers: efriedma, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70588
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/Sema/no-warn-missing-prototype.c
Commit 2b795637b9024d76e53cd303ad74ac02ba22da5b by isanbard
Fix typo to separate "-x" from warning flag.
The file was modifiedclang/test/Sema/no-warn-missing-prototype.c
Commit a6150b48cea00ab31e9335cc73770327acc4cb3a by Akira
[Sema] Use the canonical type in function isVector
This fixes an assertion in Sema::CreateBuiltinBinOp that fails when one
of the vector operand's element type is a typedef of __fp16.
rdar://problem/55983556
The file was modifiedclang/test/Sema/fp16vec-sema.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit b47f9eb55d1814e006d1a2a971ff6272ebd89bcb by sivachandra
[libc] Add a TableGen based header generator.
Summary:
* The Python header generator has been removed.
* Docs giving a highlevel overview of the header gen scheme have been
added.
Reviewers: phosek, abrachet
Subscribers: mgorny, MaskRay, tschuett, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D70197
The file was modifiedlibc/CMakeLists.txt
The file was removedlibc/include/string.h
The file was addedlibc/utils/HdrGen/Generator.h
The file was addedlibc/docs/header_gen_scheme.svg
The file was addedlibc/include/string.h.def
The file was addedlibc/utils/HdrGen/IncludeFileCommand.cpp
The file was addedlibc/utils/HdrGen/Command.h
The file was addedlibc/utils/HdrGen/Main.cpp
The file was addedlibc/utils/HdrGen/CMakeLists.txt
The file was addedlibc/utils/HdrGen/Generator.cpp
The file was addedlibc/spec/stdc.td
The file was removedlibc/utils/build_scripts/gen_hdr.py
The file was modifiedlibc/cmake/modules/LLVMLibCRules.cmake
The file was addedlibc/utils/HdrGen/PublicAPICommand.cpp
The file was addedlibc/docs/ground_truth_specification.rst
The file was addedlibc/utils/CMakeLists.txt
The file was addedlibc/utils/HdrGen/PublicAPICommand.h
The file was addedlibc/utils/HdrGen/IncludeFileCommand.h
The file was addedlibc/docs/mechanics_of_public_api.rst
The file was addedlibc/config/public_api.td
The file was addedlibc/config/linux/api.td
The file was modifiedlibc/docs/header_generation.rst
The file was modifiedlibc/include/CMakeLists.txt
The file was addedlibc/spec/spec.td
Commit 48b7fe02a1147a734ba8b28f53b4b7ede30d0843 by e.menezes
[AArch64] Add the pipeline model for Exynos M5
Add the scheduling and cost models for Exynos M5.
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/store.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
The file was addedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/load.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/aes.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/crc.s
Commit ae8a8c2db6c176b4dae679b77e566c656c2a27c6 by whitneyt
[CodeMoverUtils] Added an API to check if an instruction can be safely
moved before another instruction. Summary:Added an API to check if an
instruction can be safely moved before another instruction. In future
PRs, we will like to add support of moving instructions between blocks
that are not control flow equivalent, and add other APIs to enhance
usability, e.g. moving basic blocks, moving list of instructions... Loop
Fusion will be its first user. When there is intervening code in between
two loops, fusion is currently unable to fuse them. Loop Fusion can use
this utility to check if the intervening code can be safely moved before
or after the two loops, and move them, then it can successfully fuse
them. Reviewer:kbarton,jdoerfert,Meinersbur,bmahjour,etiotto Reviewed
By:bmahjour Subscribers:mgorny,hiraditya,llvm-commits Tag:LLVM
Differential Revision:https://reviews.llvm.org/D70049
The file was modifiedllvm/include/llvm/Analysis/PostDominators.h
The file was modifiedllvm/lib/Analysis/PostDominators.cpp
The file was addedllvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
The file was addedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was modifiedllvm/unittests/Transforms/Utils/CMakeLists.txt
The file was addedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
Commit c32f0ff92f024a8af438fc8d85906e441b5a2682 by ditaliano
[InstCombine] Fix call guard difference with dbg
Patch by Chris Ye!
Differential Revision: https://reviews.llvm.org/D68004
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/call-guard.ll
Commit 9353c5dd0664ea444236e527bf93566e11dc34df by Dávid Bolvanský
[Diagnostics] Put "deprecated copy" warnings into -Wdeprecated-copy
Summary: GCC 9 added -Wdeprecated-copy (as part of -Wextra). This
diagnostic is already implemented in Clang too, just hidden under
-Wdeprecated (not on by default). This patch adds -Wdeprecated-copy and
makes it compatible with GCC 9+. This diagnostic is heavily tested in
deprecated.cpp, so I added simple tests just to check we warn when new
flag/-Wextra is enabled.
Reviewers: rsmith, dblaikie
Reviewed By: dblaikie
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70342
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was addedclang/test/SemaCXX/deprecated-copy.cpp
Commit 825235c140e7747f686bd7902cb0f9af77590841 by Akira
Revert "[Sema] Use the canonical type in function isVector"
This reverts commit a6150b48cea00ab31e9335cc73770327acc4cb3a. The commit
broke a few neon CodeGen tests.
The file was modifiedclang/test/Sema/fp16vec-sema.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 90f641f2f1585efe57c59249a4b9442f2c06a283 by llvmgnsyncbot
gn build: Merge ae8a8c2db6c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
Commit f35032e03d9263b1d2a8ac2e675fc94cb43b608b by phosek
Reland "[CMake] Support installation of InstrProfData.inc"
This header fragment is useful on its own for any consumer that wants to
use custom instruction profile runtime with the LLVM instrumentation.
The concrete use case is in Fuchsia's kernel where we want to use
instruction profile instrumentation, but we cannot use the compiler-rt
runtime because it's not designed for use in the kernel environment.
This change allows installing this header as part of compiler-rt.
Differential Revision: https://reviews.llvm.org/D64532
The file was modifiedcompiler-rt/include/CMakeLists.txt
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMergeFile.c
The file was modifiedllvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was removedcompiler-rt/lib/profile/InstrProfData.inc
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingValue.c
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn
The file was modifiedcompiler-rt/lib/profile/CMakeLists.txt
The file was modifiedcompiler-rt/lib/profile/InstrProfilingWriter.c
The file was addedcompiler-rt/include/profile/InstrProfData.inc
Commit 64ada7accbcccf1ef3ac4910d596e890570c64b2 by Jonas Devlieghere
[TableGen] Add backend to generate command guide for tools using
libOption.
For lldb and dsymutil, the command guide is essentially a copy of its
help output generated by libOption. Making sure the two stay in sync is
tedious and error prone. Given that we already generate the help from a
tablegen file, we might as well generate the RST as well.
This adds a tablegen backend for generating Sphinx/RST command guides
from the tablegen file.
Differential revision: https://reviews.llvm.org/D70610
The file was modifiedllvm/utils/TableGen/TableGen.cpp
The file was modifiedllvm/utils/TableGen/OptParserEmitter.cpp
The file was addedllvm/utils/TableGen/OptEmitter.cpp
The file was modifiedllvm/utils/TableGen/TableGenBackends.h
The file was modifiedllvm/utils/TableGen/CMakeLists.txt
The file was addedllvm/utils/TableGen/OptEmitter.h
The file was addedllvm/utils/TableGen/OptRSTEmitter.cpp
Commit 45098b6809ebd5640a1b9578f58ade495986b9ee by Jason Molenda
Remove extraneous log enabling.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoGPacketSupported.py
Commit 70580bb38de66ec2abf582864574d5f84323d079 by llvmgnsyncbot
gn build: Merge 64ada7accbc
The file was modifiedllvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Commit ff0f407e90be83b2e2d47acc491e4878855820ed by e.menezes
[MCA] Fix test cases (NFC)
Fix the test cases for Exynos M5 that break under Darwin.
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/aes.s
Commit 1668685118cd509d85e5242fa5742bccb3a4aba7 by maskray
[MC] Reorder MCInst fields to make sizeof(MCInst) smaller
sizeof(MCInst) is decreased from 168 to 160 on 64-bit systems.
The file was modifiedllvm/include/llvm/MC/MCInst.h
Commit 6551ac7489fe070a2edcfac88f68c93321cba9a9 by jkz
[Driver] Make -static-libgcc imply static libunwind
In the GNU toolchain, `-static-libgcc` implies that the unwindlib will
be linked statically. However, when `--unwindlib=libunwind`, this flag
is ignored, and a bare `-lunwind` is added to the linker args.
Unfortunately, this means that if both `libunwind.so`, and `libunwind.a`
are present in the library path, `libunwind.so` will be chosen in all
cases where
`-static` is not set.
This change makes `-static-libgcc` affect the `-l` flag produced by
`--unwindlib=libunwind`. After this patch, providing
`-static-libgcc --unwindlib=libunwind` will cause the driver to
explicitly emit `-l:libunwind.a` to statically link libunwind. For all
other cases it will emit `-l:libunwind.so` matching current behavior
with a more explicit link line.
https://reviews.llvm.org/D70416
The file was modifiedclang/test/Driver/compiler-rt-unwind.c
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
Commit 1b099c1df00e3c8a0ba20af199c89a154bdb7a45 by Jonas Devlieghere
[Examples] Add in_call_stack breakpoint function.
The in_call_stack Python script makes it possible to modify the last
breakpoint to only stop if a given function is present in the call
stack. It will check both the symbol name and the function name (coming
from the debug info, in case the binary is stripped).
To use this, you have to:
1. Import the script into lldb.
(lldb) command script import in_call_stack.py
2. Set a breakpoint and use the in_call_stack alias.
(lldb) b foo
(lldb) in_call_stack bar
Note that this alias operates on the last set breakpoint. You can re-run
the in_call_stack command to modify the condition.
The file was addedlldb/examples/python/in_call_stack.py
Commit b6ae524cd2d5139748e207d4b60b4a900775d6a7 by Jonas Devlieghere
[Examples] Move structured-data unpacking out of the loop. (NFC)
There's no need to repeat this work in the loop.
The file was modifiedlldb/examples/python/in_call_stack.py
Commit 2692eb0b86c8f7ae1299d2e032f2778bb6e0a224 by rnk
Move vtordisp mode from Attr class to LangOptions.h, NFC
This removes one of the two uses of Attr.h in DeclCXX.h, reducing the
need to include Attr.h as widely. LangOptions is already very popular.
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/AST/MicrosoftCXXABI.cpp
Commit 4506afe3ca3bda5399a1c0f3ce92f45c670a1930 by francisvm
[Remarks] Allow empty temporary remark files
When parsing bitstream remarks, allow external remark files to be empty,
which means there are no remarks to be parsed.
In the same way, dsymutil should not produce a remark file.
The file was addedllvm/test/tools/dsymutil/X86/remarks-linking-bundle-empty.test
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic1.macho.remarks.empty.x86_64.o
The file was modifiedllvm/lib/Remarks/BitstreamRemarkParser.cpp
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic1.macho.remarks.empty.x86_64.opt.bitstream
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic2.macho.remarks.empty.x86_64.o
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic2.macho.remarks.empty.x86_64.opt.bitstream
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic3.macho.remarks.empty.x86_64.o
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic.macho.remarks.empty.x86_64
The file was modifiedllvm/test/tools/dsymutil/Inputs/basic1.c
The file was addedllvm/test/tools/dsymutil/Inputs/remarks/basic3.macho.remarks.empty.x86_64.opt.bitstream
Commit a9cc64e50e64e76151679780f0ace11b48eadd44 by rnk
Separate the MS inheritance model enum from the attribute, NFC
This avoids the need to include Attr.h in DeclCXX.h for a four-value
enum. Removing the include will be done separately, since it is large
and risky change.
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/AST/CXXInheritance.h
The file was modifiedclang/include/clang/Basic/Specifiers.h
The file was modifiedclang/lib/AST/MicrosoftCXXABI.cpp
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 019779dadfd7c98aedf0072d604ace295be6fa62 by rnk
Remove needless Attr.h include from DeclCXX.h, NFC
This actually has no impact on the build, because TypeLoc.h includes
Attr.h. However, DeclCXX.h has no need of it, so go ahead and remove it.
The final step in this patch series is to split Attr.h and Attrs.h.
The file was modifiedclang/include/clang/AST/DeclCXX.h
Commit e956952edec140d2475aa7c8cbe20fbdd3320634 by dblaikie
DebugInfo: Flag Dwarf Version metadata for merging during LTO
When the Dwarf Version metadata was initially added (r184276) there was
no support for Module::Max - though the comment suggested that was the
desired behavior. The original behavior was Module::Warn which would
warn and then pick whichever version came first - which is pretty
arbitrary/luck-based if the consumer has some need for one version or
the other.
Now that the functionality's been added (r303590) this change updates
the implementation to match the desired goal.
The general logic here is - if you compile /some/ of your program with a
more recent DWARF version, you must have a consumer that can handle it,
so might as well use it for /everything/.
The only place where this might fall down is if you have a need to use
an old tool (supporting only the older DWARF version) for some subset of
your program. In which case now it'll all be the higher version. That
seems pretty narrow (& the inverse could happen too - you specifically
/need/ the higher DWARF version for some extra expressivity, etc, in
some part of the program)
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGen/dwarf-version.c

Summary

  1. Added GitHubStatus to report build statuses to github llvm-project repo. (details)
  2. Add Clang PPC buildbot on Red Hat. (details)
  3. Added the first github status reporter in pilot mode. (details)
  4. Imported status. (details)
Commit b03d19aca55166122b366a6c89d4e1322618a3f6 by gkistanova
Added GitHubStatus to report build statuses to github llvm-project repo.
The file was addedzorg/buildbot/status/github.py
The file was addedzorg/buildbot/status/__init__.py
The file was addedzorg/buildbot/status/txgithub/api.py
The file was addedzorg/buildbot/status/txgithub/__init__.py
Commit e44a4915f24336f4da4eb905a026e4c31bea76a1 by gkistanova
Add Clang PPC buildbot on Red Hat.
Patch by Wael Yehia.
Differential Revision: https://reviews.llvm.org/D70543
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py
Commit 16c86f773c0842997336f431fce4040d457caa1f by gkistanova
Added the first github status reporter in pilot mode.
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 16c005683f2837b46a01b394a6ddebe28b7a295f by gkistanova
Imported status.
The file was modifiedzorg/buildbot/__init__.py